planner: fix the global binding is not working when using Prepared Statement with "select ... as col ... group by col"#69766
planner: fix the global binding is not working when using Prepared Statement with "select ... as col ... group by col"#69766qw4990 wants to merge 3 commits into
Conversation
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: The full list of commands accepted by this bot can be found here. DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Repository UI Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (1)
📝 WalkthroughWalkthroughPrepared statement plan cache entries now retain binding-matching context, while test-mode binding matching reuses eligible per-statement cache entries. Regression coverage verifies global bindings for alias-based ChangesPrepared statement binding
Estimated code review effort: 3 (Moderate) | ~20 minutes Sequence Diagram(s)sequenceDiagram
participant SQLClient
participant GeneratePlanCacheStmtWithAST
participant PlanCacheStmt
participant MatchSQLBindingWithCache
SQLClient->>GeneratePlanCacheStmtWithAST: prepare statement
GeneratePlanCacheStmtWithAST->>PlanCacheStmt: store BindingInfo
SQLClient->>MatchSQLBindingWithCache: execute prepared statement
MatchSQLBindingWithCache->>MatchSQLBindingWithCache: reuse eligible cached match
MatchSQLBindingWithCache-->>SQLClient: binding match result
Possibly related PRs
Suggested reviewers: Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Warning There were issues while running some tools. Please review the errors and either fix the tool's configuration or disable the tool if it's a critical failure. 🔧 golangci-lint (2.12.2)level=error msg="Running error: context loading failed: failed to load packages: failed to load packages: failed to load with go/packages: context deadline exceeded" Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## master #69766 +/- ##
================================================
- Coverage 76.3207% 74.0010% -2.3197%
================================================
Files 2041 2056 +15
Lines 559975 578281 +18306
================================================
+ Hits 427377 427934 +557
- Misses 131697 150020 +18323
+ Partials 901 327 -574
Flags with carried forward coverage won't be shown. Click here to find out more.
🚀 New features to boost your workflow:
|
What problem does this PR solve?
Issue Number: close #57992
Problem Summary: planner: fix the global binding is not working when using Prepared Statement with "select ... as col ... group by col"
What changed and how does it work?
planner: fix the global binding is not working when using Prepared Statement with "select ... as col ... group by col"
Check List
Tests
Side effects
Documentation
Release note
Please refer to Release Notes Language Style Guide to write a quality release note.
Summary by CodeRabbit
GROUP BYqueries (including prepared-statement execution) to ensure bindings remain applied.