Skip to content

Fix generated calendar date filter semantics - #48

Merged
first-assist merged 2 commits into
mainfrom
fix/date-filter-correctness
Aug 31, 2026
Merged

Fix generated calendar date filter semantics#48
first-assist merged 2 commits into
mainfrom
fix/date-filter-correctness

Conversation

@Dastari

@Dastari Dastari commented Aug 31, 2026

Copy link
Copy Markdown
Owner

Summary

  • render generated calendar predicates as sargable half-open ranges with exact inclusive-date behavior
  • validate calendar spans, relative offsets, and required ordered Between bounds across GraphQL and programmatic query paths
  • preserve SQL three-valued logic in SQLite spatial fallback evaluation, including NULL under AND, OR, and NOT
  • publish the exact supported date-filter grammar through the semantic operation catalogue

Calendar clocks

  • PostgreSQL uses the session CURRENT_DATE
  • SQL Server uses the server-local date from GETDATE()
  • SQLite uses UTC through date('now'); spatial fallback captures one UTC date for the query evaluation pass

A configurable application calendar/timezone seam and broader typed input normalization remain separate follow-up designs to avoid changing scalar contracts in this correction.

Release impact

  • graphql-orm: 0.30.0
  • graphql-orm-macros: 0.30.0
  • graphql-orm-operation-catalog: 0.4.0
  • graphql-orm-ai-tool-profiles remains 0.10.2 and passes its consumer tests
  • root and fixture lockfiles contain only the aligned workspace package version changes

Verification

  • full graphql-orm test suite, including deterministic date-boundary and SQLite fallback regressions
  • operation-catalog and AI tool-profile tests
  • PostgreSQL and SQL Server no-default-feature compile lanes
  • warnings-denied Clippy and Rustdoc for changed packages
  • documentation, workspace inventory, release-state, release-manifest, dependency-boundary, package-release-policy, and SemVer gates

Documentation impact

Updated the root and crate release notes, migration guide, installation versions, backend clock reference, macro/filter reference, and generated workspace inventory.

  • Documentation updated
  • No documentation impact

@Dastari
Dastari force-pushed the fix/date-filter-correctness branch from 1b30f9d to 171e2d6 Compare August 31, 2026 08:17
@first-assist
first-assist merged commit 7c6720f into main Aug 31, 2026
10 checks passed
@first-assist
first-assist deleted the fix/date-filter-correctness branch August 31, 2026 10:02
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