wengh commented on code in PR #50408: URL: https://github.com/apache/spark/pull/50408#discussion_r2019083351
########## sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/parser/ParserUtils.scala: ########## @@ -62,12 +62,6 @@ object ParserUtils extends SparkParserUtils { } } - /** Get the code that creates the given node. */ - def source(ctx: ParserRuleContext): String = { - val stream = ctx.getStart.getInputStream - stream.getText(Interval.of(ctx.getStart.getStartIndex, ctx.getStop.getStopIndex)) - } - Review Comment: moving to base SparkParserUtils so it's accessible from DataTypeAstBuilder ########## sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/parser/AstBuilder.scala: ########## @@ -3971,14 +3970,7 @@ class AstBuilder extends DataTypeAstBuilder if (expr.containsPattern(PARAMETER)) { throw QueryParsingErrors.parameterMarkerNotAllowed(place, expr.origin) } - // Extract the raw expression text so that we can save the user provided text. We don't - // use `Expression.sql` to avoid storing incorrect text caused by bugs in any expression's - // `sql` method. Note: `exprCtx.getText` returns a string without spaces, so we need to - // get the text from the underlying char stream instead. - val start = exprCtx.getStart.getStartIndex - val end = exprCtx.getStop.getStopIndex - val originalSQL = exprCtx.getStart.getInputStream.getText(new Interval(start, end)) - DefaultValueExpression(expr, originalSQL) + DefaultValueExpression(expr, SparkParserUtils.source(exprCtx)) Review Comment: refactor to remove duplicate code ########## sql/api/src/main/scala/org/apache/spark/sql/catalyst/util/SparkParserUtils.scala: ########## @@ -127,6 +127,12 @@ trait SparkParserUtils { } } + /** Get the code that creates the given node. */ + def source(ctx: ParserRuleContext): String = { + val stream = ctx.getStart.getInputStream + stream.getText(Interval.of(ctx.getStart.getStartIndex, ctx.getStop.getStopIndex)) + } + Review Comment: moved from ParserUtils -- 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: reviews-unsubscr...@spark.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: reviews-unsubscr...@spark.apache.org For additional commands, e-mail: reviews-h...@spark.apache.org