Skip to content

test(parity): 050_geo_inventory.test — geo regression files manifest#26

Merged
nhungoc1508 merged 1 commit intomainfrom
feat/parity-geo-inventory
May 4, 2026
Merged

test(parity): 050_geo_inventory.test — geo regression files manifest#26
nhungoc1508 merged 1 commit intomainfrom
feat/parity-geo-inventory

Conversation

@estebanzimanyi
Copy link
Copy Markdown
Member

Summary

Single-file inventory of MobilityDB's mobilitydb/test/geo/queries/ surface (18 upstream files: 051_stbox, 052/053/054/056/058/060/062/064/068 paired tgeo+tpoint, 066_tpoint_similarity).

Rather than one parity file per upstream regression file (which would add 18 more PRs to the queue), this consolidates into a single readable manifest documenting:

  • What's bound today in src/geo/tgeompoint.cpp / src/geo/tgeometry.cpp / src/geo/stbox.cpp (substantial — about 80 distinct function names, including all the ever-/transient-/always- spatial predicates, the spatial accessors, restrictions, modifications, and shortest-line / centroid surface).
  • What's unbound per upstream file, with cross-references to the temporal-side parity-batch PRs that document the same architectural gap.

Cross-reference index

Upstream gap Same-architecture parity PR
054_*_compops ever-/always- ops (?=, #=) #24's 030_temporal_compops
058_*_tile (table-returning) #23's 025_temporal_tile
060_*_topops topological ops on temporal #25's 032_temporal_topops
062_*_posops position ops on temporal #24's 034_temporal_posops
066_tpoint_similarity Frechet / DTW #23's 038_temporal_similarity
068_*_aggfuncs aggregates #21's 015_span_aggfuncs, #24's 040_temporal_aggfuncs

Test plan

  • make release then TZ=UTC ./build/release/test/unittest "<proj>/test/*" — full suite passes (747 assertions across 23 test cases).

Drafted because the value is the manifest, not the (single token) assertion. With this PR, every upstream regression file across mobilitydb/test/temporal/queries/ and mobilitydb/test/geo/queries/ has either a parity port or an inventory entry.

Single-file inventory of MobilityDB's mobilitydb/test/geo/queries/
surface. Rather than one parity file per upstream regression file,
this lists what each file covers, what's bound in MobilityDuck
today, and what's missing.

Bound surface (per direct audit of src/geo/tgeompoint.cpp):
- tgeompoint / tgeometry I/O for instant / discrete / continuous /
  sequence-set
- asText / asEWKT / memSize / interp / round / transform
- Constructors (TGEOMPOINT, tgeompointInst, tgeompointSeq,
  tgeompointSeqSet)
- Spatial accessors: getX/Y/Z, length, cumulativeLength, speed,
  direction, azimuth, angularDifference, trajectory
- Topological predicates: e/a/t variants of Contains, Disjoint,
  Dwithin, Intersects, Touches
- Set ops: makeSimple, isSimple, stops
- Restrictions: atGeometry, atStbox, atValues, atTime and the
  matching minus*
- Modification: appendInstant, appendSequence, insert, update,
  deleteTime, merge
- Comparison: temporal_eq / temporal_ne / etc.
- twCentroid, shortestLine, distance_gs, collect_gs

Unbound surface (per upstream regression file, with cross-references
to the temporal-side parity-batch PRs that cover the same gap):
- 051_stbox: stbox tests (whole file currently skipped in
  test/sql/stbox.test for DuckDB 1.4 signature issues).
- 052_tgeo / 052_tpoint: mostly bound — per-type ports would mirror
  PRs #13 / #17 / #18 patterns.
- 053_*_inout: asMFJSON / asWKB / asHexWKB / asGeoJSON — verify
  which are bound.
- 054_*_compops: same parser blocker as PR #24's 030 (?= / #=).
- 056_*_spatialfuncs: bulk bound; setSRID-on-temporal and
  reference-system accessors missing.
- 058_*_tile: same gap as PR #23's 025 but for tspatial.
- 060_*_topops: same pattern as PR #25's 032_temporal_topops.
- 062_*_posops: same pattern as PR #24's 034_temporal_posops plus
  spatial-direction operators.
- 064_*_distance: <-> for tgeo / tpoint; partially bound
  (shortestLine, distance_gs).
- 066_tpoint_similarity: specialisation of PR #23's 038.
- 068_*_aggfuncs: same architectural blocker as PR #21 (no
  AggregateFunction infra).

Suite: 747 assertions, 23 test cases.
@estebanzimanyi
Copy link
Copy Markdown
Member Author

Verified against current main: this PR is a documentation manifest of the geo regression files (no queries to refresh). The skip block contains only a placeholder SELECT 1 to satisfy the runner. No changes needed.

@estebanzimanyi estebanzimanyi force-pushed the feat/parity-geo-inventory branch from fbca631 to b574fc7 Compare April 28, 2026 21:33
@estebanzimanyi estebanzimanyi marked this pull request as ready for review May 1, 2026 19:13
@nhungoc1508 nhungoc1508 merged commit deb692c into main May 4, 2026
17 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants