davidm-db commented on code in PR #47537: URL: https://github.com/apache/spark/pull/47537#discussion_r1697231118
########## sql/catalyst/src/main/scala/org/apache/spark/sql/errors/SqlScriptingException.scala: ########## @@ -17,40 +17,77 @@ package org.apache.spark.sql.errors -import org.apache.spark.SparkException +import org.apache.spark.{SparkException, SparkThrowableHelper} +import org.apache.spark.sql.catalyst.trees.Origin +import org.apache.spark.sql.errors.SqlScriptingException.errorMessageWithLineNumber + +class SqlScriptingException protected ( + origin: Origin, + errorClass: String, + cause: Throwable, + messageParameters: Map[String, String] = Map.empty) + extends SparkException( + message = errorMessageWithLineNumber(origin, errorClass, messageParameters), + errorClass = Option(errorClass), + cause = cause, + messageParameters = messageParameters + ) { + +} /** * Object for grouping error messages thrown during parsing/interpreting phase * of the SQL Scripting Language interpreter. */ -private[sql] object SqlScriptingErrors extends QueryErrorsBase { +private[sql] object SqlScriptingException { - def labelsMismatch(beginLabel: String, endLabel: String): Throwable = { - new SparkException( + def labelsMismatch(origin: Origin, beginLabel: String, endLabel: String): Throwable = { + new SqlScriptingException( + origin = origin, errorClass = "LABELS_MISMATCH", cause = null, messageParameters = Map("beginLabel" -> beginLabel, "endLabel" -> endLabel)) } - def endLabelWithoutBeginLabel(endLabel: String): Throwable = { - new SparkException( + def endLabelWithoutBeginLabel(origin: Origin, endLabel: String): Throwable = { + new SqlScriptingException( + origin = origin, errorClass = "END_LABEL_WITHOUT_BEGIN_LABEL", cause = null, messageParameters = Map("endLabel" -> endLabel)) } - def variableDeclarationNotAllowedInScope(varName: String, lineNumber: String): Throwable = { - new SparkException( + def variableDeclarationNotAllowedInScope( + origin: Origin, + varName: String, + lineNumber: String + ): Throwable = { Review Comment: same as in the comment above, usually we leave this part of the code in the line above: `lineNumber: String): Throwable = {` there are a few places below with this as well. -- 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