consolidate: revert main's tz commits and align tests with TZ=UTC (unblocks PR #111)#116
Closed
estebanzimanyi wants to merge 1 commit intomainfrom
Closed
consolidate: revert main's tz commits and align tests with TZ=UTC (unblocks PR #111)#116estebanzimanyi wants to merge 1 commit intomainfrom
estebanzimanyi wants to merge 1 commit intomainfrom
Conversation
3 tasks
…unblocks PR #111) Resolves the conflict between main and PR #111 (fix/per-thread-meos-init) so PR #111 can merge cleanly. Reverts on main: - 39921f1 fix(tz): single-timezone model — drops the AutoLoadExtension(icu) + SetOptionByName("TimeZone", ...) block from LoadInternal. - 08a5598 docs(tz): clarify two-timezone reality in comments. - 47df9ca fix(tz): set MEOS timezone to Europe/Brussels for deterministic temporal I/O — drops meos_initialize_timezone("Europe/Brussels"). - d3d9810 fix(tz): force MEOS UTC timezone at extension load — drops the earlier meos_initialize_timezone("UTC") so LoadInternal matches PR #111's parent state exactly. Mechanical follow-up: - Shift remaining +01 expectations to +00 in 23 test files where surviving +01 references remained from earlier Brussels-pinned authoring. Calendar dates unchanged; only the displayed offset shifts. Result: LoadInternal collapses to ConfigureMeosSridCsvOnce() + meos_initialize() + error handler. PR #111 then replaces the call_once block with EnsureMeosInitializedOnThread() — clean diff, no policy fight. The +00 shift is interim shape; the long-term direction per PR #111 / commit 9dd765a is to rewrite each assertion to value-equality (= tstzspan '...'), accessor (numSpans, startTimestamp), or asText(...) round-trip — caught by scripts/lint-tz-pinned-tests.py (PR #119).
f5b2a2d to
53303d2
Compare
3 tasks
Member
Author
|
Superseded by #121 |
estebanzimanyi
added a commit
that referenced
this pull request
May 10, 2026
#116 + #118) Two cleanups landing together so the rest of the open PR queue can build and merge. Part 1 — revert main's single-timezone commits (was #116): - 39921f1 fix(tz): single-timezone model — drops the AutoLoadExtension(icu) + SetOptionByName("TimeZone", ...) block from LoadInternal. - 08a5598 docs(tz): clarify two-timezone reality in comments. - 47df9ca fix(tz): set MEOS timezone to Europe/Brussels — drops meos_initialize_timezone("Europe/Brussels"). - d3d9810 fix(tz): force MEOS UTC timezone — drops the earlier meos_initialize_timezone("UTC") so LoadInternal matches PR #111's parent state exactly. - Shift remaining +01 expectations to +00 in 23 test files (calendar dates unchanged; only displayed offset shifts to match TZ=UTC). Part 2 — sync MEOS API drift (was #118): - meosType → MeosType sweep (16 files): MEOS catalog header now exposes the type as MeosType (PascalCase); MobilityDuck source historically used meosType (lowercase). - t{contains,disjoint,intersects,touches,dwithin}_* arg drop (12 call sites): MEOS exports lost their trailing bool restr, bool at_value parameters; restriction is now composed at the call site via tbool_at_value when needed. Result: LoadInternal collapses to ConfigureMeosSridCsvOnce() + meos_initialize() + error handler, exactly matching PR #111's parent state. All MobilityDuck source compiles against the current vcpkg MEOS. PR #111 then replaces the call_once block with EnsureMeosInitializedOnThread() — clean diff, no policy fight. The +00 shift is interim shape per the project's timezone-neutral policy (PR #111 / commit 9dd765a); the longer-term direction is to rewrite each assertion to value-equality / accessor / asText round-trip form, caught by scripts/lint-tz-pinned-tests.py (PR #120). ## Closes - #116 (consolidate: revert main's tz commits and align tests with TZ=UTC) - #118 (fix: sync MEOS API drift)
Member
Author
|
Folded into #121 (revert tz + sync API drift) per the ecosystem PR consolidation policy. The consolidation PR explicitly declares this PR as one of its inputs in the |
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
Resolves the conflict between `main` and PR #111 (`fix/per-thread-meos-init`) so PR #111 can merge cleanly.
Three reverts on `main`:
Plus one mechanical follow-up:
Result
After this PR lands, `LoadInternal` is exactly:
```cpp
static void LoadInternal(ExtensionLoader &loader) {
ConfigureMeosSridCsvOnce();
static std::once_flag meos_init_flag;
std::call_once(meos_init_flag, {
meos_initialize();
meos_initialize_error_handler(&MobilityduckMeosErrorHandler);
});
// ...
}
```
PR #111 then replaces the `std::call_once` block with `EnsureMeosInitializedOnThread()` — a clean diff with no policy fight.
Long-term direction
The `+00` shift is pragmatic interim shape. The end state per PR #111 / commit `9dd765a test(stbox): make timestamp assertions timezone-neutral` is to rewrite all of these assertions to value-equality (`= tstzspan '...'`) or `stbox_eq` / `asText(...)` round-trips so they no longer depend on any specific OS timezone. That follow-up can be a separate PR.
Test plan
Related