feat(bindings): temporal ops parity — boxops / comparison / position / precision / same#97
Open
estebanzimanyi wants to merge 1 commit intomainfrom
Open
feat(bindings): temporal ops parity — boxops / comparison / position / precision / same#97estebanzimanyi wants to merge 1 commit intomainfrom
estebanzimanyi wants to merge 1 commit intomainfrom
Conversation
…sors/tail-batch
Consolidates 5 parity branches:
- feat/parity-temporal-posops-aliases: temporal_before/after/overbefore/overafter aliases,
temporal_left/right/overleft/overright aliases for numeric-axis position ops
- feat/parity-tcompops-followups: temporal_teq/tne/tlt/tle/tgt/tge returning tbool,
tboxes/splitNTboxes/splitEachNTboxes tnumber→LIST(TBOX)
- feat/parity-temporal-boxops-followups: temporal_contains/contained/overlaps/adjacent
named aliases across all topo-predicate surfaces (t×t, t×tstzspan, t×numspan, t×tbox)
- feat/parity-temporal-022-accessors: tprecision/tsample time-domain rebinning
- feat/parity-small-tail-batch: small tail-batch temporal functions
Infrastructure:
- Add duckdb_extension_load(icu) to extension_config.cmake so SET TimeZone='UTC'
works in tests; tests that use it now carry require icu
- Call meos_initialize_timezone("UTC") at extension load so MEOS always formats
timestamps in UTC, matching expected test output regardless of system locale
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
1af2046 to
3fe8951
Compare
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:
|
3 tasks
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 5 individual parity PRs (previously #72, #73, #74, #78, #80) into one squashed commit.
temporal_* named aliasesfor all temporal position predicates (before/after/overbefore/overafter)Temporal(teq/tne/tlt/tle/tgt/tge)tboxes/splitN/splitEachNtprecision/tsample— temporal time-domain rebinningtemporal_same— closes the topo-predicate gapTest plan
test/sql/parity/034_temporal_posops.testtest/sql/parity/030_temporal_compops.test🤖 Generated with Claude Code