Skip to content

Commit 54288f8

Browse files
committed
[SPARK-51722][SQL] Remove "stop" origin from ParseException
### What changes were proposed in this pull request? The "stop" origin from ParseException is not used. We should remove it to simplify code. ### Why are the changes needed? Code clean up ### Does this PR introduce _any_ user-facing change? No ### How was this patch tested? Existing UT ### Was this patch authored or co-authored using generative AI tooling? No Closes #50518 from gengliangwang/removeStop. Authored-by: Gengliang Wang <gengliang@apache.org> Signed-off-by: Gengliang Wang <gengliang@apache.org>
1 parent 738a503 commit 54288f8

File tree

4 files changed

+7
-23
lines changed

4 files changed

+7
-23
lines changed

sql/api/src/main/scala/org/apache/spark/sql/catalyst/parser/parsers.scala

Lines changed: 7 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,6 @@ abstract class AbstractParser extends DataTypeParserInterface with Logging {
9999
throw new ParseException(
100100
command = Option(command),
101101
start = e.origin,
102-
stop = e.origin,
103102
errorClass = e.getCondition,
104103
messageParameters = e.getMessageParameters.asScala.toMap,
105104
queryContext = e.getQueryContext)
@@ -158,24 +157,19 @@ case object ParseErrorListener extends BaseErrorListener {
158157
charPositionInLine: Int,
159158
msg: String,
160159
e: RecognitionException): Unit = {
161-
val (start, stop) = offendingSymbol match {
160+
val start = offendingSymbol match {
162161
case token: CommonToken =>
163-
val start = Origin(Some(line), Some(token.getCharPositionInLine))
164-
val length = token.getStopIndex - token.getStartIndex + 1
165-
val stop = Origin(Some(line), Some(token.getCharPositionInLine + length))
166-
(start, stop)
162+
Origin(Some(line), Some(token.getCharPositionInLine))
167163
case _ =>
168-
val start = Origin(Some(line), Some(charPositionInLine))
169-
(start, start)
164+
Origin(Some(line), Some(charPositionInLine))
170165
}
171166
e match {
172167
case sre: SparkRecognitionException if sre.errorClass.isDefined =>
173-
throw new ParseException(None, start, stop, sre.errorClass.get, sre.messageParameters)
168+
throw new ParseException(None, start, sre.errorClass.get, sre.messageParameters)
174169
case _ =>
175170
throw new ParseException(
176171
command = None,
177172
start = start,
178-
stop = stop,
179173
errorClass = "PARSE_SYNTAX_ERROR",
180174
messageParameters = Map("error" -> msg, "hint" -> ""))
181175
}
@@ -190,7 +184,6 @@ class ParseException private (
190184
val command: Option[String],
191185
message: String,
192186
val start: Origin,
193-
val stop: Origin,
194187
errorClass: Option[String] = None,
195188
messageParameters: Map[String, String] = Map.empty,
196189
queryContext: Array[QueryContext] = ParseException.getQueryContext())
@@ -208,40 +201,36 @@ class ParseException private (
208201
Option(SparkParserUtils.command(ctx)),
209202
SparkThrowableHelper.getMessage(errorClass, messageParameters),
210203
SparkParserUtils.position(ctx.getStart),
211-
SparkParserUtils.position(ctx.getStop),
212204
Some(errorClass),
213205
messageParameters)
214206

215-
def this(errorClass: String, ctx: ParserRuleContext) = this(errorClass, Map.empty, ctx)
207+
def this(errorClass: String, ctx: ParserRuleContext) =
208+
this(errorClass = errorClass, messageParameters = Map.empty, ctx = ctx)
216209

217210
/** Compose the message through SparkThrowableHelper given errorClass and messageParameters. */
218211
def this(
219212
command: Option[String],
220213
start: Origin,
221-
stop: Origin,
222214
errorClass: String,
223215
messageParameters: Map[String, String]) =
224216
this(
225217
command,
226218
SparkThrowableHelper.getMessage(errorClass, messageParameters),
227219
start,
228-
stop,
229220
Some(errorClass),
230221
messageParameters,
231222
queryContext = ParseException.getQueryContext())
232223

233224
def this(
234225
command: Option[String],
235226
start: Origin,
236-
stop: Origin,
237227
errorClass: String,
238228
messageParameters: Map[String, String],
239229
queryContext: Array[QueryContext]) =
240230
this(
241231
command,
242232
SparkThrowableHelper.getMessage(errorClass, messageParameters),
243233
start,
244-
stop,
245234
Some(errorClass),
246235
messageParameters,
247236
queryContext)
@@ -282,7 +271,7 @@ class ParseException private (
282271
} else {
283272
(cl, messageParameters)
284273
}
285-
new ParseException(Option(cmd), start, stop, newCl, params, queryContext)
274+
new ParseException(Option(cmd), start, newCl, params, queryContext)
286275
}
287276

288277
override def getQueryContext: Array[QueryContext] = queryContext

sql/api/src/main/scala/org/apache/spark/sql/errors/QueryParsingErrors.scala

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -500,7 +500,6 @@ private[sql] object QueryParsingErrors extends DataTypeErrorsBase {
500500
new ParseException(
501501
command = Option(sqlText),
502502
start = position,
503-
stop = position,
504503
errorClass = "INVALID_SQL_SYNTAX.UNSUPPORTED_SQL_STATEMENT",
505504
messageParameters = Map("sqlText" -> sqlText))
506505
}
@@ -632,7 +631,6 @@ private[sql] object QueryParsingErrors extends DataTypeErrorsBase {
632631
new ParseException(
633632
command = origin.sqlText,
634633
start = origin,
635-
stop = origin,
636634
errorClass = "UNSUPPORTED_FEATURE.PARAMETER_MARKER_IN_UNEXPECTED_STATEMENT",
637635
messageParameters = Map("statement" -> statement))
638636
}
@@ -690,7 +688,6 @@ private[sql] object QueryParsingErrors extends DataTypeErrorsBase {
690688
new ParseException(
691689
command = Some(command),
692690
start = start,
693-
stop = stop,
694691
errorClass = "UNCLOSED_BRACKETED_COMMENT",
695692
messageParameters = Map.empty)
696693
}

sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/parser/AstBuilder.scala

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1800,7 +1800,6 @@ class AstBuilder extends DataTypeAstBuilder
18001800
throw new ParseException(
18011801
command = Some(SparkParserUtils.command(n)),
18021802
start = Origin(),
1803-
stop = Origin(),
18041803
errorClass = "PARSE_SYNTAX_ERROR",
18051804
messageParameters = Map(
18061805
"error" -> s"'$error'",

sql/connect/common/src/main/scala/org/apache/spark/sql/connect/client/GrpcExceptionConverter.scala

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -192,7 +192,6 @@ private[client] object GrpcExceptionConverter {
192192
new ParseException(
193193
None,
194194
Origin(),
195-
Origin(),
196195
errorClass = params.errorClass.orNull,
197196
messageParameters = params.messageParameters,
198197
queryContext = params.queryContext)),

0 commit comments

Comments
 (0)