-
Notifications
You must be signed in to change notification settings - Fork 154
/
ErrorCode.java
138 lines (122 loc) · 4.7 KB
/
ErrorCode.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
/*
* Copyright (c) 2012-2018 Snowflake Computing Inc. All rights reserved.
*/
package net.snowflake.client.jdbc;
import net.snowflake.common.core.SqlState;
import java.util.HashMap;
import java.util.Map;
/**
* Internal JDBC driver error codes
*
* @author jhuang
*/
public enum ErrorCode
{
/**
* Error codes partitioning:
*
* 0NNNNN: GS SQL error codes
* 1NNNNN: XP error codes
* 2NNNNN: JDBC driver error codes
* 3NNNNN: GS generic error codes
* 4NNNNN: Node.js driver error codes
*
* N can be any digits from 0 to 9.
*/
INTERNAL_ERROR(200001, SqlState.INTERNAL_ERROR),
CONNECTION_ERROR(200002, SqlState.SQLCLIENT_UNABLE_TO_ESTABLISH_SQLCONNECTION),
INTERRUPTED(200003, SqlState.QUERY_CANCELED),
COMPRESSION_TYPE_NOT_SUPPORTED(200004, SqlState.FEATURE_NOT_SUPPORTED),
QUERY_CANCELED(200005, SqlState.QUERY_CANCELED),
COMPRESSION_TYPE_NOT_KNOWN(200006, SqlState.FEATURE_NOT_SUPPORTED),
FAIL_LIST_FILES(200007, SqlState.DATA_EXCEPTION),
FILE_NOT_FOUND(200008, SqlState.DATA_EXCEPTION),
FILE_IS_DIRECTORY(200009, SqlState.DATA_EXCEPTION),
DUPLICATE_CONNECTION_PROPERTY_SPECIFIED(200010,
SqlState.DATA_EXCEPTION),
MISSING_USERNAME(200011, SqlState.INVALID_AUTHORIZATION_SPECIFICATION),
MISSING_PASSWORD(200012, SqlState.INVALID_AUTHORIZATION_SPECIFICATION),
S3_OPERATION_ERROR(200013, SqlState.SYSTEM_ERROR),
MAX_RESULT_LIMIT_EXCEEDED(200014, SqlState.PROGRAM_LIMIT_EXCEEDED),
NETWORK_ERROR(200015, SqlState.IO_ERROR),
IO_ERROR(200016, SqlState.IO_ERROR),
PATH_NOT_DIRECTORY(200017, SqlState.DATA_EXCEPTION),
DATA_TYPE_NOT_SUPPORTED(200018, SqlState.FEATURE_NOT_SUPPORTED),
CLIENT_SIDE_SORTING_NOT_SUPPORTED(200019, SqlState.FEATURE_NOT_SUPPORTED),
AWS_CLIENT_ERROR(200020, SqlState.SYSTEM_ERROR),
INVALID_SQL(200021, SqlState.SQL_STATEMENT_NOT_YET_COMPLETE),
BAD_RESPONSE(200022, SqlState.INTERNAL_ERROR),
ARRAY_BIND_MIXED_TYPES_NOT_SUPPORTED(200023, SqlState.FEATURE_NOT_SUPPORTED),
STATEMENT_CLOSED(200024, SqlState.FEATURE_NOT_SUPPORTED),
STATEMENT_ALREADY_RUNNING_QUERY(200025, SqlState.FEATURE_NOT_SUPPORTED),
MISSING_SERVER_URL(200026, SqlState.INVALID_AUTHORIZATION_SPECIFICATION),
TOO_MANY_SESSION_PARAMETERS(200027, SqlState.FEATURE_NOT_SUPPORTED),
MISSING_CONNECTION_PROPERTY(200028,
SqlState.INVALID_AUTHORIZATION_SPECIFICATION),
INVALID_CONNECTION_URL(200029, SqlState.INVALID_AUTHORIZATION_SPECIFICATION),
DUPLICATE_STATEMENT_PARAMETER_SPECIFIED(200030, SqlState.DATA_EXCEPTION),
TOO_MANY_STATEMENT_PARAMETERS(200031, SqlState.FEATURE_NOT_SUPPORTED),
COLUMN_DOES_NOT_EXIST(200032, SqlState.DATA_EXCEPTION),
INVALID_PARAMETER_TYPE(200033, SqlState.INVALID_PARAMETER_VALUE),
ROW_DOES_NOT_EXIST(200034, SqlState.DATA_EXCEPTION),
FEATURE_UNSUPPORTED(200035, SqlState.FEATURE_NOT_SUPPORTED),
INVALID_STATE(200036, SqlState.FEATURE_NOT_SUPPORTED),
RESULTSET_ALREADY_CLOSED(200037, SqlState.FEATURE_NOT_SUPPORTED),
INVALID_VALUE_CONVERT(200038, SqlState.FEATURE_NOT_SUPPORTED),
IDP_CONNECTION_ERROR(200039,
SqlState.SQLCLIENT_UNABLE_TO_ESTABLISH_SQLCONNECTION),
IDP_INCORRECT_DESTINATION(200040,
SqlState.SQLCLIENT_UNABLE_TO_ESTABLISH_SQLCONNECTION),
CONNECTION_ESTABLISHED_WITH_DIFFERENT_PROP(200041, SqlState.WARNING),
UNSUPPORTED_STATEMENT_TYPE_IN_EXECUTION_API(200042,
SqlState.FEATURE_NOT_SUPPORTED),
STATEMENT_PREPARE_FAILURE(200043, SqlState.FEATURE_NOT_SUPPORTED),
AZURE_SERVICE_ERROR(200044, SqlState.SYSTEM_ERROR),
INVALID_OR_UNSUPPORTED_PRIVATE_KEY(200045, SqlState.SYNTAX_ERROR),
FAILED_TO_GENERATE_JWT(200046, SqlState.SYNTAX_ERROR)
;
public final static String errorMessageResource =
"net.snowflake.client.jdbc.jdbc_error_messages";
/**
* Snowflake internal message associated to the error.
*/
final private Integer messageCode;
final private String sqlState;
/**
* Construct a new error code specification given Snowflake internal error
* code and SQL state error code.
* <p/>
* @param messageCode
*/
private ErrorCode(Integer messageCode, String sqlState)
{
this.messageCode = messageCode;
this.sqlState = sqlState;
}
public Integer getMessageCode()
{
return messageCode;
}
public String getSqlState()
{
return sqlState;
}
@Override
public String toString()
{
return "ErrorCode{" + "messageCode=" + messageCode + ", sqlState=" +
sqlState + '}';
}
private static Map<Integer, ErrorCode> errorCodeMap = new HashMap<Integer, ErrorCode>();
static
{
for (ErrorCode errorCode : ErrorCode.values())
{
errorCodeMap.put(errorCode.getMessageCode(), errorCode);
}
}
public static ErrorCode getByErrorCode(String errorCode)
{
return errorCodeMap.get(errorCode);
}
}