feat(bindings): tgeometry + tgeography + tgeogpoint — full parity surface#104
Open
estebanzimanyi wants to merge 1 commit intomainfrom
Open
feat(bindings): tgeometry + tgeography + tgeogpoint — full parity surface#104estebanzimanyi wants to merge 1 commit intomainfrom
estebanzimanyi wants to merge 1 commit intomainfrom
Conversation
…face
Add three new spatial temporal types mirroring PostGIS spatial types:
tgeometry (rigid-body 2D geometry):
- Foundational surface: accessors / restrict / modifiers / comparison
- Cross-type predicate surface: boxops / posops / spatial-rels / temporal-rels / distance
- Spatial functions: SRID / setSRID / transform / coercions / centroid / convexHull / traversedArea
- Aggregate / tile / analytics extensions
- Tests: 040_tgeometry_parity.test
tgeography (geodetic geometry):
- Full surface mirroring tgeometry over geodetic coordinates
- Tests: 041_tgeography_parity.test
tgeogpoint (temporal geodetic point, mirrors tgeompoint):
- Full surface: all scalar functions, predicates, distance, I/O
- Tests: 042_tgeogpoint_parity.test
Infrastructure:
- TRTREE index extended to every bbox-bearing column type (STBox, TBox, CBBuffer)
- Aggregate additions: MergeAgg, AppendSequence, AppendSequenceGaps, SpanUnionAgg,
SetUnionAgg (text + geometry), WcountAgg(tspatial), window aggregates (wmin/wmax/wsum/wavg)
- TcentroidAgg 3D dispatch; SkipList aggregates renamed to *Agg per RFC #827
- Single-tile getters: getValueTile / getTBoxTimeTile / getValueTimeTile + spatial variants
- kNN distance: NAD scalar, |=| operator, NAI, shortestLine
- fix(aggregates): make Float8ToDatum portable for 32-bit Datum builds
- fix(index): rtree_index_create_physical — correct column-type dispatch
- Tests: 025–031, 050–064 parity test files activated
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
estebanzimanyi
added a commit
that referenced
this pull request
May 10, 2026
Maps the file-level overlaps between commits already on main and the open consolidate/* parity PRs (#97-#104) plus PR #111 (per-thread MEOS init). Each overlap row names the conflicting commit and PR; the resolution-options section spells out the three viable paths (rebase, revert+fold, keep both) so the maintainer can pick per PR. Working artefact — delete once consolidations merge.
2 tasks
Member
Author
Cross-reference:
|
estebanzimanyi
added a commit
that referenced
this pull request
May 10, 2026
Two new docs: - docs/PR-COORDINATION.md — ecosystem policy: gh pr list is the first step before any code change; don't duplicate or conflict with in-flight PRs/policies. Cross-ecosystem variant. One PR = one commit = one feature consolidation rule with the git commit-tree squash recipe. - docs/CONSOLIDATION-PLAN.md — working artefact mapping the file-level overlap between commits already on main and the open consolidate/* parity PRs (#97/#98/#99/#100/#102/#103/#104) plus PR #111 (per-thread MEOS init). Three resolution options per overlap (rebase / revert+fold / keep both); maintainer picks per PR. Pre-emptive policy preventing the duplication and policy-conflict failures that produced the consolidate/* / main overlap and the single-timezone / per-thread-MEOS-init clash.
estebanzimanyi
added a commit
that referenced
this pull request
May 10, 2026
…nsolidates #115 + #119) Three related artefacts that prevent the same class of failure (parallel work on the same surface drifting in policy and offset state): docs/PR-COORDINATION.md — ecosystem policy: gh pr list is the first step before any code change; minimise PR count by folding into existing PRs; squash each PR to a single commit before review. Cross-ecosystem variant for MobilityDB / JMEOS / PyMEOS / MobilitySpark / MEOS-API. docs/CONSOLIDATION-PLAN.md — file-level overlap matrix between commits already on main and the open consolidate/* parity PRs (#97/#98/#99/ #100/#102/#103/#104) plus PR #111 (per-thread MEOS init); three resolution options per overlap. Working artefact, delete once consolidations land. scripts/lint-tz-pinned-tests.py — flags every line in an expected-output block that carries a hardcoded UTC offset. Pre-commit gate / CI lint. Today reports 734 hits across 43 files; the lint makes the timezone-neutral migration trackable. scripts/parity-audit.py — adds an OUT_OF_SCOPE_NAMES bucket for function names that are out-of-scope by domain (not by suffix pattern): - transform_gk: Gauss-Krüger projection added to MobilityDB for the SECONDO platform integration; no equivalent need in MobilityDuck. - create_trip: BerlinMOD synthetic-trip generator; runs in MobilityDB / SECONDO and emits parquet artefacts that MobilityDuck consumes — MobilityDuck does not need to host the generator itself. Pairs naturally with PR #111 / commit 9dd765a's timezone-neutral test policy: the doc tells contributors what to do, the lint enforces it, the parity audit reflects realistic coverage now that two domain- specific names are off the missing list.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Consolidates PR #92 (previously 18 commits) into one squashed commit adding three new spatial temporal types.
tgeometry (rigid-body 2D geometry):
tgeography (geodetic geometry):
tgeogpoint (temporal geodetic point):
Infrastructure:
Test plan
test/sql/parity/040_tgeometry_parity.testtest/sql/parity/041_tgeography_parity.testtest/sql/parity/042_tgeogpoint_parity.testtest/sql/parity/050_index_types.testthroughtest/sql/parity/064_alt_tile_emitters.test🤖 Generated with Claude Code