cloud-fan commented on code in PR #44093:
URL: https://github.com/apache/spark/pull/44093#discussion_r1428713899
##########
sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/parser/AstBuilder.scala:
##########
@@ -558,6 +560,73 @@ class AstBuilder extends DataTypeAstBuilder with
SQLConfHelper with Logging {
}
/**
+ * Returns the parameters for [[ExecuteImmediateQuery]] logical plan.
+ * Expected format:
+ * {{{
+ * EXECUTE IMMEDIATE {query_string|string_literal}
+ * [INTO target1, target2] [USING param1, param2, ...]
+ * }}}
+ */
+ override def visitExecuteImmediate(ctx: ExecuteImmediateContext):
LogicalPlan = withOrigin(ctx) {
+ // Because of how parsing rules are written, we know that either
+ // queryParam or targetVariable is non null - hence use Either to
represent this.
+ val queryString = Option(ctx.queryParam.stringLit()).map(sl =>
Left(string(visitStringLit(sl))))
Review Comment:
We need to invoke the parser here anyway if the query string is a session
variable. The code will be more convoluted if we parse the query string in two
different places.
--
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]