github-actions[bot] commented on code in PR #68162:
URL: https://github.com/apache/doris/pull/68162#discussion_r4044543431
##########
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:
[P1] Use the actual PREPARE planner context on forwarded executions
A forwarded `COM_STMT_EXECUTE` reconstructs PREPARE on the master before
decoding `prepareExecuteBuffer`. In that proxy path the parser installs a new
`ConnectContext.statementContext`, and `PrepareCommand.run` marks that context
as prepare-stage, but `planPrepareStatementSlots()` still passes the proxy
executor's constructor-created context to `PrepareCommandPlanner`. Consequently
this condition is false and the following lookup has no bound value yet, so any
parameterized `vector_search` property is rejected as a non-null-literal error.
Please synchronize the executor context (or mark the exact context passed to
`PrepareCommandPlanner`) and cover a forced-forward/proxy server-prepared
execution.
--
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]