SQLSTATEコード
Spark SQLによって返されるほとんどのエラークラスは、5文字のSQLSTATE
に関連付けられています。SQLSTATE
は、JDBC
、ODBC
、その他のクライアントAPIで一般的に使用されるエラー条件のSQL標準エンコーディングです。
SQLSTATE
は、2文字のクラスと3文字のサブクラスの2つの部分で構成されています。各文字は、数字の'0'
から'9'
または'A'
から'Z'
である必要があります。
多くのSQLSTATE
の値はSQL標準によって規定されていますが、Spark固有の業界で一般的なものもあります。
エラークラスの順序付きリストについては、以下を参照してください:Spark SQLのエラー条件
Spark SQLは、次のSQLSTATE
クラスを使用します
クラス0A
: サポートされていない機能
SQLSTATE | 説明と発行されるエラークラス |
---|---|
0A000 | サポートされていない機能 |
INVALID_PANDAS_UDF_PLACEMENT, STAR_GROUP_BY_POS, UNSUPPORTED_ARROWTYPE, UNSUPPORTED_DATATYPE, UNSUPPORTED_DESERIALIZER, UNSUPPORTED_FEATURE, UNSUPPORTED_GENERATOR, UNSUPPORTED_SUBQUERY_EXPRESSION_CATEGORY, UNSUPPORTED_TYPED_LITERAL |
クラス21
: カーディナリティ違反
SQLSTATE | 説明と発行されるエラークラス |
---|---|
21000 | カーディナリティ違反 |
SCALAR_SUBQUERY_TOO_MANY_ROWS |
クラス22
: データ例外
SQLSTATE | 説明と発行されるエラークラス |
---|---|
22003 | 数値が範囲外 |
ARITHMETIC_OVERFLOW, CAST_OVERFLOW, CAST_OVERFLOW_IN_TABLE_INSERT, DECIMAL_PRECISION_EXCEEDS_MAX_PRECISION, INVALID_INDEX_OF_ZERO, INCORRECT_END_OFFSET, INCORRECT_RAMP_UP_RATE, INVALID_ARRAY_INDEX, INVALID_ARRAY_INDEX_IN_ELEMENT_AT, NUMERIC_OUT_OF_SUPPORTED_RANGE, NUMERIC_VALUE_OUT_OF_RANGE | |
22007 | 無効な日時形式 |
CANNOT_PARSE_TIMESTAMP | |
22008 | 日時フィールドのオーバーフロー |
DATETIME_OVERFLOW | |
2200E | 配列ターゲットのNULL値 |
NULL_MAP_KEY | |
22012 | ゼロ除算 |
DIVIDE_BY_ZERO, INTERVAL_DIVIDED_BY_ZERO | |
22015 | 間隔フィールドのオーバーフロー |
INTERVAL_ARITHMETIC_OVERFLOW | |
22018 | キャストの無効な文字値 |
CANNOT_PARSE_DECIMAL, CAST_INVALID_INPUT, CONVERSION_INVALID_INPUT | |
22023 | 無効なパラメータ値 |
INVALID_FRACTION_OF_SECOND, INVALID_PARAMETER_VALUE, SECOND_FUNCTION_ARGUMENT_NOT_INTEGER | |
22032 | 無効なJSONテキスト |
INVALID_JSON_ROOT_FIELD, INVALID_JSON_SCHEMA_MAP_TYPE | |
2203G | sql_json_item_cannot_be_cast_to_target_type |
CANNOT_PARSE_JSON_FIELD | |
22546 | ルーチン引数の値が無効です。 |
CANNOT_DECODE_URL |
クラス23
: 整合性制約違反
SQLSTATE | 説明と発行されるエラークラス |
---|---|
23505 | 一意のインデックスまたは一意制約によって課せられた制約の違反が発生しました。 |
DUPLICATED_MAP_KEY, DUPLICATE_KEY |
クラス2B
: 依存権限記述子がまだ存在します
SQLSTATE | 説明と発行されるエラークラス |
---|---|
2BP01 | dependent_objects_still_exist |
SCHEMA_NOT_EMPTY |
クラス38
: 外部ルーチン例外
SQLSTATE | 説明と発行されるエラークラス |
---|---|
38000 | 外部ルーチン例外 |
FAILED_FUNCTION_CALL |
クラス39
: 外部ルーチン呼び出し例外
SQLSTATE | 説明と発行されるエラークラス |
---|---|
39000 | 外部ルーチン呼び出し例外 |
FAILED_EXECUTE_UDF |
クラス42
: 構文エラーまたはアクセスルール違反
クラス 46
: java ddl 1
SQLSTATE | 説明と発行されるエラークラス |
---|---|
46110 | サポートされていない機能 |
CANNOT_MODIFY_CONFIG | |
46121 | 無効な列名 |
INVALID_COLUMN_NAME_AS_PATH |
クラス 53
: リソース不足
SQLSTATE | 説明と発行されるエラークラス |
---|---|
53200 | メモリ不足 |
UNABLE_TO_ACQUIRE_MEMORY |
クラス 54
: プログラム制限超過
SQLSTATE | 説明と発行されるエラークラス |
---|---|
54000 | プログラム制限超過 |
GROUPING_SIZE_LIMIT_EXCEEDED, TOO_MANY_ARRAY_ELEMENTS |
クラス HY
: CLI固有の条件
SQLSTATE | 説明と発行されるエラークラス |
---|---|
HY008 | 操作がキャンセルされました |
OPERATION_CANCELED |
クラス XX
: 内部エラー
SQLSTATE | 説明と発行されるエラークラス |
---|---|
XX000 | 内部エラー |
INTERNAL_ERROR |