Skip to content

Commit 5c958cb

Browse files
committed
Add errorCodeType, errorCode & supportedDocURL in exception
1 parent 2751b6d commit 5c958cb

File tree

5 files changed

+10
-4
lines changed

5 files changed

+10
-4
lines changed

cloudsql-mysql-plugin/src/main/java/io/cdap/plugin/cloudsql/mysql/CloudSQLMySQLErrorDetailsProvider.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818

1919

2020
import io.cdap.plugin.mysql.MysqlErrorDetailsProvider;
21+
import io.cdap.plugin.util.DBUtils;
2122

2223
/**
2324
* A custom ErrorDetailsProvider for CloudSQL MySQL plugins.
@@ -26,6 +27,6 @@ public class CloudSQLMySQLErrorDetailsProvider extends MysqlErrorDetailsProvider
2627

2728
@Override
2829
protected String getExternalDocumentationLink() {
29-
return "https://cloud.google.com/sql/docs/mysql/error-messages";
30+
return DBUtils.CLOUDSQLMYSQL_SUPPORTED_DOC_URL;
3031
}
3132
}

database-commons/src/main/java/io/cdap/plugin/db/DBErrorDetailsProvider.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,11 +19,13 @@
1919
import com.google.common.base.Strings;
2020
import com.google.common.base.Throwables;
2121
import io.cdap.cdap.api.exception.ErrorCategory;
22+
import io.cdap.cdap.api.exception.ErrorCodeType;
2223
import io.cdap.cdap.api.exception.ErrorType;
2324
import io.cdap.cdap.api.exception.ErrorUtils;
2425
import io.cdap.cdap.api.exception.ProgramFailureException;
2526
import io.cdap.cdap.etl.api.exception.ErrorContext;
2627
import io.cdap.cdap.etl.api.exception.ErrorDetailsProvider;
28+
import io.cdap.plugin.util.DBUtils;
2729

2830
import java.sql.SQLException;
2931
import java.util.List;
@@ -76,7 +78,8 @@ private ProgramFailureException getProgramFailureException(SQLException e, Error
7678
externalDocumentationLink);
7779
}
7880
return ErrorUtils.getProgramFailureException(new ErrorCategory(ErrorCategory.ErrorCategoryEnum.PLUGIN),
79-
errorMessage, errorMessageWithDetails, getErrorTypeFromErrorCode(errorCode), false, e);
81+
errorMessage, errorMessageWithDetails, getErrorTypeFromErrorCode(errorCode), false, ErrorCodeType.SQLSTATE,
82+
sqlState, externalDocumentationLink, e);
8083
}
8184

8285
/**

database-commons/src/main/java/io/cdap/plugin/db/DBRecord.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@
1717
package io.cdap.plugin.db;
1818

1919
import com.google.common.base.Preconditions;
20-
import com.google.common.base.Strings;
2120
import io.cdap.cdap.api.common.Bytes;
2221
import io.cdap.cdap.api.data.format.StructuredRecord;
2322
import io.cdap.cdap.api.data.schema.Schema;

database-commons/src/main/java/io/cdap/plugin/util/DBUtils.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,8 @@ public final class DBUtils {
6060
private static final Logger LOG = LoggerFactory.getLogger(DBUtils.class);
6161

6262
public static final Calendar PURE_GREGORIAN_CALENDAR = createPureGregorianCalender();
63+
public static final String MYSQL_SUPPORTED_DOC_URL = "https://dev.mysql.com/doc/mysql-errors/9.0/en/";
64+
public static final String CLOUDSQLMYSQL_SUPPORTED_DOC_URL = "https://cloud.google.com/sql/docs/mysql/error-messages";
6365

6466
// Java by default uses October 15, 1582 as a Gregorian cut over date.
6567
// Any timestamp created with time less than this cut over date is treated as Julian date.

mysql-plugin/src/main/java/io/cdap/plugin/mysql/MysqlErrorDetailsProvider.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818

1919
import io.cdap.cdap.api.exception.ErrorType;
2020
import io.cdap.plugin.db.DBErrorDetailsProvider;
21+
import io.cdap.plugin.util.DBUtils;
2122

2223
/**
2324
* A custom ErrorDetailsProvider for MySQL plugins.
@@ -26,7 +27,7 @@ public class MysqlErrorDetailsProvider extends DBErrorDetailsProvider {
2627

2728
@Override
2829
protected String getExternalDocumentationLink() {
29-
return "https://dev.mysql.com/doc/mysql-errors/9.0/en/";
30+
return DBUtils.MYSQL_SUPPORTED_DOC_URL;
3031
}
3132

3233
@Override

0 commit comments

Comments
 (0)