Skip to content

Disable scalar temporal rewrite for chained searches#5608

Merged
mikaelweave merged 1 commit into
hotfix/skip-chain-birthdate-optimizationfrom
mikaelweave/hotfix-disable-chained-temporal-rewriter
Jun 11, 2026
Merged

Disable scalar temporal rewrite for chained searches#5608
mikaelweave merged 1 commit into
hotfix/skip-chain-birthdate-optimizationfrom
mikaelweave/hotfix-disable-chained-temporal-rewriter

Conversation

@mikaelweave

Copy link
Copy Markdown
Contributor

Summary

  • disable ScalarTemporalEqualityRewriter while visiting chained search predicates
  • preserve the direct Patient.birthdate exact-day rewrite optimization
  • add SQL Server unit and shared E2E coverage for chained Patient.birthdate search

Validation

  • dotnet test .\src\Microsoft.Health.Fhir.SqlServer.UnitTests\Microsoft.Health.Fhir.SqlServer.UnitTests.csproj --filter ScalarTemporalEqualityRewriterTests -p:NETCoreSdkVersion=9.0.314
  • dotnet build .\test\Microsoft.Health.Fhir.Stu3.Tests.E2E\Microsoft.Health.Fhir.Stu3.Tests.E2E.csproj -p:NETCoreSdkVersion=9.0.314 -m:1
  • dotnet build .\test\Microsoft.Health.Fhir.R4.Tests.E2E\Microsoft.Health.Fhir.R4.Tests.E2E.csproj --no-restore -p:NETCoreSdkVersion=9.0.314 -p:OutDir=\hotfix-r4-out\ -m:1
  • dotnet build .\test\Microsoft.Health.Fhir.R4B.Tests.E2E\Microsoft.Health.Fhir.R4B.Tests.E2E.csproj -p:NETCoreSdkVersion=9.0.314
  • dotnet build .\test\Microsoft.Health.Fhir.R5.Tests.E2E\Microsoft.Health.Fhir.R5.Tests.E2E.csproj -p:NETCoreSdkVersion=9.0.314

Prevent ScalarTemporalEqualityRewriter from producing day-split UNION expressions while visiting chained search predicates, while preserving the direct birthdate rewrite path.

Add SQL Server chained birthdate E2E coverage and a unit guard for chained visitor context.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@mikaelweave mikaelweave requested a review from a team as a code owner June 10, 2026 23:37
@mikaelweave mikaelweave merged commit 8abe20b into hotfix/skip-chain-birthdate-optimization Jun 11, 2026
35 of 47 checks passed
@mikaelweave mikaelweave deleted the mikaelweave/hotfix-disable-chained-temporal-rewriter branch June 11, 2026 00:20
@codecov-commenter

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 77.31%. Comparing base (89fb48b) to head (4e8aefe).
⚠️ Report is 1 commits behind head on hotfix/skip-chain-birthdate-optimization.

Additional details and impacted files

Impacted file tree graph

@@                             Coverage Diff                              @@
##           hotfix/skip-chain-birthdate-optimization    #5608      +/-   ##
============================================================================
+ Coverage                                     77.27%   77.31%   +0.03%     
============================================================================
  Files                                           997      997              
  Lines                                         36559    36565       +6     
  Branches                                       5549     5551       +2     
============================================================================
+ Hits                                          28251    28270      +19     
+ Misses                                         6935     6921      -14     
- Partials                                       1373     1374       +1     

see 13 files with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

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.

3 participants