You are viewing a plain text version of this content. The canonical link for it is here.
Posted to reviews@spark.apache.org by GitBox <gi...@apache.org> on 2021/08/29 07:22:28 UTC
[GitHub] [spark] dgd-contributor opened a new pull request #33864: [SPARK-36296][SQL] Refactor seventh set of 20 in QueryExecutionErrors to use error classes
dgd-contributor opened a new pull request #33864:
URL: https://github.com/apache/spark/pull/33864
<!--
Thanks for sending a pull request! Here are some tips for you:
1. If this is your first time, please read our contributor guidelines: https://spark.apache.org/contributing.html
2. Ensure you have added or run the appropriate tests for your PR: https://spark.apache.org/developer-tools.html
3. If the PR is unfinished, add '[WIP]' in your PR title, e.g., '[WIP][SPARK-XXXX] Your PR title ...'.
4. Be sure to keep the PR description updated to reflect all changes.
5. Please write your PR title to summarize what this PR proposes.
6. If possible, provide a concise example to reproduce the issue for a faster review.
7. If you want to add a new configuration, please read the guideline first for naming configurations in
'core/src/main/scala/org/apache/spark/internal/config/ConfigEntry.scala'.
8. If you want to add or modify an error type or message, please read the guideline first in
'core/src/main/resources/error/README.md'.
-->
### What changes were proposed in this pull request?
Refactor some exceptions in QueryExecutionErrors to use error classes.
```
missingJdbcTableNameAndQueryError
emptyOptionError
invalidJdbcTxnIsolationLevelError
cannotGetJdbcTypeError
unrecognizedSqlTypeError
unsupportedJdbcTypeError
unsupportedArrayElementTypeBasedOnBinaryError
nestedArraysUnsupportedError
cannotTranslateNonNullValueForFieldError
invalidJdbcNumPartitionsError
transactionUnsupportedByJdbcServerError
dataTypeUnsupportedYetError
unsupportedOperationForDataTypeError
inputFilterNotFullyConvertibleError
cannotReadFooterForFileError
cannotReadFooterForFileError
foundDuplicateFieldInCaseInsensitiveModeError
failedToMergeIncompatibleSchemasError
ddlUnsupportedTemporarilyError
operatingOnCanonicalizationPlanError
```
### Why are the changes needed?
There are currently ~350 exceptions in this file; so this PR only focuses on the seventh set of 20.
### Does this PR introduce _any_ user-facing change?
No
### How was this patch tested?
Existed UT Testcase
--
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-unsubscribe@spark.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org
[GitHub] [spark] HyukjinKwon commented on pull request #33864: [SPARK-36296][SQL] Refactor seventh set of 20 in QueryExecutionErrors to use error classes
Posted by GitBox <gi...@apache.org>.
HyukjinKwon commented on pull request #33864:
URL: https://github.com/apache/spark/pull/33864#issuecomment-907932488
cc @karenfeng FYI
--
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-unsubscribe@spark.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org
[GitHub] [spark] dgd-contributor commented on pull request #33864: [SPARK-36296][SQL] Refactor seventh set of 20 in QueryExecutionErrors to use error classes
Posted by GitBox <gi...@apache.org>.
dgd-contributor commented on pull request #33864:
URL: https://github.com/apache/spark/pull/33864#issuecomment-928807560
cc @karenfeng , can you pls review it again?
Thank you.
--
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-unsubscribe@spark.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org
[GitHub] [spark] AmplabJenkins commented on pull request #33864: [SPARK-36296][SQL] Refactor seventh set of 20 in QueryExecutionErrors to use error classes
Posted by GitBox <gi...@apache.org>.
AmplabJenkins commented on pull request #33864:
URL: https://github.com/apache/spark/pull/33864#issuecomment-907743266
Can one of the admins verify this patch?
--
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-unsubscribe@spark.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org
[GitHub] [spark] karenfeng commented on a change in pull request #33864: [SPARK-36296][SQL] Refactor seventh set of 20 in QueryExecutionErrors to use error classes
Posted by GitBox <gi...@apache.org>.
karenfeng commented on a change in pull request #33864:
URL: https://github.com/apache/spark/pull/33864#discussion_r710563000
##########
File path: sql/catalyst/src/main/scala/org/apache/spark/sql/errors/QueryExecutionErrors.scala
##########
@@ -651,50 +651,52 @@ object QueryExecutionErrors {
def missingJdbcTableNameAndQueryError(
jdbcTableName: String, jdbcQueryString: String): Throwable = {
- new IllegalArgumentException(
- s"Option '$jdbcTableName' or '$jdbcQueryString' is required."
- )
+ new SparkIllegalArgumentException(errorClass = "MISSING_JDBC_TABLE_NAME_AND_QUERY",
+ messageParameters = Array(jdbcTableName, jdbcQueryString))
}
def emptyOptionError(optionName: String): Throwable = {
- new IllegalArgumentException(s"Option `$optionName` can not be empty.")
+ new SparkIllegalArgumentException(errorClass = "EMPTY_OPTION",
+ messageParameters = Array(optionName))
}
def invalidJdbcTxnIsolationLevelError(jdbcTxnIsolationLevel: String, value: String): Throwable = {
- new IllegalArgumentException(
- s"Invalid value `$value` for parameter `$jdbcTxnIsolationLevel`. This can be " +
- "`NONE`, `READ_UNCOMMITTED`, `READ_COMMITTED`, `REPEATABLE_READ` or `SERIALIZABLE`.")
+ new SparkIllegalArgumentException(errorClass = "INVALID_JDBC_TXN_ISOLATION_LEVEL",
Review comment:
When the class name is updated, it should be updated here as well: `INVALID_JDBC_TRANSACTION_ISOLATION_LEVEL`
##########
File path: sql/catalyst/src/main/scala/org/apache/spark/sql/errors/QueryExecutionErrors.scala
##########
@@ -703,45 +705,50 @@ object QueryExecutionErrors {
}
def dataTypeUnsupportedYetError(dataType: DataType): Throwable = {
- new UnsupportedOperationException(s"$dataType is not supported yet.")
+ new SparkUnsupportedOperationException(errorClass = "DATA_TYPE_UNSUPPORTED_YET",
Review comment:
Update class name
##########
File path: core/src/main/resources/error/error-classes.json
##########
@@ -3,9 +3,29 @@
"message" : [ "Field name %s is ambiguous and has %s matching fields in the struct." ],
"sqlState" : "42000"
},
+ "CANNOT_GET_JDBC_TYPE" : {
+ "message" : [ "Can't get JDBC type for %s" ],
+ "sqlState" : "42000"
+ },
+ "CANNOT_READ_FOOTER_FOR_FILE" : {
+ "message" : [ "Could not read footer for file: %s" ],
+ "sqlState" : "42000"
+ },
+ "CANNOT_TRANSLATE_NON_NULL_VALUE_FOR_FIELD" : {
+ "message" : [ "Can't translate non-null value for field %s" ],
+ "sqlState" : "0A000"
Review comment:
Is this an internal error? If so, we should leave the SQLSTATE empty.
##########
File path: core/src/main/resources/error/error-classes.json
##########
@@ -3,9 +3,29 @@
"message" : [ "Field name %s is ambiguous and has %s matching fields in the struct." ],
"sqlState" : "42000"
},
+ "CANNOT_GET_JDBC_TYPE" : {
+ "message" : [ "Can't get JDBC type for %s" ],
+ "sqlState" : "42000"
Review comment:
Is this an internal error? If so, we should leave the SQLSTATE empty.
##########
File path: sql/catalyst/src/main/scala/org/apache/spark/sql/errors/QueryExecutionErrors.scala
##########
@@ -703,45 +705,50 @@ object QueryExecutionErrors {
}
def dataTypeUnsupportedYetError(dataType: DataType): Throwable = {
- new UnsupportedOperationException(s"$dataType is not supported yet.")
+ new SparkUnsupportedOperationException(errorClass = "DATA_TYPE_UNSUPPORTED_YET",
+ messageParameters = Array(dataType.toString))
}
def unsupportedOperationForDataTypeError(dataType: DataType): Throwable = {
- new UnsupportedOperationException(s"DataType: ${dataType.catalogString}")
+ new SparkUnsupportedOperationException(errorClass = "UNSUPPORTED_OPERATION_FOR_DATA_TYPE",
+ messageParameters = Array(dataType.catalogString))
}
def inputFilterNotFullyConvertibleError(owner: String): Throwable = {
- new SparkException(s"The input filter of $owner should be fully convertible.")
+ new SparkException(errorClass = "INPUT_FILTER_NOT_FULLY_CONVERTIBLE",
+ messageParameters = Array(owner), null)
}
def cannotReadFooterForFileError(file: Path, e: IOException): Throwable = {
- new SparkException(s"Could not read footer for file: $file", e)
+ new SparkException(errorClass = "CANNOT_READ_FOOTER_FOR_FILE",
+ messageParameters = Array(file.toString), e)
}
def cannotReadFooterForFileError(file: FileStatus, e: RuntimeException): Throwable = {
- new IOException(s"Could not read footer for file: $file", e)
+ new SparkIOException(errorClass = "CANNOT_READ_FOOTER_FOR_FILE",
+ messageParameters = Array(file.toString), e)
}
def foundDuplicateFieldInCaseInsensitiveModeError(
requiredFieldName: String, matchedOrcFields: String): Throwable = {
- new RuntimeException(
- s"""
- |Found duplicate field(s) "$requiredFieldName": $matchedOrcFields
- |in case-insensitive mode
- """.stripMargin.replaceAll("\n", " "))
+ new SparkRuntimeException(errorClass = "FOUND_DUPLICATE_FIELD_IN_CASE_INSENSITIVE_MODE",
+ messageParameters = Array(requiredFieldName, matchedOrcFields))
}
def failedToMergeIncompatibleSchemasError(
left: StructType, right: StructType, e: Throwable): Throwable = {
- new SparkException(s"Failed to merge incompatible schemas $left and $right", e)
+ new SparkException(errorClass = "FAILED_TO_MERGE_IN_COMPATIBLE_SCHEMAS",
Review comment:
Update class name
##########
File path: sql/catalyst/src/main/scala/org/apache/spark/sql/errors/QueryExecutionErrors.scala
##########
@@ -703,45 +705,50 @@ object QueryExecutionErrors {
}
def dataTypeUnsupportedYetError(dataType: DataType): Throwable = {
- new UnsupportedOperationException(s"$dataType is not supported yet.")
+ new SparkUnsupportedOperationException(errorClass = "DATA_TYPE_UNSUPPORTED_YET",
+ messageParameters = Array(dataType.toString))
}
def unsupportedOperationForDataTypeError(dataType: DataType): Throwable = {
- new UnsupportedOperationException(s"DataType: ${dataType.catalogString}")
+ new SparkUnsupportedOperationException(errorClass = "UNSUPPORTED_OPERATION_FOR_DATA_TYPE",
+ messageParameters = Array(dataType.catalogString))
}
def inputFilterNotFullyConvertibleError(owner: String): Throwable = {
- new SparkException(s"The input filter of $owner should be fully convertible.")
+ new SparkException(errorClass = "INPUT_FILTER_NOT_FULLY_CONVERTIBLE",
+ messageParameters = Array(owner), null)
}
def cannotReadFooterForFileError(file: Path, e: IOException): Throwable = {
- new SparkException(s"Could not read footer for file: $file", e)
+ new SparkException(errorClass = "CANNOT_READ_FOOTER_FOR_FILE",
+ messageParameters = Array(file.toString), e)
}
def cannotReadFooterForFileError(file: FileStatus, e: RuntimeException): Throwable = {
- new IOException(s"Could not read footer for file: $file", e)
+ new SparkIOException(errorClass = "CANNOT_READ_FOOTER_FOR_FILE",
+ messageParameters = Array(file.toString), e)
}
def foundDuplicateFieldInCaseInsensitiveModeError(
requiredFieldName: String, matchedOrcFields: String): Throwable = {
- new RuntimeException(
- s"""
- |Found duplicate field(s) "$requiredFieldName": $matchedOrcFields
- |in case-insensitive mode
- """.stripMargin.replaceAll("\n", " "))
+ new SparkRuntimeException(errorClass = "FOUND_DUPLICATE_FIELD_IN_CASE_INSENSITIVE_MODE",
+ messageParameters = Array(requiredFieldName, matchedOrcFields))
}
def failedToMergeIncompatibleSchemasError(
left: StructType, right: StructType, e: Throwable): Throwable = {
- new SparkException(s"Failed to merge incompatible schemas $left and $right", e)
+ new SparkException(errorClass = "FAILED_TO_MERGE_IN_COMPATIBLE_SCHEMAS",
+ messageParameters = Array(left.toString, right.toString), e)
}
def ddlUnsupportedTemporarilyError(ddl: String): Throwable = {
- new UnsupportedOperationException(s"$ddl is not supported temporarily.")
+ new SparkUnsupportedOperationException(errorClass = "DDL_UNSUPPORTED_TEMPORARILY",
+ messageParameters = Array(ddl))
}
def operatingOnCanonicalizationPlanError(): Throwable = {
- new IllegalStateException("operating on canonicalization plan")
+ new SparkIllegalStateException(errorClass = "OPERATING_ON_CANONICALIZATION_PLAN",
Review comment:
This error class is confusing; can we update it to `CANNOT_OPERATE_ON_CANONICALIZATION_PLAN`?
##########
File path: sql/catalyst/src/main/scala/org/apache/spark/sql/errors/QueryExecutionErrors.scala
##########
@@ -703,45 +705,50 @@ object QueryExecutionErrors {
}
def dataTypeUnsupportedYetError(dataType: DataType): Throwable = {
- new UnsupportedOperationException(s"$dataType is not supported yet.")
+ new SparkUnsupportedOperationException(errorClass = "DATA_TYPE_UNSUPPORTED_YET",
+ messageParameters = Array(dataType.toString))
}
def unsupportedOperationForDataTypeError(dataType: DataType): Throwable = {
- new UnsupportedOperationException(s"DataType: ${dataType.catalogString}")
+ new SparkUnsupportedOperationException(errorClass = "UNSUPPORTED_OPERATION_FOR_DATA_TYPE",
+ messageParameters = Array(dataType.catalogString))
}
def inputFilterNotFullyConvertibleError(owner: String): Throwable = {
- new SparkException(s"The input filter of $owner should be fully convertible.")
+ new SparkException(errorClass = "INPUT_FILTER_NOT_FULLY_CONVERTIBLE",
+ messageParameters = Array(owner), null)
}
def cannotReadFooterForFileError(file: Path, e: IOException): Throwable = {
- new SparkException(s"Could not read footer for file: $file", e)
+ new SparkException(errorClass = "CANNOT_READ_FOOTER_FOR_FILE",
+ messageParameters = Array(file.toString), e)
}
def cannotReadFooterForFileError(file: FileStatus, e: RuntimeException): Throwable = {
- new IOException(s"Could not read footer for file: $file", e)
+ new SparkIOException(errorClass = "CANNOT_READ_FOOTER_FOR_FILE",
+ messageParameters = Array(file.toString), e)
}
def foundDuplicateFieldInCaseInsensitiveModeError(
requiredFieldName: String, matchedOrcFields: String): Throwable = {
- new RuntimeException(
- s"""
- |Found duplicate field(s) "$requiredFieldName": $matchedOrcFields
- |in case-insensitive mode
- """.stripMargin.replaceAll("\n", " "))
+ new SparkRuntimeException(errorClass = "FOUND_DUPLICATE_FIELD_IN_CASE_INSENSITIVE_MODE",
+ messageParameters = Array(requiredFieldName, matchedOrcFields))
}
def failedToMergeIncompatibleSchemasError(
left: StructType, right: StructType, e: Throwable): Throwable = {
- new SparkException(s"Failed to merge incompatible schemas $left and $right", e)
+ new SparkException(errorClass = "FAILED_TO_MERGE_IN_COMPATIBLE_SCHEMAS",
+ messageParameters = Array(left.toString, right.toString), e)
}
def ddlUnsupportedTemporarilyError(ddl: String): Throwable = {
- new UnsupportedOperationException(s"$ddl is not supported temporarily.")
+ new SparkUnsupportedOperationException(errorClass = "DDL_UNSUPPORTED_TEMPORARILY",
Review comment:
Update class name
##########
File path: core/src/main/resources/error/error-classes.json
##########
@@ -96,10 +151,22 @@
"message" : [ "Unrecognized SQL type %s" ],
"sqlState" : "42000"
},
+ "UNSUPPORTED_ARRAY_ELEMENT_TYPE_BASED_ON_BINARY" : {
+ "message" : [ "Unsupported array element type %s based on binary" ],
+ "sqlState" : "0A000"
+ },
+ "UNSUPPORTED_JDBC_TYPE" : {
+ "message" : [ "Unsupported type %s" ],
+ "sqlState" : "0A000"
+ },
"UNSUPPORTED_LITERAL_TYPE" : {
"message" : [ "Unsupported literal type %s %s" ],
"sqlState" : "0A000"
},
+ "UNSUPPORTED_OPERATION_FOR_DATA_TYPE" : {
Review comment:
This does not reflect the error message. Can you improve the error message for this?
##########
File path: sql/catalyst/src/main/scala/org/apache/spark/sql/errors/QueryExecutionErrors.scala
##########
@@ -651,50 +651,52 @@ object QueryExecutionErrors {
def missingJdbcTableNameAndQueryError(
jdbcTableName: String, jdbcQueryString: String): Throwable = {
- new IllegalArgumentException(
- s"Option '$jdbcTableName' or '$jdbcQueryString' is required."
- )
+ new SparkIllegalArgumentException(errorClass = "MISSING_JDBC_TABLE_NAME_AND_QUERY",
+ messageParameters = Array(jdbcTableName, jdbcQueryString))
}
def emptyOptionError(optionName: String): Throwable = {
- new IllegalArgumentException(s"Option `$optionName` can not be empty.")
+ new SparkIllegalArgumentException(errorClass = "EMPTY_OPTION",
+ messageParameters = Array(optionName))
}
def invalidJdbcTxnIsolationLevelError(jdbcTxnIsolationLevel: String, value: String): Throwable = {
- new IllegalArgumentException(
- s"Invalid value `$value` for parameter `$jdbcTxnIsolationLevel`. This can be " +
- "`NONE`, `READ_UNCOMMITTED`, `READ_COMMITTED`, `REPEATABLE_READ` or `SERIALIZABLE`.")
+ new SparkIllegalArgumentException(errorClass = "INVALID_JDBC_TXN_ISOLATION_LEVEL",
+ messageParameters = Array(value, jdbcTxnIsolationLevel))
}
def cannotGetJdbcTypeError(dt: DataType): Throwable = {
- new IllegalArgumentException(s"Can't get JDBC type for ${dt.catalogString}")
+ new SparkIllegalArgumentException(errorClass = "CANNOT_GET_JDBC_TYPE",
+ messageParameters = Array(dt.catalogString))
}
def unrecognizedSqlTypeError(sqlType: Int): Throwable = {
new SparkSQLException(errorClass = "UNRECOGNIZED_SQL_TYPE", Array(sqlType.toString))
}
def unsupportedJdbcTypeError(content: String): Throwable = {
- new SQLException(s"Unsupported type $content")
+ new SparkSQLException(errorClass = "UNSUPPORTED_JDBC_TYPE",
+ messageParameters = Array(content))
}
def unsupportedArrayElementTypeBasedOnBinaryError(dt: DataType): Throwable = {
- new IllegalArgumentException(s"Unsupported array element " +
- s"type ${dt.catalogString} based on binary")
+ new SparkIllegalArgumentException(errorClass = "UNSUPPORTED_ARRAY_ELEMENT_TYPE_BASED_ON_BINARY",
+ messageParameters = Array(dt.catalogString))
}
def nestedArraysUnsupportedError(): Throwable = {
- new IllegalArgumentException("Nested arrays unsupported")
+ new SparkIllegalArgumentException(errorClass = "NESTED_ARRAYS_UNSUPPORTED",
+ messageParameters = Array.empty)
}
def cannotTranslateNonNullValueForFieldError(pos: Int): Throwable = {
- new IllegalArgumentException(s"Can't translate non-null value for field $pos")
+ new SparkIllegalArgumentException(errorClass = "CANNOT_TRANSLATE_NON_NULL_VALUE_FOR_FIELD",
+ messageParameters = Array(pos.toString))
}
def invalidJdbcNumPartitionsError(n: Int, jdbcNumPartitions: String): Throwable = {
- new IllegalArgumentException(
- s"Invalid value `$n` for parameter `$jdbcNumPartitions` in table writing " +
- "via JDBC. The minimum value is 1.")
+ new SparkIllegalArgumentException(errorClass = "INVALID_JDBC_NUMPARTITIONS",
Review comment:
Update class name: `INVALID_JDBC_NUM_PARTITIONS`
--
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-unsubscribe@spark.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org
[GitHub] [spark] dgd-contributor commented on pull request #33864: [SPARK-36296][SQL] Refactor seventh set of 20 in QueryExecutionErrors to use error classes
Posted by GitBox <gi...@apache.org>.
dgd-contributor commented on pull request #33864:
URL: https://github.com/apache/spark/pull/33864#issuecomment-933116546
Thank you for your review, @karenfeng. As we and @HyukjinKwon discussed contributing by sharing accounts, we will close this PR, and recreate this one with an individual account. We will also update the code with your comments.
--
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-unsubscribe@spark.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org
[GitHub] [spark] karenfeng commented on a change in pull request #33864: [SPARK-36296][SQL] Refactor seventh set of 20 in QueryExecutionErrors to use error classes
Posted by GitBox <gi...@apache.org>.
karenfeng commented on a change in pull request #33864:
URL: https://github.com/apache/spark/pull/33864#discussion_r710576439
##########
File path: core/src/main/resources/error/error-classes.json
##########
@@ -54,13 +90,25 @@
"message" : [ "The fraction of sec must be zero. Valid range is [0, 60]." ],
"sqlState" : "22023"
},
+ "INVALID_JDBC_NUM_PARTITIONS" : {
+ "message" : [ "Invalid value `%s` for parameter `%s` in table writing via JDBC. The minimum value is 1." ],
+ "sqlState" : "42000"
+ },
+ "INVALID_JDBC_TRANSACTION_ISOLATION_LEVEL" : {
+ "message" : [ "Invalid value `%s` for parameter `%s`. This can be `NONE`, `READ_UNCOMMITTED`, `READ_COMMITTED`, `REPEATABLE_READ` or `SERIALIZABLE`." ],
+ "sqlState" : "42000"
+ },
"INVALID_JSON_SCHEMA_MAPTYPE" : {
"message" : [ "Input schema %s can only contain StringType as a key type for a MapType." ]
},
"MISSING_COLUMN" : {
"message" : [ "cannot resolve '%s' given input columns: [%s]" ],
"sqlState" : "42000"
},
+ "MISSING_JDBC_TABLE_NAME_AND_QUERY" : {
+ "message" : [ "Option '%s' or '%s' is required." ],
+ "sqlState" : "08006"
Review comment:
This feels like the wrong SQLSTATE. Maybe `22023`?
--
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-unsubscribe@spark.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org
[GitHub] [spark] dgd-contributor commented on pull request #33864: [SPARK-36296][SQL] Refactor seventh set of 20 in QueryExecutionErrors to use error classes
Posted by GitBox <gi...@apache.org>.
dgd-contributor commented on pull request #33864:
URL: https://github.com/apache/spark/pull/33864#issuecomment-928807560
cc @karenfeng , can you pls review it again?
Thank you.
--
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-unsubscribe@spark.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org
[GitHub] [spark] karenfeng commented on a change in pull request #33864: [SPARK-36296][SQL] Refactor seventh set of 20 in QueryExecutionErrors to use error classes
Posted by GitBox <gi...@apache.org>.
karenfeng commented on a change in pull request #33864:
URL: https://github.com/apache/spark/pull/33864#discussion_r710574036
##########
File path: core/src/main/resources/error/error-classes.json
##########
@@ -3,9 +3,29 @@
"message" : [ "Field name %s is ambiguous and has %s matching fields in the struct." ],
"sqlState" : "42000"
},
+ "CANNOT_GET_JDBC_TYPE" : {
+ "message" : [ "Can't get JDBC type for %s" ],
+ "sqlState" : "42000"
Review comment:
Is this an internal error? If so, we should leave the SQLSTATE empty.
##########
File path: core/src/main/resources/error/error-classes.json
##########
@@ -110,6 +159,10 @@
"message" : [ "Unknown static partition column: %s" ],
"sqlState" : "42000"
},
+ "NESTED_ARRAYS_UNSUPPORTED" : {
Review comment:
Let's also make this `UNSUPPORTED_NESTED_ARRAYS`
##########
File path: core/src/main/resources/error/error-classes.json
##########
@@ -17,20 +17,41 @@
"CANNOT_GENERATE_CODE_FOR_EXPRESSION" : {
"message" : [ "Cannot generate code for expression: %s" ]
},
+ "CANNOT_GET_JDBC_TYPE" : {
+ "message" : [ "Can't get JDBC type for %s" ]
+ },
+ "CANNOT_OPERATE_ON_CANONICALIZATION_PLAN" : {
+ "message" : [ "Operating on canonicalization plan" ]
+ },
"CANNOT_PARSE_DECIMAL" : {
"message" : [ "Cannot parse decimal" ],
"sqlState" : "42000"
},
+ "CANNOT_READ_FOOTER_FOR_FILE" : {
+ "message" : [ "Could not read footer for file: %s" ],
+ "sqlState" : "42000"
+ },
"CANNOT_TERMINATE_GENERATOR" : {
"message" : [ "Cannot terminate expression: %s" ]
},
+ "CANNOT_TRANSLATE_NON_NULL_VALUE_FOR_FIELD" : {
+ "message" : [ "Can't translate non-null value for field %s" ]
+ },
"CAST_CAUSES_OVERFLOW" : {
"message" : [ "Casting %s to %s causes overflow" ],
"sqlState" : "22005"
},
"CONCURRENT_QUERY" : {
"message" : [ "Another instance of this query was just started by a concurrent session." ]
},
+ "DATA_TYPE_UNSUPPORTED" : {
Review comment:
Can you re-use the extant error class `UNSUPPORTED_DATATYPE` here instead?
##########
File path: core/src/main/resources/error/error-classes.json
##########
@@ -17,20 +17,41 @@
"CANNOT_GENERATE_CODE_FOR_EXPRESSION" : {
"message" : [ "Cannot generate code for expression: %s" ]
},
+ "CANNOT_GET_JDBC_TYPE" : {
+ "message" : [ "Can't get JDBC type for %s" ]
+ },
+ "CANNOT_OPERATE_ON_CANONICALIZATION_PLAN" : {
+ "message" : [ "Operating on canonicalization plan" ]
+ },
"CANNOT_PARSE_DECIMAL" : {
"message" : [ "Cannot parse decimal" ],
"sqlState" : "42000"
},
+ "CANNOT_READ_FOOTER_FOR_FILE" : {
+ "message" : [ "Could not read footer for file: %s" ],
+ "sqlState" : "42000"
+ },
"CANNOT_TERMINATE_GENERATOR" : {
"message" : [ "Cannot terminate expression: %s" ]
},
+ "CANNOT_TRANSLATE_NON_NULL_VALUE_FOR_FIELD" : {
+ "message" : [ "Can't translate non-null value for field %s" ]
+ },
"CAST_CAUSES_OVERFLOW" : {
"message" : [ "Casting %s to %s causes overflow" ],
"sqlState" : "22005"
},
"CONCURRENT_QUERY" : {
"message" : [ "Another instance of this query was just started by a concurrent session." ]
},
+ "DATA_TYPE_UNSUPPORTED" : {
+ "message" : [ "Data type '%s' is not supported." ],
+ "sqlState" : "0A000"
+ },
+ "DDL_UNSUPPORTED" : {
Review comment:
To match the existing unsupported operation error class, can you rename this to `UNSUPPORTED_DDL`?
##########
File path: core/src/main/resources/error/error-classes.json
##########
@@ -39,6 +60,10 @@
"message" : [ "Found duplicate keys '%s'" ],
"sqlState" : "23000"
},
+ "EMPTY_OPTION" : {
+ "message" : [ "Option `%s` can not be empty." ],
+ "sqlState" : "08006"
Review comment:
Can we use 42000 here instead?
##########
File path: core/src/main/resources/error/error-classes.json
##########
@@ -102,6 +147,10 @@
"message" : [ "cannot resolve '%s' given input columns: [%s]" ],
"sqlState" : "42000"
},
+ "MISSING_JDBC_TABLE_NAME_AND_QUERY" : {
+ "message" : [ "Option '%s' or '%s' is required." ],
+ "sqlState" : "22023"
Review comment:
Let's use 42000 here as well.
##########
File path: core/src/main/resources/error/error-classes.json
##########
@@ -39,6 +60,10 @@
"message" : [ "Found duplicate keys '%s'" ],
"sqlState" : "23000"
},
+ "EMPTY_OPTION" : {
+ "message" : [ "Option `%s` can not be empty." ],
+ "sqlState" : "08006"
Review comment:
Can we use 22023 here instead?
--
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-unsubscribe@spark.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org
[GitHub] [spark] karenfeng commented on a change in pull request #33864: [SPARK-36296][SQL] Refactor seventh set of 20 in QueryExecutionErrors to use error classes
Posted by GitBox <gi...@apache.org>.
karenfeng commented on a change in pull request #33864:
URL: https://github.com/apache/spark/pull/33864#discussion_r717860125
##########
File path: core/src/main/resources/error/error-classes.json
##########
@@ -39,6 +60,10 @@
"message" : [ "Found duplicate keys '%s'" ],
"sqlState" : "23000"
},
+ "EMPTY_OPTION" : {
+ "message" : [ "Option `%s` can not be empty." ],
+ "sqlState" : "08006"
Review comment:
Can we use 22023 here instead?
--
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-unsubscribe@spark.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org
[GitHub] [spark] dgd-contributor closed pull request #33864: [SPARK-36296][SQL] Refactor seventh set of 20 in QueryExecutionErrors to use error classes
Posted by GitBox <gi...@apache.org>.
dgd-contributor closed pull request #33864:
URL: https://github.com/apache/spark/pull/33864
--
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-unsubscribe@spark.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org
[GitHub] [spark] karenfeng commented on a change in pull request #33864: [SPARK-36296][SQL] Refactor seventh set of 20 in QueryExecutionErrors to use error classes
Posted by GitBox <gi...@apache.org>.
karenfeng commented on a change in pull request #33864:
URL: https://github.com/apache/spark/pull/33864#discussion_r710574036
##########
File path: core/src/main/resources/error/error-classes.json
##########
@@ -3,9 +3,29 @@
"message" : [ "Field name %s is ambiguous and has %s matching fields in the struct." ],
"sqlState" : "42000"
},
+ "CANNOT_GET_JDBC_TYPE" : {
+ "message" : [ "Can't get JDBC type for %s" ],
+ "sqlState" : "42000"
Review comment:
Is this an internal error? If so, we should leave the SQLSTATE empty.
--
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-unsubscribe@spark.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org
[GitHub] [spark] karenfeng commented on a change in pull request #33864: [SPARK-36296][SQL] Refactor seventh set of 20 in QueryExecutionErrors to use error classes
Posted by GitBox <gi...@apache.org>.
karenfeng commented on a change in pull request #33864:
URL: https://github.com/apache/spark/pull/33864#discussion_r703832089
##########
File path: core/src/main/resources/error/error-classes.json
##########
@@ -3,9 +3,29 @@
"message" : [ "Field name %s is ambiguous and has %s matching fields in the struct." ],
"sqlState" : "42000"
},
+ "CANNOT_GET_JDBC_TYPE" : {
+ "message" : [ "Can't get JDBC type for %s" ],
+ "sqlState" : "42000"
+ },
+ "CANNOT_READ_FOOTER_FOR_FILE" : {
+ "message" : [ "Could not read footer for file: %s" ],
+ "sqlState" : "42000"
+ },
+ "CANNOT_TRANSLATE_NON_NULL_VALUE_FOR_FIELD" : {
+ "message" : [ "Can't translate non-null value for field %s" ],
+ "sqlState" : "0A000"
+ },
"CONCURRENT_QUERY_ERROR" : {
"message" : [ "Another instance of this query was just started by a concurrent session." ]
},
+ "DATA_TYPE_UNSUPPORTED_YET" : {
+ "message" : [ "%s is not supported yet." ],
+ "sqlState" : "0A000"
+ },
+ "DDL_UNSUPPORTED_TEMPORARILY" : {
Review comment:
Same here, but remove "temporarily." We should rename the functions as well to avoid confusion.
##########
File path: core/src/main/resources/error/error-classes.json
##########
@@ -3,9 +3,29 @@
"message" : [ "Field name %s is ambiguous and has %s matching fields in the struct." ],
"sqlState" : "42000"
},
+ "CANNOT_GET_JDBC_TYPE" : {
+ "message" : [ "Can't get JDBC type for %s" ],
+ "sqlState" : "42000"
+ },
+ "CANNOT_READ_FOOTER_FOR_FILE" : {
+ "message" : [ "Could not read footer for file: %s" ],
+ "sqlState" : "42000"
+ },
+ "CANNOT_TRANSLATE_NON_NULL_VALUE_FOR_FIELD" : {
+ "message" : [ "Can't translate non-null value for field %s" ],
+ "sqlState" : "0A000"
+ },
"CONCURRENT_QUERY_ERROR" : {
"message" : [ "Another instance of this query was just started by a concurrent session." ]
},
+ "DATA_TYPE_UNSUPPORTED_YET" : {
Review comment:
As discussed in the [error message guidelines](https://spark.apache.org/error-message-guidelines.html), we should "Avoid time-based statements, such as promises of future support." Let's remove `yet` from the wording here.
##########
File path: core/src/main/resources/error/error-classes.json
##########
@@ -54,13 +90,25 @@
"message" : [ "The fraction of sec must be zero. Valid range is [0, 60]." ],
"sqlState" : "22023"
},
+ "INVALID_JDBC_NUMPARTITIONS" : {
Review comment:
Nit: `NUMPARTITIONS` -> `NUM_PARTITIONS`
##########
File path: core/src/main/resources/error/error-classes.json
##########
@@ -14,13 +34,25 @@
"message" : [ "Found duplicate keys '%s'" ],
"sqlState" : "23000"
},
+ "EMPTY_OPTION" : {
+ "message" : [ "Option `%s` can not be empty." ],
+ "sqlState" : "08006"
+ },
"FAILED_RENAME_PATH" : {
"message" : [ "Failed to rename %s to %s as destination already exists" ],
"sqlState" : "22023"
},
"FAILED_SET_ORIGINAL_PERMISSION_BACK" : {
"message" : [ "Failed to set original permission %s back to the created path: %s. Exception: %s" ]
},
+ "FAILED_TO_MERGE_IN_COMPATIBLE_SCHEMAS" : {
+ "message" : [ "Failed to merge incompatible schemas %s and %s" ],
+ "sqlState" : "42000"
+ },
+ "FOUND_DUPLICATE_FIELD_IN_CASE_INSENSITIVE_MODE" : {
+ "message" : [ "%s" ],
Review comment:
We should put the base message in here and provide only the parameters. In this case, we could make the message something like `Found duplicate field(s) %s: %s in case-insensitive mode` and pass in `requiredFieldName` and `matchedOrcFields`.
##########
File path: core/src/main/resources/error/error-classes.json
##########
@@ -14,13 +34,25 @@
"message" : [ "Found duplicate keys '%s'" ],
"sqlState" : "23000"
},
+ "EMPTY_OPTION" : {
+ "message" : [ "Option `%s` can not be empty." ],
+ "sqlState" : "08006"
+ },
"FAILED_RENAME_PATH" : {
"message" : [ "Failed to rename %s to %s as destination already exists" ],
"sqlState" : "22023"
},
"FAILED_SET_ORIGINAL_PERMISSION_BACK" : {
"message" : [ "Failed to set original permission %s back to the created path: %s. Exception: %s" ]
},
+ "FAILED_TO_MERGE_IN_COMPATIBLE_SCHEMAS" : {
Review comment:
Nit: `IN_COMPATIBLE` -> `INCOMPATIBLE`
##########
File path: core/src/main/resources/error/error-classes.json
##########
@@ -96,10 +151,22 @@
"message" : [ "Unrecognized SQL type %s" ],
"sqlState" : "42000"
},
+ "UNSUPPORTED_ARRAY_ELEMENT_TYPE_BASED_ON_BINARY" : {
+ "message" : [ "Unsupported array element type %s based on binary" ],
+ "sqlState" : "0A000"
+ },
+ "UNSUPPORTED_JDBC_TYPE" : {
+ "message" : [ "Unsupported type %s" ],
+ "sqlState" : "0A000"
+ },
"UNSUPPORTED_LITERAL_TYPE" : {
"message" : [ "Unsupported literal type %s %s" ],
"sqlState" : "0A000"
},
+ "UNSUPPORTED_OPERATION_FOR_DATA_TYPE" : {
+ "message" : [ "DataType: %s" ],
+ "sqlState" : "42000"
Review comment:
Would 0A000 be a better fit here?
##########
File path: core/src/main/resources/error/error-classes.json
##########
@@ -54,13 +90,25 @@
"message" : [ "The fraction of sec must be zero. Valid range is [0, 60]." ],
"sqlState" : "22023"
},
+ "INVALID_JDBC_NUMPARTITIONS" : {
+ "message" : [ "Invalid value `%s` for parameter `%s` in table writing via JDBC. The minimum value is 1." ],
+ "sqlState" : "42000"
+ },
+ "INVALID_JDBC_TXN_ISOLATION_LEVEL" : {
Review comment:
As the error-class is user-facing, we should avoid using abbreviations. How about `TRANSACTION` instead of `TXN`?
--
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-unsubscribe@spark.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org
[GitHub] [spark] karenfeng commented on a change in pull request #33864: [SPARK-36296][SQL] Refactor seventh set of 20 in QueryExecutionErrors to use error classes
Posted by GitBox <gi...@apache.org>.
karenfeng commented on a change in pull request #33864:
URL: https://github.com/apache/spark/pull/33864#discussion_r717860685
##########
File path: core/src/main/resources/error/error-classes.json
##########
@@ -110,6 +159,10 @@
"message" : [ "Unknown static partition column: %s" ],
"sqlState" : "42000"
},
+ "NESTED_ARRAYS_UNSUPPORTED" : {
Review comment:
Let's also make this `UNSUPPORTED_NESTED_ARRAYS`
##########
File path: core/src/main/resources/error/error-classes.json
##########
@@ -17,20 +17,41 @@
"CANNOT_GENERATE_CODE_FOR_EXPRESSION" : {
"message" : [ "Cannot generate code for expression: %s" ]
},
+ "CANNOT_GET_JDBC_TYPE" : {
+ "message" : [ "Can't get JDBC type for %s" ]
+ },
+ "CANNOT_OPERATE_ON_CANONICALIZATION_PLAN" : {
+ "message" : [ "Operating on canonicalization plan" ]
+ },
"CANNOT_PARSE_DECIMAL" : {
"message" : [ "Cannot parse decimal" ],
"sqlState" : "42000"
},
+ "CANNOT_READ_FOOTER_FOR_FILE" : {
+ "message" : [ "Could not read footer for file: %s" ],
+ "sqlState" : "42000"
+ },
"CANNOT_TERMINATE_GENERATOR" : {
"message" : [ "Cannot terminate expression: %s" ]
},
+ "CANNOT_TRANSLATE_NON_NULL_VALUE_FOR_FIELD" : {
+ "message" : [ "Can't translate non-null value for field %s" ]
+ },
"CAST_CAUSES_OVERFLOW" : {
"message" : [ "Casting %s to %s causes overflow" ],
"sqlState" : "22005"
},
"CONCURRENT_QUERY" : {
"message" : [ "Another instance of this query was just started by a concurrent session." ]
},
+ "DATA_TYPE_UNSUPPORTED" : {
Review comment:
Can you re-use the extant error class `UNSUPPORTED_DATATYPE` here instead?
##########
File path: core/src/main/resources/error/error-classes.json
##########
@@ -17,20 +17,41 @@
"CANNOT_GENERATE_CODE_FOR_EXPRESSION" : {
"message" : [ "Cannot generate code for expression: %s" ]
},
+ "CANNOT_GET_JDBC_TYPE" : {
+ "message" : [ "Can't get JDBC type for %s" ]
+ },
+ "CANNOT_OPERATE_ON_CANONICALIZATION_PLAN" : {
+ "message" : [ "Operating on canonicalization plan" ]
+ },
"CANNOT_PARSE_DECIMAL" : {
"message" : [ "Cannot parse decimal" ],
"sqlState" : "42000"
},
+ "CANNOT_READ_FOOTER_FOR_FILE" : {
+ "message" : [ "Could not read footer for file: %s" ],
+ "sqlState" : "42000"
+ },
"CANNOT_TERMINATE_GENERATOR" : {
"message" : [ "Cannot terminate expression: %s" ]
},
+ "CANNOT_TRANSLATE_NON_NULL_VALUE_FOR_FIELD" : {
+ "message" : [ "Can't translate non-null value for field %s" ]
+ },
"CAST_CAUSES_OVERFLOW" : {
"message" : [ "Casting %s to %s causes overflow" ],
"sqlState" : "22005"
},
"CONCURRENT_QUERY" : {
"message" : [ "Another instance of this query was just started by a concurrent session." ]
},
+ "DATA_TYPE_UNSUPPORTED" : {
+ "message" : [ "Data type '%s' is not supported." ],
+ "sqlState" : "0A000"
+ },
+ "DDL_UNSUPPORTED" : {
Review comment:
To match the existing unsupported operation error class, can you rename this to `UNSUPPORTED_DDL`?
##########
File path: core/src/main/resources/error/error-classes.json
##########
@@ -39,6 +60,10 @@
"message" : [ "Found duplicate keys '%s'" ],
"sqlState" : "23000"
},
+ "EMPTY_OPTION" : {
+ "message" : [ "Option `%s` can not be empty." ],
+ "sqlState" : "08006"
Review comment:
Can we use 42000 here instead?
##########
File path: core/src/main/resources/error/error-classes.json
##########
@@ -102,6 +147,10 @@
"message" : [ "cannot resolve '%s' given input columns: [%s]" ],
"sqlState" : "42000"
},
+ "MISSING_JDBC_TABLE_NAME_AND_QUERY" : {
+ "message" : [ "Option '%s' or '%s' is required." ],
+ "sqlState" : "22023"
Review comment:
Let's use 42000 here 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-unsubscribe@spark.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org
[GitHub] [spark] dgd-contributor commented on a change in pull request #33864: [SPARK-36296][SQL] Refactor seventh set of 20 in QueryExecutionErrors to use error classes
Posted by GitBox <gi...@apache.org>.
dgd-contributor commented on a change in pull request #33864:
URL: https://github.com/apache/spark/pull/33864#discussion_r703973612
##########
File path: core/src/main/resources/error/error-classes.json
##########
@@ -3,9 +3,29 @@
"message" : [ "Field name %s is ambiguous and has %s matching fields in the struct." ],
"sqlState" : "42000"
},
+ "CANNOT_GET_JDBC_TYPE" : {
+ "message" : [ "Can't get JDBC type for %s" ],
+ "sqlState" : "42000"
+ },
+ "CANNOT_READ_FOOTER_FOR_FILE" : {
+ "message" : [ "Could not read footer for file: %s" ],
+ "sqlState" : "42000"
+ },
+ "CANNOT_TRANSLATE_NON_NULL_VALUE_FOR_FIELD" : {
+ "message" : [ "Can't translate non-null value for field %s" ],
+ "sqlState" : "0A000"
+ },
"CONCURRENT_QUERY_ERROR" : {
"message" : [ "Another instance of this query was just started by a concurrent session." ]
},
+ "DATA_TYPE_UNSUPPORTED_YET" : {
+ "message" : [ "%s is not supported yet." ],
+ "sqlState" : "0A000"
+ },
+ "DDL_UNSUPPORTED_TEMPORARILY" : {
Review comment:
Thanks for your reviewing. Should I remove "temporarily" in the function's name, as well as in its message? And should I rename that function to "UNSUPPORTED_DDL"? @karenfeng
--
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-unsubscribe@spark.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org