liunaijie commented on code in PR #7738:
URL: https://github.com/apache/gravitino/pull/7738#discussion_r2227153036
##########
catalogs/catalog-jdbc-starrocks/src/main/java/org/apache/gravitino/catalog/starrocks/converter/StarRocksExceptionConverter.java:
##########
@@ -18,17 +18,135 @@
*/
package org.apache.gravitino.catalog.starrocks.converter;
+import com.google.common.annotations.VisibleForTesting;
import java.sql.SQLException;
+import java.util.regex.Pattern;
import org.apache.gravitino.catalog.jdbc.converter.JdbcExceptionConverter;
+import org.apache.gravitino.exceptions.ConnectionFailedException;
import org.apache.gravitino.exceptions.GravitinoRuntimeException;
+import org.apache.gravitino.exceptions.NoSuchColumnException;
+import org.apache.gravitino.exceptions.NoSuchPartitionException;
+import org.apache.gravitino.exceptions.NoSuchSchemaException;
+import org.apache.gravitino.exceptions.NoSuchTableException;
+import org.apache.gravitino.exceptions.PartitionAlreadyExistsException;
+import org.apache.gravitino.exceptions.SchemaAlreadyExistsException;
+import org.apache.gravitino.exceptions.TableAlreadyExistsException;
+import org.apache.gravitino.exceptions.UnauthorizedException;
/** Exception converter to Apache Gravitino exception for StarRocks. */
public class StarRocksExceptionConverter extends JdbcExceptionConverter {
+ // see https://docs.starrocks.io/docs/3.3/sql-reference/Error_code/
+ @VisibleForTesting static final int CODE_DATABASE_EXISTS = 1007;
+ static final int CODE_TABLE_EXISTS = 1050;
+ static final int CODE_DATABASE_NOT_EXISTS = 1008;
+ static final int CODE_UNKNOWN_DATABASE = 1049;
+ static final int CODE_UNKNOWN_DATABASE_2 = 5501;
+ static final int CODE_NO_SUCH_TABLE = 1051;
+ static final int CODE_NO_SUCH_TABLE_2 = 5502;
+ static final int CODE_UNAUTHORIZED = 1045;
+ static final int CODE_NO_SUCH_COLUMN = 1054;
+ static final int CODE_OTHER = 1105;
+ static final int CODE_DELETE_NON_EXISTING_PARTITION = 1507;
+ static final int CODE_PARTITION_ALREADY_EXISTS = 1517;
+
+ private static final String DATABASE_ALREADY_EXISTS_PATTERN_STRING =
+ ".*?detailMessage = Can't create database '.*?'; database exists";
+ private static final Pattern DATABASE_ALREADY_EXISTS_PATTERN =
+ Pattern.compile(DATABASE_ALREADY_EXISTS_PATTERN_STRING);
+
+ private static final String DATABASE_NOT_EXISTS_PATTERN_STRING =
+ ".*?detailMessage = Can't drop database '.*?'; database doesn't exist";
+ private static final Pattern DATABASE_NOT_EXISTS_PATTERN =
+ Pattern.compile(DATABASE_NOT_EXISTS_PATTERN_STRING);
+
+ private static final String UNKNOWN_DATABASE_PATTERN_STRING =
Review Comment:
Sorry, I didn't quite get that - could you rephrase?
--
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]