MaxGekk commented on code in PR #38344: URL: https://github.com/apache/spark/pull/38344#discussion_r1014644624
########## sql/catalyst/src/main/scala/org/apache/spark/sql/errors/QueryCompilationErrors.scala: ########## @@ -3212,4 +3212,179 @@ private[sql] object QueryCompilationErrors extends QueryErrorsBase { messageParameters = Map("expression" -> toSQLExpr(expression)) ) } + + def cannotConvertProtobufTypeToSqlTypeError( + protobufColumn: String, + sqlColumn: Seq[String], + protobufType: String, + sqlType: DataType): Throwable = { + new AnalysisException( + errorClass = "CANNOT_CONVERT_PROTOBUF_FIELD_TYPE_TO_SQL_TYPE", + messageParameters = Map( + "protobufColumn" -> protobufColumn, + "sqlColumn" -> toSQLId(sqlColumn), + "protobufType" -> protobufType, + "sqlType" -> toSQLType(sqlType))) + } + + def cannotConvertCatalystTypeToProtobufTypeError( + sqlColumn: Seq[String], + protobufColumn: String, + sqlType: DataType, + protobufType: String): Throwable = { + new AnalysisException( + errorClass = "CANNOT_CONVERT_SQL_TYPE_TO_PROTOBUF_FIELD_TYPE", + messageParameters = Map( + "sqlColumn" -> toSQLId(sqlColumn), + "protobufColumn" -> protobufColumn, + "sqlType" -> toSQLType(sqlType), + "protobufType" -> protobufType)) + } + + def cannotConvertCatalystTypeToProtobufEnumTypeError( + sqlColumn: Seq[String], + protobufColumn: String, + data: String, + enumString: String): Throwable = { + new AnalysisException( + errorClass = "CANNOT_CONVERT_SQL_TYPE_TO_PROTOBUF_ENUM_TYPE", + messageParameters = Map( + "sqlColumn" -> toSQLId(sqlColumn), + "protobufColumn" -> protobufColumn, + "data" -> data, + "enumString" -> enumString)) + } + + def cannotConvertProtobufTypeToCatalystTypeError( + protobufType: String, + sqlType: DataType, + cause: Throwable): Throwable = { + new AnalysisException( + errorClass = "CANNOT_CONVERT_PROTOBUF_MESSAGE_TYPE_TO_SQL_TYPE", + messageParameters = Map( + "protobufType" -> protobufType, + "toType" -> toSQLType(sqlType)), + cause = Option(cause.getCause)) + } + + def cannotConvertSqlTypeToProtobufError( + protobufType: String, + sqlType: DataType, + cause: Throwable): Throwable = { + new AnalysisException( + errorClass = "UNABLE_TO_CONVERT_TO_PROTOBUF_MESSAGE_TYPE", + messageParameters = Map( + "protobufType" -> protobufType, + "toType" -> toSQLType(sqlType)), + cause = Option(cause.getCause)) + } + + def protobufTypeUnsupportedYetError(protobufType: String): Throwable = { + new AnalysisException( + errorClass = "PROTOBUF_TYPE_NOT_SUPPORT", + messageParameters = Map("protobufType" -> protobufType)) + } + + def unknownProtobufMessageTypeError( + descriptorName: String, + containingType: String): Throwable = { + new AnalysisException( + errorClass = "UNKNOWN_PROTOBUF_MESSAGE_TYPE", + messageParameters = Map( + "descriptorName" -> descriptorName, + "containingType" -> containingType)) + } + + def cannotFindCatalystTypeInProtobufSchemaError(catalystFieldPath: String): Throwable = { + new AnalysisException( + errorClass = "NO_SQL_TYPE_IN_PROTOBUF_SCHEMA", + messageParameters = Map("catalystFieldPath" -> catalystFieldPath)) + } + + def cannotFindProtobufFieldInCatalystError(field: String): Throwable = { + new AnalysisException( + errorClass = "PROTOBUF_FIELD_MISSING_IN_SQL_SCHEMA", + messageParameters = Map("field" -> field)) + } + + def protobufFieldMatchError(field: String, + protobufSchema: String, + matchSize: String, + matches: String): Throwable = { + new AnalysisException( + errorClass = "PROTOBUF_FIELD_MISSING", + messageParameters = Map( + "field" -> field, + "protobufSchema" -> protobufSchema, + "matchSize" -> matchSize, + "matches" -> matches)) + } + + def unableToLocateProtobufMessageError(messageName: String): Throwable = { + new AnalysisException( + errorClass = "PROTOBUF_MESSAGE_NOT_FOUND", + messageParameters = Map("messageName" -> messageName)) + } + + def descrioptorParseError(descFilePath: String, cause: Throwable): Throwable = { + new AnalysisException( + errorClass = "CANNOT_PARSE_PROTOBUF_DESCRIPTOR", + messageParameters = Map.empty("descFilePath" -> descFilePath), + cause = Option(cause.getCause)) + } + + def cannotFindDescriptorFileError(filePath: String, cause: Throwable): Throwable = { + new AnalysisException( + errorClass = "PROTOBUF_DESCRIPTOR_FILE_NOT_FOUND", + messageParameters = Map("filePath" -> filePath), + cause = Option(cause.getCause)) + } + + def failedParsingDescriptorError(descFilePath: String, cause: Throwable): Throwable = { + new AnalysisException( + errorClass = "CANNOT_CONSTRUCT_PROTOBUF_DESCRIPTOR", + messageParameters = Map.empty("descFilePath" -> descFilePath), Review Comment: @SandishKumarHN Please, fix this. Map.empty -> Map ########## sql/catalyst/src/main/scala/org/apache/spark/sql/errors/QueryCompilationErrors.scala: ########## @@ -3212,4 +3212,179 @@ private[sql] object QueryCompilationErrors extends QueryErrorsBase { messageParameters = Map("expression" -> toSQLExpr(expression)) ) } + + def cannotConvertProtobufTypeToSqlTypeError( + protobufColumn: String, + sqlColumn: Seq[String], + protobufType: String, + sqlType: DataType): Throwable = { + new AnalysisException( + errorClass = "CANNOT_CONVERT_PROTOBUF_FIELD_TYPE_TO_SQL_TYPE", + messageParameters = Map( + "protobufColumn" -> protobufColumn, + "sqlColumn" -> toSQLId(sqlColumn), + "protobufType" -> protobufType, + "sqlType" -> toSQLType(sqlType))) + } + + def cannotConvertCatalystTypeToProtobufTypeError( + sqlColumn: Seq[String], + protobufColumn: String, + sqlType: DataType, + protobufType: String): Throwable = { + new AnalysisException( + errorClass = "CANNOT_CONVERT_SQL_TYPE_TO_PROTOBUF_FIELD_TYPE", + messageParameters = Map( + "sqlColumn" -> toSQLId(sqlColumn), + "protobufColumn" -> protobufColumn, + "sqlType" -> toSQLType(sqlType), + "protobufType" -> protobufType)) + } + + def cannotConvertCatalystTypeToProtobufEnumTypeError( + sqlColumn: Seq[String], + protobufColumn: String, + data: String, + enumString: String): Throwable = { + new AnalysisException( + errorClass = "CANNOT_CONVERT_SQL_TYPE_TO_PROTOBUF_ENUM_TYPE", + messageParameters = Map( + "sqlColumn" -> toSQLId(sqlColumn), + "protobufColumn" -> protobufColumn, + "data" -> data, + "enumString" -> enumString)) + } + + def cannotConvertProtobufTypeToCatalystTypeError( + protobufType: String, + sqlType: DataType, + cause: Throwable): Throwable = { + new AnalysisException( + errorClass = "CANNOT_CONVERT_PROTOBUF_MESSAGE_TYPE_TO_SQL_TYPE", + messageParameters = Map( + "protobufType" -> protobufType, + "toType" -> toSQLType(sqlType)), + cause = Option(cause.getCause)) + } + + def cannotConvertSqlTypeToProtobufError( + protobufType: String, + sqlType: DataType, + cause: Throwable): Throwable = { + new AnalysisException( + errorClass = "UNABLE_TO_CONVERT_TO_PROTOBUF_MESSAGE_TYPE", + messageParameters = Map( + "protobufType" -> protobufType, + "toType" -> toSQLType(sqlType)), + cause = Option(cause.getCause)) + } + + def protobufTypeUnsupportedYetError(protobufType: String): Throwable = { + new AnalysisException( + errorClass = "PROTOBUF_TYPE_NOT_SUPPORT", + messageParameters = Map("protobufType" -> protobufType)) + } + + def unknownProtobufMessageTypeError( + descriptorName: String, + containingType: String): Throwable = { + new AnalysisException( + errorClass = "UNKNOWN_PROTOBUF_MESSAGE_TYPE", + messageParameters = Map( + "descriptorName" -> descriptorName, + "containingType" -> containingType)) + } + + def cannotFindCatalystTypeInProtobufSchemaError(catalystFieldPath: String): Throwable = { + new AnalysisException( + errorClass = "NO_SQL_TYPE_IN_PROTOBUF_SCHEMA", + messageParameters = Map("catalystFieldPath" -> catalystFieldPath)) + } + + def cannotFindProtobufFieldInCatalystError(field: String): Throwable = { + new AnalysisException( + errorClass = "PROTOBUF_FIELD_MISSING_IN_SQL_SCHEMA", + messageParameters = Map("field" -> field)) + } + + def protobufFieldMatchError(field: String, + protobufSchema: String, + matchSize: String, + matches: String): Throwable = { + new AnalysisException( + errorClass = "PROTOBUF_FIELD_MISSING", + messageParameters = Map( + "field" -> field, + "protobufSchema" -> protobufSchema, + "matchSize" -> matchSize, + "matches" -> matches)) + } + + def unableToLocateProtobufMessageError(messageName: String): Throwable = { + new AnalysisException( + errorClass = "PROTOBUF_MESSAGE_NOT_FOUND", + messageParameters = Map("messageName" -> messageName)) + } + + def descrioptorParseError(descFilePath: String, cause: Throwable): Throwable = { + new AnalysisException( + errorClass = "CANNOT_PARSE_PROTOBUF_DESCRIPTOR", + messageParameters = Map.empty("descFilePath" -> descFilePath), Review Comment: Accidentally found this. Is `messageParameters` set to an empty map, if so, this will fail in runtime w/ an internal error. Could you write a test which trigger the error and fix the bug. -- 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