in modules/platforms/cpp/ignite/odbc/common_types.cpp [112:324]
sql_state error_code_to_sql_state(error::code code) {
switch (code) {
// Common group. Group code: 1
case error::code::CURSOR_ALREADY_CLOSED:
case error::code::RESOURCE_CLOSING:
return sql_state::S24000_INVALID_CURSOR_STATE;
case error::code::NODE_STOPPING:
case error::code::COMPONENT_NOT_STARTED:
case error::code::ILLEGAL_ARGUMENT:
case error::code::USER_OBJECT_SERIALIZATION:
case error::code::SSL_CONFIGURATION:
case error::code::NODE_LEFT:
case error::code::INTERNAL:
case error::code::NULLABLE_VALUE:
return sql_state::SHY000_GENERAL_ERROR;
// Table group. Group code: 2
case error::code::TABLE_ALREADY_EXISTS:
return sql_state::S42S01_TABLE_OR_VIEW_ALREADY_EXISTS;
case error::code::TABLE_NOT_FOUND:
return sql_state::S42S02_TABLE_OR_VIEW_NOT_FOUND;
case error::code::COLUMN_ALREADY_EXISTS:
return sql_state::S42S21_COLUMN_ALREADY_EXISTS;
case error::code::COLUMN_NOT_FOUND:
return sql_state::S42S22_COLUMN_NOT_FOUND;
case error::code::SCHEMA_VERSION_MISMATCH:
case error::code::UNSUPPORTED_PARTITION_TYPE:
return sql_state::SHY000_GENERAL_ERROR;
// Client group. Group code: 3
case error::code::CONNECTION:
case error::code::PROTOCOL:
case error::code::PROTOCOL_COMPATIBILITY:
case error::code::SERVER_TO_CLIENT_REQUEST:
return sql_state::S08001_CANNOT_CONNECT;
case error::code::TABLE_ID_NOT_FOUND:
return sql_state::S42S02_TABLE_OR_VIEW_NOT_FOUND;
case error::code::CONFIGURATION:
case error::code::CLUSTER_ID_MISMATCH:
case error::code::CLIENT_SSL_CONFIGURATION:
case error::code::HANDSHAKE_HEADER:
return sql_state::S08004_CONNECTION_REJECTED;
// Sql group. Group code: 4
case error::code::SCHEMA_NOT_FOUND:
return sql_state::S3F000_INVALID_SCHEMA_NAME;
case error::code::EXECUTION_CANCELLED:
return sql_state::SHY008_OPERATION_CANCELED;
case error::code::TX_CONTROL_INSIDE_EXTERNAL_TX:
return sql_state::S25000_INVALID_TRANSACTION_STATE;
case error::code::CONSTRAINT_VIOLATION:
return sql_state::S23000_INTEGRITY_CONSTRAINT_VIOLATION;
case error::code::STMT_PARSE:
return sql_state::S42000_SYNTAX_ERROR_OR_ACCESS_VIOLATION;
case error::code::STMT_VALIDATION:
return sql_state::S42000_SYNTAX_ERROR_OR_ACCESS_VIOLATION;
case error::code::QUERY_NO_RESULT_SET:
case error::code::RUNTIME:
case error::code::MAPPING:
return sql_state::SHY000_GENERAL_ERROR;
// MetaStorage group. Group code: 5
case error::code::OP_EXECUTION:
case error::code::OP_EXECUTION_TIMEOUT:
return sql_state::SHYT00_TIMEOUT_EXPIRED;
case error::code::STARTING_STORAGE:
case error::code::RESTORING_STORAGE:
case error::code::COMPACTION:
return sql_state::SHY000_GENERAL_ERROR;
case error::code::COMPACTED:
case error::code::DIVERGED:
return sql_state::SHY000_GENERAL_ERROR;
// Index group. Group code: 6
case error::code::INDEX_NOT_FOUND:
return sql_state::S42S12_INDEX_NOT_FOUND;
case error::code::INDEX_ALREADY_EXISTS:
return sql_state::S42S11_INDEX_ALREADY_EXISTS;
// Transactions group. Group code: 7
case error::code::TX_STATE_STORAGE:
case error::code::TX_STATE_STORAGE_STOPPED:
case error::code::TX_UNEXPECTED_STATE:
case error::code::ACQUIRE_LOCK:
case error::code::ACQUIRE_LOCK_TIMEOUT:
case error::code::TX_COMMIT:
case error::code::TX_ROLLBACK:
case error::code::TX_FAILED_READ_WRITE_OPERATION:
case error::code::TX_STATE_STORAGE_REBALANCE:
case error::code::TX_READ_ONLY_TOO_OLD:
case error::code::TX_INCOMPATIBLE_SCHEMA:
case error::code::TX_PRIMARY_REPLICA_EXPIRED:
case error::code::TX_ALREADY_FINISHED:
case error::code::TX_STALE_OPERATION:
case error::code::TX_STALE_READ_ONLY_OPERATION:
case error::code::TX_ALREADY_FINISHED_WITH_TIMEOUT:
return sql_state::S25000_INVALID_TRANSACTION_STATE;
// Replicator group. Group code: 8
case error::code::CURSOR_CLOSE:
return sql_state::S24000_INVALID_CURSOR_STATE;
case error::code::REPLICA_TIMEOUT:
return sql_state::SHYT00_TIMEOUT_EXPIRED;
case error::code::REPLICA_COMMON:
case error::code::REPLICA_IS_ALREADY_STARTED:
case error::code::REPLICA_UNSUPPORTED_REQUEST:
case error::code::REPLICA_UNAVAILABLE:
case error::code::REPLICA_MISS:
case error::code::REPLICA_STOPPING:
return sql_state::SHY000_GENERAL_ERROR;
// Storage group. Group code: 9
case error::code::INDEX_NOT_BUILT:
case error::code::STORAGE_CORRUPTED:
return sql_state::SHY000_GENERAL_ERROR;
// DistributionZones group. Group code: 10
case error::code::ZONE_NOT_FOUND:
return sql_state::SHY000_GENERAL_ERROR;
// Network group. Group code: 11
case error::code::UNRESOLVABLE_CONSISTENT_ID:
case error::code::PORT_IN_USE:
case error::code::FILE_TRANSFER:
case error::code::FILE_VALIDATION:
case error::code::RECIPIENT_LEFT:
case error::code::ADDRESS_UNRESOLVED:
return sql_state::S08001_CANNOT_CONNECT;
// NodeConfiguration group. Group code: 12
case error::code::CONFIG_READ:
case error::code::CONFIG_FILE_CREATE:
case error::code::CONFIG_WRITE:
case error::code::CONFIG_PARSE:
return sql_state::SHY000_GENERAL_ERROR;
// CodeDeployment group. Group code: 13
case error::code::UNIT_NOT_FOUND:
case error::code::UNIT_ALREADY_EXISTS:
case error::code::UNIT_CONTENT_READ:
case error::code::UNIT_UNAVAILABLE:
return sql_state::SHY000_GENERAL_ERROR;
// GarbageCollector group. Group code: 14
case error::code::CLOSED:
return sql_state::SHY000_GENERAL_ERROR;
// Authentication group. Group code: 15
case error::code::UNSUPPORTED_AUTHENTICATION_TYPE:
case error::code::INVALID_CREDENTIALS:
case error::code::BASIC_PROVIDER:
return sql_state::S08004_CONNECTION_REJECTED;
// Compute group. Group code: 16
case error::code::CLASS_PATH:
case error::code::CLASS_LOADER:
case error::code::CLASS_INITIALIZATION:
case error::code::QUEUE_OVERFLOW:
case error::code::COMPUTE_JOB_STATUS_TRANSITION:
case error::code::CANCELLING:
case error::code::RESULT_NOT_FOUND:
case error::code::FAIL_TO_GET_JOB_STATE:
case error::code::COMPUTE_JOB_FAILED:
case error::code::PRIMARY_REPLICA_RESOLVE:
case error::code::CHANGE_JOB_PRIORITY:
case error::code::NODE_NOT_FOUND:
case error::code::MARSHALLING_TYPE_MISMATCH:
case error::code::COMPUTE_JOB_CANCELLED:
case error::code::COMPUTE_PLATFORM_EXECUTOR:
return sql_state::SHY000_GENERAL_ERROR;
// Catalog group. Group code: 17
case error::code::VALIDATION:
return sql_state::SHY000_GENERAL_ERROR;
// PlacementDriver group. Group code: 18
case error::code::PRIMARY_REPLICA_AWAIT_TIMEOUT:
return sql_state::SHYT00_TIMEOUT_EXPIRED;
case error::code::PRIMARY_REPLICA_AWAIT:
return sql_state::SHY000_GENERAL_ERROR;
// CriticalWorkers group. Group code: 19
case error::code::SYSTEM_WORKER_BLOCKED:
case error::code::SYSTEM_CRITICAL_OPERATION_TIMEOUT:
return sql_state::SHY000_GENERAL_ERROR;
// DisasterRecovery group. Group code: 20
case error::code::NODES_NOT_FOUND:
case error::code::ILLEGAL_PARTITION_ID:
case error::code::PARTITION_STATE:
case error::code::CLUSTER_NOT_IDLE:
return sql_state::SHY000_GENERAL_ERROR;
// Embedded group. Group code: 21
case error::code::CLUSTER_NOT_INITIALIZED:
case error::code::CLUSTER_INIT_FAILED:
case error::code::NODE_NOT_STARTED:
case error::code::NODE_START:
return sql_state::SHY000_GENERAL_ERROR;
// Marshalling group. Group code: 22
case error::code::COMMON:
case error::code::UNSUPPORTED_OBJECT_TYPE:
case error::code::UNMARSHALLING:
return sql_state::SHY000_GENERAL_ERROR;
// REST service group. Group code: 23
case error::code::CLUSTER_NOT_INIT:
return sql_state::SHY000_GENERAL_ERROR;
}
return sql_state::SHY000_GENERAL_ERROR;
}