Skip to content

Commit

Permalink
Added No Table Exist Exception in PostgreSQLDialectExceptionMapper (a…
Browse files Browse the repository at this point in the history
…pache#33885)

* Added No Table Exist Exception in PostgressSQLDialectExceptionMapper

* Made Spotless correction inside PostgreSQLVendorError

* Changed occurence of No Such Table Exception in  PostgreSQLDialectExceptionMapper

* Corrected the Table Not Exist Error Code for Postgress
  • Loading branch information
Yash-cor authored Dec 3, 2024
1 parent f217013 commit 47552e8
Show file tree
Hide file tree
Showing 3 changed files with 7 additions and 10 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@
import org.apache.shardingsphere.infra.exception.dialect.exception.data.InvalidParameterValueException;
import org.apache.shardingsphere.infra.exception.dialect.exception.syntax.database.DatabaseCreateExistsException;
import org.apache.shardingsphere.infra.exception.dialect.exception.syntax.database.UnknownDatabaseException;
import org.apache.shardingsphere.infra.exception.dialect.exception.syntax.table.NoSuchTableException;
import org.apache.shardingsphere.infra.exception.dialect.exception.syntax.table.TableExistsException;
import org.apache.shardingsphere.infra.exception.dialect.exception.transaction.InTransactionException;
import org.apache.shardingsphere.infra.exception.dialect.mapper.SQLDialectExceptionMapper;
Expand Down Expand Up @@ -56,6 +57,10 @@ public SQLException convert(final SQLDialectException sqlDialectException) {
if (sqlDialectException instanceof DatabaseCreateExistsException) {
return new PostgreSQLException(new ServerErrorMessage(FATAL_SEVERITY, PostgreSQLVendorError.DUPLICATE_DATABASE, ((DatabaseCreateExistsException) sqlDialectException).getDatabaseName()));
}
if (sqlDialectException instanceof NoSuchTableException) {
NoSuchTableException cause = (NoSuchTableException) sqlDialectException;
return new PostgreSQLException(new ServerErrorMessage(FATAL_SEVERITY, PostgreSQLVendorError.NO_SUCH_TABLE, cause.getTableName()));
}
if (sqlDialectException instanceof TableExistsException) {
return new PostgreSQLException(new ServerErrorMessage(ERROR_SEVERITY, PostgreSQLVendorError.DUPLICATE_TABLE, ((TableExistsException) sqlDialectException).getTableName()));
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,20 +29,13 @@
public enum PostgreSQLState implements SQLState {

PROTOCOL_VIOLATION("08P01"),

SYNTAX_ERROR("42601"),

DUPLICATE_DATABASE("42P04"),

DUPLICATE_TABLE("42P07"),

INVALID_PASSWORD("28P01"),

UNDEFINED_COLUMN("42703"),

UNDEFINED_TABLE("42P01"),
SYSTEM_ERROR("58000"),

UNEXPECTED_ERROR("99999");

private final String value;
}
Original file line number Diff line number Diff line change
Expand Up @@ -48,9 +48,8 @@ public enum PostgreSQLVendorError implements VendorError {
INVALID_AUTHORIZATION_SPECIFICATION(XOpenSQLState.INVALID_AUTHORIZATION_SPECIFICATION, "unknown username: %s"),

NO_USERNAME(XOpenSQLState.INVALID_AUTHORIZATION_SPECIFICATION, "no PostgreSQL user name specified in startup packet"),

NO_SUCH_TABLE(PostgreSQLState.UNDEFINED_TABLE, "Table '%s' doesn't exist"),
INVALID_PASSWORD(PostgreSQLState.INVALID_PASSWORD, "password authentication failed for user \"%s\""),

INVALID_CATALOG_NAME(XOpenSQLState.INVALID_CATALOG_NAME, "database \"%s\" does not exist"),

UNDEFINED_COLUMN(PostgreSQLState.UNDEFINED_COLUMN, "Column \"%s\" of table \"%s\" does not exist"),
Expand Down

0 comments on commit 47552e8

Please sign in to comment.