Gabriel39 commented on code in PR #68162:
URL: https://github.com/apache/doris/pull/68162#discussion_r4044613200
##########
fe/fe-core/src/main/java/org/apache/doris/nereids/rules/analysis/BindExpression.java:
##########
@@ -1777,6 +1780,39 @@ private Plan
bindTableValuedFunction(MatchingContext<UnboundTVFRelation> ctx) {
String functionName = unboundTVFRelation.getFunctionName();
Properties arguments = unboundTVFRelation.getProperties();
+ if (!unboundTVFRelation.getPropertyParameters().isEmpty()) {
+ // The unbound plan is retained across EXECUTEs. Never overwrite
its parameter slots
+ // or cache a bound TVF, which would retain a previous vector and
Lance snapshot.
+ Map<String, String> boundProperties = new
HashMap<>(arguments.getMap());
+ for (Map.Entry<String, Placeholder> parameter :
unboundTVFRelation.getPropertyParameters().entrySet()) {
Review Comment:
Fixed in 1364feb56e. PrepareCommand now synchronizes the executor with the
parser-created StatementContext before schema planning, so forwarded PREPARE
uses the same prepare-stage flag and placeholder context before parameter
decoding.
Added indexed/flat proxy PREPARE tests using the real proxy executor
constructor, parser and schema planner. Both reproduced the exact
non-null-literal error before the fix and pass afterward. The JDBC regression
now prepares locally on each available non-master FE, forces repeated A/B/A
executions to the master, and compares results with literal SQL; Connector/J
fallback emulation is disabled.
Validation: 107 FE tests and FE Checkstyle passed; the Groovy regression
compiled. The multi-FE JDBC regression has not been run locally and requires
the external Lance fixtures.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]