MaxGekk commented on code in PR #41864:
URL: https://github.com/apache/spark/pull/41864#discussion_r1262766997
##########
sql/catalyst/src/main/scala/org/apache/spark/sql/errors/QueryCompilationErrors.scala:
##########
@@ -50,6 +50,90 @@ import org.apache.spark.sql.types._
*/
private[sql] object QueryCompilationErrors extends QueryErrorsBase {
+ def unexpectedRequiredParameterInFunctionSignature(
+ functionName: String, functionSignature: FunctionSignature) : Throwable
= {
+ val errorMessage = s"Function $functionName has an unexpected required
argument for" +
+ s" the provided function signature $functionSignature. All required
arguments should" +
+ s" come before optional arguments."
Review Comment:
s is not needed.
##########
sql/catalyst/src/main/scala/org/apache/spark/sql/errors/QueryCompilationErrors.scala:
##########
@@ -50,6 +50,90 @@ import org.apache.spark.sql.types._
*/
private[sql] object QueryCompilationErrors extends QueryErrorsBase {
+ def unexpectedRequiredParameterInFunctionSignature(
+ functionName: String, functionSignature: FunctionSignature) : Throwable
= {
+ val errorMessage = s"Function $functionName has an unexpected required
argument for" +
+ s" the provided function signature $functionSignature. All required
arguments should" +
+ s" come before optional arguments."
+ SparkException.internalError(errorMessage)
+ }
+
+ def multipleFunctionSignatures(functionName: String,
+ functionSignatures: Seq[FunctionSignature]): Throwable = {
+ var errorMessage = s"Function $functionName cannot have multiple method
signatures." +
+ s" The function signatures found were: \n"
+ for (functionSignature <- functionSignatures) {
+ errorMessage = errorMessage + s"${functionSignature}\n"
+ }
+ SparkException.internalError(errorMessage)
+ }
+
+ def namedArgumentsNotSupported(functionName: String) : Throwable = {
+ new AnalysisException(
+ errorClass = "NAMED_ARGUMENTS_NOT_SUPPORTED",
+ messageParameters = Map("functionName" -> toSQLId(functionName))
+ )
+ }
+
+ def positionalAndNamedArgumentDoubleReference(
+ functionName: String, parameterName: String) : Throwable = {
+ val errorClass =
+
"DUPLICATE_ROUTINE_PARAMETER_ASSIGNMENT.POSITIONAL_AND_NAMED_ARGUMENT_DOUBLE_REFERENCE"
Review Comment:
It is not long. Is it possible to make it shorter?
##########
sql/catalyst/src/main/scala/org/apache/spark/sql/errors/QueryCompilationErrors.scala:
##########
@@ -50,6 +50,90 @@ import org.apache.spark.sql.types._
*/
private[sql] object QueryCompilationErrors extends QueryErrorsBase {
+ def unexpectedRequiredParameterInFunctionSignature(
+ functionName: String, functionSignature: FunctionSignature) : Throwable
= {
+ val errorMessage = s"Function $functionName has an unexpected required
argument for" +
+ s" the provided function signature $functionSignature. All required
arguments should" +
+ s" come before optional arguments."
+ SparkException.internalError(errorMessage)
+ }
+
+ def multipleFunctionSignatures(functionName: String,
+ functionSignatures: Seq[FunctionSignature]): Throwable = {
+ var errorMessage = s"Function $functionName cannot have multiple method
signatures." +
+ s" The function signatures found were: \n"
Review Comment:
s is not needed.
##########
sql/catalyst/src/main/scala/org/apache/spark/sql/errors/QueryCompilationErrors.scala:
##########
@@ -50,6 +50,90 @@ import org.apache.spark.sql.types._
*/
private[sql] object QueryCompilationErrors extends QueryErrorsBase {
+ def unexpectedRequiredParameterInFunctionSignature(
+ functionName: String, functionSignature: FunctionSignature) : Throwable
= {
+ val errorMessage = s"Function $functionName has an unexpected required
argument for" +
+ s" the provided function signature $functionSignature. All required
arguments should" +
+ s" come before optional arguments."
+ SparkException.internalError(errorMessage)
+ }
+
+ def multipleFunctionSignatures(functionName: String,
+ functionSignatures: Seq[FunctionSignature]): Throwable = {
+ var errorMessage = s"Function $functionName cannot have multiple method
signatures." +
+ s" The function signatures found were: \n"
+ for (functionSignature <- functionSignatures) {
+ errorMessage = errorMessage + s"${functionSignature}\n"
+ }
+ SparkException.internalError(errorMessage)
+ }
+
+ def namedArgumentsNotSupported(functionName: String) : Throwable = {
+ new AnalysisException(
+ errorClass = "NAMED_ARGUMENTS_NOT_SUPPORTED",
+ messageParameters = Map("functionName" -> toSQLId(functionName))
+ )
+ }
+
+ def positionalAndNamedArgumentDoubleReference(
+ functionName: String, parameterName: String) : Throwable = {
+ val errorClass =
+
"DUPLICATE_ROUTINE_PARAMETER_ASSIGNMENT.POSITIONAL_AND_NAMED_ARGUMENT_DOUBLE_REFERENCE"
+ new AnalysisException(
+ errorClass = errorClass,
+ messageParameters = Map(
+ "functionName" -> toSQLId(functionName),
+ "parameterName" -> toSQLId(parameterName))
+ )
+ }
+
+ def doubleNamedArgumentReference(
+ functionName: String, parameterName: String): Throwable = {
+ val errorClass =
+ "DUPLICATE_ROUTINE_PARAMETER_ASSIGNMENT.DOUBLE_NAMED_ARGUMENT_REFERENCE"
+ new AnalysisException(
+ errorClass = errorClass,
+ messageParameters = Map(
+ "functionName" -> toSQLId(functionName),
+ "parameterName" -> toSQLId(parameterName))
+ )
+ }
+
+ def requiredParameterNotFound(
+ functionName: String, parameterName: String) : Throwable = {
+ new AnalysisException(
+ errorClass = "REQUIRED_PARAMETER_NOT_FOUND",
+ messageParameters = Map(
+ "functionName" -> toSQLId(functionName),
+ "parameterName" -> toSQLId(parameterName))
+ )
+ }
+
+ def unrecognizedParameterName(
+ functionName: String, argumentName: String, candidates: Seq[String]):
Throwable = {
+ import
org.apache.spark.sql.catalyst.util.StringUtils.orderSuggestedIdentifiersBySimilarity
+
+ val inputs = candidates.map(candidate => Seq(candidate)).toSeq
+ val recommendations = orderSuggestedIdentifiersBySimilarity(argumentName,
inputs)
+ .take(3)
+ var candidatesString = ""
+ recommendations.foreach(candidatesString += _ + " ")
Review Comment:
Could just use `mkString`.
--
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]