// @see
// 错误码总数不超过10000个
// 不能使用的值域[-1, -4000)，这一段值为兼容MySQL目的使用。MySQL Server端错误码范围1000-3000，客户端错误码2000-3000, 1-1000预留。实际上，Oracle的常用错误码的范围大约在这个范围内。
// 通用错误码值域[-4000, -4500)，含sstable等
// RootServer错误码值域[-4500, -5000)
// SQL层错误码值域[-5000, -6000)，含各种schema相关错误
// 事务层错误码值域[-6000, -7000),含clog，memtable等
// Election错误码值域[-7000, -7100)
// GIS错误码值域  [-7201, -7300)
// 致命错误[-8000, -9000)，客户端收到8xxx错误，需要关闭SQL连接
// backup [-9000, -9500)
// pl [-9500, -10000)
// OBProxy整体通用错误码，针对公共模块的代码抛出的错误，值域：[-10000, -10100)
// OBProxy业务错误码，值域：[-10100, -10300)
// OBSharding错误码，值域：[-10300, -10500)
// OBKV错误码，值域：[-10500, -10700)
// 富客户端错误码，值域：[-10700, -10900)
// SQL扩展区段1：[-11000, -12000)
// 租户快照和克隆：[-12000, -12100)

////////////////////////////////////////////////////////////////
//error code -1~-999 are reserved
//error code -1000~-1999 are reserved for mysql server error, see mysql_errno.h
//error code -2001~-3000 are reserved for mysql client error, see http://dev.mysql.com/doc/refman/5.1/en/error-messages-client.html
//error code -4000~-65535 are reserved for ob error
//
//oracle error https://docs.oracle.com/en/database/oracle/oracle-database/18/errmg/ORA-00910.html
//
//we have ob errno, mysql errno, oracle errno. ob errno used in source code, mysql/oracle errno used in error packet encoding.
//developer only use ob errno in source code, and specify the mapping relation between ob errno and mysql/oracle errno in this file.
//
//DEFINE_FULL_ERROR(C1, C0, M1, M2, M3, M4, R1, R2, R3, R4)
//C0: ob error code
//C1: ob error symbol name
//M1: mysql compatible error code, use C0 when M1 equals -1
//M2: SQLSTATE
//M3: mysql error message without parameters
//M4: mysql error message with parameters
//R1: oracle compatible error code
//R2: oracle error message prefix
//R3: oracle error message without parameters
//R4: oracle error message with parameters
//
//DEFINE_ERROR(C1, C0, M1, M2, M3)                            <==>   DEFINE_FULL_ERROR(C1, C0, M1, M2, M3, M4=M3, R1=-600, R2=ORA, R3~=M3, R4~=M3)
//DEFINE_ERROR_EXT(C1, C0, M1, M2, M3, M4)                    <==>   DEFINE_FULL_ERROR(C1, C0, M1, M2, M3, M4, R1=-600, R2=ORA, R3~=M3, R4~=M4)
//DEFINE_ORACLE_ERROR(C1, C0, M1, M2, M3, R1, R3)             <==>   DEFINE_FULL_ERROR(C1, C0, M1, M2, M3, M4=M3, R1, R2=ORA, R3, R4=R3)
//DEFINE_ORACLE_ERROR_EXT(C1, C0, M1, M2, M3, M4, R1, R3, R4) <==>   DEFINE_FULL_ERROR(C1, C0, M1, M2, M3, M4, R1, R2=ORA, R3, R4)
//DEFINE_PLS_ERROR(C1, C0, M1, M2, M3, R1, R3)                <==>   DEFINE_FULL_ERROR(C1, C0, M1, M2, M3, M4=M3, R1, R2=PLS, R3, R4=R3)
//DEFINE_PLS_ERROR_EXT(C1, C0, M1, M2, M3, M4, R1, R3, R4)    <==>   DEFINE_FULL_ERROR(C1, C0, M1, M2, M3, M4, R1, R2=PLS, R3, R4)
//
//DEFINE_ERROR(C1, C0, M1, M2, M3)
//   M1 = (M1 == -1 ? C0 : M1)
//   M4 = M3
//   R1 = -600
//   R2 = ORA
//   R3 = internal error code, arguments: M3
//   R4 = internal error code, arguments: M3
//
//DEFINE_ERROR_EXT(C1, C0, M1, M2, M3, M4)
//   M1 = (M1 == -1 ? C0 : M1)
//   R1 = -600
//   R2 = ORA
//   R3 = internal error code, arguments: M3
//   R4 = internal error code, arguments: M4
//
//DEFINE_ORACLE_ERROR(C1, C0, M1, M2, M3, R1, R3)
//   M1 = (M1 == -1 ? C0 : M1)
//   M4 = M3
//   R2 = ORA
//   R4 = R3
//
//DEFINE_ORACLE_ERROR_EXT(C1, C0, M1, M2, M3, M4, R1, R3, R4)
//   M1 = (M1 == -1 ? C0 : M1)
//   R2 = ORA
//
//DEFINE_PLS_ERROR(C1, C0, M1, M2, M3, R1, R3)
//   M1 = (M1 == -1 ? C0 : M1)
//   M4 = M3
//   R2 = PLS
//   R4 = R3
//
//DEFINE_PLS_ERROR_EXT(C1, C0, M1, M2, M3, M4, R1, R3, R4)
//   M1 = (M1 == -1 ? C0 : M1)
//   R2 = PLS
//
//only add the definition of errno msg with parameter, in order to be compatible with the old code
//errno of c1 is equal to errno of c0. you should use it like below
//DEFINE_OTHER_MSG_FMT(C1, C0, M4, R4)
//
//DEFINE_OTHER_MSG_FMT(OB_ERR_DATA_TOO_LONG_MSG_FMT_V2, OB_ERR_DATA_TOO_LONG, "Data too long for column '%.*s' at row %ld", "value too large for column %.*s (actual: %ld, maximum: %ld)")
//
////////////////////////////////////////////////////////////////

DEFINE_ERROR_DEP(OB_SUCCESS, 0, 0, "00000", "Success");

////////////////////////////////////////////////////////////////
//error code for common -4000 ---- -4500
////////////////////////////////////////////////////////////////
DEFINE_ERROR_DEP(OB_ERROR, -4000, -1, "HY000", "Common error");
DEFINE_ERROR_DEP(OB_OBJ_TYPE_ERROR, -4001, -1, "HY004", "Object type error");
DEFINE_ERROR_EXT_DEP(OB_INVALID_ARGUMENT, -4002, ER_WRONG_ARGUMENTS, "HY000", "Invalid argument", "Incorrect arguments to %s");
DEFINE_ERROR_DEP(OB_ARRAY_OUT_OF_RANGE, -4003, -1, "42000", "Array index out of range");
DEFINE_ERROR_DEP(OB_SERVER_LISTEN_ERROR, -4004, -1, "08S01", "Failed to listen to the port");
DEFINE_ERROR_DEP(OB_INIT_TWICE, -4005, -1, "HY000", "The object is initialized twice");
DEFINE_ERROR_DEP(OB_NOT_INIT, -4006, -1, "HY000", "The object is not initialized");
DEFINE_ERROR_EXT_DEP(OB_NOT_SUPPORTED, -4007, ER_NOT_SUPPORTED_YET, "0A000", "Not supported feature or function", "%s not supported");
DEFINE_ERROR_DEP(OB_ITER_END, -4008, -1, "HY000", "End of iteration");
DEFINE_ERROR_DEP(OB_IO_ERROR, -4009, -1, "58030", "IO error");
DEFINE_ERROR_DEP(OB_ERROR_FUNC_VERSION, -4010, -1, "HY000", "Wrong RPC command version");
DEFINE_ERROR(OB_PACKET_NOT_SENT, -4011, -1, "HY000", "Can not send packet");
DEFINE_ERROR_EXT_DEP(OB_TIMEOUT, -4012, -1, "HY000", "Timeout", "Timeout, query has reached the maximum query timeout: %ld(us), maybe you can adjust the session variable ob_query_timeout or query_timeout hint, and try again.");
DEFINE_ERROR_DEP(OB_ALLOCATE_MEMORY_FAILED, -4013, -1, "HY001", "No memory or reach tenant memory limit");
DEFINE_ERROR_DEP(OB_INNER_STAT_ERROR, -4014, -1, "HY000", "Inner state error");
DEFINE_ERROR_DEP(OB_ERR_SYS, -4015, -1, "HY000", "System error");
DEFINE_ERROR_EXT_DEP(OB_ERR_UNEXPECTED, -4016, -1, "HY000", "Internal error", "%s");
DEFINE_ERROR_EXT_DEP(OB_ENTRY_EXIST, -4017, -1, "HY000", "Entry already exist", "%s");
DEFINE_ERROR_EXT_DEP(OB_ENTRY_NOT_EXIST, -4018, -1, "HY000", "Entry not exist", "%s");
DEFINE_ERROR_DEP(OB_SIZE_OVERFLOW, -4019, -1, "HY000", "Size overflow");
DEFINE_ERROR_DEP(OB_REF_NUM_NOT_ZERO, -4020, -1, "HY000", "Reference count is not zero");
DEFINE_ERROR_DEP(OB_CONFLICT_VALUE, -4021, -1, "HY000", "Conflict value");
DEFINE_ERROR_DEP(OB_ITEM_NOT_SETTED, -4022, -1, "HY000", "Item not set");
DEFINE_ERROR_DEP(OB_EAGAIN, -4023, -1, "HY000", "Try again");
DEFINE_ERROR_DEP(OB_BUF_NOT_ENOUGH, -4024, -1, "HY000", "Buffer not enough");
DEFINE_ERROR(OB_PARTIAL_FAILED, -4025, -1, "HY000", "Partial failed");
DEFINE_ORACLE_ERROR_DEP(OB_READ_NOTHING, -4026, ER_SP_FETCH_NO_DATA, "02000", "No data - zero rows fetched, selected, or processed", 1403, "no data found");
DEFINE_ERROR_DEP(OB_FILE_NOT_EXIST, -4027, ER_FILE_NOT_FOUND, "HY000", "File not exist");
DEFINE_ERROR_DEP(OB_DISCONTINUOUS_LOG, -4028, -1, "HY000", "Log entry not continuous");
DEFINE_ERROR(OB_SCHEMA_ERROR, -4029, -1, "HY000", "Schema error");
DEFINE_ERROR(OB_TENANT_OUT_OF_MEM, -4030, -1, "HY000", "Over tenant memory limits");
DEFINE_ERROR(OB_UNKNOWN_OBJ, -4031, -1, "HY004", "Unknown object");
DEFINE_ERROR(OB_NO_MONITOR_DATA, -4032, -1, "02000", "No monitor data");
DEFINE_ERROR_DEP(OB_SERIALIZE_ERROR, -4033, -1, "HY000", "Serialize error");
DEFINE_ERROR_DEP(OB_DESERIALIZE_ERROR, -4034, -1, "HY000", "Deserialize error");
DEFINE_ERROR_DEP(OB_AIO_TIMEOUT, -4035, -1, "HY000", "Asynchronous IO error");
DEFINE_ERROR_DEP(OB_NEED_RETRY, -4036, -1, "HY000", "Need retry");
DEFINE_ERROR(OB_TOO_MANY_SSTABLE, -4037, -1, "HY000", "Too many sstable");
DEFINE_ERROR_DEP(OB_NOT_MASTER, -4038, -1, "HY000", "The observer or zone is not the master");
DEFINE_ERROR(OB_KILLED_BY_THROTTLING, -4039, -1, "HY000", "Request has killed by sql throttle");
DEFINE_ERROR_DEP(OB_DECRYPT_FAILED, -4041, -1, "HY000", "Decrypt error");
DEFINE_ORACLE_ERROR_EXT(OB_USER_NOT_EXIST, -4042, ER_PASSWORD_NO_MATCH, "42000", "Can not find any matching row in the user table", "Can not find any matching row in the user table'%.*s'", 1918, "user does not exist", "user '%.*s' does not exist");

DEFINE_ERROR_EXT(OB_PASSWORD_WRONG, -4043, ER_ACCESS_DENIED_ERROR, "42000", "Access denied for user", "Access denied for user '%.*s'@'%.*s' (using password: %s)");
DEFINE_ERROR(OB_SKEY_VERSION_WRONG, -4044, -1, "HY000", "Wrong skey version");
DEFINE_ERROR(OB_PUSHDOWN_STATUS_CHANGED, -4045, -1, "HY000", "pushdown status changed");
DEFINE_ERROR(OB_STORAGE_SCHEMA_INVALID, -4046, -1, "HY000", "Storage schema is not valid");
DEFINE_ERROR(OB_MEDIUM_COMPACTION_INFO_INVALID, -4047, -1, "HY000", "Medium compaction info is not valid");
DEFINE_ERROR(OB_NOT_REGISTERED, -4048, -1, "HY000", "Not registered");
DEFINE_ERROR(OB_WAITQUEUE_TIMEOUT, -4049, 4012, "HY000", "Task timeout and not executed");
DEFINE_ERROR_DEP(OB_NOT_THE_OBJECT, -4050, -1, "HY000", "Not the object");
DEFINE_ERROR(OB_ALREADY_REGISTERED, -4051, -1, "HY000", "Already registered");
DEFINE_ERROR_DEP(OB_LAST_LOG_RUINNED, -4052, -1, "HY000", "Corrupted log entry");
DEFINE_ERROR(OB_NO_CS_SELECTED, -4053, -1, "HY000", "No Server selected");
DEFINE_ERROR(OB_NO_TABLETS_CREATED, -4054, -1, "HY000", "No tablets created");
DEFINE_ERROR_DEP(OB_INVALID_ERROR, -4055, -1, "HY000", "Invalid entry");
DEFINE_ERROR_DEP(OB_DECIMAL_OVERFLOW_WARN, -4057, -1, "HY000", "Decimal overflow warning");
DEFINE_ERROR(OB_DECIMAL_UNLEGAL_ERROR, -4058, -1, "HY000", "Decimal overflow error");
DEFINE_ERROR(OB_OBJ_DIVIDE_ERROR, -4060, -1, "HY000", "Divide error");
DEFINE_ERROR(OB_NOT_A_DECIMAL, -4061, -1, "HY000", "Not a decimal");
DEFINE_ERROR(OB_DECIMAL_PRECISION_NOT_EQUAL, -4062, -1, "HY104", "Decimal precision error");
DEFINE_ERROR_DEP(OB_EMPTY_RANGE, -4063, -1, "HY000", "Empty range");
DEFINE_ERROR(OB_SESSION_KILLED, -4064, -1, "HY000", "Session killed");
DEFINE_ERROR(OB_LOG_NOT_SYNC, -4065, -1, "HY000", "Log not sync");
DEFINE_ERROR_DEP(OB_DIR_NOT_EXIST, -4066, ER_CANT_READ_DIR, "HY000", "Directory not exist");
DEFINE_ERROR(OB_SESSION_NOT_FOUND, -4067, 4012, "HY000", "RPC session not found");
DEFINE_ERROR(OB_INVALID_LOG, -4068, -1, "HY000", "Invalid log");
DEFINE_ERROR_DEP(OB_INVALID_DATA, -4070, -1, "HY000", "Invalid data");
DEFINE_ERROR(OB_ALREADY_DONE, -4071, -1, "HY000", "Already done");
DEFINE_ERROR_DEP(OB_CANCELED, -4072, -1, "HY000", "Operation canceled");
DEFINE_ERROR(OB_LOG_SRC_CHANGED, -4073, -1, "HY000", "Log source changed");
DEFINE_ERROR_DEP(OB_LOG_NOT_ALIGN, -4074, -1, "HY000", "Log not aligned");
DEFINE_ERROR(OB_LOG_MISSING, -4075, -1, "HY000", "Log entry missed");
DEFINE_ERROR(OB_NEED_WAIT, -4076, -1, "HY000", "Need wait");
DEFINE_ERROR_DEP(OB_NOT_IMPLEMENT, -4077, -1, "0A000", "Not implemented feature");
DEFINE_ERROR_DEP(OB_DIVISION_BY_ZERO, -4078, ER_DIVISION_BY_ZERO, "22012", "Divided by zero");
DEFINE_ERROR_DEP(OB_EXCEED_MEM_LIMIT, -4080, -1, "HY013", "exceed memory limit");
DEFINE_ERROR(OB_RESULT_UNKNOWN, -4081, -1, "HY000", "Unknown result");
DEFINE_ERROR(OB_NO_RESULT, -4084, -1, "02000", "No result");
DEFINE_ERROR_DEP(OB_QUEUE_OVERFLOW, -4085, -1, "HY000", "Queue overflow");
DEFINE_ERROR(OB_LOG_ID_RANGE_NOT_CONTINUOUS, -4090, -1, "HY000", "Table log_id range no continuous");
DEFINE_ERROR(OB_TERM_LAGGED, -4097, -1, "HY000", "Term lagged");
DEFINE_ERROR(OB_TERM_NOT_MATCH, -4098, -1, "HY000", "Term not match");
DEFINE_ERROR_DEP(OB_START_LOG_CURSOR_INVALID, -4099, -1, "HY000", "Invalid log cursor");
DEFINE_ERROR_DEP(OB_LOCK_NOT_MATCH, -4100, -1, "HY000", "Lock not match");
DEFINE_ORACLE_ERROR_DEP(OB_DEAD_LOCK, -4101, ER_LOCK_DEADLOCK, "HY000", "Deadlock", 60, "deadlock detected while waiting for resource");
DEFINE_ERROR(OB_PARTIAL_LOG, -4102, -1, "HY000", "Incomplete log entry");
DEFINE_ERROR_DEP(OB_CHECKSUM_ERROR, -4103, -1, "42000", "Data checksum error");
DEFINE_ERROR_DEP(OB_INIT_FAIL, -4104, -1, "HY000", "Initialize error");
DEFINE_ERROR_DEP(OB_ROWKEY_ORDER_ERROR, -4105, -1, "HY000", "Rowkey order error");
DEFINE_ERROR(OB_NOT_ENOUGH_STORE, -4106, -1, "HY000", "not enough commitlog store");
DEFINE_ERROR(OB_BLOCK_SWITCHED, -4107, -1, "HY000", "block switched when fill commitlog");
DEFINE_ERROR_DEP(OB_PHYSIC_CHECKSUM_ERROR, -4108, -1, "42000", "Physic data checksum error");
DEFINE_ERROR_DEP(OB_STATE_NOT_MATCH, -4109, -1, "HY000", "Server state or role not the same as expected");
DEFINE_ERROR(OB_READ_ZERO_LOG, -4110, -1, "HY000", "Read zero log");
DEFINE_ERROR(OB_BLOCK_NEED_FREEZE, -4111, -1, "HY000", "block need freeze");
DEFINE_ERROR(OB_BLOCK_FROZEN, -4112, -1, "HY000", "block frozen");
DEFINE_ERROR(OB_IN_FATAL_STATE, -4113, -1, "HY000", "In FATAL state");
DEFINE_ERROR_DEP(OB_IN_STOP_STATE, -4114, -1, "08S01", "In STOP state");
DEFINE_ERROR(OB_UPS_MASTER_EXISTS, -4115, -1, "HY000", "Master UpdateServer already exists");
DEFINE_ERROR_DEP(OB_LOG_NOT_CLEAR, -4116, -1, "42000", "Log not clear");
DEFINE_ERROR_DEP(OB_FILE_ALREADY_EXIST, -4117, ER_FILE_EXISTS_ERROR, "58000", "File already exist");
DEFINE_ERROR_DEP(OB_UNKNOWN_PACKET, -4118, ER_UNKNOWN_COM_ERROR, "HY001", "Unknown packet");
DEFINE_ERROR_DEP(OB_RPC_PACKET_TOO_LONG, -4119, -1, "08000", "RPC packet to send too long");
DEFINE_ERROR_DEP(OB_LOG_TOO_LARGE, -4120, -1, "HY000", "Log too large");
DEFINE_ERROR_DEP(OB_RPC_SEND_ERROR, -4121, 4012, "HY000", "RPC send error");
DEFINE_ERROR_DEP(OB_RPC_POST_ERROR, -4122, 4012, "HY000", "RPC post error");
DEFINE_ERROR_DEP(OB_LIBEASY_ERROR, -4123, -1, "08000", "Libeasy error");
DEFINE_ERROR_DEP(OB_CONNECT_ERROR, -4124, -1, "HY000", "Connect error");
DEFINE_ERROR(OB_NOT_FREE, -4125, -1, "HY000", "Not free");
DEFINE_ERROR(OB_INIT_SQL_CONTEXT_ERROR, -4126, -1, "HY000", "Init SQL context error");
DEFINE_ERROR(OB_SKIP_INVALID_ROW, -4127, -1, "42000", "Skip invalid row");
DEFINE_ERROR_DEP(OB_RPC_PACKET_INVALID, -4128, -1, "HY000", "RPC packet is invalid");
DEFINE_ERROR(OB_NO_TABLET, -4133, -1, "HY000", "No tablets");
DEFINE_ORACLE_ERROR(OB_SNAPSHOT_DISCARDED, -4138, -1, "HY000", "Request to read too old versioned data", 1555, "snapshot too old");
DEFINE_ERROR(OB_DATA_NOT_UPTODATE, -4139, -1, "HY000", "State is stale");
DEFINE_ERROR(OB_ROW_MODIFIED, -4142, -1, "HY000", "Row modified");
DEFINE_ERROR(OB_VERSION_NOT_MATCH, -4143, -1, "42000", "Version not match");
DEFINE_ERROR_DEP(OB_BAD_ADDRESS, -4144, -1, "42000", "Bad address");
DEFINE_ERROR(OB_ENQUEUE_FAILED, -4146, -1, "HY000", "Enqueue error");
DEFINE_ERROR_EXT(OB_INVALID_CONFIG, -4147, -1, "HY000", "Invalid config", "%s");
DEFINE_ERROR(OB_STMT_EXPIRED, -4149, -1, "HY000", "Expired statement");
DEFINE_ERROR_DEP(OB_ERR_MIN_VALUE, -4150, -1, "42000", "Min value");
DEFINE_ERROR_DEP(OB_ERR_MAX_VALUE, -4151, -1, "42000", "Max value");
DEFINE_ERROR_EXT_DEP(OB_ERR_NULL_VALUE, -4152, -1, "42000", "Null value", "%s");
DEFINE_ERROR_DEP(OB_RESOURCE_OUT, -4153, ER_OUT_OF_RESOURCES, "53000", "Out of resource");
DEFINE_ERROR_DEP(OB_ERR_SQL_CLIENT, -4154, -1, "HY000", "Internal SQL client error");
DEFINE_ERROR(OB_META_TABLE_WITHOUT_USE_TABLE, -4155, -1, "HY000", "Meta table without use table");
DEFINE_ERROR(OB_DISCARD_PACKET, -4156, -1, "HY000", "Discard packet");
DEFINE_ORACLE_ERROR_EXT_DEP(OB_OPERATE_OVERFLOW, -4157, ER_DATA_OUT_OF_RANGE, "22003", "value is out of range", "%s value is out of range in '%s'", 25137, "Data value out of range", "Data value %s out of range in '%s'");
DEFINE_ORACLE_ERROR_EXT_DEP(OB_INVALID_DATE_FORMAT, -4158, ER_TRUNCATED_WRONG_VALUE, "22007", "Incorrect value", "%s=%d must between %d and %d", 1821, "date format not recognized", "date format not recognized, %s=%d must between %d and %d");
DEFINE_ERROR(OB_POOL_REGISTERED_FAILED, -4159, -1, "HY000", "register pool failed");
DEFINE_ERROR(OB_POOL_UNREGISTERED_FAILED, -4160, -1, "HY000", "unregister pool failed");
DEFINE_ERROR_DEP(OB_INVALID_ARGUMENT_NUM, -4161, -1, "42000", "Invalid argument num");
DEFINE_ERROR(OB_LEASE_NOT_ENOUGH, -4162, -1, "HY000", "reserved lease not enough");
DEFINE_ERROR(OB_LEASE_NOT_MATCH, -4163, -1, "HY000", "ups lease not match with rs");
DEFINE_ERROR(OB_UPS_SWITCH_NOT_HAPPEN, -4164, -1, "HY000", "ups switch not happen");
DEFINE_ERROR_DEP(OB_EMPTY_RESULT, -4165, -1, "HY000", "Empty result");
DEFINE_ERROR(OB_CACHE_NOT_HIT, -4166, -1, "HY000", "Cache not hit");
DEFINE_ERROR(OB_NESTED_LOOP_NOT_SUPPORT, -4167, -1, "HY000", "Nested loop not support");
DEFINE_ERROR_DEP(OB_LOG_INVALID_MOD_ID, -4168, -1, "HY000", "Invalid log module id");
DEFINE_ERROR_EXT_DEP(OB_LOG_MODULE_UNKNOWN, -4169, -1, "HY000", "Unknown module name", "Unknown module name. Invalid Setting:'%.*s'. Syntax:parMod.subMod:level, parMod.subMod:level");
DEFINE_ERROR_EXT_DEP(OB_LOG_LEVEL_INVALID, -4170, -1, "HY000", "Invalid level", "Invalid level. Invalid setting:'%.*s'. Syntax:parMod.subMod:level, parMod.subMod:level");
DEFINE_ERROR_EXT_DEP(OB_LOG_PARSER_SYNTAX_ERR, -4171, -1, "HY000", "Syntax to set log_level error", "Syntax to set log_level error. Invalid setting:'%.*s'. Syntax:parMod.subMod:level, parMod.subMod:level");
DEFINE_ERROR(OB_INDEX_OUT_OF_RANGE, -4172, -1, "HY000", "Index out of range");
DEFINE_ERROR(OB_INT_UNDERFLOW, -4173, -1, "HY000", "Int underflow");
DEFINE_ERROR_EXT_DEP(OB_UNKNOWN_CONNECTION, -4174, ER_NO_SUCH_THREAD, "HY000", "Unknown thread id", "Unknown thread id: %lu");
DEFINE_ERROR_DEP(OB_ERROR_OUT_OF_RANGE, -4175, -1, "42000", "Out of range");
DEFINE_ERROR(OB_CACHE_SHRINK_FAILED, -4176, -1, "HY001", "shrink cache failed, no available cache");
DEFINE_ERROR(OB_OLD_SCHEMA_VERSION, -4177, -1, "42000", "Schema version too old");
DEFINE_ERROR(OB_RELEASE_SCHEMA_ERROR, -4178, -1, "HY000", "Release schema error");
DEFINE_ERROR_EXT_DEP(OB_OP_NOT_ALLOW, -4179, -1, "HY000", "Operation not allowed now", "%s not allowed");
DEFINE_ERROR(OB_NO_EMPTY_ENTRY, -4180, -1, "HY000", "No empty entry");
DEFINE_ERROR_DEP(OB_ERR_ALREADY_EXISTS, -4181, -1, "42S01", "Already exist");
DEFINE_ERROR_DEP(OB_SEARCH_NOT_FOUND, -4182, -1, "HY000", "Value not found");
DEFINE_ERROR(OB_BEYOND_THE_RANGE, -4183, -1, "HY000", "Key out of range");
DEFINE_ERROR(OB_SERVER_OUTOF_DISK_SPACE, -4184, -1, "53100", "Server out of disk space");
DEFINE_ERROR(OB_COLUMN_GROUP_NOT_FOUND, -4185, -1, "HY000", "Column group \'%.*s\' not found");
DEFINE_ERROR(OB_CS_COMPRESS_LIB_ERROR, -4186, -1, "HY000", "Server failed to get compress library");
DEFINE_ERROR_DEP(OB_ITEM_NOT_MATCH, -4187, -1, "HY000", "Item not match");
DEFINE_ERROR(OB_SCHEDULER_TASK_CNT_MISMATCH, -4188, -1, "HY000", "Running task cnt and unfinished task cnt not consistent");
DEFINE_ERROR(OB_INVALID_MACRO_BLOCK_TYPE, -4189, -1, "HY000", "the macro block type does not exist");
DEFINE_ORACLE_ERROR_DEP(OB_INVALID_DATE_FORMAT_END, -4190, ER_TRUNCATED_WRONG_VALUE, "22007", "Incorrect value", 1830, "date format picture ends before converting entire input string");
DEFINE_ERROR(OB_PG_IS_REMOVED, -4191, -1, "HY000", "partition group is removed");
DEFINE_ERROR_DEP(OB_DDL_TASK_EXECUTE_TOO_MUCH_TIME, -4192, -1, "42000", "ddl task executes too much time");
DEFINE_ERROR_EXT_DEP(OB_HASH_EXIST, -4200, -1, "HY000", "hash map/set entry exist", "%s");
DEFINE_ERROR_EXT_DEP(OB_HASH_NOT_EXIST, -4201, -1, "HY000", "hash map/set entry not exist", "%s");
DEFINE_ERROR_DEP(OB_HASH_GET_TIMEOUT, -4204, -1, "HY000", "hash map/set get timeout");
DEFINE_ERROR_DEP(OB_HASH_PLACEMENT_RETRY, -4205, -1, "HY000", "hash map/set retry");
DEFINE_ERROR_DEP(OB_HASH_FULL, -4206, -1, "HY000", "hash map/set full");
DEFINE_ERROR(OB_PACKET_PROCESSED, -4207, -1, "HY000", "packet processed");
DEFINE_ERROR_DEP(OB_WAIT_NEXT_TIMEOUT, -4208, -1, "HY000", "wait next packet timeout");
DEFINE_ERROR(OB_LEADER_NOT_EXIST, -4209, -1, "HY000", "partition has not leader");
DEFINE_ERROR(OB_PREPARE_MAJOR_FREEZE_FAILED, -4210, -1, "HY000", "prepare major freeze failed");
DEFINE_ERROR(OB_COMMIT_MAJOR_FREEZE_FAILED, -4211, -1, "HY000", "commit major freeze failed");
DEFINE_ERROR(OB_ABORT_MAJOR_FREEZE_FAILED, -4212, -1, "HY000", "abort major freeze failed");
DEFINE_ERROR_EXT_DEP(OB_MAJOR_FREEZE_NOT_FINISHED, -4213, -1, "HY000", "last major freeze not finish", "%s");
DEFINE_ERROR(OB_PARTITION_NOT_LEADER, -4214, -1, "HY000", "partition is not leader partition");
DEFINE_ERROR(OB_WAIT_MAJOR_FREEZE_RESPONSE_TIMEOUT, -4215, -1, "HY000", "wait major freeze response timeout");
DEFINE_ERROR(OB_CURL_ERROR, -4216, -1, "HY000", "curl error");
DEFINE_ERROR_EXT(OB_MAJOR_FREEZE_NOT_ALLOW, -4217, -1, "HY000", "Major freeze not allowed now", "%s");
DEFINE_ERROR(OB_PREPARE_FREEZE_FAILED, -4218, -1, "HY000", "prepare freeze failed");
DEFINE_ORACLE_ERROR_EXT_DEP(OB_INVALID_DATE_VALUE, -4219, ER_TRUNCATED_WRONG_VALUE, "22007", "Incorrect value", "Incorrect datetime value: '%.*s' for column '%s'", 1861, "literal does not match format string", "literal does not match format string: '%.*s' for column '%s'");
DEFINE_OTHER_MSG_FMT(OB_ERR_INVALID_DATE_MSG_FMT_V2, OB_INVALID_DATE_VALUE, "Incorrect datetime value for column '%.*s' at row %ld", "Incorrect datetime value for column '%.*s' at row %ld")
DEFINE_ERROR_DEP(OB_INACTIVE_SQL_CLIENT, -4220, -1, "HY000", "Inactive sql client, only read allowed");
DEFINE_ERROR_DEP(OB_INACTIVE_RPC_PROXY, -4221, -1, "HY000", "Inactive rpc proxy, can not send RPC request");
DEFINE_ERROR_DEP(OB_INTERVAL_WITH_MONTH, -4222, -1, "42000", "Interval with year or month can not be converted to microseconds");
DEFINE_ERROR_DEP(OB_TOO_MANY_DATETIME_PARTS, -4223, -1, "42000", "Interval has too many datetime parts");
DEFINE_ORACLE_ERROR_EXT_DEP(OB_DATA_OUT_OF_RANGE, -4224, ER_WARN_DATA_OUT_OF_RANGE, "22003", "Out of range value for column", "Out of range value for column '%.*s' at row %ld", 1438, "value larger than specified precision allowed for this column", "value larger than specified precision allowed for this column '%.*s' at row %ld");
DEFINE_ERROR(OB_PARTITION_NOT_EXIST, -4225, -1, "HY000", "Partition entry not exists");
DEFINE_ERROR_EXT_DEP(OB_ERR_TRUNCATED_WRONG_VALUE_FOR_FIELD, -4226, ER_TRUNCATED_WRONG_VALUE_FOR_FIELD, "HY000", "Incorrect integer value", "Incorrect integer value for column '%.*s' at row %ld");
DEFINE_ERROR_EXT(OB_ERR_NO_DEFAULT_FOR_FIELD, -4227, ER_NO_DEFAULT_FOR_FIELD, "HY000", "Field doesn\'t have a default value", "Field \'%s\' doesn't have a default value");
DEFINE_ORACLE_ERROR_EXT(OB_ERR_FIELD_SPECIFIED_TWICE, -4228, ER_FIELD_SPECIFIED_TWICE, "42000", "Column specified twice", "Column \'%s\' specified twice", 957, "duplicate column name", "duplicate column name \'%s\'");
DEFINE_ERROR_EXT(OB_ERR_TOO_LONG_TABLE_COMMENT, -4229, ER_TOO_LONG_TABLE_COMMENT, "HY000", "Comment for table is too long", "Comment for table is too long (max = %ld)");
DEFINE_ERROR_EXT(OB_ERR_TOO_LONG_FIELD_COMMENT, -4230, ER_TOO_LONG_FIELD_COMMENT, "HY000", "Comment for field is too long", "Comment for field is too long (max = %ld)");
DEFINE_ERROR_EXT(OB_ERR_TOO_LONG_INDEX_COMMENT, -4231, ER_TOO_LONG_INDEX_COMMENT, "HY000", "Comment for index is too long", "Comment for index is too long (max = %ld)");
DEFINE_ERROR(OB_NOT_FOLLOWER, -4232, -1, "HY000", "The observer or zone is not a follower");
DEFINE_ERROR_DEP(OB_ERR_OUT_OF_LOWER_BOUND, -4233, -1, "HY000", "smaller than container lower bound");
DEFINE_ERROR_DEP(OB_ERR_OUT_OF_UPPER_BOUND, -4234, -1, "HY000", "bigger than container upper bound");
DEFINE_ORACLE_ERROR_EXT_DEP(OB_BAD_NULL_ERROR, -4235, ER_BAD_NULL_ERROR, "23000", "Column cannot be null", "Column '%.*s' cannot be null", 1400, "cannot insert NULL", "cannot insert NULL into '(%.*s)'");
DEFINE_ERROR(OB_OBCONFIG_RETURN_ERROR, -4236, -1, "HY000", "ObConfig return error code");
DEFINE_ERROR(OB_OBCONFIG_APPNAME_MISMATCH, -4237, -1, "HY000", "Appname mismatch with obconfig result");
DEFINE_ERROR(OB_ERR_VIEW_SELECT_DERIVED, -4238, ER_VIEW_SELECT_DERIVED, "HY000", "View's SELECT contains a subquery in the FROM clause");
DEFINE_ERROR(OB_CANT_MJ_PATH, -4239, -1, "HY000", "Can not use merge-join to join the tables without join conditions");
DEFINE_ERROR(OB_ERR_NO_JOIN_ORDER_GENERATED, -4240, -1, "HY000", "No join order generated");
DEFINE_ERROR(OB_ERR_NO_PATH_GENERATED, -4241, -1, "HY000", "No join path generated");
DEFINE_ERROR(OB_ERR_WAIT_REMOTE_SCHEMA_REFRESH, -4242, -1, "HY000", "Schema error");
DEFINE_ERROR_DEP(OB_FILE_NOT_OPENED, -4243, -1, "HY000", "file not opened");
DEFINE_ERROR(OB_TIMER_TASK_HAS_SCHEDULED, -4244, -1, "HY000", "Timer task has been scheduled");
DEFINE_ERROR(OB_TIMER_TASK_HAS_NOT_SCHEDULED, -4245, -1, "HY000", "Timer task has not been scheduled");
DEFINE_ERROR(OB_PARSE_DEBUG_SYNC_ERROR, -4246, -1, "HY000", "parse debug sync string error");
DEFINE_ERROR(OB_UNKNOWN_DEBUG_SYNC_POINT, -4247, -1, "HY000", "unknown debug sync point");
DEFINE_ERROR(OB_ERR_INTERRUPTED, -4248, -1, "HY000", "task is interrupted while running");
DEFINE_ERROR_EXT_DEP(OB_ERR_DATA_TRUNCATED, -4249, WARN_DATA_TRUNCATED, "01000", "Data truncated for argument", "Data truncated for column '%.*s' at row %ld");
// used by modules in partition service only, and not returned to client
DEFINE_ERROR_DEP(OB_NOT_RUNNING, -4250, -1, "HY000", "module is not running");
DEFINE_ERROR(OB_INVALID_PARTITION, -4251, -1, "HY000", "partition not valid");
DEFINE_ERROR(OB_ERR_TIMEOUT_TRUNCATED, -4252, WARN_DATA_TRUNCATED, "01000", "Timeout value truncated to 102 years");
DEFINE_ERROR_EXT(OB_ERR_TOO_LONG_TENANT_COMMENT, -4253, -1, "HY000", "Comment for tenant is too long", "Comment for tenant is too long (max = %ld)");
DEFINE_ERROR(OB_ERR_NET_PACKET_TOO_LARGE, -4254, ER_NET_PACKET_TOO_LARGE, "08S01", "Got a packet bigger than \'max_allowed_packet\' bytes");
DEFINE_ERROR(OB_TRACE_DESC_NOT_EXIST, -4255, -1, "HY000", "trace log title or key not exist describe");
DEFINE_ERROR_EXT(OB_ERR_NO_DEFAULT, -4256, ER_NO_DEFAULT, "42000", "Variable doesn't have a default value", "Variable '%.*s' doesn't have a default value");
DEFINE_ERROR_DEP(OB_ERR_COMPRESS_DECOMPRESS_DATA, -4257, -1, "HY000", "compress data or decompress data failed");
DEFINE_ERROR_EXT_DEP(OB_ERR_INCORRECT_STRING_VALUE, -4258, ER_TRUNCATED_WRONG_VALUE_FOR_FIELD, "HY000", "Incorrect string value", "Incorrect string value for column '%.*s' at row %ld");
DEFINE_ERROR(OB_IS_CHANGING_LEADER, -4260, -1, "HY000", "the partition is changing leader");
DEFINE_ERROR_DEP(OB_DATETIME_FUNCTION_OVERFLOW, -4261, ER_DATETIME_FUNCTION_OVERFLOW, "22008", "Datetime overflow");
DEFINE_ORACLE_ERROR_EXT_DEP(OB_ERR_DOUBLE_TRUNCATED, -4262, ER_TRUNCATED_WRONG_VALUE, "01000", "Truncated incorrect DOUBLE value", "Truncated incorrect DOUBLE value: '%.*s'", 1722, "invalid number", "invalid number: '%.*s'");
DEFINE_ERROR_EXT(OB_MINOR_FREEZE_NOT_ALLOW, -4263, -1, "HY000", "Minor freeze not allowed now", "%s");
DEFINE_ERROR(OB_LOG_OUTOF_DISK_SPACE, -4264, -1, "HY000", "Log out of disk space");
DEFINE_ERROR(OB_RPC_CONNECT_ERROR, -4265, -1, "HY000", "Rpc connect error");
DEFINE_ERROR(OB_MINOR_MERGE_NOT_ALLOW, -4266, -1, "HY000", "minor merge not allow");
DEFINE_ERROR(OB_CACHE_INVALID, -4267, -1, "HY000", "Cache invalid");
DEFINE_ERROR(OB_REACH_SERVER_DATA_COPY_IN_CONCURRENCY_LIMIT, -4268, -1, "HY000", "reach server data copy in concurrency");
DEFINE_ERROR(OB_WORKING_PARTITION_EXIST, -4269, -1, "HY000", "Working partition entry already exists");
DEFINE_ERROR(OB_WORKING_PARTITION_NOT_EXIST, -4270, -1, "HY000", "Working partition entry does not exists");
DEFINE_ERROR(OB_LIBEASY_REACH_MEM_LIMIT, -4271, -1, "HY000", "LIBEASY reach memory limit");
DEFINE_ERROR_DEP(OB_CACHE_FREE_BLOCK_NOT_ENOUGH, -4273, -1, "HY000", "free memblock in cache is not enough");
DEFINE_ERROR(OB_SYNC_WASH_MB_TIMEOUT, -4274, -1, "HY000", "sync wash memblock timeout");
DEFINE_ERROR(OB_NOT_ALLOW_MIGRATE_IN, -4275, -1, "HY000", "not allow migrate in");
DEFINE_ERROR(OB_SCHEDULER_TASK_CNT_MISTACH, -4276, -1, "HY000", "Scheduler task cnt does not match")
DEFINE_ERROR_EXT(OB_MISS_ARGUMENT, -4277, ER_WRONG_ARGUMENTS, "HY000", "Miss argument", "Miss argument for %s");
DEFINE_ERROR_DEP(OB_LAST_LOG_NOT_COMPLETE, -4278, -1, "HY000", "last log is not complete");
DEFINE_ERROR(OB_TABLE_IS_DELETED, -4279, -1, "HY000", "table is deleted");
DEFINE_ERROR(OB_VERSION_RANGE_NOT_CONTINUES, -4280, -1, "HY000", "version range not continues");
DEFINE_ERROR(OB_INVALID_IO_BUFFER, -4281, -1, "HY000", "io buffer is invalid");
DEFINE_ERROR(OB_PARTITION_IS_REMOVED, -4282, -1, "HY000", "partition is removed");
DEFINE_ERROR(OB_GTS_NOT_READY, -4283, -1, "HY000", "gts is not ready");
DEFINE_ERROR(OB_MAJOR_SSTABLE_NOT_EXIST, -4284, -1, "HY000", "major sstable not exist");
DEFINE_ERROR(OB_VERSION_RANGE_DISCARDED, -4285, -1, "HY000", "Request to read too old version range data");
DEFINE_ERROR(OB_MAJOR_SSTABLE_HAS_MERGED, -4286, -1, "HY000", "major sstable may has been merged");
DEFINE_ERROR(OB_MINOR_SSTABLE_RANGE_CROSS, -4287, -1, "HY000", "minor sstable version range cross");
DEFINE_ERROR(OB_MEMTABLE_CANNOT_MINOR_MERGE, -4288, -1, "HY000", "memtable cannot minor merge");
DEFINE_ERROR(OB_TASK_EXIST, -4289, -1, "HY000", "task exist");
DEFINE_ERROR(OB_ALLOCATE_DISK_SPACE_FAILED, -4290, -1, "HY000", "cannot allocate disk space");
DEFINE_ERROR_EXT(OB_CANT_FIND_UDF, -4291, ER_CANT_FIND_UDF, "HY000", "Can't load function", "Can not load function %s");
DEFINE_ERROR_EXT(OB_CANT_INITIALIZE_UDF, -4292, ER_CANT_INITIALIZE_UDF, "HY000", "Can't initialize function", "Can not initialize function '%.*s'");
DEFINE_ERROR(OB_UDF_NO_PATHS, -4293, ER_UDF_NO_PATHS, "HY000", "No paths allowed for shared library");
DEFINE_ERROR_EXT(OB_UDF_EXISTS, -4294, ER_UDF_EXISTS, "HY000", "Function already exists", "Function %.*s already exists");
DEFINE_ERROR_EXT(OB_CANT_OPEN_LIBRARY, -4295, ER_CANT_OPEN_LIBRARY, "HY000", "Can't open shared library", "Can not open shared library '%.*s'");
DEFINE_ERROR_EXT(OB_CANT_FIND_DL_ENTRY, -4296, ER_CANT_FIND_DL_ENTRY, "HY000", "Can't find symbol", "Can't find symbol %.*s in library");
DEFINE_ERROR(OB_OBJECT_NAME_EXIST, -4297, -1, "HY000", "name is already used by an existing object");
DEFINE_ORACLE_ERROR_EXT(OB_OBJECT_NAME_NOT_EXIST, -4298, 4298, "HY000", "object does not exist", "%s does not exist", 2289, "object does not exist", "%s does not exist");
DEFINE_ERROR_EXT(OB_ERR_DUP_ARGUMENT, -4299, ER_DUP_ARGUMENT, "HY000", "Option used twice in statement", "Option '%s' used twice in statement");
DEFINE_ORACLE_ERROR(OB_ERR_INVALID_SEQUENCE_NAME, -4300,-1, "HY000", "invalid sequence name", 2277, "invalid sequence name");
DEFINE_ORACLE_ERROR(OB_ERR_DUP_MAXVALUE_SPEC, -4301,-1, "HY000", "duplicate MAXVALUE/NOMAXVALUE specifications", 2278, "duplicate MAXVALUE/NOMAXVALUE specifications");
DEFINE_ORACLE_ERROR(OB_ERR_DUP_MINVALUE_SPEC, -4302,-1, "HY000", "duplicate MINVALUE/NOMINVALUE specifications", 2279, "duplicate MINVALUE/NOMINVALUE specifications");
DEFINE_ORACLE_ERROR(OB_ERR_DUP_CYCLE_SPEC, -4303,-1, "HY000", "duplicate CYCLE/NOCYCLE specifications", 2280, "duplicate CYCLE/NOCYCLE specifications");
DEFINE_ORACLE_ERROR(OB_ERR_DUP_CACHE_SPEC, -4304,-1, "HY000", "duplicate CACHE/NOCACHE specifications", 2281, "duplicate CACHE/NOCACHE specifications");
DEFINE_ORACLE_ERROR(OB_ERR_DUP_ORDER_SPEC, -4305,-1, "HY000", "duplicate ORDER/NOORDER specifications", 2282, "duplicate ORDER/NOORDER specifications");
DEFINE_ORACLE_ERROR(OB_ERR_CONFL_MAXVALUE_SPEC, -4306,-1, "HY000", "conflicting MAXVALUE/NOMAXVALUE specifications", 2278, "conflicting MAXVALUE/NOMAXVALUE specifications");
DEFINE_ORACLE_ERROR(OB_ERR_CONFL_MINVALUE_SPEC, -4307,-1, "HY000", "conflicting MINVALUE/NOMINVALUE specifications", 2279, "conflicting MINVALUE/NOMINVALUE specifications");
DEFINE_ORACLE_ERROR(OB_ERR_CONFL_CYCLE_SPEC, -4308,-1, "HY000", "conflicting CYCLE/NOCYCLE specifications", 2280, "conflicting CYCLE/NOCYCLE specifications");
DEFINE_ORACLE_ERROR(OB_ERR_CONFL_CACHE_SPEC, -4309,-1, "HY000", "conflicting CACHE/NOCACHE specifications", 2281, "conflicting CACHE/NOCACHE specifications");
DEFINE_ORACLE_ERROR(OB_ERR_CONFL_ORDER_SPEC, -4310,-1, "HY000", "conflicting ORDER/NOORDER specifications", 2282, "conflicting ORDER/NOORDER specifications");
DEFINE_ORACLE_ERROR(OB_ERR_ALTER_START_SEQ_NUMBER_NOT_ALLOWED, -4311,-1, "HY000", "cannot alter starting sequence number", 2283, "cannot alter starting sequence number");
DEFINE_ORACLE_ERROR(OB_ERR_DUP_INCREMENT_BY_SPEC, -4312,-1, "HY000", "duplicate INCREMENT BY specifications", 2284, "duplicate INCREMENT BY specifications",);
DEFINE_ORACLE_ERROR(OB_ERR_DUP_START_WITH_SPEC, -4313,-1, "HY000", "duplicate START WITH specifications", 2285, "duplicate START WITH specifications",);
DEFINE_ORACLE_ERROR(OB_ERR_REQUIRE_ALTER_SEQ_OPTION, -4314,-1, "HY000", "no options specified for ALTER SEQUENCE", 2286, "no options specified for ALTER SEQUENCE");
DEFINE_ORACLE_ERROR(OB_ERR_SEQ_NOT_ALLOWED_HERE, -4315,-1, "HY000", "sequence number not allowed here", 2287, "sequence number not allowed here");
DEFINE_ORACLE_ERROR(OB_ERR_SEQ_NOT_EXIST, -4316,-1, "HY000", "sequence does not exist", 2289, "sequence does not exist");
DEFINE_ORACLE_ERROR_EXT(OB_ERR_SEQ_OPTION_MUST_BE_INTEGER, -4317,-1, "HY000","sequence parameter must be an integer", "sequence parameter %s must be an integer", 4001, "sequence parameter must be an integer","sequence parameter %s must be an integer");
DEFINE_ORACLE_ERROR(OB_ERR_SEQ_INCREMENT_CAN_NOT_BE_ZERO, -4318,-1, "HY000", "INCREMENT must be a nonzero integer", 4002, "INCREMENT must be a nonzero integer");
DEFINE_ORACLE_ERROR(OB_ERR_SEQ_OPTION_EXCEED_RANGE, -4319,-1, "HY000", "sequence parameter exceeds maximum size allowed", 4003, "sequence parameter exceeds maximum size allowed");
DEFINE_ORACLE_ERROR(OB_ERR_MINVALUE_LARGER_THAN_MAXVALUE, -4320,-1, "HY000", "MINVALUE must be less than MAXVALUE", 4004, "MINVALUE must be less than MAXVALUE");
DEFINE_ORACLE_ERROR(OB_ERR_SEQ_INCREMENT_TOO_LARGE, -4321,-1, "HY000", "INCREMENT must be less than MAXVALUE minus MINVALUE", 4005, "INCREMENT must be less than MAXVALUE minus MINVALUE");
DEFINE_ORACLE_ERROR(OB_ERR_START_WITH_LESS_THAN_MINVALUE, -4322,-1, "HY000", "START WITH cannot be less than MINVALUE", 4006, "START WITH cannot be less than MINVALUE");
DEFINE_ORACLE_ERROR(OB_ERR_MINVALUE_EXCEED_CURRVAL, -4323,-1, "HY000", "MINVALUE cannot be made to exceed the current value", 4007, "MINVALUE cannot be made to exceed the current value");
DEFINE_ORACLE_ERROR(OB_ERR_START_WITH_EXCEED_MAXVALUE, -4324,-1, "HY000", "START WITH cannot be more than MAXVALUE", 4008, "START WITH cannot be more than MAXVALUE");
DEFINE_ORACLE_ERROR(OB_ERR_MAXVALUE_EXCEED_CURRVAL, -4325,-1, "HY000", "MAXVALUE cannot be made to be less than the current value", 4009, "MAXVALUE cannot be made to be less than the current value");
DEFINE_ORACLE_ERROR(OB_ERR_SEQ_CACHE_TOO_SMALL, -4326,-1, "HY000", "the number of values to CACHE must be greater than 1", 4010, "the number of values to CACHE must be greater than 1");
DEFINE_ORACLE_ERROR(OB_ERR_SEQ_OPTION_OUT_OF_RANGE, -4327,-1, "HY000", "sequence option value out of range", 4011, "sequence option value out of range");
DEFINE_ORACLE_ERROR(OB_ERR_SEQ_CACHE_TOO_LARGE, -4328,-1, "HY000", "number to CACHE must be less than one cycle", 4013, "number to CACHE must be less than one cycle");
DEFINE_ORACLE_ERROR(OB_ERR_SEQ_REQUIRE_MINVALUE, -4329,-1, "HY000", "descending sequences that CYCLE must specify MINVALUE", 4014, "descending sequences that CYCLE must specify MINVALUE");
DEFINE_ORACLE_ERROR(OB_ERR_SEQ_REQUIRE_MAXVALUE, -4330,-1, "HY000", "ascending sequences that CYCLE must specify MAXVALUE", 4015, "ascending sequences that CYCLE must specify MAXVALUE");
DEFINE_ORACLE_ERROR_EXT(OB_ERR_SEQ_NO_LONGER_EXIST, -4331,-1, "HY000", "sequence no longer exists", "sequence %s no longer exists", 4015, "sequence no longer exists", "sequence %s no longer exists");
DEFINE_ORACLE_ERROR_EXT(OB_ERR_SEQ_VALUE_EXCEED_LIMIT, -4332, -1, "HY000", "sequence exceeds limit and cannot be instantiated", "sequence exceeds %s and cannot be instantiated", 8004, "sequence exceeds limit and cannot be instantiated", "sequence exceeds %s and cannot be instantiated");
DEFINE_ORACLE_ERROR(OB_ERR_DIVISOR_IS_ZERO, -4333,-1, "HY000", "divisor is equal to zero", 1476, "divisor is equal to zero");
DEFINE_ERROR(OB_ERR_AES_DECRYPT, -4334, -1, "HY000", "fail to decrypt data");
DEFINE_ERROR(OB_ERR_AES_ENCRYPT, -4335, -1, "HY000", "fail to encrypt data");
DEFINE_ERROR(OB_ERR_AES_IV_LENGTH, -4336, ER_AES_INVALID_IV, "HY000", "The initialization vector supplied to aes_encrypt is too short. Must be at least 16 bytes long");
DEFINE_ERROR(OB_STORE_DIR_ERROR, -4337, -1, "HY000", "store directory structure error");
DEFINE_ERROR(OB_OPEN_TWICE, -4338, -1, "HY000", "open twice");
DEFINE_ERROR(OB_RAID_SUPER_BLOCK_NOT_MACTH, -4339, -1, "HY000", "raid super block not match");
DEFINE_ERROR(OB_NOT_OPEN, -4340, -1, "HY000", "not opened");
DEFINE_ERROR(OB_NOT_IN_SERVICE, -4341, -1, "HY000", "target module is not in service");
DEFINE_ERROR(OB_RAID_DISK_NOT_NORMAL, -4342, -1, "HY000", "raid disk not in normal status");
DEFINE_ERROR(OB_TENANT_SCHEMA_NOT_FULL, -4343, -1, "HY000", "tenant schema is not full");
DEFINE_ORACLE_ERROR(OB_INVALID_QUERY_TIMESTAMP, -4344, -1, "HY000", "invalid timestamp", 8186, "invalid timestamp");
DEFINE_ERROR(OB_DIR_NOT_EMPTY, -4345, -1, "HY000", "dir not empty");
DEFINE_ERROR(OB_SCHEMA_NOT_UPTODATE, -4346, -1, "HY000", "schema is not up to date for read");
DEFINE_ORACLE_ERROR_EXT(OB_ROLE_NOT_EXIST, -4347, -1, "HY000", "role does not exist", "role '%.*s' does not exist", 1919, "role does not exist", "role '%.*s' does not exist");
DEFINE_ORACLE_ERROR_EXT(OB_ROLE_EXIST, -4348, -1, "HY000", "role exists", "role '%.*s' exists", 1921, "role name conflicts with another user or role name", "role name '%.*s' conflicts with another user or role name");
DEFINE_ORACLE_ERROR(OB_PRIV_DUP, -4349, -1, "HY000", "duplicate privilege listed", 1711, "duplicate privilege listed");
DEFINE_ERROR(OB_KEYSTORE_EXIST, -4350, -1, "HY000", "the keystore already exists and each tenant can only have at most one");
DEFINE_ERROR(OB_KEYSTORE_NOT_EXIST, -4351, -1, "HY000", "the keystore is not exist");
DEFINE_ERROR(OB_KEYSTORE_WRONG_PASSWORD, -4352, -1, "HY000", "the password is wrong for keystore");
DEFINE_ORACLE_ERROR_EXT(OB_TABLESPACE_EXIST, -4353, -1, "HY000", "tablespace already exists", "tablespace '%.*s' already exists", 1543, "tablespace already exists", "tablespace '%.*s' already exists");
DEFINE_ORACLE_ERROR_EXT(OB_TABLESPACE_NOT_EXIST, -4354, -1, "HY000", "tablespace does not exist", "tablespace '%.*s' does not exist", 959, "tablespace does not exist", "tablespace '%.*s' does not exist");
DEFINE_ERROR(OB_TABLESPACE_DELETE_NOT_EMPTY, -4355, -1, "HY000", "cannot delete a tablespace which is not empty");
DEFINE_ORACLE_ERROR(OB_FLOAT_PRECISION_OUT_RANGE, -4356, -1, "HY000", "floating point precision is out of range (1 to 126)", 1724, "floating point precision is out of range (1 to 126)");
DEFINE_ORACLE_ERROR(OB_NUMERIC_PRECISION_OUT_RANGE, -4357, -1, "HY000", "numeric precision specifier is out of range (1 to 38)", 1727, "numeric precision specifier is out of range (1 to 38)");
DEFINE_ORACLE_ERROR(OB_NUMERIC_SCALE_OUT_RANGE, -4358, -1, "HY000", "numeric scale specifier is out of range (-84 to 127)", 1728, "numeric scale specifier is out of range (-84 to 127)");
DEFINE_ERROR(OB_KEYSTORE_NOT_OPEN, -4359, -1, "HY000", "the keystore is not open");
DEFINE_ERROR(OB_KEYSTORE_OPEN_NO_MASTER_KEY, -4360, -1, "HY000", "the keystore opened with dont have a master key");
DEFINE_ERROR(OB_SLOG_REACH_MAX_CONCURRENCY, -4361, -1, "HY000", "slog active transaction entries reach maximum");
DEFINE_ORACLE_ERROR(OB_ERR_BY_ACCESS_OR_SESSION_CLAUSE_NOT_ALLOWED_FOR_NOAUDIT, -4362, -1, "HY000", "BY ACCESS | SESSION clause not allowed for NOAUDIT", 1718, "BY ACCESS | SESSION clause not allowed for NOAUDIT");
DEFINE_ORACLE_ERROR(OB_ERR_AUDITING_THE_OBJECT_IS_NOT_SUPPORTED, -4363, -1, "HY000", "auditing the object is not supported", 1930, "auditing the object is not supported");
DEFINE_ORACLE_ERROR(OB_ERR_DDL_STATEMENT_CANNOT_BE_AUDITED_WITH_BY_SESSION_SPECIFIED, -4364, -1, "HY000", "DDL statement cannot be audited with BY SESSION specified", 32595, "DDL statement cannot be audited with BY SESSION specified");
DEFINE_ERROR(OB_ERR_NOT_VALID_PASSWORD, -4365, ER_NOT_VALID_PASSWORD, "HY000", "Your password does not satisfy the current policy requirements");
DEFINE_ORACLE_ERROR(OB_ERR_MUST_CHANGE_PASSWORD, -4366, ER_MUST_CHANGE_PASSWORD, "HY000", "You must reset your password using ALTER USER statement before executing this statement", 28001, "the password has expired");
DEFINE_ERROR(OB_OVERSIZE_NEED_RETRY, -4367, ER_OVERSIZE_NEED_RETRY, "HY000", "The data more than 64M(rpc limit), split into smaller task and retry");
DEFINE_ERROR(OB_OBCONFIG_CLUSTER_NOT_EXIST, -4368, -1, "HY000", "cluster not exists", "cluster %s not exist");
DEFINE_ERROR(OB_ERR_GET_MASTER_KEY, -4369, -1, "HY000", "fail to get master key");
DEFINE_ERROR(OB_ERR_TDE_METHOD, -4370, -1, "HY000", "tde_method parameter is invalid");
DEFINE_ERROR(OB_KMS_SERVER_CONNECT_ERROR, -4371, -1, "HY000", "kms server connect failed, may be kms server is down");
DEFINE_ERROR(OB_KMS_SERVER_IS_BUSY, -4372, -1, "HY000", "kms server is busy, try again");
DEFINE_ERROR(OB_KMS_SERVER_UPDATE_KEY_CONFLICT, -4373, -1, "HY000", "kms server update key conflict at the same time, please try again");
DEFINE_ORACLE_ERROR(OB_ERR_VALUE_LARGER_THAN_ALLOWED, -4374, -1, "HY000", "value larger than specified precision allowed for this column", 1438, "value larger than specified precision allowed for this column");
DEFINE_ERROR(OB_DISK_ERROR, -4375, -1, "HY000", "observer has disk error");
DEFINE_ORACLE_ERROR(OB_UNIMPLEMENTED_FEATURE, -4376, -1, "HY000", "unimplemented feature", 3001, "unimplemented feature");
DEFINE_ERROR_EXT(OB_ERR_DEFENSIVE_CHECK, -4377, -1, "HY000", "fatal internal error", "fatal internal error in [%.*s]");
DEFINE_ERROR(OB_CLUSTER_NAME_HASH_CONFLICT, -4378, -1, "HY000", "cluster name conflict");
DEFINE_ERROR(OB_HEAP_TABLE_EXAUSTED, -4379, -1, "HY000", "heap table has reached max row size, cannot insert anymore");
DEFINE_ORACLE_ERROR(OB_ERR_INDEX_KEY_NOT_FOUND, -4380, -1, "HY000", "index key not found", 8102, "index key not found");
DEFINE_ERROR(OB_UNSUPPORTED_DEPRECATED_FEATURE, -4381, -1, "HY000", "Not supported, deprecated %s feature");
DEFINE_ORACLE_ERROR(OB_ERR_DUP_RESTART_SPEC, -4382,-1, "HY000", "duplicate RESTART specified", 64601, "duplicate RESTART specified");
DEFINE_ERROR(OB_GTI_NOT_READY, -4383, -1, "HY000", "transaction id is not ready");
DEFINE_ERROR(OB_STACK_OVERFLOW, -4385, -1, "HY000", "stack overflow");
DEFINE_ERROR(OB_NOT_ALLOW_REMOVING_LEADER, -4386, -1, "HY000", "Do not allow removing leader");
DEFINE_ERROR(OB_NEED_SWITCH_CONSUMER_GROUP, -4387, 13937, "HY000", "Failed to switch resource group");
DEFINE_ERROR_DEP(OB_UNEXPECT_INTERNAL_ERROR, -4388, -1, "HY000", "Unexpected internal error happen, please checkout the internal errcode");
DEFINE_ERROR_DEP(OB_ERR_TOO_MUCH_TIME, -4389, -1, "HY000", "Processing time is too long");
DEFINE_ERROR(OB_ERR_REMOTE_SCHEMA_NOT_FULL, -4390, -1, "HY000", "Schema of remote server is not refreshed yet");
DEFINE_ERROR(OB_DDL_SSTABLE_RANGE_CROSS, -4391, -1, "HY000", "ddl sstable version range cross");
DEFINE_ERROR(OB_DISK_HUNG, -4392, -1, "HY000", "disk is hung");
DEFINE_ERROR(OB_ERR_OBSERVER_START, -4393, -1, "HY000", "observer start process failure");
DEFINE_ERROR(OB_ERR_OBSERVER_STOP, -4394, -1, "HY000", "observer stop process failure");
DEFINE_ERROR(OB_ERR_OBSERVICE_START, -4395, -1, "HY000", "observice start process has failure");
DEFINE_ERROR_DEP(OB_ERR_THREAD_PANIC, -4396, -1, "HY000", "Worker thread panic, thread may be terminated or hung");
DEFINE_ERROR(OB_ENCODING_EST_SIZE_OVERFLOW, -4397, -1, "HY000", "Encoding estimated size overflow");
DEFINE_ORACLE_ERROR(OB_INVALID_SUB_PARTITION_TYPE, -4398, 1500, "HY000", "It is only possible to mix RANGE/LIST partitioning with HASH/KEY partitioning for subpartitioning", 14020, "this physical attribute may not be specified for a table partition");
DEFINE_ERROR(OB_ERR_UNEXPECTED_UNIT_STATUS, -4399, -1, "HY000", "Unit status is not expected");
DEFINE_ERROR(OB_AUTOINC_CACHE_NOT_EQUAL, -4400, -1, "HY000", "Autoinc cache's autoinc version is not equal to request's autoinc version");
DEFINE_ORACLE_ERROR(OB_ERR_KILL_CLIENT_SESSION, -4401, 4401, "HY000", "Client Session need be killed", 4401, "Client Session need be killed");
DEFINE_ERROR(OB_ERR_KILL_CLIENT_SESSION_FAILED, -4402, -1, "HY000", "Kill Client Session failed");

DEFINE_ERROR(OB_IMPROPER_OS_PARAM, -4403, -1, "HY000", "OS params check failed, because the operating system has improper parameter configurations");
////////////////////////////////////////////////////////////////
//error code for root server & server management -4500 ---- -5000
////////////////////////////////////////////////////////////////
DEFINE_ERROR(OB_IMPORT_NOT_IN_SERVER, -4505, -1, "HY000", "Import not in service");
DEFINE_ERROR(OB_CONVERT_ERROR, -4507, -1, "42000", "Convert error");
DEFINE_ERROR(OB_BYPASS_TIMEOUT, -4510, -1, "HY000", "Bypass timeout");
DEFINE_ERROR(OB_RS_STATE_NOT_ALLOW, -4512, -1, "HY000", "RootServer state error");
DEFINE_ERROR(OB_NO_REPLICA_VALID, -4515, -1, "HY000", "No replica is valid");
DEFINE_ERROR(OB_NO_NEED_UPDATE, -4517, -1, "HY000", "No need to update");
DEFINE_ERROR(OB_CACHE_TIMEOUT, -4518, -1, "HY000", "Cache timeout");
DEFINE_ERROR(OB_ITER_STOP, -4519, -1, "HY000", "Iteration was stopped");
DEFINE_ERROR(OB_ZONE_ALREADY_MASTER, -4523, -1, "HY000", "The zone is the master already");
DEFINE_ERROR(OB_IP_PORT_IS_NOT_SLAVE_ZONE, -4524, -1, "HY000", "Not slave zone");
DEFINE_ERROR(OB_ZONE_IS_NOT_SLAVE, -4525, -1, "HY000", "Not slave zone");
DEFINE_ERROR(OB_ZONE_IS_NOT_MASTER, -4526, -1, "HY000", "Not master zone");
DEFINE_ERROR(OB_CONFIG_NOT_SYNC, -4527, -1, "F0000", "Configuration not sync");
DEFINE_ERROR(OB_IP_PORT_IS_NOT_ZONE, -4528, -1, "42000", "Not a zone address");
DEFINE_ERROR(OB_MASTER_ZONE_NOT_EXIST, -4529, -1, "HY000", "Master zone not exist");
DEFINE_ERROR_EXT(OB_ZONE_INFO_NOT_EXIST, -4530, -1, "HY000", "Zone info not exist", "Zone info \'%s\' not exist");
DEFINE_ERROR(OB_GET_ZONE_MASTER_UPS_FAILED, -4531, -1, "HY000", "Failed to get master UpdateServer");
DEFINE_ERROR(OB_MULTIPLE_MASTER_ZONES_EXIST, -4532, -1, "HY000", "Multiple master zones");
DEFINE_ERROR(OB_INDEXING_ZONE_INVALID, -4533, -1, "HY000", "indexing zone is not exist anymore or not active");
DEFINE_ERROR(OB_ROOT_TABLE_RANGE_NOT_EXIST, -4537, -1, "HY000", "Tablet range not exist");
DEFINE_ERROR(OB_ROOT_MIGRATE_CONCURRENCY_FULL, -4538, -1, "HY000", "Migrate concurrency full");
DEFINE_ERROR(OB_ROOT_MIGRATE_INFO_NOT_FOUND, -4539, -1, "HY000", "Migrate info not found");
DEFINE_ERROR(OB_NOT_DATA_LOAD_TABLE, -4540, -1, "HY000", "No data to load");
DEFINE_ERROR(OB_DATA_LOAD_TABLE_DUPLICATED, -4541, -1, "HY000", "Duplicated table data to load");
DEFINE_ERROR(OB_ROOT_TABLE_ID_EXIST, -4542, -1, "HY000", "Table ID exist");
DEFINE_ERROR(OB_INDEX_TIMEOUT, -4543, -1, "HY000", "Building index timeout");
DEFINE_ERROR(OB_ROOT_NOT_INTEGRATED, -4544, -1, "42000", "Root not integrated");
DEFINE_ERROR(OB_INDEX_INELIGIBLE, -4545, -1, "HY000", "index data not unique");
DEFINE_ERROR(OB_REBALANCE_EXEC_TIMEOUT, -4546, -1, "HY000", "execute replication or migration task timeout");
DEFINE_ERROR(OB_MERGE_NOT_STARTED, -4547, -1, "HY000", "global merge not started");
DEFINE_ERROR(OB_MERGE_ALREADY_STARTED, -4548, -1, "HY000", "merge already started");
DEFINE_ERROR(OB_ROOTSERVICE_EXIST, -4549, -1, "HY000", "rootservice already exist");
DEFINE_ERROR(OB_RS_SHUTDOWN, -4550, -1, "HY000", "rootservice is shutdown");
DEFINE_ERROR(OB_SERVER_MIGRATE_IN_DENIED, -4551, -1, "HY000", "server migrate in denied");
DEFINE_ERROR(OB_REBALANCE_TASK_CANT_EXEC, -4552, -1, "HY000", "rebalance task can not executing now");
DEFINE_ERROR(OB_PARTITION_CNT_REACH_ROOTSERVER_LIMIT, -4553, -1, "HY000", "rootserver can not hold more partition");
DEFINE_ERROR(OB_REBALANCE_TASK_NOT_IN_PROGRESS, -4554, -1, "HY000", "rebalance task not in progress on observer");
DEFINE_ERROR(OB_DATA_SOURCE_NOT_EXIST, -4600, -1, "HY000", "Data source not exist");
DEFINE_ERROR(OB_DATA_SOURCE_TABLE_NOT_EXIST, -4601, -1, "HY000", "Data source table not exist");
DEFINE_ERROR(OB_DATA_SOURCE_RANGE_NOT_EXIST, -4602, -1, "HY000", "Data source range not exist");
DEFINE_ERROR(OB_DATA_SOURCE_DATA_NOT_EXIST, -4603, -1, "HY000", "Data source data not exist");
DEFINE_ERROR(OB_DATA_SOURCE_SYS_ERROR, -4604, -1, "HY000", "Data source sys error");
DEFINE_ERROR(OB_DATA_SOURCE_TIMEOUT, -4605, -1, "HY000", "Data source timeout");
DEFINE_ERROR(OB_DATA_SOURCE_CONCURRENCY_FULL, -4606, -1, "53000", "Data source concurrency full");
DEFINE_ERROR(OB_DATA_SOURCE_WRONG_URI_FORMAT, -4607, -1, "42000", "Data source wrong URI format");

DEFINE_ERROR(OB_SSTABLE_VERSION_UNEQUAL, -4608, -1, "42000", "SSTable version not equal");
DEFINE_ERROR(OB_UPS_RENEW_LEASE_NOT_ALLOWED, -4609, -1, "HY000", "ups should not renew its lease");
DEFINE_ERROR(OB_UPS_COUNT_OVER_LIMIT, -4610, -1, "HY000", "ups count over limit");
DEFINE_ERROR(OB_NO_UPS_MAJORITY, -4611, -1, "HY000", "ups not form a majority");
DEFINE_ERROR(OB_INDEX_COUNT_REACH_THE_LIMIT, -4613, -1, "HY000", "created index tables count has reach the limit:128");
DEFINE_ERROR(OB_TASK_EXPIRED, -4614, -1, "HY000", "task expired");
DEFINE_ERROR(OB_TABLEGROUP_NOT_EMPTY, -4615, -1, "HY000", "tablegroup is not empty");
DEFINE_ERROR(OB_INVALID_SERVER_STATUS, -4620, -1, "HY000", "server status is not valid");
DEFINE_ERROR(OB_WAIT_ELEC_LEADER_TIMEOUT, -4621, -1, "HY000", "wait elect partition leader timeout");
DEFINE_ERROR(OB_WAIT_ALL_RS_ONLINE_TIMEOUT, -4622, -1, "HY000", "wait all rs online timeout");
DEFINE_ERROR(OB_ALL_REPLICAS_ON_MERGE_ZONE, -4623, -1, "HY000", "all replicas of partition group are on zones to merge");
DEFINE_ERROR_EXT(OB_MACHINE_RESOURCE_NOT_ENOUGH, -4624, -1, "HY000", "machine resource is not enough to hold a new unit", "zone '%s' server \'%s\' %s resource is not enough to hold a new unit");
DEFINE_ERROR(OB_NOT_SERVER_CAN_HOLD_SOFTLY, -4625, -1, "HY000", "not server can hold the unit and not over soft limit");
DEFINE_ERROR_EXT(OB_RESOURCE_POOL_ALREADY_GRANTED, -4626, -1, "HY000", "resource pool has already been granted to a tenant", "resource pool \'%s\' has already been granted to a tenant");
DEFINE_ERROR(OB_SERVER_ALREADY_DELETED, -4628, -1, "HY000", "server has already been deleted");
DEFINE_ERROR(OB_SERVER_NOT_DELETING, -4629, -1, "HY000", "server is not in deleting status");
DEFINE_ERROR(OB_SERVER_NOT_IN_WHITE_LIST, -4630, -1, "HY000", "server not in server white list");
DEFINE_ERROR(OB_SERVER_ZONE_NOT_MATCH, -4631, -1, "HY000", "server zone not match");
DEFINE_ERROR(OB_OVER_ZONE_NUM_LIMIT, -4632, -1, "HY000", "zone num has reach max zone num");
DEFINE_ERROR(OB_ZONE_STATUS_NOT_MATCH, -4633, -1, "HY000", "zone status not match");
DEFINE_ERROR_EXT(OB_RESOURCE_UNIT_IS_REFERENCED, -4634, -1, "HY000", "resource unit is referenced by resource pool", "resource unit \'%s\' is referenced by some resource pool");
DEFINE_ERROR(OB_DIFFERENT_PRIMARY_ZONE, -4636, -1, "HY000", "table schema primary zone different with other table in same tablegroup");
DEFINE_ERROR(OB_SERVER_NOT_ACTIVE, -4637, -1, "HY000", "server is not active");
DEFINE_ERROR(OB_RS_NOT_MASTER, -4638, -1, "HY000", "The RootServer is not the master");
DEFINE_ERROR(OB_CANDIDATE_LIST_ERROR, -4639, -1, "HY000", "The candidate list is invalid");
DEFINE_ERROR(OB_PARTITION_ZONE_DUPLICATED, -4640, -1, "HY000", "The chosen partition servers belong to same zone.");
DEFINE_ERROR_EXT(OB_ZONE_DUPLICATED, -4641, -1, "HY000", "Duplicated zone in zone list", "Duplicated zone \'%s\' in zone list %s");
DEFINE_ERROR(OB_NOT_ALL_ZONE_ACTIVE, -4642, -1, "HY000", "Not all zone in zone list are active");
DEFINE_ERROR_EXT(OB_PRIMARY_ZONE_NOT_IN_ZONE_LIST, -4643, -1, "HY000", "primary zone not in zone list", "primary zone \'%s\' not in zone list %s");
DEFINE_ERROR(OB_REPLICA_NUM_NOT_MATCH, -4644, -1, "HY000", "replica num not same with zone count");
DEFINE_ERROR_EXT(OB_ZONE_LIST_POOL_LIST_NOT_MATCH, -4645, -1, "HY000", "zone list not a subset of  resource pool list", "zone list %s not a subset of resource pool zone list %s");
DEFINE_ERROR_EXT(OB_INVALID_TENANT_NAME, -4646, -1, "HY000", "tenant name is too long", "tenant name \'%s\' over max_tenant_name_length %ld");
DEFINE_ERROR(OB_EMPTY_RESOURCE_POOL_LIST, -4647, -1, "HY000", "resource pool list is empty");
DEFINE_ERROR_EXT(OB_RESOURCE_UNIT_NOT_EXIST, -4648, -1, "HY000", "resource unit not exist", "resource unit \'%s\' not exist");
DEFINE_ERROR_EXT(OB_RESOURCE_UNIT_EXIST, -4649, -1, "HY000", "resource unit already exist", "resource unit \'%s\' already exist");
DEFINE_ERROR_EXT(OB_RESOURCE_POOL_NOT_EXIST, -4650, -1, "HY000", "resource pool not exist", "resource pool \'%s\' not exist");
DEFINE_ERROR_EXT(OB_RESOURCE_POOL_EXIST, -4651, -1, "HY000", "resource pool already exist", "resource pool \'%s\' exist");
DEFINE_ERROR(OB_WAIT_LEADER_SWITCH_TIMEOUT, -4652, -1, "HY000", "wait leader switch timeout");
DEFINE_ERROR(OB_LOCATION_NOT_EXIST, -4653, -1, "HY000", "location not exist");
DEFINE_ERROR(OB_LOCATION_LEADER_NOT_EXIST, -4654, -1, "HY000", "location leader not exist");
DEFINE_ERROR(OB_ZONE_NOT_ACTIVE, -4655, -1, "HY000", "zone not active");
DEFINE_ERROR(OB_UNIT_NUM_OVER_SERVER_COUNT, -4656, -1, "HY000", "resource pool unit num is bigger than zone server count");
DEFINE_ERROR_EXT(OB_POOL_SERVER_INTERSECT, -4657, -1, "HY000", "resource pool list unit server intersect", "resource pool list %s unit servers intersect");
DEFINE_ERROR_EXT(OB_NOT_SINGLE_RESOURCE_POOL, -4658, -1, "HY000", "create tenant only support single resource pool now", "create tenant only support single resource pool now, but pool list is %s");
DEFINE_ERROR_EXT(OB_RESOURCE_UNIT_VALUE_BELOW_LIMIT, -4659, -1, "HY000", "resource unit value is below limit", "invalid %s value, min value is %s");
DEFINE_ERROR_EXT(OB_STOP_SERVER_IN_MULTIPLE_ZONES, -4660, -1, "HY000", "Can not stop server in multiple zones", "%s");
DEFINE_ERROR(OB_SESSION_ENTRY_EXIST, -4661, -1, "HY000", "Session already exist");
DEFINE_ERROR_EXT(OB_GOT_SIGNAL_ABORTING, -4662, ER_GOT_SIGNAL, "01000", "Got signal. Aborting!", "%s: Got signal %d. Aborting!");
DEFINE_ERROR(OB_SERVER_NOT_ALIVE, -4663, -1, "HY000", "server is not alive");
DEFINE_ERROR(OB_GET_LOCATION_TIME_OUT, -4664, 4012, "HY000", "Timeout");
DEFINE_ERROR(OB_UNIT_IS_MIGRATING, -4665, -1, "HY000", "Unit is migrating, can not migrate again");
DEFINE_ERROR_EXT(OB_CLUSTER_NO_MATCH, -4666, -1, "HY000", "cluster name does not match", "cluster name does not match to \'%s\'");
DEFINE_ERROR(OB_CHECK_ZONE_MERGE_ORDER, -4667, -1, "HY000", "Please check new zone in zone_merge_order. You can show parameters like 'zone_merge_order'");
DEFINE_ERROR_EXT(OB_ERR_ZONE_NOT_EMPTY, -4668, -1, "HY000", "zone not empty", "The zone is not empty and can not be deleted. You should delete the servers of the zone. There are %ld servers alive and %ld not alive.");
DEFINE_ERROR(OB_DIFFERENT_LOCALITY, -4669, -1, "HY000", "locality not match, check it");
DEFINE_ERROR(OB_EMPTY_LOCALITY, -4670, -1, "HY000", "locality is empty")
DEFINE_ERROR(OB_FULL_REPLICA_NUM_NOT_ENOUGH, -4671, -1, "HY000", "full replica num not enough")
DEFINE_ERROR(OB_REPLICA_NUM_NOT_ENOUGH, -4672, -1, "HY000", "replica num not enough")
DEFINE_ERROR(OB_DATA_SOURCE_NOT_VALID, -4673, -1, "HY000", "Data source not valid");
DEFINE_ERROR(OB_RUN_JOB_NOT_SUCCESS, -4674, -1, "HY000", "run job not success yet");
DEFINE_ERROR(OB_NO_NEED_REBUILD, -4675, -1, "HY000", "no need to rebuild");
DEFINE_ERROR(OB_NEED_REMOVE_UNNEED_TABLE, -4676, -1, "HY000", "need remove unneed table");
DEFINE_ERROR(OB_NO_NEED_MERGE, -4677, -1, "HY000", "no need to merge");
DEFINE_ERROR_EXT(OB_CONFLICT_OPTION, -4678, -1, "HY000", "conflicting specifications", "conflicting %.*s specifications");
DEFINE_ERROR_EXT(OB_DUPLICATE_OPTION, -4679, -1, "HY000", "duplicate specifications", "duplicate %.*s specifications");
DEFINE_ERROR_EXT(OB_INVALID_OPTION, -4680, -1, "HY000", "invalid specifications", "%s");
DEFINE_ERROR_EXT(OB_RPC_NEED_RECONNECT, -4681, -1, "HY000", "rpc need reconnect", "%s");
DEFINE_ERROR(OB_CANNOT_COPY_MAJOR_SSTABLE, -4682, -1, "HY000", "cannot copy major sstable now");
DEFINE_ERROR(OB_SRC_DO_NOT_ALLOWED_MIGRATE, -4683, -1, "HY000", "src do not allowed migrate");
DEFINE_ERROR(OB_TOO_MANY_TENANT_PARTITIONS_ERROR, -4684, -1, "HY000", "Too many partitions were defined for this tenant");
DEFINE_ERROR(OB_ACTIVE_MEMTBALE_NOT_EXSIT, -4685, -1, "HY000", "active memtable not exist");
DEFINE_ERROR(OB_USE_DUP_FOLLOW_AFTER_DML, -4686, -1, "HY000", "Should use leader replica for duplicate table after DML operator");
DEFINE_ERROR(OB_NO_DISK_NEED_REBUILD, -4687, -1, "HY000", "no disk need rebuild");
DEFINE_ORACLE_ERROR(OB_STANDBY_READ_ONLY, -4688, -1, "HY000", "standby tenant is read only", 16000, "standby tenant is read only");
DEFINE_ERROR(OB_INVALD_WEB_SERVICE_CONTENT, -4689, -1, "HY000", "web service content not valid");
DEFINE_ERROR(OB_PRIMARY_CLUSTER_EXIST, -4690, -1, "HY000", "other primary cluster already exist, can not start as primary");
DEFINE_ERROR(OB_ARRAY_BINDING_SWITCH_ITERATOR, -4691, -1, "HY000", "array binding needs to switch iterator");
DEFINE_ERROR(OB_ERR_STANDBY_CLUSTER_NOT_EMPTY, -4692, -1, "HY000", "standby cluster not empty");
DEFINE_ERROR(OB_NOT_PRIMARY_CLUSTER, -4693, -1, "HY000", "not primary cluster");
DEFINE_ERROR(OB_ERR_CHECK_DROP_COLUMN_FAILED, -4694, -1, "HY000", "check drop column failed");
DEFINE_ERROR(OB_NOT_STANDBY_CLUSTER, -4695, -1, "HY000", "not standby cluster");
DEFINE_ERROR(OB_CLUSTER_VERSION_NOT_COMPATIBLE, -4696, -1, "HY000", "cluster version not compatible");
DEFINE_ERROR(OB_WAIT_TRANS_TABLE_MERGE_TIMEOUT, -4697, -1, "HY000", "wait trans table merge finish timeout");
DEFINE_ERROR(OB_SKIP_RENEW_LOCATION_BY_RPC, -4698, -1, "HY000", "skip renew location by rpc");
DEFINE_ERROR(OB_RENEW_LOCATION_BY_RPC_FAILED, -4699, -1, "HY000", "renew location by rpc failed");
DEFINE_ERROR(OB_CLUSTER_ID_NO_MATCH, -4700, -1, "HY000", "cluster id does not match");
DEFINE_ORACLE_ERROR(OB_ERR_PARAM_INVALID, -4701, -1, "HY000", "parameter cannot be modified because specified value is invalid", 2097, "parameter cannot be modified because specified value is invalid");
DEFINE_ORACLE_ERROR_EXT(OB_ERR_RES_OBJ_ALREADY_EXIST, -4702, -1, "HY000", "resource object already exists", "%s %.*s already exists", 29357, "resource object already exists", "%s %.*s already exists");
DEFINE_ORACLE_ERROR_EXT(OB_ERR_RES_PLAN_NOT_EXIST, -4703, -1, "HY000", "resource plan does not exist", "resource plan %.*s does not exist", 29358, "resource plan does not exist", "resource plan %.*s does not exist");
DEFINE_ORACLE_ERROR_EXT(OB_ERR_PERCENTAGE_OUT_OF_RANGE, -4704, -1, "HY000", "value is outside valid range of 0 to 100", "value %ld for %s is outside valid range of 0 to 100", 29361, "value is outside valid range of 0 to 100", "value %ld for %s is outside valid range of 0 to 100");
DEFINE_ORACLE_ERROR_EXT(OB_ERR_PLAN_DIRECTIVE_NOT_EXIST, -4705, -1, "HY000", "plan directive does not exist", "plan directive %.*s, %.*s does not exist", 29362, "plan directive does not exist", "plan directive %.*s, %.*s does not exist");
DEFINE_ORACLE_ERROR_EXT(OB_ERR_PLAN_DIRECTIVE_ALREADY_EXIST, -4706, -1, "HY000", "plan directive already exists", "plan directive %.*s, %.*s already exists", 29364, "plan directive already exists", "plan directive %.*s, %.*s already exists");
DEFINE_ORACLE_ERROR_EXT(OB_ERR_INVALID_PLAN_DIRECTIVE_NAME, -4707, -1, "HY000", "plan directive name not supported.", "plan directive name '%.*s' not supported." , 29366, "plan directive name not supported.", "plan directive name '%.*s' not supported.");
DEFINE_ERROR_EXT(OB_FAILOVER_NOT_ALLOW, -4708, -1, "HY000", "Failover is not allowed", "%s");
DEFINE_ERROR_EXT(OB_ADD_CLUSTER_NOT_ALLOWED, -4709, -1, "HY000", "Add cluster not allowed.", "Add cluster not allowed. Actions: %s");
DEFINE_ORACLE_ERROR_EXT(OB_ERR_CONSUMER_GROUP_NOT_EXIST, -4710, -1, "HY000", "consumer group does not exist", "consumer group %.*s does not exist", 29368, "consumer group does not exist", "consumer group %.*s does not exist");
DEFINE_ERROR_EXT(OB_CLUSTER_NOT_ACCESSIBLE, -4711, -1, "HY000", "cluster is not accessible", "cluster is not accessible, cluster_id: %ld");
DEFINE_ERROR_EXT(OB_TENANT_RESOURCE_UNIT_EXIST, -4712, -1, "HY000", "tenant already has resource unit configured", "tenant already has resource unit configured, tenant_id: %ld, observer: \'%s\'");
DEFINE_ERROR_EXT(OB_ERR_DROP_TRUNCATE_PARTITION_REBUILD_INDEX, -4713, -1, "HY000", "rebuild global index failed when drop/truncate partitions", "rebuild global index:'%.*s' failed when drop/truncate partitions");
DEFINE_ORACLE_ERROR(OB_ERR_ATLER_TABLE_ILLEGAL_FK, -4714, -1, "HY000", "unique/primary keys in table referenced by enabled foreign keys", 02266, "unique/primary keys in table referenced by enabled foreign keys");
DEFINE_ORACLE_ERROR(OB_ERR_NO_RESOURCE_MANAGER_PRIVILEGE, -4715, -1, "HY000", "insufficient Resource Manager privileges", 56713, "insufficient Resource Manager privileges");
DEFINE_ERROR(OB_LEADER_COORDINATOR_NEED_RETRY, -4716, -1, "HY000", "leader coordinator needs retry");
DEFINE_ERROR(OB_REBALANCE_TASK_NEED_RETRY, -4717, -1, "HY000", "rebalance task needs retry");
DEFINE_ORACLE_ERROR(OB_ERR_RES_MGR_PLAN_NOT_EXIST, -4718, -1, "HY000", "specified resource manager plan does not exist in the data dictionary", 7452, "specified resource manager plan does not exist in the data dictionary");

// for log stream and tablet
DEFINE_ERROR(OB_LS_NOT_EXIST, -4719, -1, "HY000", "log stream does not exist");
DEFINE_ERROR(OB_TOO_MANY_TENANT_LS, -4720, -1, "HY000", "too many log streams were defined for this tenant");
DEFINE_ERROR(OB_LS_LOCATION_NOT_EXIST, -4721, -1, "HY000", "log stream location does not exist");
DEFINE_ERROR(OB_LS_LOCATION_LEADER_NOT_EXIST, -4722, -1, "HY000", "log stream location leader does not exist");
DEFINE_ERROR(OB_MAPPING_BETWEEN_TABLET_AND_LS_NOT_EXIST, -4723, -1, "HY000", "mapping between tablet and log stream does not exist");
DEFINE_ERROR(OB_TABLET_EXIST, -4724, -1, "HY000", "unexpected tablet existence");
DEFINE_ERROR(OB_TABLET_NOT_EXIST, -4725, -1, "HY000", "tablet does not exist");

DEFINE_ERROR(OB_ERR_STANDBY_STATUS, -4726, -1, "HY000", "check standby cluster status");
DEFINE_ERROR(OB_LS_NEED_REVOKE, -4727, -1, "HY000", "ls need revoke");
DEFINE_ERROR_DEP(OB_ERR_INTERVAL_PARTITION_EXIST, -4728, -1, "HY000", "interval partition already exists");
DEFINE_ERROR_DEP(OB_ERR_INTERVAL_PARTITION_ERROR, -4729, -1, "HY000", "the property of interval partition is changed");
DEFINE_ORACLE_ERROR(OB_ERR_LAST_PARTITION_IN_THE_RANGE_SECTION_CANNOT_BE_DROPPED, -4730, -1, "HY000", "Last partition in the range section cannot be dropped", 14758, "Last partition in the range section cannot be dropped");
DEFINE_ORACLE_ERROR(OB_ERR_SET_INTERVAL_IS_NOT_LEGAL_ON_THIS_TABLE, -4731, -1, "HY000", "SET INTERVAL is not legal on this table.", 14759, "SET INTERVAL is not legal on this table.");
DEFINE_ERROR_EXT(OB_CHECK_CLUSTER_STATUS, -4732, -1, "HY000", "check cluster status", "%s");
DEFINE_ERROR_EXT(OB_ZONE_RESOURCE_NOT_ENOUGH, -4733, -1, "HY000", "zone resource is not enough to hold new units", "zone '%s' resource not enough to hold %ld unit. You can check resource info by views: DBA_OB_UNITS, GV$OB_UNITS, GV$OB_SERVERS.\n%s");
DEFINE_ERROR_EXT(OB_ZONE_SERVER_NOT_ENOUGH, -4734, -1, "HY000", "zone server not enough to hold all units", "zone '%s' server not enough to hold %ld new unit, please check zone valid servers");
DEFINE_ERROR(OB_SSTABLE_NOT_EXIST, -4735, -1, "HY000", "sstable not exist");
DEFINE_ERROR(OB_RESOURCE_UNIT_VALUE_INVALID, -4736, -1, "HY000", "resource unit value is invalid");
DEFINE_ERROR(OB_LS_EXIST, -4737, -1, "HY000", "log stream already exist");
DEFINE_ERROR(OB_DEVICE_EXIST, -4738, -1, "HY000", "Unexpected device existence");
DEFINE_ERROR(OB_DEVICE_NOT_EXIST, -4739, -1, "HY000", "Device does not exist");
DEFINE_ERROR(OB_LS_REPLICA_TASK_RESULT_UNCERTAIN, -4740, -1, "HY000", "log stream replica task result is uncertain");
DEFINE_ERROR(OB_WAIT_REPLAY_TIMEOUT, -4741, -1, "HY000", "log stream wait log replay timeout");
DEFINE_ERROR(OB_WAIT_TABLET_READY_TIMEOUT, -4742, -1, "HY000", "log stream wait tablet ready timeout");
DEFINE_ERROR(OB_FREEZE_SERVICE_EPOCH_MISMATCH, -4743, -1, "HY000", "freeze service epoch is not expected");
DEFINE_ERROR_EXT_DEP(OB_FROZEN_INFO_ALREADY_EXIST, -4744, -1, "HY000", "already exist larger frozen_scn in __all_freeze_info", "%s");
DEFINE_ERROR_EXT(OB_DELETE_SERVER_NOT_ALLOWED, -4745, -1, "HY000", "delete server not allowed", "%s");
DEFINE_ERROR(OB_PACKET_STATUS_UNKNOWN, -4746, -1, "HY000", "Network error and packet status unknown. Abort auto retry.");
DEFINE_ERROR_EXT(OB_ARBITRATION_SERVICE_NOT_EXIST, -4747, -1, "HY000", "arbitration service does not exist", "arbitration service does not exist, %s");
DEFINE_ERROR_EXT(OB_ARBITRATION_SERVICE_ALREADY_EXIST, -4748, -1, "HY000", "arbitration service already exist", "arbitration service already exist, %s");
DEFINE_ERROR_EXT(OB_UNEXPECTED_TABLET_STATUS, -4749, -1, "HY000", "unexpected tablet status", "%s");
DEFINE_ERROR_EXT(OB_INVALID_TABLE_STORE, -4750, -1, "HY000", "invalid table store", "%s");
DEFINE_ERROR(OB_WAIT_DEGRATION_TIMEOUT, -4751, -1, "HY000", "wait degration finished timeout")
DEFINE_ERROR(OB_ERR_ROOTSERVICE_START, -4752, -1, "HY000", "rootservice start process has failure");
DEFINE_ERROR(OB_ERR_ROOTSERVICE_STOP, -4753, -1, "HY000", "rootservice stop process has failure");
DEFINE_ERROR(OB_ERR_ROOT_INSPECTION, -4754, -1, "HY000", "root inspection is not passed");
DEFINE_ERROR(OB_ERR_ROOTSERVICE_THREAD_HUNG, -4755, -1, "HY000", "rootservice background thread may be hung");
DEFINE_ERROR(OB_MIGRATE_NOT_COMPATIBLE, -4756, -1, "HY000", "Migration src and dest version is not compatible.");
DEFINE_ERROR(OB_CLUSTER_INFO_MAYBE_REMAINED, -4757, -1, "HY000", "Cluster info may remain on arbitration server '%.*s', please make sure whether to use ob_admin to clean it.");
DEFINE_ERROR(OB_ARBITRATION_INFO_QUERY_FAILED, -4758, -1, "HY000", "the arbitration service may be unavailable, please check and retry");
DEFINE_ERROR(OB_IGNORE_ERR_ACCESS_VIRTUAL_TABLE, -4759, -1, "HY000", "An error was ignored when accessing virtual table, actual error code: %d");
DEFINE_ERROR(OB_LS_OFFLINE, -4760, -1, "HY000", "log stream is offline");
DEFINE_ERROR(OB_LS_IS_DELETED, -4761, -1, "HY000", "log stream is deleted");
DEFINE_ERROR(OB_SKIP_CHECKING_LS_STATUS, -4762, -1, "HY000", "This operation has been finished without checking ls status");
DEFINE_ORACLE_ERROR(OB_ERR_USE_ROWID_FOR_UPDATE, -4763, -1, "HY000", "invalid user.table.column, table.column, or column specification", 1747, "invalid user.table.column, table.column, or column specification");
DEFINE_ORACLE_ERROR_EXT(OB_ERR_UNKNOWN_SET_OPTION, -4764, -1, "HY000", "unknown SET option", "unknown SET option \'%s\'", 600, "unknown SET option", "unknown SET option \'%s\'");
DEFINE_ERROR_EXT_DEP(OB_CREATE_STANDBY_TENANT_FAILED, -4765, -1, "HY000", "create standby tenant may fail", "create standby tenant may fail, %s");
DEFINE_ERROR_EXT_DEP(OB_LS_WAITING_SAFE_DESTROY, -4766, -1, "HY000", "ls waiting safe destory", "ls waiting safe destory, %s");
DEFINE_ERROR(OB_LS_NOT_LEADER, -4767, -1, "HY000", "log stream is not leader log stream");
DEFINE_ERROR_EXT_DEP(OB_LS_LOCK_CONFLICT, -4768, -1, "HY000", "ls lock conflict", "ls lock conflict, %s");
DEFINE_ERROR_EXT_DEP(OB_INVALID_ROOT_KEY, -4769, -1, "HY000", "invalid root key", "%s");
DEFINE_ERROR_EXT(OB_CONFLICT_WITH_CLONE, -4770, -1, "HY000", "conflict case with clone operation", "Tenant (%ld) is in %s procedure, %s not allowed now");
DEFINE_ERROR(OB_BREAK_BY_TEST, -4771, -1, "HY000", "process is breaked by test case");

////////////////////////////////////////////////////////////////
// SQL & Schema specific error code, -5000 ~ -6000
////////////////////////////////////////////////////////////////
DEFINE_ERROR(OB_ERR_PARSER_INIT, -5000, ER_PARSE_ERROR, "0B000", "Failed to init SQL parser");
DEFINE_ORACLE_ERROR_EXT(OB_ERR_PARSE_SQL, -5001, ER_PARSE_ERROR, "42000", "Parse error", "%s near \'%.*s\' at line %d", 900, "invalid SQL statement", "%s near \'%.*s\' at line %d");
DEFINE_ERROR(OB_ERR_RESOLVE_SQL, -5002, -1, "HY000", "Resolve error");
DEFINE_ERROR(OB_ERR_GEN_PLAN, -5003, -1, "HY000", "Generate plan error");
DEFINE_ORACLE_ERROR_DEP(OB_ERR_PARSER_SYNTAX, -5006, ER_SYNTAX_ERROR, "42000", "You have an error in your SQL syntax; check the manual that corresponds to your OceanBase version for the right syntax to use", 900, "You have an error in your SQL syntax; check the manual that corresponds to your OceanBase version for the right syntax to use");
DEFINE_ERROR(OB_ERR_COLUMN_SIZE, -5007, ER_WRONG_NUMBER_OF_COLUMNS_IN_SELECT, "21000", "The used SELECT statements have a different number of columns");
// xiyu@TODO: will be replaced by OB_NON_UNIQ_ERROR
DEFINE_ERROR_EXT(OB_ERR_COLUMN_DUPLICATE, -5008, ER_DUP_FIELDNAME, "42S21", "Duplicate column name", "Duplicate column name '%.*s'");
DEFINE_ERROR(OB_ERR_OPERATOR_UNKNOWN, -5010, -1, "21000", "Unknown operator");
DEFINE_ERROR(OB_ERR_STAR_DUPLICATE, -5011, -1, "42000", "Duplicated star");
DEFINE_ERROR_EXT(OB_ERR_ILLEGAL_ID, -5012, -1, "HY000", "Illegal ID", "%s");
DEFINE_ERROR(OB_ERR_ILLEGAL_VALUE, -5014, -1, "HY000", "Illegal value");
DEFINE_ERROR(OB_ERR_COLUMN_AMBIGUOUS, -5015, ER_AMBIGUOUS_FIELD_TERM, "42000", "Ambiguous column");
DEFINE_ERROR(OB_ERR_LOGICAL_PLAN_FAILD, -5016, -1, "HY000", "Generate logical plan error");
DEFINE_ERROR(OB_ERR_SCHEMA_UNSET, -5017, -1, "HY000", "Schema not set");
DEFINE_ERROR(OB_ERR_ILLEGAL_NAME, -5018, -1, "42000", "Illegal name");
DEFINE_ERROR_EXT(OB_ERR_TABLE_EXIST, -5020, ER_TABLE_EXISTS_ERROR, "42S01", "Table already exists", "Table '%.*s' already exists");
DEFINE_ORACLE_ERROR_EXT(OB_TABLE_NOT_EXIST, -5019, ER_NO_SUCH_TABLE, "42S02", "Table doesn\'t exist", "Table \'%s.%s\' doesn\'t exist", 942, "table or view does not exist", "table or view \'%s.%s\' does not exist");
DEFINE_ERROR(OB_ERR_EXPR_UNKNOWN, -5022, -1, "42000", "Unknown expression");
DEFINE_ERROR_EXT(OB_ERR_ILLEGAL_TYPE, -5023, -1, "S1004", "Illegal type", "unsupport MySQL type %d. Maybe you should use java.sql.Timestamp instead of java.util.Date.");
DEFINE_ERROR_EXT(OB_ERR_KEY_NAME_DUPLICATE, -5025, ER_DUP_KEYNAME, "42000", "Duplicated key name", "Duplicate key name \'%.*s\'");
DEFINE_ORACLE_ERROR_EXT(OB_ERR_PRIMARY_KEY_DUPLICATE, -5024, ER_DUP_ENTRY, "23000", "Duplicated primary key", "Duplicate entry \'%s\' for key \'%.*s\'", 1, "unique constraint violated", "unique constraint \'%s\' for key \'%.*s\' violated");
DEFINE_ERROR(OB_ERR_CREATETIME_DUPLICATE, -5026, -1, "42000", "Duplicated createtime");
DEFINE_ERROR(OB_ERR_MODIFYTIME_DUPLICATE, -5027, -1, "42000", "Duplicated modifytime");
DEFINE_ERROR(OB_ERR_ILLEGAL_INDEX, -5028, ER_NO_SUCH_INDEX, "42S12", "Illegal index");
DEFINE_ERROR(OB_ERR_INVALID_SCHEMA, -5029, -1, "HY000", "Invalid schema");
DEFINE_ORACLE_ERROR_EXT(OB_ERR_INSERT_NULL_ROWKEY, -5030, ER_PRIMARY_CANT_HAVE_NULL, "42000", "Insert null rowkey", "Insert null into %.*s", 1400, "cannot insert NULL into", "cannot insert NULL into (%.*s)");
DEFINE_ERROR_DEP(OB_ERR_COLUMN_NOT_FOUND, -5031, -1, "HY000", "Column not found");
DEFINE_ERROR(OB_ERR_DELETE_NULL_ROWKEY, -5032, -1, "23000", "Delete null rowkey");
DEFINE_ERROR(OB_ERR_USER_EMPTY, -5034, -1, "01007", "No user");
DEFINE_ERROR(OB_ERR_USER_NOT_EXIST, -5035, ER_NO_SUCH_USER, "HY000", "User not exist");
DEFINE_ERROR_EXT(OB_ERR_NO_PRIVILEGE, -5036, ER_SPECIFIC_ACCESS_DENIED_ERROR, "42501", "Access denied", "Access denied; you need (at least one of) the %s privilege(s) for this operation");
DEFINE_ERROR(OB_ERR_NO_AVAILABLE_PRIVILEGE_ENTRY, -5037, -1, "HY000", "No privilege entry");
DEFINE_ERROR(OB_ERR_WRONG_PASSWORD, -5038, ER_PASSWORD_NO_MATCH, "42000", "Incorrect password");
DEFINE_ERROR(OB_ERR_USER_IS_LOCKED, -5039, ER_ACCOUNT_HAS_BEEN_LOCKED, "HY000", "User locked");
DEFINE_ERROR(OB_ERR_UPDATE_ROWKEY_COLUMN, -5040, -1, "42000", "Can not update rowkey column");
DEFINE_ERROR(OB_ERR_UPDATE_JOIN_COLUMN, -5041, -1, "42000", "Can not update join column");
DEFINE_ERROR_EXT(OB_ERR_INVALID_COLUMN_NUM, -5042, ER_OPERAND_COLUMNS, "21000", "Invalid column number", "Operand should contain %ld column(s)");
DEFINE_ERROR_EXT(OB_ERR_PREPARE_STMT_NOT_FOUND, -5043, ER_UNKNOWN_STMT_HANDLER, "HY007", "Unknown prepared statement", "statement not prepared, stmt_id=%u");
DEFINE_ERROR_EXT_DEP(OB_ERR_SYS_VARIABLE_UNKNOWN, -5044, ER_UNKNOWN_SYSTEM_VARIABLE, "HY000", "Unknown system variable", "Unknown system variable '%.*s'");
DEFINE_ERROR(OB_ERR_OLDER_PRIVILEGE_VERSION, -5046, -1, "HY000", "Older privilege version");
DEFINE_ERROR_EXT(OB_ERR_LACK_OF_ROWKEY_COL, -5047, ER_REQUIRES_PRIMARY_KEY, "42000", "No rowkey column specified", "Primary key column(s) not specified in the WHERE clause");
DEFINE_ORACLE_ERROR(OB_ERR_USER_EXIST, -5050, -1, "42710", "User exists", 1920, "user name conflicts with another user or role name");
DEFINE_ERROR(OB_ERR_PASSWORD_EMPTY, -5051, -1, "HY000", "Empty password");
DEFINE_ERROR(OB_ERR_GRANT_PRIVILEGES_TO_CREATE_TABLE, -5052, -1, "42000", "Failed to grant privelege");
DEFINE_ERROR_EXT(OB_ERR_WRONG_DYNAMIC_PARAM, -5053, -1, "HY093", "Wrong dynamic parameters", "Incorrect arguments number to EXECUTE, need %ld arguments but give %ld");
DEFINE_ORACLE_ERROR_EXT(OB_ERR_PARAM_SIZE, -5054, ER_WRONG_PARAMCOUNT_TO_NATIVE_FCT, "42000", "Incorrect parameter count", "Incorrect parameter count in the call to native function '%.*s'", 909, "invalid number of arguments", "invalid number of arguments in the call to native function '%.*s'");
DEFINE_ERROR_EXT(OB_ERR_FUNCTION_UNKNOWN, -5055, ER_SP_DOES_NOT_EXIST, "42000", "FUNCTION does not exist", "%s %.*s does not exist");
DEFINE_ERROR(OB_ERR_CREAT_MODIFY_TIME_COLUMN, -5056, -1, "23000", "CreateTime or ModifyTime column cannot be modified");
DEFINE_ERROR(OB_ERR_MODIFY_PRIMARY_KEY, -5057, -1, "23000", "Primary key cannot be modified");
DEFINE_ERROR(OB_ERR_PARAM_DUPLICATE, -5058, -1, "42000", "Duplicated parameters");
DEFINE_ERROR(OB_ERR_TOO_MANY_SESSIONS, -5059, ER_TOO_MANY_USER_CONNECTIONS, "42000", "Too many sessions");
DEFINE_ERROR(OB_ERR_TOO_MANY_PS, -5061, -1, "54023", "Too many prepared statements");
DEFINE_ERROR(OB_ERR_HINT_UNKNOWN, -5063, -1, "42000", "Unknown hint");
DEFINE_ERROR(OB_ERR_WHEN_UNSATISFIED, -5064, -1, "23000", "When condition not satisfied");
DEFINE_ERROR(OB_ERR_QUERY_INTERRUPTED, -5065, ER_QUERY_INTERRUPTED, "70100", "Query execution was interrupted");
DEFINE_ORACLE_ERROR(OB_ERR_SESSION_INTERRUPTED, -5066, -1, "HY000", "Session interrupted", 1092, "OceanBase instance terminated. Disconnection forced");
DEFINE_ERROR(OB_ERR_UNKNOWN_SESSION_ID, -5067, -1, "HY000", "Unknown session ID");
DEFINE_ERROR(OB_ERR_PROTOCOL_NOT_RECOGNIZE, -5068, -1, "HY000", "Incorrect protocol");
DEFINE_ERROR(OB_ERR_WRITE_AUTH_ERROR, -5069, -1, "HY000", "Write auth packet error");
DEFINE_ERROR(OB_ERR_PARSE_JOIN_INFO, -5070, -1, "42000", "Wrong join info")
DEFINE_ERROR(OB_ERR_ALTER_INDEX_COLUMN, -5071, -1, "42000", "Cannot alter index column");
DEFINE_ERROR(OB_ERR_MODIFY_INDEX_TABLE, -5072, -1, "42000", "Cannot modify index table");
DEFINE_ERROR(OB_ERR_INDEX_UNAVAILABLE, -5073, ER_NO_SUCH_INDEX, "42000", "Index unavailable");
DEFINE_ERROR(OB_ERR_NOP_VALUE, -5074, -1, "23000", "NOP cannot be used here");
DEFINE_ERROR(OB_ERR_PS_TOO_MANY_PARAM, -5080, ER_PS_MANY_PARAM, "54000", "Prepared statement contains too many placeholders");
DEFINE_ERROR_DEP(OB_ERR_READ_ONLY, -5081, -1, "25000", "The server is read only now");
DEFINE_ORACLE_ERROR_EXT(OB_ERR_INVALID_TYPE_FOR_OP, -5083, -1, "22000", "Invalid data type for the operation", "invalid obj type for type promotion: left_type=%s right_type=%s", 932, "inconsistent datatypes", "inconsistent datatypes: left_type=%s right_type=%s");
DEFINE_ERROR(OB_ERR_CAST_VARCHAR_TO_BOOL, -5084, -1, "22000", "Can not cast varchar value to bool type");
DEFINE_ORACLE_ERROR(OB_ERR_CAST_VARCHAR_TO_NUMBER, -5085, -1, "22000", "Not a number Can not cast varchar value to number type", 1722, "invalid number");
DEFINE_ERROR(OB_ERR_CAST_VARCHAR_TO_TIME, -5086, -1, "22000", "Not timestamp Can not cast varchar value to timestamp type");
DEFINE_ERROR(OB_ERR_CAST_NUMBER_OVERFLOW, -5087, -1, "22000", "Result value was out of range when cast to number");
DEFINE_ORACLE_ERROR_EXT_DEP(OB_INTEGER_PRECISION_OVERFLOW, -5088, ER_WARN_DATA_OUT_OF_RANGE, "22003", "Result value was out of range when casting varchar to number", "value larger than specified precision(%ld,%ld) allowed for this column", 1426, "numeric overflow", "numeric overflow, value larger than specified precision(%ld,%ld) allowed for this column");
DEFINE_ORACLE_ERROR_EXT_DEP(OB_DECIMAL_PRECISION_OVERFLOW, -5089, ER_WARN_DATA_OUT_OF_RANGE, "22003", "Result value was out of range when casting varchar to number", "value(%s) larger than specified precision(%ld,%ld) allowed for this column", 1426, "numeric overflow", "numeric overflow, value(%s) larger than specified precision(%ld,%ld) allowed for this column");
DEFINE_ERROR(OB_SCHEMA_NUMBER_PRECISION_OVERFLOW, -5090, -1, "22000", "Precision was out of range");
DEFINE_ERROR(OB_SCHEMA_NUMBER_SCALE_OVERFLOW, -5091, -1, "22000", "Scale value was out of range");
DEFINE_ERROR(OB_ERR_INDEX_UNKNOWN, -5092, -1, "42000", "Unknown index");
DEFINE_ORACLE_ERROR_DEP(OB_NUMERIC_OVERFLOW, -5093, ER_WARN_DATA_OUT_OF_RANGE, "22003", "Result value was out of range when casting varchar to number", 1426, "numeric overflow");
DEFINE_ERROR(OB_ERR_TOO_MANY_JOIN_TABLES, -5094, -1, "HY000", "too many joined tables");
DEFINE_ORACLE_ERROR(OB_ERR_DDL_ON_REMOTE_DATABASE, -5095, -1, "HY000", "DDL operations are not allowed on a remote database", 2021, "DDL operations are not allowed on a remote database");
DEFINE_ORACLE_ERROR(OB_ERR_MISSING_KEYWORD, -5096, -1, "HY000", "missing keyword", 905, "missing keyword");
DEFINE_ORACLE_ERROR(OB_ERR_DATABASE_LINK_EXPECTED, -5097, -1, "HY000", "database link name expected", 1729, "database link name expected");
DEFINE_ERROR_EXT(OB_ERR_VARCHAR_TOO_LONG, -5098, -1, "22001", "Varchar value is too long for the column", "Data too long(%d>%ld) for column '%s'");
DEFINE_ERROR_DEP(OB_ERR_SYS_CONFIG_UNKNOWN, -5099, -1, "42000", "System config unknown");
DEFINE_ERROR_EXT(OB_ERR_LOCAL_VARIABLE, -5100, ER_LOCAL_VARIABLE, "HY000", "Local variable", "Variable \'%.*s\' is a SESSION variable and can't be used with SET GLOBAL");
DEFINE_ERROR_EXT(OB_ERR_GLOBAL_VARIABLE, -5101, ER_GLOBAL_VARIABLE, "HY000", "Global variable", "Variable \'%.*s\' is a GLOBAL variable and should be set with SET GLOBAL");
DEFINE_ERROR_EXT(OB_ERR_VARIABLE_IS_READONLY, -5102, ER_VARIABLE_IS_READONLY, "HY000", "variable is read only", "%.*s variable '%.*s' is read-only. Use SET %.*s to assign the value");
DEFINE_ERROR_EXT(OB_ERR_INCORRECT_GLOBAL_LOCAL_VAR, -5103, ER_INCORRECT_GLOBAL_LOCAL_VAR, "HY000", "incorrect global or local variable", "Variable '%.*s' is a %.*s variable");
DEFINE_ERROR_EXT(OB_ERR_EXPIRE_INFO_TOO_LONG, -5104, -1, "42000", "Expire expression too long", "length(%d) of expire_info is larger than the max allowed(%ld)");
DEFINE_ERROR_EXT(OB_ERR_EXPIRE_COND_TOO_LONG, -5105, -1, "42000", "Expire condition too long", "total length(%ld) of expire_info and its expression is larger than the max allowed(%ld)");
DEFINE_ERROR_EXT_DEP(OB_INVALID_ARGUMENT_FOR_EXTRACT, -5106, -1, "42000", "Invalid argument for extract()", "EXTRACT() expected timestamp or a string as date argument");
DEFINE_ERROR_EXT_DEP(OB_INVALID_ARGUMENT_FOR_IS, -5107, -1, "42000", "Invalid argument for IS operator", "Invalid operand type for IS operator, lval=%s");
DEFINE_ERROR_EXT_DEP(OB_INVALID_ARGUMENT_FOR_LENGTH, -5108, -1, "42000", "Invalid argument for length()", "function LENGTH() expected a varchar argument");
DEFINE_ERROR_EXT_DEP(OB_INVALID_ARGUMENT_FOR_SUBSTR, -5109, -1, "42000", "Invalid argument for substr()", "invalid input format. ret=%d text=%s start=%s length=%s");
DEFINE_ERROR_EXT_DEP(OB_INVALID_ARGUMENT_FOR_TIME_TO_USEC, -5110, -1, "42000", "Invalid argument for time_to_usec()", "TIME_TO_USEC() expected timestamp or a string as date argument");
DEFINE_ERROR_EXT_DEP(OB_INVALID_ARGUMENT_FOR_USEC_TO_TIME, -5111, -1, "42000", "Invalid argument for usec_to_time()", "USEC_TO_TIME expected a integer number as usec argument");
DEFINE_ERROR_EXT(OB_ERR_USER_VARIABLE_UNKNOWN, -5112, -1, "42P01", "Unknown user variable", "Variable %.*s does not exists");
DEFINE_ERROR_EXT(OB_ILLEGAL_USAGE_OF_MERGING_FROZEN_TIME, -5113, -1, "42000", "Illegal usage of merging_frozen_time()", "MERGING_FROZEN_TIME() system function only be used in daily merging.");
DEFINE_ORACLE_ERROR_EXT_DEP(OB_INVALID_NUMERIC, -5114, -1, "42000", "Invalid numeric", "Invalid numeric char '%c'", 1722, "invalid number", "invalid number char '%c'");
DEFINE_ERROR_EXT_DEP(OB_ERR_REGEXP_ERROR, -5115, ER_REGEXP_ERROR, "42000", "Got error from regexp", "Got error '%s' from regexp");
DEFINE_ERROR(OB_SQL_LOG_OP_SETCHILD_OVERFLOW, -5116, -1, "HY000", "Logical operator child index overflow");
DEFINE_ERROR(OB_SQL_EXPLAIN_FAILED, -5117, -1, "HY000", "fail to explain plan");
DEFINE_ERROR(OB_SQL_OPT_COPY_OP_FAILED, -5118, -1, "HY000", "fail to copy logical operator");
DEFINE_ERROR(OB_SQL_OPT_GEN_PLAN_FALIED, -5119, -1, "HY000", "fail to generate plan");;
DEFINE_ERROR(OB_SQL_OPT_CREATE_RAWEXPR_FAILED, -5120, -1,  "HY000", "fail to create raw expr");
DEFINE_ERROR(OB_SQL_OPT_JOIN_ORDER_FAILED, -5121, -1,  "HY000", "fail to generate join order");
DEFINE_ERROR(OB_SQL_OPT_ERROR, -5122, -1,  "HY000", "optimizer general error");
DEFINE_ORACLE_ERROR(OB_ERR_OCI_INIT_TIMEZONE, -5123, -1, "HY000", "failure to initialize timezone information", 1804, "failure to initialize timezone information");
DEFINE_ERROR(OB_ERR_ZLIB_DATA, -5124, ER_ZLIB_Z_DATA_ERROR, "HY000", "ZLIB: Input data corrupted");
DEFINE_ORACLE_ERROR(OB_ERR_DBLINK_SESSION_KILLED, -5125, -1, "HY000", "your session has been killed", 28, "your session has been killed");
DEFINE_ERROR(OB_SQL_RESOLVER_NO_MEMORY, -5130, -1, "HY000", "sql resolver no memory");
DEFINE_ERROR(OB_SQL_DML_ONLY, -5131, -1, "HY000", "plan cache support dml only");
DEFINE_ERROR(OB_ERR_NO_GRANT, -5133, -1, "42000", "No such grant defined");
DEFINE_ERROR(OB_ERR_NO_DB_SELECTED, -5134, ER_NO_DB_ERROR, "3D000", "No database selected");
DEFINE_ERROR(OB_SQL_PC_OVERFLOW, -5135, -1, "HY000", "plan cache is overflow");
DEFINE_ERROR(OB_SQL_PC_PLAN_DUPLICATE, -5136, -1, "HY000", "plan exists in plan cache already");
DEFINE_ERROR(OB_SQL_PC_PLAN_EXPIRE, -5137, -1, "HY000", "plan is expired");
DEFINE_ERROR(OB_SQL_PC_NOT_EXIST, -5138, -1, "HY000", "no plan exist");
DEFINE_ERROR(OB_SQL_PARAMS_LIMIT, -5139, -1, "HY000", "too many params, plan cache not support" );
DEFINE_ERROR(OB_SQL_PC_PLAN_SIZE_LIMIT, -5140, -1, "HY000", "plan is too big to add to plan cache");
DEFINE_ERROR_EXT_DEP(OB_ERR_UNKNOWN_CHARSET, -5142, ER_UNKNOWN_CHARACTER_SET, "42000", "Unknown character set", "Unknown character set: '%.*s'");
DEFINE_ERROR_EXT_DEP(OB_ERR_UNKNOWN_COLLATION, -5143, ER_UNKNOWN_COLLATION, "HY000", "Unknown collation", "Unknown collation: '%.*s'");
DEFINE_ORACLE_ERROR_EXT_DEP(OB_ERR_COLLATION_MISMATCH, -5144, ER_COLLATION_CHARSET_MISMATCH, "42000", "The collation is not valid for the character set", "COLLATION '%.*s' is not valid for CHARACTER SET '%.*s'", 12704, "character set mismatch", "COLLATION '%.*s' is not valid for CHARACTER SET '%.*s'");
DEFINE_ERROR_EXT_DEP(OB_ERR_WRONG_VALUE_FOR_VAR, -5145, ER_WRONG_VALUE_FOR_VAR, "42000", "Variable can't be set to the value", "Variable \'%.*s\' can't be set to the value of \'%.*s\'");
DEFINE_ORACLE_ERROR_EXT(OB_UNKNOWN_PARTITION, -5146, ER_UNKNOWN_PARTITION, "HY000", "Unknown partition", "Unkown partition '%.*s' in table '%.*s'", 2149, "Specified partition does not exist", "Specified partition does not exist '%.*s' in table '%.*s'");
DEFINE_ERROR(OB_PARTITION_NOT_MATCH, -5147, ER_ROW_DOES_NOT_MATCH_GIVEN_PARTITION_SET, "HY000", "Found a row not matching the given partition set");
DEFINE_ERROR(OB_ER_PASSWD_LENGTH, -5148, -1, "HY000", " Password hash should be a 40-digit hexadecimal number");
DEFINE_ERROR(OB_ERR_INSERT_INNER_JOIN_COLUMN, -5149, -1, "07000", "Insert inner join column error");
DEFINE_ERROR_DEP(OB_TENANT_NOT_IN_SERVER, -5150, -1, "HY000", "Tenant not in this server");
DEFINE_ERROR(OB_TABLEGROUP_NOT_EXIST, -5151, -1, "42P01", "tablegroup not exist");
DEFINE_ORACLE_ERROR(OB_SUBQUERY_TOO_MANY_ROW, -5153, ER_SUBQUERY_NO_1_ROW, "21000", "Subquery returns more than 1 row", 1427, "single-row subquery returns more than one row");
DEFINE_ERROR_EXT(OB_ERR_BAD_DATABASE, -5154, ER_BAD_DB_ERROR, "42000", "Unknown database", "Unknown database '%.*s'");
DEFINE_ERROR_EXT(OB_CANNOT_USER, -5155, ER_CANNOT_USER, "HY000", "User operation failed", "Operation %.*s failed for %.*s");
DEFINE_ERROR_EXT(OB_TENANT_EXIST, -5156, -1, "HY000", "tenant already exist", "tenant \'%s\' already exist");
DEFINE_ERROR_EXT_DEP(OB_TENANT_NOT_EXIST, -5157, -1, "HY000", "Unknown tenant", "Unknown tenant '%.*s'");
DEFINE_ERROR_EXT(OB_DATABASE_EXIST, -5158, ER_DB_CREATE_EXISTS, "HY000", "Can't create database;database exists", "Can't create database '%.*s'; database exists");
DEFINE_ERROR(OB_TABLEGROUP_EXIST, -5159, -1, "HY000", "tablegroup already exist");
DEFINE_ERROR(OB_ERR_INVALID_TENANT_NAME, -5160, -1, "HY000", "invalid tenant name specified in connection string");
DEFINE_ERROR(OB_EMPTY_TENANT, -5161, -1, "HY000", "tenant is empty");
DEFINE_ERROR_EXT(OB_WRONG_DB_NAME, -5162, ER_WRONG_DB_NAME, "42000", "Incorrect database name", "Incorrect database name '%.*s'");
DEFINE_ORACLE_ERROR_EXT(OB_WRONG_TABLE_NAME, -5163, ER_WRONG_TABLE_NAME, "42000", "Incorrect table name", "Incorrect table name '%.*s'", 903, "invalid table name", "invalid table name '%.*s'");
DEFINE_ORACLE_ERROR_EXT(OB_WRONG_COLUMN_NAME, -5164, ER_WRONG_COLUMN_NAME, "42000", "Incorrect column name", "Incorrect column name '%.*s'", 904, "invalid identifier", "invalid identifier '%.*s'");
DEFINE_ERROR_EXT(OB_ERR_COLUMN_SPEC, -5165, ER_WRONG_FIELD_SPEC, "42000", "Incorrect column specifier", "Incorrect column specifier for column '%.*s'");
DEFINE_ERROR_EXT(OB_ERR_DB_DROP_EXISTS, -5166, ER_DB_DROP_EXISTS, "HY000", "Can't drop database;database doesn't exist", "Can't drop database '%.*s'; database doesn't exist");
DEFINE_ORACLE_ERROR_EXT_DEP(OB_ERR_DATA_TOO_LONG, -5167, ER_DATA_TOO_LONG, "22001", "Data too long for column", "Data too long for column '%.*s' at row %ld", 12899, "value too large for column", "value too large for column '%.*s' at row %ld");
DEFINE_OTHER_MSG_FMT(OB_ERR_DATA_TOO_LONG_MSG_FMT_V2, OB_ERR_DATA_TOO_LONG, "Data too long for column '%.*s' at row %ld", "value too large for column %.*s (actual: %ld, maximum: %ld)")
DEFINE_ERROR_EXT_DEP(OB_ERR_WRONG_VALUE_COUNT_ON_ROW, -5168, ER_WRONG_VALUE_COUNT_ON_ROW, "21S01", "column count does not match value count", "column count does not match value count at row '%d'");
DEFINE_ERROR(OB_ERR_CREATE_USER_WITH_GRANT, -5169, ER_CANT_CREATE_USER_WITH_GRANT, "42000", "You are not allowed to create a user with GRANT");
DEFINE_ERROR_EXT(OB_ERR_NO_DB_PRIVILEGE, -5170, ER_DBACCESS_DENIED_ERROR, "42000", "Access denied for user to database", "Access denied for user '%.*s'@'%.*s' to database '%.*s'");
DEFINE_ERROR_EXT(OB_ERR_NO_TABLE_PRIVILEGE, -5171, ER_TABLEACCESS_DENIED_ERROR, "42000", "Command denied to user for table", "%.*s command denied to user '%.*s'@'%.*s' for table '%.*s'");
DEFINE_ERROR_EXT(OB_INVALID_ON_UPDATE, -5172, ER_INVALID_ON_UPDATE, "HY000", "Invalid ON UPDATE clause", "Invalid ON UPDATE clause for \'%s\' column");
DEFINE_ERROR_EXT(OB_INVALID_DEFAULT, -5173, ER_INVALID_DEFAULT, "42000", "Invalid default value", "Invalid default value for \'%.*s\'");
DEFINE_ERROR_EXT(OB_ERR_UPDATE_TABLE_USED, -5174, ER_UPDATE_TABLE_USED, "HY000", "Update table used", "You can\'t specify target table \'%s\' for update in FROM clause");
DEFINE_ERROR_EXT(OB_ERR_COULUMN_VALUE_NOT_MATCH, -5175, ER_WRONG_VALUE_COUNT_ON_ROW, "21S01", "Column count doesn\'t match value count", "Column count doesn\'t match value count at row %ld");
DEFINE_ERROR(OB_ERR_INVALID_GROUP_FUNC_USE, -5176, ER_INVALID_GROUP_FUNC_USE, "HY000", "Invalid use of group function");
DEFINE_ERROR_DEP(OB_CANT_AGGREGATE_2COLLATIONS, -5177, ER_CANT_AGGREGATE_2COLLATIONS, "HY000", "Illegal mix of collations");
DEFINE_ERROR_EXT(OB_ERR_FIELD_TYPE_NOT_ALLOWED_AS_PARTITION_FIELD, -5178, ER_FIELD_TYPE_NOT_ALLOWED_AS_PARTITION_FIELD, "HY000", "Field is of a not allowed type for this type of partitioning", "Field \'%.*s\' is of a not allowed type for this type of partitioning");
DEFINE_ORACLE_ERROR_EXT(OB_ERR_TOO_LONG_IDENT, -5179, ER_TOO_LONG_IDENT, "42000", "Identifier name is too long", "Identifier name \'%.*s\' is too long", 972, "identifier is too long", "identifier \'%.*s\' is too long");
DEFINE_ERROR_EXT(OB_ERR_WRONG_TYPE_FOR_VAR, -5180, ER_WRONG_TYPE_FOR_VAR, "42000", "Incorrect argument type to variable", "Incorrect argument type to variable '%.*s'");
DEFINE_ERROR_EXT(OB_WRONG_USER_NAME_LENGTH, -5181, ER_WRONG_STRING_LENGTH, "HY000", "String is too long for user_name (should be no longer than 64)", "String '%.*s' is too long for user name (should be no longer than 64)");
DEFINE_ERROR(OB_ERR_PRIV_USAGE, -5182, ER_WRONG_USAGE, "HY000", "Incorrect usage of DB GRANT and GLOBAL PRIVILEGES");
DEFINE_ERROR(OB_ILLEGAL_GRANT_FOR_TABLE, -5183, ER_ILLEGAL_GRANT_FOR_TABLE, "42000", "Illegal GRANT/REVOKE command; please consult the manual to see which privileges can be used");
DEFINE_ERROR(OB_ERR_REACH_AUTOINC_MAX, -5184, ER_AUTOINC_READ_FAILED, "HY000", "Failed to read auto-increment value from storage engine");
DEFINE_ERROR(OB_ERR_NO_TABLES_USED, -5185, ER_NO_TABLES_USED, "HY000", "No tables used");
DEFINE_ERROR(OB_CANT_REMOVE_ALL_FIELDS, -5187, ER_CANT_REMOVE_ALL_FIELDS, "42000", "You can't delete all columns with ALTER TABLE; use DROP TABLE instead");
DEFINE_ERROR(OB_TOO_MANY_PARTITIONS_ERROR, -5188, ER_TOO_MANY_PARTITIONS_ERROR, "HY000", "Too many partitions (including subpartitions) were defined", "Too many partitions (including subpartitions) were defined")
DEFINE_ERROR(OB_NO_PARTS_ERROR, -5189, ER_NO_PARTS_ERROR, "HY000", "Number of partitions = 0 is not an allowed value", "Number of partitions = 0 is not an allowed value");
DEFINE_ERROR(OB_WRONG_SUB_KEY, -5190, ER_WRONG_SUB_KEY, "HY000", "Incorrect prefix key; the used key part isn't a string, the used length is longer than the key part, or the storage engine doesn't support unique prefix keys");
DEFINE_ERROR_EXT(OB_KEY_PART_0, -5191, ER_KEY_PART_0, "HY000", "Key part length cannot be 0", "Key part \'%.*s\' length cannot be 0");
DEFINE_ORACLE_ERROR_EXT_DEP(OB_ERR_UNKNOWN_TIME_ZONE, -5192, ER_UNKNOWN_TIME_ZONE, "HY000", "Unknown or incorrect time zone", "Unknown or incorrect time zone: \'%.*s\'", 1882, "timezone region string not found", "timezone region \'%.*s\' not found");
DEFINE_ERROR(OB_ERR_WRONG_AUTO_KEY, -5193, ER_WRONG_AUTO_KEY, "42000", "Incorrect table definition; there can be only one auto column");
DEFINE_ERROR_EXT(OB_ERR_TOO_MANY_KEYS, -5194, ER_TOO_MANY_KEYS, "42000","Too many keys specified", "Too many keys specified; max %ld keys allowed");
DEFINE_ERROR_EXT(OB_ERR_TOO_MANY_ROWKEY_COLUMNS, -5195, ER_TOO_MANY_KEY_PARTS, "42000","Too many key parts specified", "Too many key parts specified; max %ld parts allowed");
DEFINE_ORACLE_ERROR_EXT(OB_ERR_TOO_LONG_KEY_LENGTH, -5196, ER_TOO_LONG_KEY, "42000", "Specified key was too long", "Specified key was too long; max key length is %ld bytes", 1450, "maximum key length exceeded", "maximum key length (%ld) exceeded");
DEFINE_ERROR(OB_ERR_TOO_MANY_COLUMNS, -5197, ER_TOO_MANY_FIELDS, "42000", "Too many columns");
DEFINE_ORACLE_ERROR_EXT(OB_ERR_TOO_LONG_COLUMN_LENGTH, -5198, ER_TOO_BIG_FIELDLENGTH, "42000", "Column length too big", "Column length too big for column '%s' (max = %d)", 910, "specified length too long for its datatype", "specified length too long for column '%s' (max = %d byte)");
DEFINE_ERROR(OB_ERR_TOO_BIG_ROWSIZE, -5199, ER_TOO_BIG_ROWSIZE, "42000", "Row size too large");
DEFINE_ERROR_EXT(OB_ERR_UNKNOWN_TABLE, -5200, ER_UNKNOWN_TABLE, "42S02", "Unknown table", "Unknown table '%.*s' in %.*s");
DEFINE_ORACLE_ERROR_EXT(OB_ERR_BAD_TABLE, -5201, ER_BAD_TABLE_ERROR, "42S02", "Unknown table", "Unknown table '%.*s'", 942, "table or view does not exist", "table or view '%.*s' does not exist");
DEFINE_ERROR_EXT(OB_ERR_TOO_BIG_SCALE, -5202, ER_TOO_BIG_SCALE, "42000", "Too big scale specified for column", "Too big scale %d specified for column '%s'. Maximum is %ld.");
DEFINE_ERROR_EXT_DEP(OB_ERR_TOO_BIG_PRECISION, -5203, ER_TOO_BIG_PRECISION, "42000", "Too big precision specified for column", "Too big precision %d specified for column '%s'. Maximum is %ld.");
DEFINE_ERROR_EXT_DEP(OB_ERR_M_BIGGER_THAN_D, -5204, ER_M_BIGGER_THAN_D, "42000", "precision must be >= scale", "For float(M,D), double(M,D) or decimal(M,D), M must be >= D (column '%s').");
DEFINE_ERROR_EXT(OB_ERR_TOO_BIG_DISPLAYWIDTH, -5205, ER_TOO_BIG_DISPLAYWIDTH, "42000", "Display width out of range for column", "Display width out of range for column '%s' (max = %ld)");
DEFINE_ERROR_EXT(OB_WRONG_GROUP_FIELD, -5206, ER_WRONG_GROUP_FIELD, "42000", "Can't group on column", "Can't group on '%.*s'");
DEFINE_ORACLE_ERROR_EXT(OB_NON_UNIQ_ERROR, -5207, ER_NON_UNIQ_ERROR, "23000", "Column is ambiguous", "Column '%.*s' in %.*s is ambiguous", 918, "Column is ambiguous", "column '%.*s' in %.*s ambiguously defined");
DEFINE_ERROR_EXT(OB_ERR_NONUNIQ_TABLE, -5208, ER_NONUNIQ_TABLE, "42000", "Not unique table/alias", "Not unique table/alias: \'%.*s\'");
DEFINE_ORACLE_ERROR_EXT(OB_ERR_CANT_DROP_FIELD_OR_KEY, -5209, ER_CANT_DROP_FIELD_OR_KEY, "42000", "Can't DROP Column; check that column/key exists", "Can't DROP '%.*s'; check that column/key exists", 1418, "specified index does not exist", "specified index '%.*s' does not exist");
DEFINE_ERROR(OB_ERR_MULTIPLE_PRI_KEY, -5210, ER_MULTIPLE_PRI_KEY, "42000", "Multiple primary key defined");
DEFINE_ORACLE_ERROR_EXT(OB_ERR_KEY_COLUMN_DOES_NOT_EXITS, -5211, ER_KEY_COLUMN_DOES_NOT_EXITS, "42000", "Key column doesn't exist in table", "Key column '%.*s' doesn't exist in table", 904, "invalid identifier", "'%.*s': invalid identifier");
DEFINE_ERROR_EXT(OB_ERR_AUTO_PARTITION_KEY, -5212, -1, "42000", "auto-increment column should not be part of partition key", "auto-increment column '%.*s' should not be part of partition key");
DEFINE_ERROR_EXT(OB_ERR_CANT_USE_OPTION_HERE, -5213, ER_CANT_USE_OPTION_HERE, "42000", "Incorrect usage/placement", "Incorrect usage/placement of '%s'");
DEFINE_ERROR_EXT(OB_ERR_WRONG_OBJECT, -5214, ER_WRONG_OBJECT, "HY000", "Wrong object", "\'%s.%s\' is not %s");
DEFINE_ERROR_EXT(OB_ERR_ON_RENAME, -5215, ER_ERROR_ON_RENAME, "HY000", "Error on rename table", "Error on rename of \'%s.%s\' to \'%s.%s\'");
DEFINE_ORACLE_ERROR_EXT(OB_ERR_WRONG_KEY_COLUMN, -5216, ER_WRONG_KEY_COLUMN, "42000", "The used storage engine can't index column", "The used storage engine can't index column '%.*s'", 2329, "column of datatype string cannot be unique or a primary key", "column '%.*s' of datatype string cannot be unique or a primary key");
DEFINE_ORACLE_ERROR_EXT(OB_ERR_BAD_FIELD_ERROR, -5217, ER_BAD_FIELD_ERROR, "42S22", "Unknown column", "Unknown column '%.*s' in '%.*s'", 904, "invalid identifier", "invalid identifier '%.*s' in '%.*s'");
DEFINE_ORACLE_ERROR_EXT(OB_ERR_WRONG_FIELD_WITH_GROUP, -5218, ER_WRONG_FIELD_WITH_GROUP, "42000", "column is not in GROUP BY", "\'%.*s\' is not in GROUP BY", 979, "not a GROUP BY expression", "\'%.*s\' not a GROUP BY expression");
DEFINE_ORACLE_ERROR(OB_ERR_CANT_CHANGE_TX_CHARACTERISTICS, -5219, ER_CANT_CHANGE_TX_CHARACTERISTICS, "25001", "Transaction characteristics can't be changed while a transaction is in progress", 1453, "SET TRANSACTION must be first statement of transaction");
DEFINE_ORACLE_ERROR(OB_ERR_CANT_EXECUTE_IN_READ_ONLY_TRANSACTION, -5220, ER_CANT_EXECUTE_IN_READ_ONLY_TRANSACTION, "25006", "Cannot execute statement in a READ ONLY transaction.", 1456, "may not perform insert/delete/update operation inside a READ ONLY transaction");
DEFINE_ERROR(OB_ERR_MIX_OF_GROUP_FUNC_AND_FIELDS, -5221, ER_MIX_OF_GROUP_FUNC_AND_FIELDS, "42000", "Mixing of GROUP columns (MIN(),MAX(),COUNT(),...) with no GROUP columns is illegal if there is no GROUP BY clause");
DEFINE_ERROR_EXT_DEP(OB_ERR_TRUNCATED_WRONG_VALUE, -5222, ER_TRUNCATED_WRONG_VALUE, "22007", "Incorrect value", "Truncated incorrect %.*s value: '%.*s'");
DEFINE_ERROR(OB_ERR_WRONG_IDENT_NAME, -5223, -1, "42000", "wrong ident name");
DEFINE_ERROR_EXT(OB_WRONG_NAME_FOR_INDEX, -5224, ER_WRONG_NAME_FOR_INDEX, "42000", "Incorrect index name", "Incorrect index name '%.*s'");
DEFINE_ERROR_EXT(OB_ILLEGAL_REFERENCE, -5225, ER_ILLEGAL_REFERENCE, "42S22", "Reference not supported (reference to group function)", "Reference '%.*s' not supported (reference to group function)")
DEFINE_ERROR(OB_REACH_MEMORY_LIMIT, -5226, -1, "42000", "plan cache memory used reach the high water mark.");
DEFINE_ERROR(OB_ERR_PASSWORD_FORMAT, -5227, ER_PASSWORD_FORMAT, "42000", "The password hash doesn't have the expected format. Check if the correct password algorithm is being used with the PASSWORD() function.");
DEFINE_ERROR_EXT(OB_ERR_NON_UPDATABLE_TABLE, -5228, ER_NON_UPDATABLE_TABLE, "HY000", "The target table is not updatable", "The target table %.*s of the %.*s is not updatable");
DEFINE_ERROR_EXT(OB_ERR_WARN_DATA_OUT_OF_RANGE, -5229, ER_WARN_DATA_OUT_OF_RANGE, "22003", "Out of range value for column", "Out of range value for column '%.*s' at row %ld")
DEFINE_ERROR(OB_ERR_WRONG_EXPR_IN_PARTITION_FUNC_ERROR, -5230, ER_WRONG_EXPR_IN_PARTITION_FUNC_ERROR, "HY000", "Constant or random or timezone-dependent expressions in (sub)partitioning function are not allowed");
DEFINE_ORACLE_ERROR_EXT(OB_ERR_VIEW_INVALID, -5231, ER_VIEW_INVALID, "42S22", "view invalid", "View \'%.*s.%.*s\' references invalid table(s) or column(s) or function(s) or definer/invoker of view lack rights to use them", 4063, "view invalid", "view '%.*s.%.*s' has errors");
DEFINE_ERROR(OB_ERR_OPTION_PREVENTS_STATEMENT, -5233, ER_OPTION_PREVENTS_STATEMENT, "HY000", "The MySQL server is running with the --read-only option so it cannot execute this statement");
DEFINE_ORACLE_ERROR_EXT(OB_ERR_DB_READ_ONLY, -5234, -1, "HY000", "The database is read only so it cannot execute this statement", "The database \'%.*s\' is read only so it cannot execute this statement", 16000, "database open for read-only access", "database \'%.*s\' open for read-only access");
DEFINE_ERROR_EXT(OB_ERR_TABLE_READ_ONLY, -5235, -1, "HY000", "The table is read only so it cannot execute this statement", "The table \'%.*s.%.*s\' is read only so it cannot execute this statement");
DEFINE_ERROR(OB_ERR_LOCK_OR_ACTIVE_TRANSACTION, -5236, ER_LOCK_OR_ACTIVE_TRANSACTION, "HY000", "Can't execute the given command because you have active locked tables or an active transaction");
DEFINE_ERROR_EXT(OB_ERR_SAME_NAME_PARTITION_FIELD, -5237, ER_SAME_NAME_PARTITION_FIELD, "HY000", "Duplicate partition field name", "Duplicate partition field name '%.*s'")
DEFINE_ERROR_EXT(OB_ERR_TABLENAME_NOT_ALLOWED_HERE, -5238, ER_TABLENAME_NOT_ALLOWED_HERE, "42000", "Table from one of the SELECTs cannot be used in global ORDER clause", "Table \'%.*s\' from one of the SELECTs cannot be used in global ORDER clause");
DEFINE_ORACLE_ERROR_EXT(OB_ERR_VIEW_RECURSIVE, -5239, ER_VIEW_RECURSIVE, "42S02", "view contains recursion", "\'%.*s.%.*s\' contains view recursion", 1731, "circular view definition encountered", "view '%.*s.%.*s' encounters circular definition");
DEFINE_ERROR(OB_ERR_QUALIFIER, -5240, -1, "HY000", "Column part of USING clause cannot have qualifier");
DEFINE_ERROR_EXT_DEP(OB_ERR_WRONG_VALUE, -5241, ER_WRONG_VALUE, "HY000", "Incorrect value", "Incorrect %s value: '%s'");
DEFINE_ORACLE_ERROR(OB_ERR_VIEW_WRONG_LIST, -5242, ER_VIEW_WRONG_LIST,  "HY000", "View's SELECT and view's field list have different column counts", 1730, "invalid number of column names specified");
DEFINE_ERROR(OB_SYS_VARS_MAYBE_DIFF_VERSION, -5243, -1,  "HY000", "system variables' version maybe different");
DEFINE_ERROR(OB_ERR_AUTO_INCREMENT_CONFLICT, -5244, ER_AUTO_INCREMENT_CONFLICT, "HY000", "Auto-increment value in UPDATE conflicts with internally generated values");
DEFINE_ERROR_EXT(OB_ERR_TASK_SKIPPED, -5245, -1, "HY000", "some tasks are skipped", "some tasks are skipped, skipped server addr is '%s', the orginal error code is %d");
DEFINE_ERROR_EXT(OB_ERR_NAME_BECOMES_EMPTY, -5246, ER_NAME_BECOMES_EMPTY, "HY000", "Name has become ''", "Name \'%.*s\' has become ''");
DEFINE_ERROR_EXT(OB_ERR_REMOVED_SPACES, -5247, ER_REMOVED_SPACES, "HY000", "Leading spaces are removed from name ", "Leading spaces are removed from name \'%.*s\'");
DEFINE_ERROR_EXT(OB_WARN_ADD_AUTOINCREMENT_COLUMN, -5248, -1, "HY000", "Alter table add auto_increment column is dangerous", "Alter table add auto_increment column is dangerous, table_name=\'%.*s\', column_name=\'%s\'");
DEFINE_ERROR_EXT(OB_WARN_CHAMGE_NULL_ATTRIBUTE, -5249, -1, "HY000", "Alter table change nullable column to not nullable is dangerous", "Alter table change nullable column to not nullable is dangerous, table_name=\'%.*s\', column_name=\'%.*s\'");
DEFINE_ERROR_EXT(OB_ERR_INVALID_CHARACTER_STRING, -5250, ER_INVALID_CHARACTER_STRING, "HY000", "Invalid character string", "Invalid %.*s character string: \'%.*s\'");
DEFINE_ERROR_EXT(OB_ERR_KILL_DENIED, -5251, ER_KILL_DENIED_ERROR, "HY000", "You are not owner of thread", "You are not owner of thread %lu");
DEFINE_ERROR_EXT(OB_ERR_COLUMN_DEFINITION_AMBIGUOUS, -5252, -1, "HY000", "Column definition is ambiguous. Column has both NULL and NOT NULL attributes", "Column \'%.*s\' definition is ambiguous. Column has both NULL and NOT NULL attributes");
DEFINE_ERROR(OB_ERR_EMPTY_QUERY, -5253, ER_EMPTY_QUERY, "42000", "Query was empty");
DEFINE_ERROR_EXT(OB_ERR_CUT_VALUE_GROUP_CONCAT, -5254, ER_CUT_VALUE_GROUP_CONCAT, "42000", "Row was cut by GROUP_CONCAT()", "Row %ld was cut by GROUP_CONCAT()");
DEFINE_ERROR(OB_ERR_FIELD_NOT_FOUND_PART, -5255, ER_FIELD_NOT_FOUND_PART_ERROR, "HY000", "Field in list of fields for partition function not found in table");
DEFINE_ERROR(OB_ERR_PRIMARY_CANT_HAVE_NULL, -5256, ER_PRIMARY_CANT_HAVE_NULL, "42000", "All parts of a PRIMARY KEY must be NOT NULL; if you need NULL in a key, use UNIQUE instead");
DEFINE_ERROR(OB_ERR_PARTITION_FUNC_NOT_ALLOWED_ERROR, -5257, ER_PARTITION_FUNC_NOT_ALLOWED_ERROR, "HY000", "The PARTITION function returns the wrong type");
DEFINE_ERROR(OB_ERR_INVALID_BLOCK_SIZE, -5258, -1, "HY000", "Invalid block size, block size should between 1024 and 1048576");
DEFINE_ERROR_EXT(OB_ERR_UNKNOWN_STORAGE_ENGINE, -5259, ER_UNKNOWN_STORAGE_ENGINE, "42000", "Unknown storage engine", "Unknown storage engine \'%.*s\'");
DEFINE_ERROR_EXT(OB_ERR_TENANT_IS_LOCKED, -5260, -1, "HY000", "Tenant is locked", "Tenant \'%.*s\' is locked");
DEFINE_ERROR_EXT(OB_EER_UNIQUE_KEY_NEED_ALL_FIELDS_IN_PF, -5261, ER_UNIQUE_KEY_NEED_ALL_FIELDS_IN_PF, "HY000", "A UNIQUE INDEX/PRIMARY KEY must include all columns in the table's partitioning function", "A %s must include all columns in the table's partitioning function";
DEFINE_ERROR(OB_ERR_PARTITION_FUNCTION_IS_NOT_ALLOWED, -5262, ER_PARTITION_FUNCTION_IS_NOT_ALLOWED, "HY000", "This partition function is not allowed");
DEFINE_ERROR_EXT(OB_ERR_AGGREGATE_ORDER_FOR_UNION, -5263, ER_AGGREGATE_ORDER_FOR_UNION, "HY000", "aggregate order for union", "Expression #%d of ORDER BY contains aggregate function and applies to a UNION");
DEFINE_ERROR_EXT(OB_ERR_OUTLINE_EXIST, -5264, -1, "HY000", "Outline exists", "Outline '%.*s' already exists");
DEFINE_ERROR_EXT(OB_OUTLINE_NOT_EXIST, -5265, -1, "HY000", "Outline not exists", "Outline \'%.*s.%.*s\' doesn\'t exist");
DEFINE_ERROR_EXT(OB_WARN_OPTION_BELOW_LIMIT, -5266, WARN_OPTION_BELOW_LIMIT, "HY000", "The value should be no less than the limit", "The value of \'%s\' should be no less than the value of \'%s\'");
DEFINE_ERROR_EXT(OB_INVALID_OUTLINE, -5267, -1, "HY000", "invalid outline", "invalid outline ,error info:%s");
DEFINE_ERROR_EXT(OB_REACH_MAX_CONCURRENT_NUM, -5268, -1, "HY000", "SQL reach max concurrent num", "SQL reach max concurrent num %ld");
DEFINE_ERROR(OB_ERR_OPERATION_ON_RECYCLE_OBJECT, -5269, -1, "HY000", "can not perform DDL/DML over objects in Recycle Bin");
DEFINE_ERROR(OB_ERR_OBJECT_NOT_IN_RECYCLEBIN, -5270, -1, "HY000", "object not in RECYCLE BIN");
DEFINE_ERROR(OB_ERR_CON_COUNT_ERROR, -5271, ER_CON_COUNT_ERROR, "08004", "Too many connections");
DEFINE_ERROR_EXT(OB_ERR_OUTLINE_CONTENT_EXIST, -5272, -1, "HY000", "Outline content already exists when added", "Outline content '%.*s' of outline '%.*s' already exists when added");
DEFINE_ERROR_EXT(OB_ERR_OUTLINE_MAX_CONCURRENT_EXIST, -5273, -1, "HY000", "Max concurrent already exists when added", "Max concurrent in outline '%.*s' already exists when added");
DEFINE_ERROR_EXT(OB_ERR_VALUES_IS_NOT_INT_TYPE_ERROR, -5274, ER_VALUES_IS_NOT_INT_TYPE_ERROR, "HY000", "VALUES value for partition must have type INT", "VALUES value for partition \'%.*s\' must have type INT");
DEFINE_ORACLE_ERROR(OB_ERR_WRONG_TYPE_COLUMN_VALUE_ERROR, -5275, ER_WRONG_TYPE_COLUMN_VALUE_ERROR, "HY000", "Partition column values of incorrect type", 14019, "partition bound element must be one of: string, datetime or interval literal, number, or MAXVALUE");
DEFINE_ERROR(OB_ERR_PARTITION_COLUMN_LIST_ERROR, -5276, ER_PARTITION_COLUMN_LIST_ERROR, "HY000", "Inconsistency in usage of column lists for partitioning");
DEFINE_ERROR(OB_ERR_TOO_MANY_VALUES_ERROR, -5277, ER_TOO_MANY_VALUES_ERROR, "HY000", "Cannot have more than one value for this type of RANGE partitioning");
DEFINE_ERROR(OB_ERR_PARTITION_VALUE_ERROR, -5278, -1, "HY000", "This partition value with incorrect charset type");
DEFINE_ERROR(OB_ERR_PARTITION_INTERVAL_ERROR, -5279, -1, "HY000", "Partition interval must have type INT");
DEFINE_ERROR_EXT(OB_ERR_SAME_NAME_PARTITION, -5280, ER_SAME_NAME_PARTITION, "HY000", "Duplicate partition name", "Duplicate partition name \'%.*s\'");
DEFINE_ORACLE_ERROR_EXT(OB_ERR_RANGE_NOT_INCREASING_ERROR, -5281, ER_RANGE_NOT_INCREASING_ERROR, "HY000", "VALUES LESS THAN value must be strictly increasing for each partition", "VALUES LESS THAN value must be strictly increasing for each partition%.*s", 14037, "partition bound is too high", "partition bound of partition '%.*s' is too high");
DEFINE_ERROR(OB_ERR_PARSE_PARTITION_RANGE, -5282, ER_PARSE_ERROR, "42000", "Wrong number of partitions defined, mismatch with previous setting");
DEFINE_ERROR(OB_ERR_UNIQUE_KEY_NEED_ALL_FIELDS_IN_PF, -5283, ER_UNIQUE_KEY_NEED_ALL_FIELDS_IN_PF, "HY000", "A PRIMARY KEY must include all columns in the table\'s partitioning function");
DEFINE_ORACLE_ERROR(OB_NO_PARTITION_FOR_GIVEN_VALUE, -5284, ER_NO_PARTITION_FOR_GIVEN_VALUE, "HY000", "Table has no partition for value", 14400, "inserted partition key does not map to any partition");
DEFINE_ORACLE_ERROR(OB_EER_NULL_IN_VALUES_LESS_THAN, -5285, ER_NULL_IN_VALUES_LESS_THAN, "HY000", "Not allowed to use NULL value in VALUES LESS THAN", 14019, "partition bound element must be one of: datetime or interval literal, number, or MAXVALUE");
DEFINE_ERROR(OB_ERR_PARTITION_CONST_DOMAIN_ERROR, -5286, ER_PARTITION_CONST_DOMAIN_ERROR, "HY000", "Partition constant is out of partition function domain");
DEFINE_ERROR(OB_ERR_TOO_MANY_PARTITION_FUNC_FIELDS, -5287, ER_TOO_MANY_PARTITION_FUNC_FIELDS_ERROR, "HY000", "Too many fields in \'list of partition fields\'");
DEFINE_ERROR_EXT(OB_ERR_BAD_FT_COLUMN, -5288, ER_BAD_FT_COLUMN, "HY000", "Column cannot be part of FULLTEXT index", "Column '%.*s' cannot be part of FULLTEXT index");
DEFINE_ERROR_EXT(OB_ERR_KEY_DOES_NOT_EXISTS, -5289, ER_KEY_DOES_NOT_EXITS, "42000", "key does not exist in table", "Key '%.*s' doesn't exist in table '%.*s'");
DEFINE_ORACLE_ERROR_EXT(OB_NON_DEFAULT_VALUE_FOR_GENERATED_COLUMN, -5290, ER_NON_DEFAULT_VALUE_FOR_GENERATED_COLUMN, "HY000", "non-default value for generated column is not allowed", "The value specified for generated column '%.*s' in table '%.*s' is not allowed", 54013, "INSERT operation disallowed on virtual columns", "INSERT operation disallowed on virtual columns '%.*s'.'%.*s'");
DEFINE_ERROR(OB_ERR_BAD_CTXCAT_COLUMN, -5291, -1, "HY000", "The CTXCAT column must be contiguous in the index column list");
DEFINE_ERROR_EXT(OB_ERR_UNSUPPORTED_ACTION_ON_GENERATED_COLUMN, -5292, ER_UNSUPPORTED_ACTION_ON_GENERATED_COLUMN, "HY000", "not supported for generated columns", "'%s' is not supported for generated columns.");
DEFINE_ERROR_EXT(OB_ERR_DEPENDENT_BY_GENERATED_COLUMN, -5293, ER_DEPENDENT_BY_GENERATED_COLUMN, "HY000", "Column has a generated column dependency", "Column '%.*s' has a generated column dependency");
DEFINE_ORACLE_ERROR(OB_ERR_TOO_MANY_ROWS, -5294, ER_TOO_MANY_ROWS, "42000", "Result consisted of more than one row", 1422, "exact fetch returns more than requested number of rows");
DEFINE_ERROR(OB_WRONG_FIELD_TERMINATORS, -5295, ER_WRONG_FIELD_TERMINATORS, "42000", "Field separator argument is not what is expected; check the manual");
DEFINE_ERROR(OB_NO_READABLE_REPLICA, -5296, -1, "42000", "there has no readable replica");
DEFINE_ERROR_DEP(OB_ERR_UNEXPECTED_TZ_TRANSITION, -5297, -1, "HY000", "unexpected time zone info transition");
DEFINE_ERROR_EXT(OB_ERR_SYNONYM_EXIST, -5298, -1, "HY000", "synonym exists", "synonym '%.*s' already exists");
DEFINE_ERROR_EXT(OB_SYNONYM_NOT_EXIST, -5299, -1, "HY000", "synonym not exists", "synonym \'%.*s.%.*s\' doesn\'t exist");
DEFINE_ORACLE_ERROR(OB_ERR_MISS_ORDER_BY_EXPR, -5300, -1, "HY000", "missing ORDER BY expression in the window specification", 30485, "missing ORDER BY expression in the window specification");
DEFINE_ERROR(OB_ERR_NOT_CONST_EXPR, -5301, -1, "HY000", "The argument of the window function should be a constant for a partition", "The argument of the window function should be a constant for a partition");
DEFINE_ERROR(OB_ERR_PARTITION_MGMT_ON_NONPARTITIONED, -5302, ER_PARTITION_MGMT_ON_NONPARTITIONED, "HY000", "Partition management on a not partitioned table is not possible");
DEFINE_ERROR_EXT(OB_ERR_DROP_PARTITION_NON_EXISTENT, -5303, ER_DROP_PARTITION_NON_EXISTENT, "HY000", "Error in list of partitions to DROP", "Error in list of partitions to DROP");
DEFINE_ERROR(OB_ERR_PARTITION_MGMT_ON_TWOPART_TABLE, -5304, -1, "HY000", "Partition management on a two-part table is not possible");
DEFINE_ERROR_EXT(OB_ERR_ONLY_ON_RANGE_LIST_PARTITION, -5305, ER_ONLY_ON_RANGE_LIST_PARTITION, "HY000", "can only be used on RANGE/LIST partitions", "%s PARTITION can only be used on RANGE/LIST partitions");
DEFINE_ERROR(OB_ERR_DROP_LAST_PARTITION, -5306, ER_DROP_LAST_PARTITION, "HY000", "Cannot remove all partitions, use DROP TABLE instead");
DEFINE_ERROR_EXT(OB_ERR_PARALLEL_SERVERS_TARGET_NOT_ENOUGH, -5307, -1, "HY000", "Not enough thread resource to execute the query. Maybe parallel_servers_target was set too low.", "Not enough thread resource to execute the query. Require setting parallel_servers_target to a value no less than %ld for this query");
DEFINE_ERROR(OB_ERR_IGNORE_USER_HOST_NAME, -5308, -1, "HY000", "Ignore the host name");
DEFINE_ERROR(OB_IGNORE_SQL_IN_RESTORE, -5309, -1, "HY000", "Ignore sql in restore process");
DEFINE_ERROR(OB_ERR_TEMPORARY_TABLE_WITH_PARTITION, -5310, ER_PARTITION_NO_TEMPORARY, "HY000", "Cannot create temporary table with partitions");
DEFINE_ERROR_EXT(OB_ERR_INVALID_COLUMN_ID, -5311, -1, "HY000", "Invalid column id", "Invalid column id for %.*s");
DEFINE_ERROR_EXT(OB_SYNC_DDL_DUPLICATE, -5312, -1, "HY000", "Duplicated ddl id", "Duplicated ddl id '%.*s'");
DEFINE_ERROR_EXT(OB_SYNC_DDL_ERROR, -5313, -1, "HY000", "Failed to sync ddl", "Failed to sync ddl '%.*s'");
DEFINE_ORACLE_ERROR(OB_ERR_ROW_IS_REFERENCED, -5314, ER_ROW_IS_REFERENCED_2, "23000", "Cannot delete or update a parent row: a foreign key constraint fails", 2292, "integrity constraint violated - child record found");
DEFINE_ORACLE_ERROR(OB_ERR_NO_REFERENCED_ROW, -5315, ER_NO_REFERENCED_ROW_2, "23000", "Cannot add or update a child row: a foreign key constraint fails", 2291, "integrity constraint violated - parent key not found");
DEFINE_ERROR_EXT(OB_ERR_FUNC_RESULT_TOO_LARGE, -5316, ER_WARN_ALLOWED_PACKET_OVERFLOWED, "HY000", "Result of function was larger than max_allowed_packet - truncated", "Result of %s() was larger than max_allowed_packet (%d) - truncated");
DEFINE_ERROR(OB_ERR_CANNOT_ADD_FOREIGN, -5317, ER_CANNOT_ADD_FOREIGN, "HY000", "Cannot add foreign key constraint");
DEFINE_ERROR(OB_ERR_WRONG_FK_DEF, -5318, ER_WRONG_FK_DEF, "42000", "Incorrect foreign key definition: Key reference and table reference don't match");
DEFINE_ERROR_EXT(OB_ERR_INVALID_CHILD_COLUMN_LENGTH_FK, -5319, -1, "HY000", "Invalid child column length", "Child column \'%.*s\' data length cannot be less than parent column \'%.*s\' data length");
DEFINE_ERROR_EXT(OB_ERR_ALTER_COLUMN_FK, -5320, -1, "HY000", "Cannot alter foreign key column", "\'%.*s\': used in a foreign key constraint");
DEFINE_ERROR(OB_ERR_CONNECT_BY_REQUIRED, -5321, -1, "HY000", "CONNECT BY clause required in this query block");
DEFINE_ERROR(OB_ERR_INVALID_PSEUDO_COLUMN_PLACE, -5322, -1, "HY000", "Specified pseudocolumn, operator or function not allowed here");
DEFINE_ERROR(OB_ERR_NOCYCLE_REQUIRED, -5323, -1, "HY000", "NOCYCLE keyword is required with CONNECT_BY_ISCYCLE pseudocolumn");
DEFINE_ERROR(OB_ERR_CONNECT_BY_LOOP, -5324, -1, "HY000", "CONNECT BY loop in user data");
DEFINE_ORACLE_ERROR(OB_ERR_INVALID_SIBLINGS, -5325, -1, "HY000", "ORDER SIBLINGS BY clause not allowed here", 30929, "ORDER SIBLINGS BY clause not allowed here");
DEFINE_ERROR(OB_ERR_INVALID_SEPARATOR, -5326, -1, "HY000", "when using SYS_CONNECT_BY_PATH function, cannot have separator as part of column value");
DEFINE_ERROR(OB_ERR_INVALID_SYNONYM_NAME, -5327, -1, "HY000", "Database can not be specified in public synonym");
DEFINE_ERROR(OB_ERR_LOOP_OF_SYNONYM, -5328, -1, "HY000", "Looping chain of synonyms");
DEFINE_ERROR(OB_ERR_SYNONYM_SAME_AS_OBJECT, -5329, -1, "HY000", "Cannot create a synonym with same name as object");
DEFINE_ORACLE_ERROR_EXT(OB_ERR_SYNONYM_TRANSLATION_INVALID, -5330, -1, "HY000", "Synonym translation is no longer valid", "Synonym %s translation is no longer valid", 980, "synonym translation is no longer valid", "synonym %s translation is no longer valid");
DEFINE_ORACLE_ERROR(OB_ERR_EXIST_OBJECT, -5331, -1, "HY000", "name is already used by an existing object", 955, "name is already used by an existing object");
DEFINE_ERROR_EXT(OB_ERR_ILLEGAL_VALUE_FOR_TYPE, -5332, ER_ILLEGAL_VALUE_FOR_TYPE, "22007", "Illegal value found during parsing", "Illegal %s '%.*s' value found during parsing");
DEFINE_ERROR_EXT(OB_ER_TOO_LONG_SET_ENUM_VALUE, -5333, ER_TOO_LONG_SET_ENUM_VALUE, "HY000", "Too long enumeration/set value for column.", "Too long enumeration/set value for column %.*s.");
DEFINE_ORACLE_ERROR_EXT(OB_ER_DUPLICATED_VALUE_IN_TYPE, -5334, ER_DUPLICATED_VALUE_IN_TYPE, "HY000", "Column has duplicated value", "Column '%.*s' has duplicated value '%.*s' in %s ", 1, "unique constraint violated", "unique constraint violated, column '%.*s' with value '%.*s' in %s");
DEFINE_ERROR_EXT(OB_ER_TOO_BIG_ENUM, -5335, ER_TOO_BIG_ENUM, "HY000", "Too many enumeration values for column", "Too many enumeration values for column %.*s");
DEFINE_ERROR_EXT(OB_ERR_TOO_BIG_SET, -5336, ER_TOO_BIG_SET, "HY000", "Too many strings for column", "Too many strings for column %.*s and SET");
DEFINE_ERROR(OB_ERR_WRONG_ROWID, -5337, -1, "HY000", "rowid is wrong");
DEFINE_ERROR(OB_ERR_INVALID_WINDOW_FUNCTION_PLACE, -5338, -1, "HY000", "Window Function not allowed here");
DEFINE_ERROR(OB_ERR_PARSE_PARTITION_LIST, -5339, -1, "HY000", "Fail to parse list partition");
DEFINE_ERROR(OB_ERR_MULTIPLE_DEF_CONST_IN_LIST_PART, -5340, ER_MULTIPLE_DEF_CONST_IN_LIST_PART_ERROR, "HY000", "Multiple definition of same constant in list partitioning");
DEFINE_ORACLE_ERROR_DEP(OB_ERR_INVALID_TIMEZONE_REGION_ID, -5341, -1, "HY000", "timezone region ID is invalid", 1881, "timezone region ID is invalid");
DEFINE_ORACLE_ERROR_DEP(OB_ERR_INVALID_HEX_NUMBER, -5342, -1, "HY000", "invalid hex number", 1465, "invalid hex number");
DEFINE_ORACLE_ERROR_EXT(OB_ERR_WRONG_FUNC_ARGUMENTS_TYPE, -5343, -1, "42000", "wrong number or types of arguments in function", "wrong number or types of arguments in call to '%.*s'", 6553, "wrong number or types of arguments in function", "wrong number or types of arguments in call to '%.*s'");
DEFINE_ERROR_EXT(OB_ERR_MULTI_UPDATE_KEY_CONFLICT, -5344, ER_MULTI_UPDATE_KEY_CONFLICT, "HY000", "Primary key/index key/partition key update is not allowed", "Primary key/index key/partition key update is not allowed since the table is updated both as '%.*s' and '%.*s'");
DEFINE_ORACLE_ERROR(OB_ERR_INSUFFICIENT_PX_WORKER, -5345, -1, "HY000", "insufficient parallel query worker available", 12827, "insufficient parallel query worker available");
DEFINE_ORACLE_ERROR(OB_ERR_FOR_UPDATE_EXPR_NOT_ALLOWED, -5346, -1, "HY000", "FOR UPDATE of this query expression is not allowed", 1786, "FOR UPDATE of this query expression is not allowed");
DEFINE_ORACLE_ERROR(OB_ERR_WIN_FUNC_ARG_NOT_IN_PARTITION_BY, -5347, -1, "HY000", "argument should be a function of expressions in PARTITION BY", 30488, "argument should be a function of expressions in PARTITION BY");
DEFINE_ORACLE_ERROR(OB_ERR_TOO_LONG_STRING_IN_CONCAT, -5348, -1, "HY000", "result of string concatenation is too long", 1489, "result of string concatenation is too long");
DEFINE_ORACLE_ERROR(OB_ERR_WRONG_TIMESTAMP_LTZ_COLUMN_VALUE_ERROR, -5349, ER_WRONG_TYPE_COLUMN_VALUE_ERROR, "HY000", "Partition column values of incorrect type", 30078, "partition bound must be TIME/TIMESTAMP WITH TIME ZONE literals");
DEFINE_ORACLE_ERROR(OB_ERR_UPD_CAUSE_PART_CHANGE, -5350, -1, "HY000", "updating partition key column would cause a partition change", 14402, "updating partition key column would cause a partition change");
DEFINE_ORACLE_ERROR(OB_ERR_INVALID_TYPE_FOR_ARGUMENT, -5351, ER_INCORRECT_TYPE, "HY000", "invalid type given for an argument", 30175, "invalid type given for an argument");
DEFINE_ORACLE_ERROR_DEP(OB_ERR_FIELD_NOT_FOUND_IN_DATETIME_OR_INTERVAL, -5352, -1, "HY000", "specified field not found in datetime or interval", 1878, "specified field not found in datetime or interval");
DEFINE_ORACLE_ERROR(OB_ERR_ADD_PART_BOUN_NOT_INC, -5353, ER_RANGE_NOT_INCREASING_ERROR, "HY000", "VALUES LESS THAN value must be strictly increasing for each partition", 14074, "partition bound must collate higher than that of the last partition");
DEFINE_ORACLE_ERROR(OB_ERR_DATA_TOO_LONG_IN_PART_CHECK,-5354, ER_DATA_TOO_LONG, "22001", "Data too long for column", 14036, "partition bound value too large for column");
DEFINE_ORACLE_ERROR(OB_ERR_WRONG_TYPE_COLUMN_VALUE_V2_ERROR, -5355, ER_WRONG_TYPE_COLUMN_VALUE_ERROR, "HY000", "Partition column values of incorrect type", 14308, "partition bound element must be one of: string, datetime or interval literal, number, or NULL");
DEFINE_ERROR(OB_CANT_AGGREGATE_3COLLATIONS, -5356, ER_CANT_AGGREGATE_3COLLATIONS, "HY000", "Illegal mix of collations");
DEFINE_ERROR(OB_CANT_AGGREGATE_NCOLLATIONS, -5357, ER_CANT_AGGREGATE_NCOLLATIONS, "HY000", "Illegal mix of collations");
DEFINE_ORACLE_ERROR_EXT(OB_ERR_DUPLICATED_UNIQUE_KEY, -5358, ER_DUP_ENTRY, "23000", "Duplicated primary key", "Duplicate entry \'%s\' for key \'%.*s\'", 1452, "cannot CREATE UNIQUE INDEX; duplicate keys found", "cannot CREATE UNIQUE INDEX; duplicate keys found");
DEFINE_ORACLE_ERROR(OB_DOUBLE_OVERFLOW, -5359, ER_WARN_DATA_OUT_OF_RANGE, "22003", "result Double value is out of range", 1426, "Double value overflow");

DEFINE_ORACLE_ERROR(OB_ERR_NO_SYS_PRIVILEGE, -5360, -1, "HY000", "insufficient privileges", 1031, "insufficient privileges");
DEFINE_ORACLE_ERROR_EXT(OB_ERR_NO_LOGIN_PRIVILEGE, -5361, -1, "HY000", "user lacks CREATE SESSION privilege logon denied", "user %.*s lacks CREATE SESSION privilege; logon denied", 1045, "user lacks CREATE SESSION privilege; logon denied", "user %.*s lacks CREATE SESSION privilege; logon denied");
DEFINE_ORACLE_ERROR(OB_ERR_CANNOT_REVOKE_PRIVILEGES_YOU_DID_NOT_GRANT, -5362, OB_ERR_NO_GRANT, "42000", "No such grant defined", 1927, "cannot REVOKE privileges you did not grant");
DEFINE_ORACLE_ERROR_EXT(OB_ERR_SYSTEM_PRIVILEGES_NOT_GRANTED_TO, -5363, -1, "HY000", "system privileges not granted to", "system privileges not granted to '%.*s'", 1952, "system privileges not granted to", "system privileges not granted to '%.*s'");
DEFINE_ORACLE_ERROR(OB_ERR_ONLY_SELECT_AND_ALTER_PRIVILEGES_ARE_VALID_FOR_SEQUENCES, -5364, -1, "HY000", "only SELECT and ALTER privileges are valid for sequences", 2205, "only SELECT and ALTER privileges are valid for sequences");
DEFINE_ORACLE_ERROR(OB_ERR_EXECUTE_PRIVILEGE_NOT_ALLOWED_FOR_TABLES, -5365, -1, "HY000", "EXECUTE privilege not allowed for tables", 2224, "EXECUTE privilege not allowed for tables");
DEFINE_ORACLE_ERROR(OB_ERR_ONLY_EXECUTE_AND_DEBUG_PRIVILEGES_ARE_VALID_FOR_PROCEDURES, -5366, -1, "HY000", "only EXECUTE and DEBUG privileges are valid for procedures", 2225, "only EXECUTE and DEBUG privileges are valid for procedures");
DEFINE_ORACLE_ERROR(OB_ERR_ONLY_EXECUTE_DEBUG_AND_UNDER_PRIVILEGES_ARE_VALID_FOR_TYPES, -5367, -1, "HY000", "only EXECUTE, DEBUG, and UNDER privileges are valid for types", 2305, "only EXECUTE, DEBUG, and UNDER privileges are valid for types");
DEFINE_ORACLE_ERROR_EXT(OB_ERR_ADMIN_OPTION_NOT_GRANTED_FOR_ROLE, -5368, -1, "HY000", "ADMIN option not granted for role", "ADMIN option not granted for role '%.*s'", 1932, "ADMIN option not granted for role", "ADMIN option not granted for role '%.*s'");
DEFINE_ORACLE_ERROR_EXT(OB_ERR_USER_OR_ROLE_DOES_NOT_EXIST, -5369, -1, "HY000", "user or role does not exist", "user or role '%.*s' does not exist", 1917, "user or role does not exist", "user or role '%.*s' does not exist");
DEFINE_ORACLE_ERROR(OB_ERR_MISSING_ON_KEYWORD, -5370, -1, "HY000", "missing ON keyword", 969, "missing ON keyword");
DEFINE_ORACLE_ERROR_EXT(OB_ERR_NO_GRANT_OPTION, -5371, -1, "HY000", "grant option does not exists", "grant option does not exist for '%.*s.%.*s'", 1720, "grant option does not exist", "grant option does not exist for '%.*s.%.*s'");
DEFINE_ORACLE_ERROR(OB_ERR_ALTER_INDEX_AND_EXECUTE_NOT_ALLOWED_FOR_VIEWS, -5372, -1, "HY000", "ALTER, INDEX and EXECUTE not allowed for views", 2204, "ALTER, INDEX and EXECUTE not allowed for views");
DEFINE_ORACLE_ERROR(OB_ERR_CIRCULAR_ROLE_GRANT_DETECTED, -5373, -1, "HY000", "circular role grant detected", 1934, "circular role grant detected");
DEFINE_ORACLE_ERROR(OB_ERR_INVALID_PRIVILEGE_ON_DIRECTORIES, -5374, -1, "HY000", "invalid privilege on directories", 22928, "invalid privilege on directories");
DEFINE_ORACLE_ERROR(OB_ERR_DIRECTORY_ACCESS_DENIED, -5375, -1, "HY000", "directory access denied", 29289, "directory access denied");
DEFINE_ORACLE_ERROR(OB_ERR_MISSING_OR_INVALID_ROLE_NAME, -5376, -1, "HY000", "missing or invalid role name", 1937, "missing or invalid role name");
DEFINE_ORACLE_ERROR_EXT(OB_ERR_ROLE_NOT_GRANTED_OR_DOES_NOT_EXIST, -5377, -1, "HY000", "role not granted or does not exist", "role '%.*s' not granted or does not exist", 1924, "role not granted or does not exist", "role '%.*s' not granted or does not exist");
DEFINE_ORACLE_ERROR_EXT(OB_ERR_DEFAULT_ROLE_NOT_GRANTED_TO_USER, -5378, -1, "HY000", "DEFAULT ROLE not granted to user", "DEFAULT ROLE '%.*s' not granted to user", 1955, "DEFAULT ROLE not granted to user", "DEFAULT ROLE '%.*s' not granted to user");
DEFINE_ORACLE_ERROR_EXT(OB_ERR_ROLE_NOT_GRANTED_TO, -5379, -1, "HY000", "ROLE not granted to", "ROLE '%.*s' not granted to '%.*s'", 1951, "ROLE not granted to", "ROLE '%.*s' not granted to '%.*s'");
DEFINE_ORACLE_ERROR(OB_ERR_CANNOT_GRANT_TO_A_ROLE_WITH_GRANT_OPTION, -5380, -1, "HY000", "cannot GRANT to a role WITH GRANT OPTION", 1926, "cannot GRANT to a role WITH GRANT OPTION");
DEFINE_ORACLE_ERROR(OB_ERR_DUPLICATE_USERNAME_IN_LIST, -5381, -1, "HY000", "duplicate username in list", 1700, "duplicate username in list");
DEFINE_ORACLE_ERROR_EXT(OB_ERR_CANNOT_GRANT_STRING_TO_A_ROLE, -5382, -1, "HY000", "cannot grant string to a role", "cannot grant %.*s to a role", 1931, "cannot grant string to a role", "cannot grant %.*s to a role");
DEFINE_ORACLE_ERROR(OB_ERR_CASCADE_CONSTRAINTS_MUST_BE_SPECIFIED_TO_PERFORM_THIS_REVOKE, -5383, -1, "HY000", "CASCADE CONSTRAINTS must be specified to perform this revoke", 1981, "CASCADE CONSTRAINTS must be specified to perform this revoke");
DEFINE_ORACLE_ERROR(OB_ERR_YOU_MAY_NOT_REVOKE_PRIVILEGES_FROM_YOURSELF, -5384, -1, "HY000", "you may not GRANT/REVOKE privileges to/from yourself", 1749, "you may not GRANT/REVOKE privileges to/from yourself");

DEFINE_ORACLE_ERROR_EXT(OB_ERR_MISS_ERR_LOG_MANDATORY_COLUMN, -5385, -1, "HY000", "miss mandatory column of error log table", "miss mandatory column %.*s of error log table", 38900, "miss mandatory column of error log table", "miss mandatory column %.*s of error log table");
DEFINE_ORACLE_ERROR(OB_TABLE_DEFINITION_CHANGED, -5386, ER_TABLE_DEF_CHANGED, "HY000", "Unable to read data -- Table definition has changed", 1466, "Unable to read data -- Table definition has changed");
DEFINE_ERROR_EXT(OB_ERR_NO_ROUTINE_PRIVILEGE, -5387, ER_PROCACCESS_DENIED_ERROR, "42000", "Command denied to user for routine", "%.*s command denied to user '%.*s'@'%.*s' for routine '%.*s'");
DEFINE_ERROR_EXT(OB_ERR_USER_REFFERD_AS_DEFINER, -5388, ER_USER_REFERRED_AS_DEFINER, "HY000", "User '%.*s'@'%.*s' is referenced as a definer account in a stored routine.", "User '%.*s'@'%.*s' is referenced as a definer account in a stored routine.");
DEFINE_ERROR_EXT(OB_ERR_OPERATION_ON_USER_REFERRED_AS_DEFINER, -5389, ER_OPERATION_ON_USER_REFERRED_AS_DEFINER, "HY000", "Operation %.*s failed for '%.*s'@'%.*s' as it is referenced as a definer account in a stored routine.", "Operation %.*s failed for '%.*s'@'%.*s' as it is referenced as a definer account in a stored routine.");

// DEFINE_ERROR_EXT(OB_ERR_NO_COLUMN_PRIVILEGE, -5390, ER_COLUMNACCESS_DENIED_ERROR, "42000", "%.*s command denied to user '%.*s'@'%.*s' for column '%.*s' in table '%.*s'", "%.*s command denied to user '%.*s'@'%.*s' for column '%.*s' in table '%.*s'");

DEFINE_ORACLE_ERROR_EXT(OB_ERR_OBJECT_STRING_DOES_NOT_EXIST, -5400, -1, "HY000", "object string does not exist", "object %.*s does not exist", 4043, "object string does not exist", "object %.*s does not exist");
DEFINE_ORACLE_ERROR(OB_ERR_RESULTANT_DATA_TYPE_OF_VIRTUAL_COLUMN_IS_NOT_SUPPORTED, -5401, -1, "HY000", "resultant data type of virtual column is not supported", 54004, "resultant data type of virtual column is not supported");
DEFINE_ERROR(OB_ERR_GET_STACKED_DIAGNOSTICS, -5402, ER_GET_STACKED_DIAGNOSTICS_INACTIVE, "0Z002", "GET STACKED DIAGNOSTICS when handler not active");
DEFINE_ERROR(OB_DDL_SCHEMA_VERSION_NOT_MATCH, -5403, -1, "HY000", "ddl schema version not match");
DEFINE_ERROR_EXT(OB_ERR_COLUMN_GROUP_DUPLICATE, -5404, ER_DUP_FIELDNAME, "42S21", "Duplicate column group name", "Duplicate column group name '%.*s'");
DEFINE_ERROR_EXT(OB_ERR_RESERVED_SYNTAX, -5405, ER_RESERVED_SYNTAX, "HY000", "The \'%.*s\' syntax is reserved for purposes internal to the OceanBase Server", "The \'%.*s\' syntax is reserved for purposes internal to the OceanBase Server");
DEFINE_ERROR_EXT(OB_ERR_INVALID_PARAM_TO_PROCEDURE, -5406, ER_WRONG_PARAMETERS_TO_PROCEDURE, "HY000", "Incorrect parameters to procedure \'%.*s\'", "Incorrect parameters to procedure \'%.*s\'");
DEFINE_ERROR_EXT(OB_ERR_WRONG_PARAMETERS_TO_NATIVE_FCT, -5407, ER_WRONG_PARAMETERS_TO_NATIVE_FCT, "42000", "Incorrect parameters in the call to native function", "Incorrect parameters in the call to native function '%.*s'");
DEFINE_ERROR_EXT(OB_ERR_CTE_MAX_RECURSION_DEPTH, -5408, ER_CTE_MAX_RECURSION_DEPTH, "HY000", "Recursive query aborted after multiple iterations. Try increasing @@cte_max_recursion_depth to a larger value.", "Recursive query aborted after %lu iterations. Try increasing @@cte_max_recursion_depth to a larger value.");
DEFINE_ERROR(OB_DUPLICATE_OBJECT_NAME_EXIST, -5409, -1, "HY000", "Duplicate object name exists, schema refreshing may be hung");
DEFINE_ERROR(OB_ERR_REFRESH_SCHEMA_TOO_LONG, -5410, -1, "HY000", "Refresh schema failed continuously, ddl may be hung");

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//error code for json  -5410 ---- -5433, as for json only support mysql mode, error code for oracle use special values
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
DEFINE_ORACLE_ERROR_EXT_DEP(OB_ERR_INVALID_JSON_TEXT, -5411, ER_INVALID_JSON_TEXT, "22032", "Invalid JSON text.", "Invalid JSON text.", 40441, "JSON syntax error.", "JSON syntax error.");
DEFINE_ORACLE_ERROR_EXT_DEP(OB_ERR_INVALID_JSON_TEXT_IN_PARAM, -5412, ER_INVALID_JSON_TEXT_IN_PARAM, "22032", "Invalid JSON text in argument.", "Invalid JSON text in argument.", 40441, "JSON syntax error", "JSON syntax error");
DEFINE_ORACLE_ERROR_EXT_DEP(OB_ERR_INVALID_JSON_BINARY_DATA, -5413, ER_INVALID_JSON_BINARY_DATA, "42000", "The JSON binary value contains invalid data.", "The JSON binary value contains invalid data.", 40783, "invalid binary JSON data\nstring", "invalid binary JSON data\nstring");
DEFINE_ORACLE_ERROR_EXT_DEP(OB_ERR_INVALID_JSON_PATH, -5414, ER_INVALID_JSON_PATH, "42000", "Invalid JSON path expression.", "Invalid JSON path expression.", 40442, "JSON path expression syntax error ('INT')", "JSON path expression syntax error ('INT')");
DEFINE_ORACLE_ERROR_EXT_DEP(OB_ERR_INVALID_JSON_CHARSET, -5415, ER_INVALID_JSON_CHARSET, "22032", "Cannot create a JSON value from a string.", "Cannot create a JSON value from a string.", 600, "Cannot create a JSON value from a string.", "Cannot create a JSON value from a string.");
DEFINE_ORACLE_ERROR_EXT_DEP(OB_ERR_INVALID_JSON_CHARSET_IN_FUNCTION, -5416, ER_INVALID_JSON_CHARSET_IN_FUNCTION, "22032", "Invalid JSON character data provided to function.", "Invalid JSON character data provided to function.", 600, "Invalid JSON character data provided to function.", "Invalid JSON character data provided to function.");
DEFINE_ORACLE_ERROR_EXT_DEP(OB_ERR_INVALID_TYPE_FOR_JSON, -5417, ER_INVALID_TYPE_FOR_JSON, "22032", "Invalid data type for JSON data in argument %u to function %s; a JSON string or JSON type is required.", "Invalid data type for JSON data in argument %u to function %s; a JSON string or JSON type is required.", 600, "Invalid data type for JSON data in argument %u to function %s; a JSON string or JSON type is required.", "Invalid data type for JSON data in argument %u to function %s; a JSON string or JSON type is required.");
DEFINE_ORACLE_ERROR_EXT_DEP(OB_ERR_INVALID_CAST_TO_JSON, -5418, ER_INVALID_CAST_TO_JSON, "22032", "Cannot CAST value to JSON.", "Cannot CAST value to JSON.", 600, "Cannot CAST value to JSON.", "Cannot CAST value to JSON.");
DEFINE_ORACLE_ERROR_EXT_DEP(OB_ERR_INVALID_JSON_PATH_CHARSET, -5419, ER_INVALID_JSON_PATH_CHARSET, "42000", "A path expression must be encoded in the utf8 character set.", "A path expression must be encoded in the utf8 character set.", 600, "A path expression must be encoded in the utf8 character set.", "A path expression must be encoded in the utf8 character set.");
DEFINE_ORACLE_ERROR_EXT_DEP(OB_ERR_INVALID_JSON_PATH_WILDCARD, -5420, ER_INVALID_JSON_PATH_WILDCARD, "42000", "In this situation, path expressions may not contain the * and ** tokens.", "In this situation, path expressions may not contain the * and ** tokens.", 600, "In this situation, path expressions may not contain the * and ** tokens.", "In this situation, path expressions may not contain the * and ** tokens.");
DEFINE_ORACLE_ERROR_EXT_DEP(OB_ERR_JSON_VALUE_TOO_BIG, -5421, ER_JSON_VALUE_TOO_BIG, "22032", "The JSON value is too big to be stored in a JSON column.", "The JSON value is too big to be stored in a JSON column.", 600, "The JSON value is too big to be stored in a JSON column.", "The JSON value is too big to be stored in a JSON column.");
DEFINE_ORACLE_ERROR_EXT_DEP(OB_ERR_JSON_KEY_TOO_BIG, -5422, ER_JSON_KEY_TOO_BIG, "22032", "The JSON object contains a key name that is too long.", "The JSON object contains a key name that is too long.", 40476, "JSON key too long.", "JSON key too long.");
DEFINE_ORACLE_ERROR_EXT_DEP(OB_ERR_JSON_USED_AS_KEY, -5423, ER_JSON_USED_AS_KEY, "42000", "JSON column cannot be used in key specification.", "JSON column '%.*s' cannot be used in key specification.", 600, "JSON column cannot be used in key specification.", "JSON column '%.*s' cannot be used in key specification.");
DEFINE_ORACLE_ERROR_EXT_DEP(OB_ERR_JSON_VACUOUS_PATH, -5424, ER_JSON_VACUOUS_PATH, "42000", "The path expression is not allowed in this context.", "The path expression is not allowed in this context.", 600, "The path expression is not allowed in this context.", "The path expression is not allowed in this context.");
DEFINE_ORACLE_ERROR_EXT_DEP(OB_ERR_JSON_BAD_ONE_OR_ALL_ARG, -5425, ER_JSON_BAD_ONE_OR_ALL_ARG, "42000", "The oneOrAll argument may take these values: \'one\' or \'all\'.", "The oneOrAll argument may take these values: \'one\' or \'all\'.", 600, "The oneOrAll argument may take these values: \'one\' or \'all\'.", "The oneOrAll argument may take these values: \'one\' or \'all\'.");
DEFINE_ORACLE_ERROR_EXT_DEP(OB_ERR_NUMERIC_JSON_VALUE_OUT_OF_RANGE, -5426, ER_NUMERIC_JSON_VALUE_OUT_OF_RANGE, "22003", "Out of range JSON value for CAST", "Out of range JSON value for CAST", 600, "Out of range JSON value for CAST", "Out of range JSON value for CAST");
DEFINE_ORACLE_ERROR_EXT_DEP(OB_ERR_INVALID_JSON_VALUE_FOR_CAST, -5427, ER_INVALID_JSON_VALUE_FOR_CAST, "22018", "Invalid JSON value for CAST", "Invalid JSON value for CAST", 600, "Invalid JSON value for CAST", "Invalid JSON value for CAST");
DEFINE_ORACLE_ERROR_EXT_DEP(OB_ERR_JSON_OUT_OF_DEPTH, -5428, ER_JSON_DOCUMENT_TOO_DEEP, "22032", "The JSON document exceeds the maximum depth.", "The JSON document exceeds the maximum depth.", 600, "The JSON document exceeds the maximum depth.", "The JSON document exceeds the maximum depth.");
DEFINE_ORACLE_ERROR_EXT_DEP(OB_ERR_JSON_DOCUMENT_NULL_KEY, -5429, ER_JSON_DOCUMENT_NULL_KEY, "22032", "JSON documents may not contain NULL member names.", "JSON documents may not contain NULL member names.", 40595, "Name input to JSON generation function cannot be null", "Name input to JSON generation function cannot be null");
DEFINE_ORACLE_ERROR_EXT_DEP(OB_ERR_BLOB_CANT_HAVE_DEFAULT, -5430, ER_BLOB_CANT_HAVE_DEFAULT, "42000", "BLOB, TEXT, GEOMETRY or JSON column can't have a default value", "BLOB, TEXT, GEOMETRY or JSON column '%.*s' can't have a default value", 600, "Invalid default value", "Invalid default value for \'%.*s\'");
DEFINE_ORACLE_ERROR_EXT_DEP(OB_ERR_INVALID_JSON_PATH_ARRAY_CELL, -5431, ER_INVALID_JSON_PATH_ARRAY_CELL, "42000", "A path expression is not a path to a cell in an array", "A path expression is not a path to a cell in an array", 600, "A path expression is not a path to a cell in an array", "A path expression is not a path to a cell in an array");
DEFINE_ORACLE_ERROR_EXT_DEP(OB_ERR_MISSING_JSON_VALUE, -5432, ER_MISSING_JSON_VALUE, "22035", "No value was found by '%.*s' on the specified path.", "No value was found by '%.192s' on the specified path.", 40462, "JSON_VALUE evaluated to no value", "'%.192s' evaluated to no value");
DEFINE_ORACLE_ERROR_EXT_DEP(OB_ERR_MULTIPLE_JSON_VALUES, -5433, ER_MULTIPLE_JSON_VALUES, "22034", "More than one value was found by '%.*s' on the specified path.", "More than one value was found by '%.192s' on the specified path.", 40470, "More than one value was found by '%.192s' on the specified path.", "More than one value was found by '%.192s' on the specified path.");
DEFINE_ERROR(OB_SQL_RETRY_SPM, -5434, -1, "HY000", "retry sql due to spm");
DEFINE_ERROR(OB_OUTLINE_NOT_REPRODUCIBLE, -5435, -1, "HY000", "outline not reproducible");
DEFINE_ERROR_EXT_DEP(OB_INVALID_ARGUMENT_FOR_TIMESTAMP_TO_SCN, -5436, -1, "42000", "Invalid argument for timestamp_to_scn()", " TIMESTAMP_TO_SCN expected timestamp argument");
DEFINE_ERROR_EXT_DEP(OB_INVALID_ARGUMENT_FOR_SCN_TO_TIMESTAMP, -5437, -1, "42000", "Invalid argument for scn_to_timestamp()", "SCN_TO_TIMESTAMP expected a integer number as nsec argument");
DEFINE_ERROR_EXT(OB_EER_WINDOW_NO_CHILD_PARTITIONING, -5438, ER_WINDOW_NO_CHILD_PARTITIONING, "HY000", "Named window cann't be modified by another partitioning property", "A window which depends on another cannot define partitioning");
DEFINE_ERROR_EXT(OB_EER_WINDOW_NO_INHERIT_FRAME, -5439, ER_WINDOW_NO_INHERIT_FRAME, "HY000", "Named window cann't be modified by another framing property", "Window '%.*s' has a frame definition, so cannot be referenced by another window");
DEFINE_ERROR_EXT(OB_EER_WINDOW_NO_REDEFINE_ORDER_BY, -5440, ER_WINDOW_NO_REDEFINE_ORDER_BY, "HY000", "Named window cann't be modified by another ordering property", "Window '%.*s' cannot inherit '%.*s' since both contain an ORDER BY clause");
DEFINE_ORACLE_ERROR_EXT_DEP(OB_ERR_INVALID_JSON_TYPE, -5441, -1, "42000", "invalid JSON type.", "invalid JSON type.", 40587, "invalid JSON type.", "invalid JSON type.")
DEFINE_ORACLE_ERROR_EXT_DEP(OB_ERR_JSON_PATH_SYNTAX_ERROR, -5442, -1, "42000", "JSON path expression syntax error ('INT')", "JSON path expression syntax error ('%s')", 40442, "JSON path expression syntax error ('INT')", "JSON path expression syntax error ('%s')");
DEFINE_ORACLE_ERROR(OB_ERR_INVALID_DATA_TYPE_RETURNING, -5443, -1, "42000", "invalid data type for return value", 40449, "invalid data type for return value");
DEFINE_ORACLE_ERROR_EXT_DEP(OB_ERR_JSON_VALUE_NO_SCALAR, -5444, ER_WRONG_JSON_TABLE_VALUE, "42000", "Can't store an array or an object in the scalar %s column 'jpath'","Can't store an array or an object in the scalar %s column 'jpath'", 40456, "JSON_VALUE evaluated to non-scalar value", "JSON_VALUE evaluated to non-scalar value");
DEFINE_ORACLE_ERROR(OB_ERR_JSON_VALUE_NO_VALUE, -5445, -1, "42000", "JSON_VALUE evaluated to no value", 40462, "JSON_VALUE evaluated to no value");
DEFINE_ORACLE_ERROR(OB_ERR_DEFAULT_VALUE_NOT_LITERAL, -5446, -1, "42000", "default value not a literal", 40455, "default value not a literal");
DEFINE_ORACLE_ERROR(OB_ERR_JSON_SYNTAX_ERROR, -5447, -1, "42000", "JSON syntax error", 40441, "JSON syntax error");
DEFINE_ORACLE_ERROR(OB_ERR_JSON_EQUAL_OUTSIDE_PREDICATE, -5448, -1, "42000", "JSON_EQUAL used outside predicate", 40600, "JSON_EQUAL used outside predicate");
DEFINE_ORACLE_ERROR(OB_ERR_WITHOUT_ARR_WRAPPER, -5449, -1, "42000", "result cannot be returned without array wrapper", 40480, "result cannot be returned without array wrapper");
DEFINE_ORACLE_ERROR(OB_ERR_JSON_PATCH_INVALID, -5450, -1, "42000", "Patch specification is not valid JSON", 40629, "Patch specification is not valid JSON");
DEFINE_ORACLE_ERROR(OB_ERR_ORDER_SIBLINGS_BY_NOT_ALLOWED, -5451, -1, "42000", "ORDER SIBLINGS BY clause not allowed here", 30929, "ORDER SIBLINGS BY clause not allowed here");
DEFINE_ORACLE_ERROR(OB_ERR_LOB_TYPE_NOT_SORTING, -5452, -1, "42000", "Column of LOB type cannot be used for sorting", 40750, "Column of LOB type cannot be used for sorting");
DEFINE_ORACLE_ERROR_EXT_DEP(OB_ERR_DUPLICATE_KEY, -5453, -1, "42000", "duplicate key names in JSON object", "duplicate key names in JSON object", 40473, "duplicate key names in JSON object", "duplicate key names in JSON object");
DEFINE_ORACLE_ERROR_EXT_DEP(OB_ERR_JSON_PATH_EXPRESSION_SYNTAX_ERROR, -5454, -1, "42000", "JSON path expression syntax error ('')", "JSON path expression syntax error ('%.*s')", 40597, "JSON path expression syntax error ('')", "JSON path expression syntax error ('%.*s')");
DEFINE_ORACLE_ERROR(OB_ERR_JSON_ILLEGAL_ZERO_LENGTH_IDENTIFIER_ERROR, -5455, -1, "42000", "illegal zero-length identifier", 01741, "illegal zero-length identifier");
DEFINE_ORACLE_ERROR(OB_ERR_NO_VALUE_IN_PASSING, -5456, -1, "42000", "Variable in JSON path expression has no value in PASSING clause.", 40656, "Variable in JSON path expression has no value in PASSING clause.");
DEFINE_ORACLE_ERROR(OB_ERR_INVALID_COLUMN_SPE, -5457, -1, "42000", "JSON syntax error", 1747, "invalid user.table.column, table.column, or column specification");
DEFINE_ORACLE_ERROR(OB_ERR_INPUT_JSON_NOT_BE_NULL, -5458, -1, "42000", "JSON syntax error", 40595, "Name input to JSON generation function cannot be null");
DEFINE_ORACLE_ERROR(OB_ERR_INVALID_DATA_TYPE, -5459, -1, "42000", "invalid data type for '%s' column", 40484, "invalid data type for '%s' column");
DEFINE_ORACLE_ERROR(OB_ERR_INVALID_CLAUSE, -5460, -1, "42000", "invalid '%s' clause", 40450, "invalid '%s' clause");
DEFINE_ORACLE_ERROR(OB_ERR_INVALID_CMP_OP, -5461, -1, "42000", "invalid comparison operation involving JSON type value", 40796, "invalid comparison operation involving JSON type value");
DEFINE_ORACLE_ERROR(OB_ERR_INVALID_INPUT, -5462, -1, "42000", "Invalid Input", 30980, "Invalid Input");
DEFINE_ORACLE_ERROR(OB_ERR_EMPTY_INPUT_TO_JSON_OPERATOR, -5463, -1, "42000", "empty input to JSON operator", 40833, "empty input to JSON operator");
DEFINE_ORACLE_ERROR(OB_ERR_ADDITIONAL_IS_JSON, -5464, -1, "42000", "cannot add additional IS jSON check constraint", 40664, "cannot add additional IS jSON check constraint");
DEFINE_ORACLE_ERROR(OB_ERR_FUNCTION_INVALID_STATE, -5465, -1, "42000", "Package or function PRO is in an invalid state", 6575, "Package or function PRO is in an invalid state");
DEFINE_ORACLE_ERROR(OB_ERR_MISS_VALUE, -5466, -1, "HY000", "missing VALUE keyword", 2000, "missing VALUE keyword");
DEFINE_ORACLE_ERROR(OB_ERR_DIFFERENT_TYPE_SELECTED, -5467, -1, "42000", "JSON path expression selected a value of different data type", 40566, "JSON path expression selected a value of different data type");
DEFINE_ORACLE_ERROR(OB_ERR_NO_VALUE_SELECTED, -5468, -1, "42000", "JSON path expression did not select a value.", 40565, "JSON path expression did not select a value.");
DEFINE_ORACLE_ERROR(OB_ERR_NON_TEXT_RET_NOTSUPPORT, -5469, -1, "42000", "ASCII or PRETTY not supported for non-textual return data type", 40481, "ASCII or PRETTY not supported for non-textual return data type");
DEFINE_ORACLE_ERROR(OB_ERR_PL_JSONTYPE_USAGE, -5470, -1, "42000", "Invalid use of PL/SQL JSON object type", 40573, "Invalid use of PL/SQL JSON object type");
DEFINE_ORACLE_ERROR(OB_ERR_NULL_INPUT, -5471, -1, "42000", "Input cannot be null", 64403, "Input cannot be null");
DEFINE_ORACLE_ERROR_EXT_DEP(OB_ERR_NOT_ISO_8601_FORMAT, -5472, -1, "42000", "date or time stamp string value does not conform to ISO 8601 format","Jdate or time stamp string value does not conform to ISO 8601 format", 40688, "date or time stamp string value does not conform to ISO 8601 format", "date or time stamp string value does not conform to ISO 8601 format");
DEFINE_ORACLE_ERROR_EXT_DEP(OB_ERR_VALUE_EXCEEDED_MAX, -5473, -1, "42000", "value is out of range", "%d value is out of range in %d", 40459, "output value too large", "output value too large (actual: %d, maximum: %d)");
DEFINE_ORACLE_ERROR(OB_ERR_DEFAULT_VALUE_NOT_MATCH, -5474, -1, "42000", "default value not matching type defined in RETURNING clause", 40452, "default value not matching type defined in RETURNING clause");
DEFINE_ORACLE_ERROR_EXT_DEP(OB_ERR_BOOL_NOT_CONVERT_NUMBER, -5475, -1, "42000", "cannot convert Boolean value to number", "cannot convert Boolean value to number", 40799, "cannot convert Boolean value to number", "cannot convert Boolean value to number");
DEFINE_ORACLE_ERROR(OB_ERR_CONVERSION_FAIL, -5476, -1, "42000", "JSON conversion failed", 40570, "JSON conversion failed");
DEFINE_ORACLE_ERROR(OB_ERR_NOT_OBJ_REF, -5477, -1, "42000", "not an object or REF", 22806, "not an object or REF");
DEFINE_ORACLE_ERROR(OB_ERR_UNSUPPORT_TRUNCATE_TYPE, -5478, -1, "42000", "Truncation is not supported with data type in RETURNING clause", 40779, "Truncation is not supported with data type in RETURNING clause");
DEFINE_ORACLE_ERROR(OB_ERR_UNIMPLEMENT_JSON_FEATURE, -5479, -1, "42000", "Unimplemented JSON feature", 40569, "Unimplemented JSON feature");
DEFINE_ORACLE_ERROR(OB_ERR_USAGE_KEYWORD, -5480, -1, "42000", "invalid usage of keyword EXISTS", 40487, "invalid usage of keyword EXISTS");
DEFINE_ORACLE_ERROR(OB_ERR_INPUT_JSON_TABLE, -5481, -1, "42000", "invalid input data type for JSON_TABLE", 40491, "invalid input data type for JSON_TABLE");
DEFINE_ORACLE_ERROR(OB_ERR_BOOL_CAST_NUMBER, -5482, -1, "42000", "cannot convert Boolean value to number", 40799, "cannot convert Boolean value to number");
DEFINE_ORACLE_ERROR(OB_ERR_NESTED_PATH_DISJUNCT, -5483, -1, "42000", "JSON_TABLE nested path expressions not disjunct", 40560, "JSON_TABLE nested path expressions not disjunct");
DEFINE_ORACLE_ERROR(OB_ERR_INVALID_VARIABLE_IN_JSON_PATH, -5484, -1, "42000", " Invalid use of bind variable in SQL/JSON path.", 40576, " Invalid use of bind variable in SQL/JSON path.");
DEFINE_ORACLE_ERROR_EXT_DEP(OB_ERR_JSON_KEY_NOT_FOUND, -5485, -1, "42000", "JSON key name not found.", "JSON key name not found.", 40571, "JSON key name not found.", "JSON key name not found."))
DEFINE_ORACLE_ERROR(OB_ERR_INVALID_DEFAULT_VALUE_PROVIDED, -5486, -1, "42000", "Invalid numeric", 40451, "invalid default value provided");
DEFINE_ORACLE_ERROR(OB_ERR_PATH_EXPRESSION_NOT_LITERAL, -5487, -1, "42000", "path expression not a literal", 40454, "path expression not a literal");
DEFINE_PLS_ERROR_EXT(OB_ERR_INVALID_ARGUMENT_FOR_JSON_CALL, -5488, -1, "HY000", "invalid argument for JSON call", "invalid argument for %s call", 185, "invalid argument for JSON call", "invalid argument for %s call");
DEFINE_ERROR(OB_ERR_SCHEMA_HISTORY_EMPTY, -5489, -1, "HY000", "Schema history is empty");
DEFINE_ORACLE_ERROR(OB_ERR_TABLE_NAME_NOT_IN_LIST, -5490, -1, "42000", "table name not in FROM list", 964, "table name not in FROM list");
DEFINE_ORACLE_ERROR(OB_ERR_DEFAULT_NOT_AT_LAST_IN_LIST_PART, -5491, -1, "42000", "DEFAULT partition must be last partition specified", 14318, "DEFAULT partition must be last partition specified");
DEFINE_ERROR_EXT(OB_ERR_MYSQL_CHARACTER_SET_MISMATCH, -5492, ER_CHARACTER_SET_MISMATCH, "HY000", "Character set cannot be used in conjunction with binary collations in function call", "Character set '%.*s' cannot be used in conjunction with '%.*s' in regexp function call.");

DEFINE_ORACLE_ERROR_EXT(OB_ERR_RENAME_PARTITION_NAME_DUPLICATE, -5493, ER_SAME_NAME_PARTITION, "HY000", "Duplicate partition name", "Duplicate partition name %.*s", 14082, "New partition name must differ from that of any other partition or subpartition of the object.", "New partition name %.*s must differ from that of any other partition or subpartition of the object.");
DEFINE_ORACLE_ERROR_EXT(OB_ERR_RENAME_SUBPARTITION_NAME_DUPLICATE, -5494, ER_SAME_NAME_PARTITION, "HY000", "Duplicate partition name", "Duplicate partition name %.*s", 14263, "New subpartition name must differ from that of any other partition or subpartition of the object.", "New subpartition name %.*s must differ from that of any other partition or subpartition of the object.");
DEFINE_ORACLE_ERROR(OB_ERR_INVALID_WAIT_INTERVAL, -5495, -1, "HY000", "missing or invalid WAIT interval", 30005, "missing or invalid WAIT interval");

//for functional index in mysql mode
DEFINE_ERROR_EXT(OB_ERR_FUNCTIONAL_INDEX_REF_AUTO_INCREMENT, -5496, ER_FUNCTIONAL_INDEX_REF_AUTO_INCREMENT, "HY000", "Functional index cannot refer to an auto-increment column.", "Functional index '%.*s' cannot refer to an auto-increment column.");
DEFINE_ERROR_EXT(OB_ERR_DEPENDENT_BY_FUNCTIONAL_INDEX, -5497, ER_DEPENDENT_BY_FUNCTIONAL_INDEX, "HY000", "Column has a functional index dependency and cannot be dropped or renamed.", "Column '%.*s' has a functional index dependency and cannot be dropped or renamed.");
DEFINE_ERROR(OB_ERR_FUNCTIONAL_INDEX_ON_LOB, -5498, ER_FUNCTIONAL_INDEX_ON_LOB, "HY000", "Cannot create a functional index on an expression that returns a BLOB or TEXT. Please consider using CAST.");
DEFINE_ERROR(OB_ERR_FUNCTIONAL_INDEX_ON_FIELD, -5499, ER_FUNCTIONAL_INDEX_ON_FIELD, "HY000", "Functional index on a column is not supported. Consider using a regular index instead.");
DEFINE_ERROR(OB_ERR_GENCOL_LEGIT_CHECK_FAILED, -5500, -1, "HY000", "Legitimacy check failed for generated columns.");

DEFINE_ORACLE_ERROR(OB_ERR_GROUPING_FUNC_WITHOUT_GROUP_BY, -5501, -1, "42000", "GROUPING function only supported with GROUP BY CUBE or ROLLUP", 30481, "GROUPING function only supported with GROUP BY CUBE or ROLLUP");
// for rename column in mysql mode
DEFINE_ORACLE_ERROR_EXT(OB_ERR_DEPENDENT_BY_PARTITION_FUNC, -5502, ER_DEPENDENT_BY_PARTITION_FUNC, "HY000", "Column has a partitioning function dependency and cannot be dropped or renamed.", "Column '%.*s' has a partitioning function dependency and cannot be dropped or renamed.", 12984, "cannot drop partitioning column", "cannot drop partitioning column '%.*s'");
DEFINE_ERROR(OB_ERR_VIEW_SELECT_CONTAIN_INTO, -5503, ER_VIEW_SELECT_CLAUSE, "HY000", "View's SELECT contains a 'INTO' clause.");
DEFINE_ORACLE_ERROR(OB_ERR_DEFAULT_NOT_ALLOWED, -5504, -1, "HY000", "Virtual column cannot have a default value", 54025, "Virtual column cannot have a default value");
DEFINE_ORACLE_ERROR(OB_ERR_MODIFY_REALCOL_TO_GENCOL, -5505, -1, "HY000", "Real column cannot have an expression", 54026, "Real column cannot have an expression");
DEFINE_ORACLE_ERROR(OB_ERR_MODIFY_TYPE_OF_GENCOL, -5506, -1, "HY000", "cannot modify data-type of virtual column", 54027, "cannot modify data-type of virtual column");

DEFINE_ERROR_EXT(OB_ERR_WINDOW_FRAME_ILLEGAL, -5507, ER_WINDOW_FRAME_ILLEGAL, "HY000", "frame start or end is negative or NULL or of non-integral type", "Window '%.*s': frame start or end is negative or NULL or of non-integral type");
DEFINE_ERROR_EXT(OB_ERR_WINDOW_RANGE_FRAME_TEMPORAL_TYPE, -5508, ER_WINDOW_RANGE_FRAME_TEMPORAL_TYPE, "HY000", "Window with RANGE frame has ORDER BY expression of datetime type. Only INTERVAL bound value allowed.", "Window '%.*s' with RANGE frame has ORDER BY expression of datetime type. Only INTERVAL bound value allowed.");
DEFINE_ERROR_EXT(OB_ERR_WINDOW_RANGE_FRAME_NUMERIC_TYPE, -5509, ER_WINDOW_RANGE_FRAME_NUMERIC_TYPE, "HY000", "Window with RANGE frame has ORDER BY expression of numeric type. INTERVAL bound value not allowed.", "Window '%.*s' with RANGE frame has ORDER BY expression of numeric type. INTERVAL bound value not allowed.");
DEFINE_ERROR_EXT(OB_ERR_WINDOW_RANGE_BOUND_NOT_CONSTANT, -5510, ER_WINDOW_RANGE_BOUND_NOT_CONSTANT, "HY000", "Window has a non-constant frame bound.", "Window '%.*s' has a non-constant frame bound.");
DEFINE_ORACLE_ERROR(OB_ERR_DEFAULT_FOR_MODIFYING_VIEWS, -5511, -1, "42000", "Explicit column default is not supported for modifying views", 32575, "Explicit column default is not supported for modifying views");

DEFINE_ERROR_EXT(OB_ERR_FK_COLUMN_NOT_NULL, -5512, ER_FK_COLUMN_NOT_NULL, "HY000", "Column cannot be NOT NULL: needed in a foreign key constraint SET NULL", "Column \'%s\' cannot be NOT NULL: needed in a foreign key constraint \'%s\' SET NULL");
DEFINE_ORACLE_ERROR(OB_ERR_UNSUPPORTED_FK_SET_NULL_ON_GENERATED_COLUMN, -5513, ER_UNSUPPORTED_FK_SET_NULL_ON_GENERATED_COLUMN, "HY000", " Cannot define foreign key with ON DELETE SET NULL clause on a generated column", 54036, "cannot define referential constraint with ON DELETE SET NULL clause on virtual column");
DEFINE_ORACLE_ERROR(OB_JSON_PROCESSING_ERROR, -5514, -1, "42000", " JSON processing error", 40444, " JSON processing error");
DEFINE_ERROR(OB_ERR_TABLE_WITHOUT_ALIAS, -5515, ER_TF_MUST_HAVE_ALIAS, "42000", "Every table function must have an alias");

DEFINE_ERROR_EXT(OB_ERR_DEPRECATED_SYNTAX, -5516, ER_WARN_DEPRECATED_SYNTAX, "HY000", "This syntax is deprecated and will be removed in a future release", "%s is deprecated and will be removed in a future release. Please use \'%s\' instead");
DEFINE_ERROR(OB_ERR_NON_STRING_NOT_SUPPORT, -5517, ER_NOT_SUPPORTED_YET, "42000", "This version of MySQL doesn't yet support 'non-string DEFAULT value for a column in a JSON_TABLE expression'");
DEFINE_ERROR_EXT(OB_ERR_DEPRECATED_SYNTAX_NO_REP, -5518, ER_WARN_DEPRECATED_SYNTAX_NO_REPLACEMENT, "HY000", "This syntax is deprecated and will be removed in a future release", "%s is deprecated and will be removed in a future release");

//for changed solidify session vars of generated cols
DEFINE_ERROR_EXT_DEP(OB_ERR_SESSION_VAR_CHANGED, -5540, -1, "HY000", "System variables are different from the old values solidified.", "System variable '%.*s' is different from the old value solidified for '%.*s'(old value:%.*s).");

DEFINE_ERROR_EXT(OB_ERR_SP_ALREADY_EXISTS, -5541, ER_SP_ALREADY_EXISTS, "42000", "procedure/function already exists", "%s %.*s already exists");
DEFINE_ERROR_EXT(OB_ERR_SP_DOES_NOT_EXIST, -5542, ER_SP_DOES_NOT_EXIST, "42000", "procedure/function does not exist", "%s %.*s.%.*s does not exist");
DEFINE_PLS_ERROR_EXT(OB_ERR_SP_UNDECLARED_VAR, -5543, ER_SP_UNDECLARED_VAR, "42000", "Undeclared variable", "Undeclared variable: %.*s", 201, "identifier must be declared", "identifier '%.*s' must be declared");
DEFINE_ERROR_EXT(OB_ERR_SP_UNDECLARED_TYPE, -5544, ER_SP_UNDECLARED_VAR, "42000", "Undeclared type", "Undeclared type: %.*s");
DEFINE_PLS_ERROR_EXT(OB_ERR_SP_COND_MISMATCH, -5545, ER_SP_COND_MISMATCH, "42000", "Undefined CONDITION", "Undefined CONDITION: %.*s", 485, "Undefined CONDITION", "in exception handler, '%.*s' must be an exception name");
DEFINE_PLS_ERROR_EXT(OB_ERR_SP_LILABEL_MISMATCH, -5546, ER_SP_LILABEL_MISMATCH, "42000", "no matching label", "no matching label: %.*s", 201, "identifier must be declared", "identifier '%.*s' must be declared");
DEFINE_ERROR_EXT(OB_ERR_SP_CURSOR_MISMATCH, -5547, ER_SP_CURSOR_MISMATCH, "42000", "Undefined CURSOR", "Undefined CURSOR: %.*s");
DEFINE_ERROR_EXT(OB_ERR_SP_DUP_PARAM, -5548, ER_SP_DUP_PARAM, "42000", "Duplicate parameter", "Duplicate parameter: %.*s");
DEFINE_ERROR_EXT(OB_ERR_SP_DUP_VAR, -5549, ER_SP_DUP_VAR, "42000", "Duplicate variable", "Duplicate variable: %.*s");
DEFINE_ERROR_EXT(OB_ERR_SP_DUP_TYPE, -5550, ER_SP_DUP_PARAM, "42000", "Duplicate type", "Duplicate type: %.*s");
DEFINE_ERROR_EXT(OB_ERR_SP_DUP_CONDITION, -5551, ER_SP_DUP_COND, "42000", "Duplicate condition", "Duplicate condition: %.*s");
DEFINE_ERROR_EXT(OB_ERR_SP_DUP_LABEL, -5552, ER_SP_DUP_PARAM, "42000", "Duplicate label", "Duplicate label: %.*s");
DEFINE_ERROR_EXT(OB_ERR_SP_DUP_CURSOR, -5553, ER_SP_DUP_CURS, "42000", "Duplicate cursor", "Duplicate cursor: %.*s");
DEFINE_ERROR(OB_ERR_SP_INVALID_FETCH_ARG, -5554, ER_SP_WRONG_NO_OF_FETCH_ARGS, "HY000", "Incorrect number of FETCH variables");
DEFINE_ERROR_EXT(OB_ERR_SP_WRONG_ARG_NUM, -5555, ER_SP_WRONG_NO_OF_ARGS, "42000", "Incorrect number of arguments", "Incorrect number of arguments for %s %s; expected %u, got %u");
DEFINE_ERROR_EXT(OB_ERR_SP_UNHANDLED_EXCEPTION, -5556, ER_SIGNAL_EXCEPTION, "HY000", "Unhandled exception has occurred in PL", "Unhandled user-defined exception condition");
DEFINE_ERROR(OB_ERR_SP_BAD_CONDITION_TYPE, -5557, ER_SIGNAL_BAD_CONDITION_TYPE, "HY000", "SIGNAL/RESIGNAL can only use a CONDITION defined with SQLSTATE");
DEFINE_ERROR_EXT(OB_ERR_PACKAGE_ALREADY_EXISTS, -5558, -1, "42000", "package already exists", "%s \'%.*s.%.*s\' already exists");
DEFINE_ERROR_EXT(OB_ERR_PACKAGE_DOSE_NOT_EXIST, -5559, -1, "42000", "package does not exist", "%s \'%.*s.%.*s\' does not exist");
DEFINE_ERROR(OB_EER_UNKNOWN_STMT_HANDLER, -5560, ER_UNKNOWN_STMT_HANDLER, "HY000", "Unknown prepared statement handle");
DEFINE_ERROR(OB_ERR_INVALID_WINDOW_FUNC_USE, -5561, -1, "HY000", "Invalid use of window function");
DEFINE_ORACLE_ERROR_EXT(OB_ERR_CONSTRAINT_DUPLICATE, -5562, -1, "HY000", "Duplicate constraint name", "Duplicate constraint name '%.*s'", 1, "unique constraint violated", "unique constraint (%.*s) violated");
DEFINE_ERROR(OB_ERR_CONTRAINT_NOT_FOUND, -5563, -1, "HY000", "Constraint not found");
DEFINE_ERROR_EXT(OB_ERR_ALTER_TABLE_ALTER_DUPLICATED_INDEX, -5564, -1, "HY000", "Duplicate alter index operations", "Duplicate alter index operations on column \'%.*s\'");
DEFINE_ERROR(OB_EER_INVALID_ARGUMENT_FOR_LOGARITHM, -5565, ER_INVALID_ARGUMENT_FOR_LOGARITHM, "2201E", "Invalid argument for logarithm");
DEFINE_ERROR(OB_ERR_REORGANIZE_OUTSIDE_RANGE, -5566, ER_REORG_OUTSIDE_RANGE, "HY000", "Reorganize of range partitions cannot change total ranges except for last partition where it can extend the range");
DEFINE_ERROR_EXT(OB_ER_SP_RECURSION_LIMIT, -5567, ER_SP_RECURSION_LIMIT, "HY000", "Recursive limit was exceeded", "Recursive limit %ld (as set by the max_sp_recursion_depth variable) was exceeded for routine");
DEFINE_ERROR(OB_ER_UNSUPPORTED_PS, -5568, ER_UNSUPPORTED_PS, "HY000", "This command is not supported in the prepared statement protocol yet");
DEFINE_ERROR_EXT(OB_ER_STMT_NOT_ALLOWED_IN_SF_OR_TRG, -5569, ER_STMT_NOT_ALLOWED_IN_SF_OR_TRG, "0A000", "stmt is not allowed in stored function or trigger", "%s is not allowed in stored function or trigger");
DEFINE_ERROR(OB_ER_SP_NO_RECURSION, -5570, ER_SP_NO_RECURSION, "HY000", "Recursive stored functions are not allowed.");
DEFINE_ERROR(OB_ER_SP_CASE_NOT_FOUND, -5571, ER_SP_CASE_NOT_FOUND, "20000", "Case not found for CASE statement");
DEFINE_ERROR(OB_ERR_INVALID_SPLIT_COUNT, -5572, -1, "HY000", "a partition may be split into exactly two new partitions");
DEFINE_ERROR(OB_ERR_INVALID_SPLIT_GRAMMAR, -5573, -1, "HY000", "this physical attribute may not be specified for a table partition");
DEFINE_ORACLE_ERROR(OB_ERR_MISS_VALUES, -5574, -1, "HY000", "missing VALUES keyword", 926, "missing VALUES keyword");
DEFINE_ERROR(OB_ERR_MISS_AT_VALUES, -5575, -1, "HY000", "missing AT or VALUES keyword");
DEFINE_ERROR(OB_ER_COMMIT_NOT_ALLOWED_IN_SF_OR_TRG, -5576, ER_COMMIT_NOT_ALLOWED_IN_SF_OR_TRG, "HY000", "Explicit or implicit commit is not allowed in stored function or trigger.");
DEFINE_ERROR(OB_PC_GET_LOCATION_ERROR, -5577, -1, "HY000", "Plan cache get location failed");
DEFINE_ERROR(OB_PC_LOCK_CONFLICT, -5578, -1, "HY000", "Plan cache lock conflict");
DEFINE_ERROR(OB_ER_SP_NO_RETSET, -5579, ER_SP_NO_RETSET, "0A000", "Not allowed to return a result set from a %s");
DEFINE_ERROR_EXT(OB_ER_SP_NORETURNEND, -5580, ER_SP_NORETURNEND, "2F005", "FUNCTION ended without RETURN", "FUNCTION %s ended without RETURN");
DEFINE_ERROR(OB_ERR_SP_DUP_HANDLER, -5581, ER_SP_DUP_HANDLER, "42000", "Duplicate handler declared in the same block");
DEFINE_ERROR(OB_ER_SP_NO_RECURSIVE_CREATE, -5582, ER_SP_NO_RECURSIVE_CREATE, "2F003", "Can\'t create a routine from within another routine");
DEFINE_PLS_ERROR(OB_ER_SP_BADRETURN, -5583, ER_SP_BADRETURN, "42000", "RETURN is only allowed in a FUNCTION", 372, "In a procedure, RETURN statement cannot contain an expression");
DEFINE_ERROR(OB_ER_SP_BAD_CURSOR_SELECT, -5584, ER_SP_BAD_CURSOR_SELECT, "42000", "Cursor SELECT must not have INTO");
DEFINE_ERROR_EXT(OB_ER_SP_BAD_SQLSTATE, -5585, ER_SP_BAD_SQLSTATE, "42000", "Bad SQLSTATE", "Bad SQLSTATE: \'%.*s\'");
DEFINE_ERROR(OB_ER_SP_VARCOND_AFTER_CURSHNDLR, -5586, ER_SP_VARCOND_AFTER_CURSHNDLR, "42000", "Variable or condition declaration after cursor or handler declaration");
DEFINE_ERROR(OB_ER_SP_CURSOR_AFTER_HANDLER, -5587, ER_SP_CURSOR_AFTER_HANDLER, "42000", "Cursor declaration after handler declaration");
DEFINE_ERROR_EXT(OB_ER_SP_WRONG_NAME, -5588, ER_SP_WRONG_NAME, "42000", "Incorrect routine name", "Incorrect routine name \'%.*s\'");
DEFINE_ERROR(OB_ER_SP_CURSOR_ALREADY_OPEN, -5589, ER_SP_CURSOR_ALREADY_OPEN, "24000", "Cursor is already open");
DEFINE_ERROR(OB_ER_SP_CURSOR_NOT_OPEN, -5590, ER_SP_CURSOR_NOT_OPEN, "24000", "Cursor is not open");
DEFINE_ERROR(OB_ER_SP_CANT_SET_AUTOCOMMIT, -5591, ER_SP_CANT_SET_AUTOCOMMIT, "HY000", "Not allowed to set autocommit from a stored function or trigger");
DEFINE_ERROR_EXT(OB_ER_SP_NOT_VAR_ARG, -5592, ER_SP_NOT_VAR_ARG, "42000", "OUT or INOUT argument for routine is not a variable", "OUT or INOUT argument %d for routine %.*s is not a variable");
DEFINE_ERROR_EXT(OB_ER_SP_LILABEL_MISMATCH, -5593, ER_SP_LILABEL_MISMATCH, "42000", "with no matching label", "%s with no matching label: %s");
DEFINE_ERROR_EXT(OB_ERR_TRUNCATE_ILLEGAL_FK, -5594, ER_TRUNCATE_ILLEGAL_FK, "42000", "Cannot truncate a table referenced in a foreign key constraint", "Cannot truncate a table referenced in a foreign key constraint %.*s");
DEFINE_ORACLE_ERROR_EXT(OB_ERR_DUP_KEY, -5595, ER_DUP_KEY, "23000", "Can't write; duplicate key in table", "Can't write; duplicate key in table \'%.*s\'", 1, "unique constraint violated", "unique constraint (%.*s) violated");
DEFINE_ERROR(OB_ER_INVALID_USE_OF_NULL, -5596, ER_INVALID_USE_OF_NULL, "22004", "Invalid use of NULL value");
DEFINE_ERROR(OB_ERR_SPLIT_LIST_LESS_VALUE, -5597, -1, "HY000", "last resulting partition cannot contain bounds");
DEFINE_ERROR(OB_ERR_ADD_PARTITION_TO_DEFAULT_LIST, -5598, -1, "HY000", "cannot add partition when DEFAULT partition exists");
DEFINE_ERROR(OB_ERR_SPLIT_INTO_ONE_PARTITION, -5599, -1, "HY000", "cannot split partition into one partition, use rename instead");
DEFINE_ERROR_EXT(OB_ERR_NO_TENANT_PRIVILEGE, -5600, -1, "HY000", "can not create user in sys tenant", "can not create user %s in sys tenant, name %.*s");
DEFINE_ERROR(OB_ERR_INVALID_PERCENTAGE, -5601, -1, "HY000", "Percentage should between 1 and 99");
DEFINE_ERROR(OB_ERR_COLLECT_HISTOGRAM, -5602, -1, "HY000", "Should collect histogram after major freeze");
DEFINE_ERROR(OB_ER_TEMP_TABLE_IN_USE, -5603, -1, "0A000", "Attempt to create, alter or drop an index on temporary table already in use");
DEFINE_ORACLE_ERROR(OB_ERR_INVALID_NLS_PARAMETER_STRING, -5604, -1, "HY000", "invalid NLS parameter string used in SQL function", 12702, "invalid NLS parameter string used in SQL function");
DEFINE_ORACLE_ERROR(OB_ERR_DATETIME_INTERVAL_PRECISION_OUT_OF_RANGE, -5605, -1, "HY000", "datetime/interval precision is out of range", 30088, "datetime/interval precision is out of range");
DEFINE_ORACLE_ERROR(OB_ERR_CMD_NOT_PROPERLY_ENDED, -5607, -1, "HY000", "SQL command not properly ended", 933, "SQL command not properly ended");
DEFINE_ORACLE_ERROR(OB_ERR_INVALID_NUMBER_FORMAT_MODEL, -5608, -1, "42000", "invalid number format model", 1481, "invalid number format model");
DEFINE_ERROR(OB_WARN_NON_ASCII_SEPARATOR_NOT_IMPLEMENTED, -5609, ER_WRONG_FIELD_TERMINATORS, "HY000", "Non-ASCII separator arguments are not fully supported");
DEFINE_ERROR(OB_WARN_AMBIGUOUS_FIELD_TERM, -5610, ER_WRONG_FIELD_TERMINATORS, "HY000", "First character of the FIELDS TERMINATED string is ambiguous; please use non-optional and non-empty FIELDS ENCLOSED BY");
DEFINE_ERROR_EXT(OB_WARN_TOO_FEW_RECORDS, -5611, ER_WARN_TOO_FEW_RECORDS, "01000", "Row doesn't contain data for all columns", "Row %ld doesn't contain data for all columns");
DEFINE_ERROR_EXT(OB_WARN_TOO_MANY_RECORDS, -5612, ER_WARN_TOO_MANY_RECORDS, "01000", "Row was truncated; it contained more data than there were input columns", "Row %ld was truncated; it contained more data than there were input columns");
DEFINE_ORACLE_ERROR(OB_ERR_TOO_MANY_VALUES, -5613, -1, "HY000", "too many values", 913, "too many values");
DEFINE_ORACLE_ERROR(OB_ERR_NOT_ENOUGH_VALUES, -5614, -1, "HY000", "not enough values", 947, "not enough values");
DEFINE_ORACLE_ERROR(OB_ERR_MORE_THAN_ONE_ROW, -5615, -1, "HY000", "single-row subquery returns more than one row", 1427, "single-row subquery returns more than one row");
DEFINE_ORACLE_ERROR(OB_ERR_NOT_SUBQUERY, -5616, -1, "HY000", "UPDATE ... SET expression must be a subquery", 1767, "UPDATE ... SET expression must be a subquery");
DEFINE_ORACLE_ERROR(OB_INAPPROPRIATE_INTO, -5617, -1, "HY000", "inappropriate INTO", 1744, "inappropriate INTO");
DEFINE_ORACLE_ERROR_EXT(OB_ERR_TABLE_IS_REFERENCED, -5618, ER_FK_CANNOT_DROP_PARENT, "HY000", "Cannot drop parent table referenced by a foreign key constraint on child table", "Cannot drop table \'%.*s\' referenced by a foreign key constraint \'%.*s\' on table \'%.*s\'", 2449, "unique/primary keys in table referenced by foreign keys", "unique/primary keys in table (%.*s) referenced by foreign key (%.*s) on table (%.*s)");
DEFINE_ORACLE_ERROR(OB_ERR_QUALIFIER_EXISTS_FOR_USING_COLUMN, -5619, -1, "HY000", "Column part of using clause can not have qualifier", 25154, "Column part of using clause can not have qualifier");
DEFINE_ORACLE_ERROR(OB_ERR_OUTER_JOIN_NESTED, -5620, -1, "HY000", "two tables cannot be outer-joined to each other", 1416, "two tables cannot be outer-joined to each other");
DEFINE_ORACLE_ERROR(OB_ERR_MULTI_OUTER_JOIN_TABLE, -5621, -1, "HY000", "a predicate may reference only one outer-joined table", 1468, "a predicate may reference only one outer-joined table");
DEFINE_ORACLE_ERROR(OB_ERR_OUTER_JOIN_ON_CORRELATION_COLUMN, -5622, -1, "HY000", "an outer join cannot be specified on a correlation column", 1705, "an outer join cannot be specified on a correlation column");
DEFINE_ORACLE_ERROR(OB_ERR_OUTER_JOIN_AMBIGUOUS, -5623, -1, "HY000", "outer join operator (+) not allowed in operand of OR or IN", 1719, "outer join operator (+) not allowed in operand of OR or IN");
DEFINE_ORACLE_ERROR(OB_ERR_OUTER_JOIN_WITH_SUBQUERY, -5624, -1, "HY000", "a column may not be outer-joined to a subquery", 1799, "a column may not be outer-joined to a subquery");
DEFINE_ORACLE_ERROR(OB_ERR_OUTER_JOIN_WITH_ANSI_JOIN, -5625, -1, "HY000", "old style outer join (+) cannot be used with ANSI joins", 25156, "old style outer join (+) cannot be used with ANSI joins");
DEFINE_ORACLE_ERROR(OB_ERR_OUTER_JOIN_NOT_ALLOWED, -5626, -1, "HY000", "outer join operator (+) is not allowed here", 30563, "outer join operator (+) is not allowed here");
DEFINE_ERROR(OB_SCHEMA_EAGAIN, -5627, -1, "HY000", "Schema try again");
DEFINE_ORACLE_ERROR(OB_ERR_ZERO_LEN_COL, -5628, -1, "HY000", "zero-length columns are not allowed", 1723, "zero-length columns are not allowed");
DEFINE_ORACLE_ERROR_DEP(OB_ERR_YEAR_CONFLICTS_WITH_JULIAN_DATE, -5629, -1, "HY000", "year conflicts with Julian date", 1831, "year conflicts with Julian date");
DEFINE_ORACLE_ERROR_DEP(OB_ERR_DAY_OF_YEAR_CONFLICTS_WITH_JULIAN_DATE, -5630, -1, "HY000", "day of year conflicts with Julian date", 1832, "day of year conflicts with Julian date");
DEFINE_ORACLE_ERROR_DEP(OB_ERR_MONTH_CONFLICTS_WITH_JULIAN_DATE, -5631, -1, "HY000", "month conflicts with Julian date", 1833, "month conflicts with Julian date");
DEFINE_ORACLE_ERROR_DEP(OB_ERR_DAY_OF_MONTH_CONFLICTS_WITH_JULIAN_DATE, -5632, -1, "HY000", "day of month conflicts with Julian date", 1834, "day of month conflicts with Julian date");
DEFINE_ORACLE_ERROR_DEP(OB_ERR_DAY_OF_WEEK_CONFLICTS_WITH_JULIAN_DATE, -5633, -1, "HY000", "day of week conflicts with Julian date", 1835, "day of week conflicts with Julian date");
DEFINE_ORACLE_ERROR_DEP(OB_ERR_HOUR_CONFLICTS_WITH_SECONDS_IN_DAY, -5634, -1, "HY000", "hour conflicts with seconds in day", 1836, "hour conflicts with seconds in day");
DEFINE_ORACLE_ERROR_DEP(OB_ERR_MINUTES_OF_HOUR_CONFLICTS_WITH_SECONDS_IN_DAY, -5635, -1, "HY000", "minutes of hour conflicts with seconds in day", 1837, "minutes of hour conflicts with seconds in day");
DEFINE_ORACLE_ERROR_DEP(OB_ERR_SECONDS_OF_MINUTE_CONFLICTS_WITH_SECONDS_IN_DAY, -5636, -1, "HY000", "seconds of minute conflicts with seconds in day", 1838, "seconds of minute conflicts with seconds in day");
DEFINE_ORACLE_ERROR_DEP(OB_ERR_DATE_NOT_VALID_FOR_MONTH_SPECIFIED, -5637, -1, "HY000", "date not valid for month specified", 1839, "date not valid for month specified");
DEFINE_ORACLE_ERROR_DEP(OB_ERR_INPUT_VALUE_NOT_LONG_ENOUGH, -5638, -1, "HY000", "input value not long enough for date format", 1840, "input value not long enough for date format");
DEFINE_ORACLE_ERROR_DEP(OB_ERR_INVALID_YEAR_VALUE, -5639, -1, "HY000", "(full) year must be between -4713 and +9999, and not be 0", 1841, "(full) year must be between -4713 and +9999, and not be 0");
DEFINE_ORACLE_ERROR_DEP(OB_ERR_INVALID_QUARTER_VALUE, -5640, -1, "HY000", "quarter must be between 1 and 4", 1842, "quarter must be between 1 and 4");
DEFINE_ORACLE_ERROR_DEP(OB_ERR_INVALID_MONTH, -5641, -1, "HY000", "not a valid month", 1843, "not a valid month");
DEFINE_ORACLE_ERROR_DEP(OB_ERR_INVALID_DAY_OF_THE_WEEK, -5642, -1, "HY000", "not a valid day of the week", 1846, "not a valid day of the week");
DEFINE_ORACLE_ERROR_DEP(OB_ERR_INVALID_DAY_OF_YEAR_VALUE, -5643, -1, "HY000", "day of year must be between 1 and 365 (366 for leap year)", 1848, "day of year must be between 1 and 365 (366 for leap year)");
DEFINE_ORACLE_ERROR_DEP(OB_ERR_INVALID_HOUR12_VALUE, -5644, -1, "HY000", "hour must be between 1 and 12", 1849, "hour must be between 1 and 12");
DEFINE_ORACLE_ERROR_DEP(OB_ERR_INVALID_HOUR24_VALUE, -5645, -1, "HY000", "hour must be between 0 and 23", 1850, "hour must be between 0 and 23");
DEFINE_ORACLE_ERROR_DEP(OB_ERR_INVALID_MINUTES_VALUE, -5646, -1, "HY000", "minutes must be between 0 and 59", 1851, "minutes must be between 0 and 59");
DEFINE_ORACLE_ERROR_DEP(OB_ERR_INVALID_SECONDS_VALUE, -5647, -1, "HY000", "seconds must be between 0 and 59", 1852, "seconds must be between 0 and 59");
DEFINE_ORACLE_ERROR_DEP(OB_ERR_INVALID_SECONDS_IN_DAY_VALUE, -5648, -1, "HY000", "seconds in day must be between 0 and 86399", 1853, "seconds in day must be between 0 and 86399");
DEFINE_ORACLE_ERROR_DEP(OB_ERR_INVALID_JULIAN_DATE_VALUE, -5649, -1, "HY000", "julian date must be between 1 and 5373484", 1854, "julian date must be between 1 and 5373484");
DEFINE_ORACLE_ERROR_DEP(OB_ERR_AM_OR_PM_REQUIRED, -5650, -1, "HY000", "AM/A.M. or PM/P.M. required", 1855, "AM/A.M. or PM/P.M. required");
DEFINE_ORACLE_ERROR_DEP(OB_ERR_BC_OR_AD_REQUIRED, -5651, -1, "HY000", "BC/B.C. or AD/A.D. required", 1856, "BC/B.C. or AD/A.D. required");
DEFINE_ORACLE_ERROR_DEP(OB_ERR_FORMAT_CODE_APPEARS_TWICE, -5652, -1, "HY000", "format code appears twice", 1810, "format code appears twice");
DEFINE_ORACLE_ERROR_DEP(OB_ERR_DAY_OF_WEEK_SPECIFIED_MORE_THAN_ONCE, -5653, -1, "HY000", "day of week may only be specified once", 1817, "day of week may only be specified once");
DEFINE_ORACLE_ERROR_DEP(OB_ERR_SIGNED_YEAR_PRECLUDES_USE_OF_BC_AD, -5654, -1, "HY000", "signed year precludes use of BC/AD", 1819, "signed year precludes use of BC/AD");
DEFINE_ORACLE_ERROR_DEP(OB_ERR_JULIAN_DATE_PRECLUDES_USE_OF_DAY_OF_YEAR, -5655, -1, "HY000", "Julian date precludes use of day of year", 1811, "Julian date precludes use of day of year");
DEFINE_ORACLE_ERROR_DEP(OB_ERR_YEAR_MAY_ONLY_BE_SPECIFIED_ONCE, -5656, -1, "HY000", "year may only be specified once", 1812, "year may only be specified once");
DEFINE_ORACLE_ERROR_DEP(OB_ERR_HOUR_MAY_ONLY_BE_SPECIFIED_ONCE, -5657, -1, "HY000", "hour may only be specified once", 1813, "hour may only be specified once");
DEFINE_ORACLE_ERROR_DEP(OB_ERR_AM_PM_CONFLICTS_WITH_USE_OF_AM_DOT_PM_DOT, -5658, -1, "HY000", "AM/PM conflicts with use of A.M./P.M.", 1814, "AM/PM conflicts with use of A.M./P.M.");
DEFINE_ORACLE_ERROR_DEP(OB_ERR_BC_AD_CONFLICT_WITH_USE_OF_BC_DOT_AD_DOT, -5659, -1, "HY000", "BC/AD conflicts with use of B.C./A.D.", 1815, "BC/AD conflicts with use of B.C./A.D.");
DEFINE_ORACLE_ERROR_DEP(OB_ERR_MONTH_MAY_ONLY_BE_SPECIFIED_ONCE, -5660, -1, "HY000", "month may only be specified once", 1816, "month may only be specified once");
DEFINE_ORACLE_ERROR_DEP(OB_ERR_DAY_OF_WEEK_MAY_ONLY_BE_SPECIFIED_ONCE, -5661, -1, "HY000", "day of week may only be specified once", 1817, "day of week may only be specified once");
DEFINE_ORACLE_ERROR_DEP(OB_ERR_FORMAT_CODE_CANNOT_APPEAR, -5662, -1, "HY000", "format code cannot appear in date input format", 1820, "format code cannot appear in date input format");
DEFINE_ORACLE_ERROR_DEP(OB_ERR_NON_NUMERIC_CHARACTER_VALUE, -5663, -1, "HY000", "a non-numeric character was found where a numeric was expected", 1858, "a non-numeric character was found where a numeric was expected");
DEFINE_ORACLE_ERROR_DEP(OB_INVALID_MERIDIAN_INDICATOR_USE, -5664, -1, "HY000", "'HH24' precludes use of meridian indicator", 1818, "'HH24' precludes use of meridian indicator");
DEFINE_ORACLE_ERROR(OB_ERR_INVALID_CHAR_FOLLOWING_ESCAPE_CHAR, -5665, -1, "HY000", "missing or illegal character following the escape character", 1424, "missing or illegal character following the escape character");
DEFINE_ORACLE_ERROR(OB_ERR_INVALID_ESCAPE_CHAR_LENGTH, -5666, -1, "HY000", "escape character must be character string of length 1", 1425, "escape character must be character string of length 1");
DEFINE_ORACLE_ERROR_DEP(OB_ERR_DAY_OF_MONTH_RANGE, -5667, -1, "HY000", "day of month must be between 1 and last day of month", 1847, "day of month must be between 1 and last day of month");
DEFINE_ORACLE_ERROR(OB_ERR_NOT_SELECTED_EXPR, -5668, -1, "HY000", "not a SELECTed expression", 1791, "not a SELECTed expression");
DEFINE_ORACLE_ERROR(OB_ERR_UK_PK_DUPLICATE, -5671, -1, "HY000", "such unique or primary key already exists in the table", 2261, "such unique or primary key already exists in the table");
DEFINE_ORACLE_ERROR(OB_ERR_COLUMN_LIST_ALREADY_INDEXED, -5672, -1, "HY000", "such column list already indexed", 1408, "such column list already indexed");
DEFINE_ERROR(OB_ERR_BUSHY_TREE_NOT_SUPPORTED, -5673, -1, "HY000", "PX does not support processing a bushy tree");
DEFINE_ORACLE_ERROR_EXT_DEP(OB_ERR_ARGUMENT_OUT_OF_RANGE, -5674, -1, "HY000", "argument is out of range", "argument '%ld' is out of range", 1428, "argument is out of range", "argument '%ld' is out of range");
DEFINE_ORACLE_ERROR(OB_ERR_ORDER_BY_ITEM_NOT_IN_SELECT_LIST, -5675, -1, "HY000", "ORDER BY item must be the number of a SELECT-list expression", 1785, "ORDER BY item must be the number of a SELECT-list expression");
DEFINE_ORACLE_ERROR_DEP(OB_ERR_INTERVAL_INVALID, -5676, -1, "HY000", "the interval is invalid", 1867, "the interval is invalid");
DEFINE_ORACLE_ERROR_EXT(OB_ERR_NUMERIC_OR_VALUE_ERROR, -5677, -1, "HY000", "PL/SQL: numeric or value error", "PL/SQL: numeric or value error: %.*s", 6502, "PL/SQL: numeric or value error", "PL/SQL: numeric or value error: %.*s");
DEFINE_ORACLE_ERROR_EXT(OB_ERR_CONSTRAINT_NAME_DUPLICATE, -5678, ER_CHECK_CONSTRAINT_DUP_NAME, "HY000", "Duplicate check constraint name","Duplicate check constraint name \'%.*s\'.", 2264, "name already used by an existing constraint", "name \'%.*s\' already used by an existing constraint");
DEFINE_ORACLE_ERROR(OB_ERR_ONLY_HAVE_INVISIBLE_COL_IN_TABLE, -5679, ER_TABLE_MUST_HAVE_A_VISIBLE_COLUMN, "HY000", "table must have at least one column that is not invisible", 54039, "table must have at least one column that is not invisible");
DEFINE_ORACLE_ERROR(OB_ERR_INVISIBLE_COL_ON_UNSUPPORTED_TABLE_TYPE, -5680, -1, "HY000", "Invisible column is not supported on this type of table.", 54042, "Invisible column is not supported on this type of table.");
DEFINE_ORACLE_ERROR(OB_ERR_MODIFY_COL_VISIBILITY_COMBINED_WITH_OTHER_OPTION, -5681, -1, "HY000", "Column visibility modifications cannot be combined with any other modified column DDL option.", 54046, "Column visibility modifications cannot be combined with any other modified column DDL option.");
DEFINE_ORACLE_ERROR(OB_ERR_MODIFY_COL_VISIBILITY_BY_SYS_USER, -5682, -1, "HY000", "The visibility of a column from a table owned by a SYS user cannot be changed.", 54053, "The visibility of a column from a table owned by a SYS user cannot be changed.");
DEFINE_ORACLE_ERROR(OB_ERR_TOO_MANY_ARGS_FOR_FUN, -5683, -1, "HY000", "too many arguments for function", 939, "too many arguments for function");
DEFINE_ERROR(OB_PX_SQL_NEED_RETRY, -5684, -1, "HY000", "PX sql need retry");
DEFINE_ERROR_EXT(OB_TENANT_HAS_BEEN_DROPPED, -5685, -1, "HY000", "tenant has been dropped", "Tenant '%.*s' has been dropped");
DEFINE_ORACLE_ERROR(OB_ERR_EXTRACT_FIELD_INVALID, -5686, -1, "HY000", "invalid extract field for extract source", 30076, "invalid extract field for extract source");
DEFINE_ERROR_EXT(OB_ERR_PACKAGE_COMPILE_ERROR, -5687, -1, "42000", "package compile error", "%s \'%.*s.%.*s\' compile error");
DEFINE_ERROR(OB_ERR_SP_EMPTY_BLOCK, -5688, -1, "42000", "Empty block prohibited in Oracle");
DEFINE_ERROR(OB_ARRAY_BINDING_ROLLBACK, -5689, -1, "HY000", "array binding need rollback");
DEFINE_ORACLE_ERROR(OB_ERR_INVALID_SUBQUERY_USE, -5690, -1, "HY000", "subquery not allowed here", 2251, "subquery not allowed here");
DEFINE_ORACLE_ERROR(OB_ERR_DATE_OR_SYS_VAR_CANNOT_IN_CHECK_CST, -5691, -1, "HY000", "date or system variable wrongly specified in CHECK constraint", 2436, "date or system variable wrongly specified in CHECK constraint");
DEFINE_ORACLE_ERROR_EXT(OB_ERR_NONEXISTENT_CONSTRAINT, -5692, ER_CONSTRAINT_NOT_FOUND, "HY000", "Constraint does not exist.", "Constraint \'%.*s\' does not exist.", 2443, "Cannot drop constraint  - nonexistent constraint", "Cannot drop constraint \'%.*s\' - nonexistent constraint");
DEFINE_ORACLE_ERROR(OB_ERR_CHECK_CONSTRAINT_VIOLATED, -5693, ER_CHECK_CONSTRAINT_VIOLATED, "HY000", "check constraint violated", 2290, "check constraint violated");
DEFINE_ORACLE_ERROR(OB_ERR_GROUP_FUNC_NOT_ALLOWED, -5694, -1, "HY000", "group function is not allowed here", 934, "group function is not allowed here");
DEFINE_ORACLE_ERROR(OB_ERR_POLICY_STRING_NOT_FOUND, -5695, -1, "HY000", "policy string not found", 12416, "policy string not found");
DEFINE_ORACLE_ERROR(OB_ERR_INVALID_LABEL_STRING, -5696, -1, "HY000", "invalid label string", 12401, "invalid label string");
DEFINE_ORACLE_ERROR(OB_ERR_UNDEFINED_COMPARTMENT_STRING_FOR_POLICY_STRING, -5697, -1, "HY000", "undefined compartment string for policy string", 12462, "undefined compartment string for policy string");
DEFINE_ORACLE_ERROR(OB_ERR_UNDEFINED_LEVEL_STRING_FOR_POLICY_STRING, -5698, -1, "HY000", "undefined level string for policy string", 12461, "undefined level string for policy string");
DEFINE_ORACLE_ERROR(OB_ERR_UNDEFINED_GROUP_STRING_FOR_POLICY_STRING, -5699, -1, "HY000", "undefined group string for policy string", 12463, "undefined group string for policy string");
DEFINE_ORACLE_ERROR_EXT(OB_ERR_LBAC_ERROR, -5700, -1, "HY000", "LBAC error", "LBAC error: %s", 12432, "LBAC error", "LBAC error: %s");
DEFINE_ORACLE_ERROR(OB_ERR_POLICY_ROLE_ALREADY_EXISTS_FOR_POLICY_STRING, -5701, -1, "HY000", "policy role already exists for policy string", 12447, "policy role already exists for policy string");
DEFINE_ORACLE_ERROR_EXT(OB_ERR_NULL_OR_INVALID_USER_LABEL, -5702, -1, "HY000", "NULL or invalid user label", "NULL or invalid user label: %s", 12470, "NULL or invalid user label", "NULL or invalid user label: %s");
DEFINE_ERROR(OB_ERR_ADD_INDEX, -5703, -1, "HY000", "Add index failed");
DEFINE_ORACLE_ERROR_EXT(OB_ERR_PROFILE_STRING_DOES_NOT_EXIST, -5704, -1, "HY000", "profile string does not exist", "profile %.*s does not exist", 2380, "profile string does not exist", "profile %.*s does not exist");
DEFINE_ORACLE_ERROR_EXT(OB_ERR_INVALID_RESOURCE_LIMIT, -5705, -1, "HY000", "invalid resource limit", "invalid resource limit %s", 2377, "invalid resource limit", "invalid resource limit %s");
DEFINE_ORACLE_ERROR_EXT(OB_ERR_PROFILE_STRING_ALREADY_EXISTS, -5706, -1, "HY000", "profile string already exists", "profile %.*s already exists", 2379, "profile string already exists", "profile %.*s already exists");
DEFINE_ORACLE_ERROR_EXT(OB_ERR_PROFILE_STRING_HAS_USERS_ASSIGNED, -5707, -1, "HY000", "profile string has users assigned, cannot drop without CASCADE", "profile %.*s has users assigned, cannot drop without CASCADE", 2382, "profile string has users assigned, cannot drop without CASCADE", "profile %.*s has users assigned, cannot drop without CASCADE");
DEFINE_ORACLE_ERROR_DEP(OB_ERR_THE_LEADING_PRECISION_OF_THE_INTERVAL_IS_TOO_SMALL, -5708, -1, "HY000", "the leading precision of the interval is too small", 1873, "the leading precision of the interval is too small");
DEFINE_ORACLE_ERROR_DEP(OB_ERR_INVALID_TIME_ZONE_HOUR, -5709, -1, "HY000", "time zone hour must be between -12 and 14", 1874, "time zone hour must be between -15 and 15");
DEFINE_ORACLE_ERROR_DEP(OB_ERR_INVALID_TIME_ZONE_MINUTE, -5710, -1, "HY000", "time zone minute must be between -59 and 59", 1875, "time zone minute must be between -59 and 59");
DEFINE_ORACLE_ERROR_DEP(OB_ERR_NOT_A_VALID_TIME_ZONE, -5711, -1, "HY000", "not a valid time zone", 1857, "not a valid time zone");
DEFINE_ORACLE_ERROR_DEP(OB_ERR_DATE_FORMAT_IS_TOO_LONG_FOR_INTERNAL_BUFFER, -5712, -1, "HY000", "date format is too long for internal buffer", 1801, "date format is too long for internal buffer");
DEFINE_ORACLE_ERROR_EXT(OB_ERR_ADD_CHECK_CONSTRAINT_VIOLATED, -5713, -1, "HY000", "cannot validate - check constraint violated", "cannot validate (%.*s.%.*s) - check constraint violated", 2293, "cannot validate - check constraint violated", "cannot validate (%.*s.%.*s) - check constraint violated");
DEFINE_ORACLE_ERROR(OB_ERR_ILLEGAL_VIEW_UPDATE, -5714, -1, "HY000", "data manipulation operation not legal on this view", 1732, "data manipulation operation not legal on this view");
DEFINE_ORACLE_ERROR(OB_ERR_VIRTUAL_COL_NOT_ALLOWED, -5715, -1, "HY000", "virtual column not allowed here", 1733, "virtual column not allowed here");
DEFINE_ORACLE_ERROR(OB_ERR_O_VIEW_MULTIUPDATE, -5716, -1, "HY000", "cannot modify more than one base table through a join view", 1776, "cannot modify more than one base table through a join view");
DEFINE_ERROR_EXT(OB_ERR_NON_INSERTABLE_TABLE, -5717, ER_NON_INSERTABLE_TABLE, "HY000", "The target table is not insertable", "The target table %.*s of the INSERT is not insertable-into");
DEFINE_ERROR_EXT(OB_ERR_VIEW_MULTIUPDATE, -5718, ER_VIEW_MULTIUPDATE, "HY000", "Can not modify more than one base table through a join view", "Can not modify more than one base table through a join view '%.*s.%.*s'");
DEFINE_ERROR_EXT(OB_ERR_NONUPDATEABLE_COLUMN, -5719, ER_NONUPDATEABLE_COLUMN, "HY000", "Column is not updatable", "Column '%.*s' is not updatable");
DEFINE_ERROR_EXT(OB_ERR_VIEW_DELETE_MERGE_VIEW, -5720, ER_VIEW_DELETE_MERGE_VIEW, "HY000", "Can not delete from join view", "Can not delete from join view '%.*s.%.*s'");
DEFINE_ORACLE_ERROR(OB_ERR_O_DELETE_VIEW_NON_KEY_PRESERVED, -5721, -1, "HY000", "cannot delete from view without exactly one key-preserved table", 1752, "cannot delete from view without exactly one key-preserved table");
DEFINE_ORACLE_ERROR(OB_ERR_O_UPDATE_VIEW_NON_KEY_PRESERVED, -5722, -1, "HY000", "cannot modify a column which maps to a non key-preserved table", 1779, "cannot modify a column which maps to a non key-preserved table");
DEFINE_ORACLE_ERROR(OB_ERR_MODIFY_READ_ONLY_VIEW, -5723, -1, "HY000", "cannot perform a DML operation on a read-only view", 42399, "cannot perform a DML operation on a read-only view");
DEFINE_ORACLE_ERROR(OB_ERR_INVALID_INITRANS_VALUE, -5724, -1, "HY000", "invalid INITRANS option value", 2207, "invalid INITRANS option value");
DEFINE_ORACLE_ERROR(OB_ERR_INVALID_MAXTRANS_VALUE, -5725, -1, "HY000", "invalid MAXTRANS option value", 2209, "invalid MAXTRANS option value");
DEFINE_ORACLE_ERROR(OB_ERR_INVALID_PCTFREE_OR_PCTUSED_VALUE, -5726, -1, "HY000", "invalid value for PCTFREE or PCTUSED", 2211, "invalid value for PCTFREE or PCTUSED");
DEFINE_ERROR(OB_ERR_PROXY_REROUTE, -5727, -1, "HY000", "SQL request should be rerouted");
DEFINE_ORACLE_ERROR(OB_ERR_ILLEGAL_ARGUMENT_FOR_FUNCTION, -5728, -1, "HY000", "illegal argument for function", 1760, "illegal argument for function");
DEFINE_ORACLE_ERROR_DEP(OB_ERR_OPERATOR_CANNOT_BE_USED_WITH_LIST, -5729, -1, "HY000", "this operator cannot be used with lists", 1796, "this operator cannot be used with lists");
DEFINE_ORACLE_ERROR(OB_ERR_INVALID_SAMPLING_RANGE, -5730, -1, "HY000", "SAMPLE percentage must be in the range [0.000001,100)", 30562, "SAMPLE percentage must be in the range [0.000001,100)");
DEFINE_ORACLE_ERROR(OB_ERR_SPECIFY_DATABASE_NOT_ALLOWED, -5731, -1, "HY000", "specifying owner's name of the table is not allowed", 1765, "specifying owner's name of the table is not allowed");
// OB_ERR_NOT_ENOUGH_ARGS_FOR_FUN changed to -5774
//DEFINE_ORACLE_ERROR(OB_ERR_NOT_ENOUGH_ARGS_FOR_FUN, -5732, -1, "HY000", "not enough arguments for function", 938, "not enough arguments for function");
DEFINE_ORACLE_ERROR(OB_ERR_STMT_TRIGGER_WITH_WHEN_CLAUSE, -5732, -1, "HY000", "stmt trigger with when clause", 4077, "stmt trigger with when clause");
DEFINE_ORACLE_ERROR_EXT(OB_ERR_TRIGGER_NOT_EXIST, -5733, ER_TRG_DOES_NOT_EXIST, "HY000", "Trigger does not exist", "Trigger does not exist", 4080, "trigger not exist", "trigger '%.*s' does not exist");
DEFINE_ORACLE_ERROR_EXT(OB_ERR_TRIGGER_ALREADY_EXIST, -5734, -1, "HY000", "trigger already exist", "trigger '%.*s' already exist", 4081, "trigger already exist", "trigger '%.*s' already exist");
DEFINE_ORACLE_ERROR_EXT(OB_ERR_TRIGGER_EXIST_ON_OTHER_TABLE, -5735, -1, "HY000", "trigger already exists on another table, cannot replace it", "trigger '%.*s' already exists on another table, cannot replace it", 4095, "trigger already exists on another table, cannot replace it", "trigger '%.*s' already exists on another table, cannot replace it");
DEFINE_ORACLE_ERROR(OB_ERR_SIGNALED_IN_PARALLEL_QUERY_SERVER, -5736, -1, "HY000", "error signaled in parallel query server", 12801, "error signaled in parallel query server");

////////////////////////////////////////////////////////////////
// !!! subquery factoring (CTE, with clause) error code
////////////////////////////////////////////////////////////////
DEFINE_ORACLE_ERROR(OB_ERR_CTE_ILLEGAL_QUERY_NAME, -5737, -1, "HY000", "illegal reference of a query name in WITH clause", 32031, "illegal reference of a query name in WITH clause");
DEFINE_ORACLE_ERROR(OB_ERR_CTE_UNSUPPORTED_COLUMN_ALIASING, -5738, -1, "HY000", "unsupported column aliasing", 32033, "unsupported column aliasing");
DEFINE_ORACLE_ERROR(OB_ERR_UNSUPPORTED_USE_OF_CTE, -5739, -1, "HY000", "unsupported use of WITH clause", 32034, "unsupported use of WITH clause");
DEFINE_ORACLE_ERROR(OB_ERR_CTE_COLUMN_NUMBER_NOT_MATCH, -5740, ER_VIEW_WRONG_LIST, "HY000", "View's SELECT and view's field list have different column counts", 32038, "number of WITH clause column names does not match number of elements in select list");
DEFINE_ORACLE_ERROR(OB_ERR_NEED_COLUMN_ALIAS_LIST_IN_RECURSIVE_CTE, -5741, -1, "HY000", "recursive WITH clause must have column alias list", 32039, "recursive WITH clause must have column alias list");
DEFINE_ORACLE_ERROR(OB_ERR_NEED_UNION_ALL_IN_RECURSIVE_CTE, -5742, ER_CTE_RECURSIVE_REQUIRES_UNION, "HY000", "Recursive Common Table Expression should contain a UNION ALL", 32040, "recursive WITH clause must use a UNION ALL operation");
DEFINE_ORACLE_ERROR(OB_ERR_NEED_ONLY_TWO_BRANCH_IN_RECURSIVE_CTE, -5743, -1, "HY000", "More than one recursive query blocks of Common Table Expression not supported", 32041, "UNION ALL operation in recursive WITH clause must have only two branches");
DEFINE_ORACLE_ERROR(OB_ERR_NEED_REFERENCE_ITSELF_DIRECTLY_IN_RECURSIVE_CTE, -5744, ER_CTE_RECURSIVE_REQUIRES_SINGLE_REFERENCE, "HY000", "In recursive query block of Recursive Common Table Expression, the recursive table must be referenced only once, and not in any subquery", 32042, "recursive WITH clause must reference itself directly in one of the UNION ALL branches");
DEFINE_ORACLE_ERROR(OB_ERR_NEED_INIT_BRANCH_IN_RECURSIVE_CTE, -5745, -1, "HY000", "recursive WITH clause needs an initialization branch", 32043, "recursive WITH clause needs an initialization branch");
DEFINE_ORACLE_ERROR(OB_ERR_CYCLE_FOUND_IN_RECURSIVE_CTE, -5746, -1, "HY000", "cycle detected while executing recursive WITH query", 32044, "cycle detected while executing recursive WITH query");
DEFINE_ORACLE_ERROR(OB_ERR_CTE_REACH_MAX_LEVEL_RECURSION, -5747, -1, "HY000", "maximum level of recursion reached while executing recursive WITH query", 32045, "maximum level of recursion reached while executing recursive WITH query");
DEFINE_ORACLE_ERROR(OB_ERR_CTE_ILLEGAL_SEARCH_PSEUDO_NAME, -5748, -1, "HY000", "sequence column name for SEARCH clause must not be part of the column alias list", 32046, "sequence column name for SEARCH clause must not be part of the column alias list");
DEFINE_ORACLE_ERROR(OB_ERR_CTE_ILLEGAL_CYCLE_NON_CYCLE_VALUE, -5749, -1, "HY000", "cycle mark value and non-cycle mark value must be one byte character string values", 32047, "cycle mark value and non-cycle mark value must be one byte character string values");
DEFINE_ORACLE_ERROR(OB_ERR_CTE_ILLEGAL_CYCLE_PSEUDO_NAME, -5750, -1, "HY000", "cycle mark column name for CYCLE clause must not be part of the column alias list", 32048, "cycle mark column name for CYCLE clause must not be part of the column alias list");
DEFINE_ORACLE_ERROR(OB_ERR_CTE_COLUMN_ALIAS_DUPLICATE, -5751, -1, "HY000", "duplicate name found in column alias list for WITH clause", 32049, "duplicate name found in column alias list for WITH clause");
DEFINE_ORACLE_ERROR(OB_ERR_CTE_ILLEGAL_SEARCH_CYCLE_CLAUSE, -5752, -1, "HY000", "SEARCH and CYCLE clauses can only be specified for recursive WITH clause elements", 32480, "SEARCH and CYCLE clauses can only be specified for recursive WITH clause elements");
DEFINE_ORACLE_ERROR(OB_ERR_CTE_DUPLICATE_CYCLE_NON_CYCLE_VALUE, -5753, -1, "HY000", "cycle value for CYCLE clause must be different from the non-cycle value", 32481, "cycle value for CYCLE clause must be different from the non-cycle value");
DEFINE_ORACLE_ERROR(OB_ERR_CTE_DUPLICATE_SEQ_NAME_CYCLE_COLUMN, -5754, -1, "HY000", "sequence column for SEARCH clause must be different from the cycle mark column for CYCLE clause", 32482, "sequence column for SEARCH clause must be different from the cycle mark column for CYCLE clause");
DEFINE_ORACLE_ERROR(OB_ERR_CTE_DUPLICATE_NAME_IN_SEARCH_CLAUSE, -5755, -1, "HY000", "duplicate name found in sort specification list for SEARCH clause of WITH clause", 32483, "duplicate name found in sort specification list for SEARCH clause of WITH clause");
DEFINE_ORACLE_ERROR(OB_ERR_CTE_DUPLICATE_NAME_IN_CYCLE_CLAUSE, -5756, -1, "HY000", "duplicate name found in cycle column list for CYCLE clause of WITH clause", 32484, "duplicate name found in cycle column list for CYCLE clause of WITH clause");
DEFINE_ORACLE_ERROR(OB_ERR_CTE_ILLEGAL_COLUMN_IN_CYCLE_CLAUSE, -5757, -1, "HY000", "element in cycle column list of CYCLE clause must appear in the column alias list of the WITH clause element", 32485, "element in cycle column list of CYCLE clause must appear in the column alias list of the WITH clause element");
DEFINE_ORACLE_ERROR(OB_ERR_CTE_ILLEGAL_RECURSIVE_BRANCH, -5758, ER_CTE_RECURSIVE_FORBIDS_AGGREGATION, "HY000", "ORDER BY / LIMIT / SELECT DISTINCT / HAVING / WINDOW FUNCTION / GROUP BY in recursive query block of Common Table Expression not supported", 32486, "unsupported operation in recursive branch of recursive WITH clause");
DEFINE_ORACLE_ERROR(OB_ERR_ILLEGAL_JOIN_IN_RECURSIVE_CTE, -5759, ER_CTE_RECURSIVE_FORBIDDEN_JOIN_ORDER, "HY000", "In recursive query block of Recursive Common Table Expression, the recursive table must neither be in the right argument of a LEFT JOIN, nor be forced to be non-first with join order hints", 32487, "unsupported join in recursive WITH query");
DEFINE_ORACLE_ERROR(OB_ERR_CTE_NEED_COLUMN_ALIAS_LIST, -5760, -1, "HY000", "WITH clause element did not have a column alias list", 32488, "WITH clause element did not have a column alias list");
DEFINE_ORACLE_ERROR(OB_ERR_CTE_ILLEGAL_COLUMN_IN_SERACH_CALUSE, -5761, -1, "HY000", "element in sort specification list of SEARCH clause did not appear in the column alias list of the WITH clause element", 32489, "element in sort specification list of SEARCH clause did not appear in the column alias list of the WITH clause element");
DEFINE_ORACLE_ERROR(OB_ERR_CTE_RECURSIVE_QUERY_NAME_REFERENCED_MORE_THAN_ONCE, -5762, -1, "HY000", "recursive query name referenced more than once in recursive branch of recursive WITH clause element", 32490, "recursive query name referenced more than once in recursive branch of recursive WITH clause element");

////////////////////////////////////////////////////////////////
// !!! subquery factoring (connect by) error code
////////////////////////////////////////////////////////////////
DEFINE_ORACLE_ERROR(OB_ERR_CBY_PSEUDO_COLUMN_NOT_ALLOWED, -5763, -1, "HY000", "Specified pseudo column or operator not allowed here", 976, "Specified pseudo column or operator not allowed here");
DEFINE_ORACLE_ERROR(OB_ERR_CBY_LOOP, -5764, -1, "HY000", "CONNECT BY loop in user data", 1436, "CONNECT BY loop in user data");
DEFINE_ORACLE_ERROR(OB_ERR_CBY_JOIN_NOT_ALLOWED, -5765, -1, "HY000", "cannot have join with CONNECT BY", 1437, "cannot have join with CONNECT BY");
DEFINE_ORACLE_ERROR(OB_ERR_CBY_CONNECT_BY_REQUIRED, -5766, -1, "HY000", "CONNECT BY clause required in this query block", 1788, "CONNECT BY clause required in this query block");
DEFINE_ORACLE_ERROR(OB_ERR_CBY_CONNECT_BY_PATH_NOT_ALLOWED,-5768, -1, "HY000", "SYS_CONNECT_BY_PATH function is not allowed here", 30002, "SYS_CONNECT_BY_PATH function is not allowed here");
DEFINE_ORACLE_ERROR(OB_ERR_CBY_CONNECT_BY_PATH_ILLEGAL_PARAM, -5769, -1, "HY000", "illegal parameter in SYS_CONNECT_BY_PATH function", 30003, "illegal parameter in SYS_CONNECT_BY_PATH function");
DEFINE_ORACLE_ERROR(OB_ERR_CBY_CONNECT_BY_PATH_INVALID_SEPARATOR, -5770, -1, "HY000", "A column value contained the string that the SYS_CONNECT_BY_PATH function was to use to separate column values", 30004, "A column value contained the string that the SYS_CONNECT_BY_PATH function was to use to separate column values.");
DEFINE_ORACLE_ERROR(OB_ERR_CBY_CONNECT_BY_ROOT_ILLEGAL_USED, -5771, -1, "HY000", "CONNECT BY ROOT operator is not supported in the START WITH or in the CONNECT BY condition", 30007, "CONNECT BY ROOT operator is not supported in the START WITH or in the CONNECT BY condition");
DEFINE_ORACLE_ERROR(OB_ERR_CBY_OREDER_SIBLINGS_BY_NOT_ALLOWED, -5772, -1, "HY000", "ORDER SIBLINGS BY clause not allowed here", 30929, "ORDER SIBLINGS BY clause not allowed here");
DEFINE_ORACLE_ERROR(OB_ERR_CBY_NOCYCLE_REQUIRED, -5773, -1, "HY000", "NOCYCLE keyword is required with CONNECT_BY_ISCYCLE pseudo column", 30930, "NOCYCLE keyword is required with CONNECT_BY_ISCYCLE pseudo column");
DEFINE_ORACLE_ERROR(OB_ERR_NOT_ENOUGH_ARGS_FOR_FUN, -5774, -1, "HY000", "not enough arguments for function", 938, "not enough arguments for function");
DEFINE_ORACLE_ERROR(OB_ERR_PREPARE_STMT_CHECKSUM, -5777, -1, "HY000", "Prepare statement checksum error", 603, "Oracle Server session terminated by fatal error");
DEFINE_ORACLE_ERROR_EXT(OB_ERR_ENABLE_NONEXISTENT_CONSTRAINT, -5778, -1, "HY000", "cannot enable constraint - no such constraint", "cannot enable constraint (%.*s) - no such constraint", 2430, "cannot enable constraint - no such constraint", "cannot enable constraint (%.*s) - no such constraint");
DEFINE_ORACLE_ERROR_EXT(OB_ERR_DISABLE_NONEXISTENT_CONSTRAINT, -5779, -1, "HY000", "cannot disable constraint - no such constraint", "cannot disable constraint (%.*s) - no such constraint", 2431, "cannot disable constraint - no such constraint", "cannot disable constraint (%.*s) - no such constraint");
DEFINE_ORACLE_ERROR_EXT(OB_ERR_DOWNGRADE_DOP, -5780, -1, "HY000", "PX DOP downgrade", "PX DOP downgrade from %ld to %ld", 0, "PX DOP downgrade", "PX DOP downgrade from %ld to %ld");
DEFINE_ORACLE_ERROR_EXT(OB_ERR_DOWNGRADE_PARALLEL_MAX_SERVERS, -5781, -1, "HY000", "parallel_max_servers downgrade due to insufficent cpu resource. deprecated.", "parallel_max_servers downgrade due to insufficent cpu resource from %ld to %ld. deprecated.", 0, "parallel_max_servers downgrade due to insufficent cpu resource. deprecated.", "parallel_max_servers downgrade due to insufficent cpu resource from %ld to %ld. deprecated.");
DEFINE_ORACLE_ERROR_EXT(OB_ERR_ORPHANED_CHILD_RECORD_EXISTS, -5785, -1, "HY000", "cannot validate - parent keys not found", "cannot validate (%.*s.%.*s) - parent keys not found", 2298, "cannot validate - parent keys not found", "cannot validate (%.*s.%.*s) - parent keys not found");
DEFINE_ORACLE_ERROR_EXT(OB_ERR_COL_CHECK_CST_REFER_ANOTHER_COL, -5786, ER_COLUMN_CHECK_CONSTRAINT_REFERENCES_OTHER_COLUMN, "HY000", "Column check constraint cannot reference other columns","Column check constraint \'%.*s\' references other column.", 2438, "Column check constraint cannot reference other columns","Column check constraint \'%.*s\' cannot reference other columns");
DEFINE_ERROR(OB_BATCHED_MULTI_STMT_ROLLBACK, -5787, -1, "HY000", "batched multi statement execution needs rollback");
DEFINE_ORACLE_ERROR(OB_ERR_FOR_UPDATE_SELECT_VIEW_CANNOT, -5788, -1, "HY000", "cannot select FOR UPDATE from view with DISTINCT, GROUP BY, etc.", 2014, "cannot select FOR UPDATE from view with DISTINCT, GROUP BY, etc.");
DEFINE_ORACLE_ERROR(OB_ERR_POLICY_WITH_CHECK_OPTION_VIOLATION, -5789, -1, "HY000", "policy with check option violation", 28115, "policy with check option violation");
DEFINE_ORACLE_ERROR(OB_ERR_POLICY_ALREADY_APPLIED_TO_TABLE, -5790, -1, "HY000", "policy already applied to table", 12444, "policy already applied to table");
DEFINE_ORACLE_ERROR_EXT(OB_ERR_MUTATING_TABLE_OPERATION, -5791, ER_CANT_UPDATE_USED_TABLE_IN_SF_OR_TRG, "HY000", "table is mutating, trigger/function may not see it", "Can\'t update table \'%s\' in stored function/trigger because it is already used by statement which invoked this stored function/trigger.", 4091, "table is mutating, trigger/function may not see it", "table '%.*s'.'%.*s' is mutating, trigger/function may not see it");
DEFINE_ORACLE_ERROR(OB_ERR_MODIFY_OR_DROP_MULTI_COLUMN_CONSTRAINT, -5792, -1, "HY000", "column is referenced in a multi-column constraint", 12991, "column is referenced in a multi-column constraint");
DEFINE_ORACLE_ERROR(OB_ERR_DROP_PARENT_KEY_COLUMN, -5793, -1, "HY000", "cannot drop parent key column", 12992, "cannot drop parent key column");
DEFINE_ORACLE_ERROR(OB_AUTOINC_SERVICE_BUSY, -5794, -1, "HY000", "auto increment service busy", 600, "auto increment service busy");
DEFINE_ORACLE_ERROR_EXT(OB_ERR_CONSTRAINT_CONSTRAINT_DISABLE_VALIDATE, -5795, -1, "HY000", "No insert/update/delete on table with constraint disabled and validated", "No insert/update/delete on table with constraint (%.*s.%.*s) disabled and validated", 25128, "No insert/update/delete on table with constraint disabled and validated", "No insert/update/delete on table with constraint (%.*s.%.*s) disabled and validated");
DEFINE_ORACLE_ERROR(OB_ERR_AUTONOMOUS_TRANSACTION_ROLLBACK, -5796, -1, "HY000", "active autonomous transaction detected and rolled back", 6519, "active autonomous transaction detected and rolled back");
DEFINE_ORACLE_ERROR(OB_ORDERBY_CLAUSE_NOT_ALLOWED, -5797, -1, "HY000", "ORDER BY not allowed here", 30487, "ORDER BY not allowed here");
DEFINE_ORACLE_ERROR(OB_DISTINCT_NOT_ALLOWED, -5798, -1, "HY000", "DISTINCT not allowed here", 30482, "DISTINCT not allowed here");
DEFINE_ERROR(OB_ERR_ASSIGN_USER_VARIABLE_NOT_ALLOWED, -5799, -1, "HY000", "assign user variable with := only allowed in select filed list and as root expression");
DEFINE_ORACLE_ERROR_EXT(OB_ERR_MODIFY_NONEXISTENT_CONSTRAINT, -5800, -1, "HY000", "cannot modify constraint - no such constraint", "cannot modify constraint (%.*s) - no such constraint", 25129, "cannot modify constraint - no such constraint", "cannot modify constraint (%.*s) - no such constraint");
DEFINE_ERROR(OB_ERR_SP_EXCEPTION_HANDLE_ILLEGAL, -5801, -1, "HY000", "implementation restriction: exception handler in nested transaction is illegal");
DEFINE_ORACLE_ERROR_DEP(OB_INVALID_ROWID, -5802, -1, "HY000", "invalid ROWID", 1410, "invalid ROWID");
DEFINE_ORACLE_ERROR_EXT(OB_ERR_INVALID_INSERT_COLUMN, -5803, -1, "HY000", "Invalid column in the INSERT VALUES Clause", "Invalid column in the INSERT VALUES Clause:'%.*s'.'%.*s'", 38101, "Invalid column in the INSERT VALUES Clause", "Invalid column in the INSERT VALUES Clause:'%.*s'.'%.*s'");
DEFINE_ORACLE_ERROR_EXT(OB_INCORRECT_USE_OF_OPERATOR, -5804, -1, "HY000", "incorrect use of operator", "incorrect use of the ['%.*s'] operator", 13207, "incorrect use of operator", "incorrect use of the ['%.*s'] operator");
DEFINE_ORACLE_ERROR(OB_ERR_NON_CONST_EXPR_IS_NOT_ALLOWED_FOR_PIVOT_UNPIVOT_VALUES, -5805, -1, "HY000", "non-constant expression is not allowed for pivot|unpivot values", 56901, "non-constant expression is not allowed for pivot|unpivot values");
DEFINE_ORACLE_ERROR(OB_ERR_EXPECT_AGGREGATE_FUNCTION_INSIDE_PIVOT_OPERATION, -5806, -1, "HY000", "expect aggregate function inside pivot operation", 56902, "expect aggregate function inside pivot operation");
DEFINE_ORACLE_ERROR(OB_ERR_EXP_NEED_SAME_DATATYPE, -5807, -1, "HY000", "expression must have same datatype as corresponding expression", 1790, "expression must have same datatype as corresponding expression");
DEFINE_ORACLE_ERROR(OB_ERR_CHARACTER_SET_MISMATCH, -5808, -1, "HY000", "character set mismatch", 12704, "character set mismatch");
DEFINE_ERROR(OB_ERR_REGEXP_NOMATCH, -5809, -1, "HY000", "regular expression failed to match");
DEFINE_ERROR(OB_ERR_REGEXP_BADPAT, -5810, -1, "HY000", "invalid regular expression (reg version 0.8)");
DEFINE_ERROR(OB_ERR_REGEXP_EESCAPE, -5811, -1, "HY000", "invalid escape \\ sequence in regular expression");
DEFINE_ORACLE_ERROR(OB_ERR_REGEXP_EBRACK, -5812, -1, "HY000", "unmatched bracket in regular expression", 12726, "unmatched bracket in regular expression");
DEFINE_ORACLE_ERROR(OB_ERR_REGEXP_EPAREN, -5813, -1, "HY000", "unmatched parentheses in regular expression", 12725, "unmatched parentheses in regular expression");
DEFINE_ORACLE_ERROR(OB_ERR_REGEXP_ESUBREG, -5814, -1, "HY000", "invalid back reference in regular expression", 12727, "invalid back reference in regular expression");
DEFINE_ORACLE_ERROR(OB_ERR_REGEXP_ERANGE, -5815, -1, "HY000", "invalid range in regular expression", 12728, "invalid range in regular expression");
DEFINE_ORACLE_ERROR(OB_ERR_REGEXP_ECTYPE, -5816, -1, "HY000", "invalid character class in regular expression", 12729, "invalid character class in regular expression");
DEFINE_ERROR(OB_ERR_REGEXP_ECOLLATE, -5817, -1, "HY000", "invalid collation class in regular expression", 12731, "invalid collation class in regular expression");
DEFINE_ERROR(OB_ERR_REGEXP_EBRACE, -5818, -1, "HY000", "braces {} not balanced in in regular expression");
DEFINE_ERROR(OB_ERR_REGEXP_BADBR, -5819, -1, "HY000", "invalid repetition count(s) in regular expression");
DEFINE_ERROR(OB_ERR_REGEXP_BADRPT, -5820, -1, "HY000", "The regular expression was too complex and current library can't be parsed");
DEFINE_ERROR(OB_ERR_REGEXP_ASSERT, -5821, -1, "HY000", "regular expression internal error");
DEFINE_ERROR(OB_ERR_REGEXP_INVARG, -5822, -1, "HY000", "invalid argument in regular expression");
DEFINE_ERROR(OB_ERR_REGEXP_MIXED, -5823, -1, "HY000", "character widths of regex and string differ in regular expression");
DEFINE_ERROR(OB_ERR_REGEXP_BADOPT, -5824, -1, "HY000", "invalid embedded option in regular expression");
DEFINE_ERROR(OB_ERR_REGEXP_ETOOBIG, -5825, -1, "HY000", "nfa has too many states in regular expression, may be the regular expression too long");
DEFINE_ERROR(OB_NOT_SUPPORTED_ROWID_TYPE, -5826, -1, "HY000", "ROWID for tables without primary key is not implemented");
DEFINE_ERROR(OB_ERR_PARALLEL_DDL_CONFLICT, -5827, -1, "HY000", "the definition of relative objects have been modified, please check and retry");
DEFINE_ORACLE_ERROR(OB_ERR_SUBSCRIPT_BEYOND_COUNT, -5828, -1, "HY000", "Subscript beyond count", 6533, "Subscript beyond count");
DEFINE_ORACLE_ERROR(OB_ERR_NOT_PARTITIONED, -5829, -1, "HY000", "PARTITION () clause on non partitioned table", 14501, "object is not partitioned");
DEFINE_ORACLE_ERROR(OB_UNKNOWN_SUBPARTITION, -5830, -1, "HY000", "Unknown subpartition", 14251, "Specified subpartition does not exist");
DEFINE_ORACLE_ERROR(OB_ERR_INVALID_SQL_ROW_LIMITING, -5831, -1, "HY000", "Invalid SQL ROW LIMITING expression was specified.", 62550, "Invalid SQL ROW LIMITING expression was specified.");
DEFINE_ERROR(INCORRECT_ARGUMENTS_TO_ESCAPE, -5832, ER_WRONG_ARGUMENTS, "HY000", "Incorrect arguments to ESCAPE");
DEFINE_ERROR(STATIC_ENG_NOT_IMPLEMENT, -5833, -1,  "HY000", "not implemented in SQL static typing engine, will try the old engine automatically");
DEFINE_ORACLE_ERROR(OB_OBJ_ALREADY_EXIST, -5834, -1, "HY000", "name is already used by an existing object", 955, "name is already used by an existing object");
DEFINE_ORACLE_ERROR(OB_DBLINK_NOT_EXIST_TO_ACCESS, -5835, -1, "HY000", "connection description for remote database not found", 2019, "connection description for remote database not found");
DEFINE_ORACLE_ERROR(OB_DBLINK_NOT_EXIST_TO_DROP, -5836, -1, "HY000", "database link not found", 2024, "database link not found");
DEFINE_ORACLE_ERROR(OB_ERR_ACCESS_INTO_NULL, -5837, -1, "HY000", "Reference to uninitialized composite", 6530, "Reference to uninitialized composite");
DEFINE_ORACLE_ERROR(OB_ERR_COLLECION_NULL, -5838, -1, "HY000", "Reference to uninitialized collection", 6531, "Reference to uninitialized collection");
DEFINE_ORACLE_ERROR(OB_ERR_NO_DATA_NEEDED, -5839, -1, "HY000", "no more rows needed", 6548, "no more rows needed");
DEFINE_ORACLE_ERROR(OB_ERR_PROGRAM_ERROR, -5840, -1, "HY000", "PL/SQL: program error", 6501, "PL/SQL: program error");
DEFINE_ORACLE_ERROR(OB_ERR_ROWTYPE_MISMATCH, -5841, -1, "HY000", "PL/SQL: Return types of Result Set variables or query do not match", 6504, "PL/SQL: Return types of Result Set variables or query do not match");
DEFINE_ORACLE_ERROR(OB_ERR_STORAGE_ERROR, -5842, -1, "HY000", "PL/SQL: storage error", 6500, "PL/SQL: storage error");
DEFINE_ORACLE_ERROR(OB_ERR_SUBSCRIPT_OUTSIDE_LIMIT, -5843, -1, "HY000", "Subscript outside of limit", 6532, "Subscript outside of limit");
DEFINE_ORACLE_ERROR(OB_ERR_INVALID_CURSOR, -5844, -1, "HY000", "invalid cursor", 1001, "invalid cursor");
DEFINE_ORACLE_ERROR(OB_ERR_LOGIN_DENIED, -5845, -1, "HY000", "invalid username/password; logon denied", 1017, "invalid username/password; logon denied");
DEFINE_ORACLE_ERROR(OB_ERR_NOT_LOGGED_ON, -5846, -1, "HY000", "not logged on", 1012, "not logged on");
DEFINE_ORACLE_ERROR(OB_ERR_SELF_IS_NULL, -5847, -1, "HY000", "method dispatch on NULL SELF argument is disallowed", 30625, "method dispatch on NULL SELF argument is disallowed");
DEFINE_ORACLE_ERROR(OB_ERR_TIMEOUT_ON_RESOURCE, -5848, -1, "HY000", "timeout occurred while waiting for a resource", 51, "timeout occurred while waiting for a resource");
DEFINE_ORACLE_ERROR(OB_COLUMN_CANT_CHANGE_TO_NOT_NULL, -5849, -1, "HY000", "column to be modified to NOT NULL is already NOT NULL", 1442, "column to be modified to NOT NULL is already NOT NULL");
DEFINE_ORACLE_ERROR(OB_COLUMN_CANT_CHANGE_TO_NULLALE, -5850, -1, "HY000", "column to be modified to NULL cannot be modified to NULL", 1451, "column to be modified to NULL cannot be modified to NULL");
DEFINE_ORACLE_ERROR_EXT(OB_ENABLE_NOT_NULL_CONSTRAINT_VIOLATED, -5851, -1, "HY000", "cannot enable - null values found", "cannot enable (%.*s.%.*s) - null values found", 2296, "cannot enable - null values found", "cannot enable (%.*s.%.*s) - null values found");
DEFINE_ORACLE_ERROR(OB_ERR_ARGUMENT_SHOULD_CONSTANT, -5852, -1, "HY000", "Argument should be a constant.", 30496, "Argument should be a constant.");
DEFINE_ORACLE_ERROR(OB_ERR_NOT_A_SINGLE_GROUP_FUNCTION, -5853, -1, "HY000", "not a single-group group function", 937, "not a single-group group function");
DEFINE_ORACLE_ERROR(OB_ERR_ZERO_LENGTH_IDENTIFIER, -5854, -1, "HY000", "illegal zero-length identifier", 1741, "illegal zero-length identifier");
DEFINE_ORACLE_ERROR(OB_ERR_PARAM_VALUE_INVALID, -5855, -1, "HY000", "parameter cannot be modified because specified value is invalid", 2097, "parameter cannot be modified because specified value is invalid");
DEFINE_ORACLE_ERROR(OB_ERR_DBMS_SQL_CURSOR_NOT_EXIST, -5856, -1, "HY000", "DBMS_SQL access denied", 29471, "DBMS_SQL access denied");
DEFINE_ORACLE_ERROR(OB_ERR_DBMS_SQL_NOT_ALL_VAR_BIND, -5857, -1, "HY000", "not all variables bound", 1008, "not all variables bound");
DEFINE_ERROR_EXT(OB_ERR_CONFLICTING_DECLARATIONS, -5858, ER_CONFLICTING_DECLARATIONS, "42000", "Conflicting declarations", "Conflicting declarations: '%s' and '%s'");
DEFINE_ORACLE_ERROR_EXT(OB_ERR_DROP_COL_REFERENCED_MULTI_COLS_CONSTRAINT, -5859, ER_DEPENDENT_BY_CHECK_CONSTRAINT, "HY000", "column is referenced in a multi-column constraint", "Check constraint \'%.*s\' uses column \'%.*s\', hence column cannot be dropped or renamed.", 12991, "column is referenced in a multi-column constraint","column \'%.*s\' is referenced in a multi-column constraint \'%.*s\'");
DEFINE_ORACLE_ERROR(OB_ERR_MODIFY_COL_DATATYEP_REFERENCED_CONSTRAINT, -5860, -1, "HY000", "cannot modify column datatype with current constraint(s)", 1463, "cannot modify column datatype with current constraint(s)");
DEFINE_ORACLE_ERROR(OB_ERR_PERCENTILE_VALUE_INVALID, -5861, -1, "HY000", "The percentile value should be a number between 0 and 1.", 30493, "The percentile value should be a number between 0 and 1.");
DEFINE_ORACLE_ERROR(OB_ERR_ARGUMENT_SHOULD_NUMERIC_DATE_DATETIME_TYPE, -5862, -1, "HY000", "The argument should be of numeric or date/datetime type.", 30495, "The argument should be of numeric or date/datetime type.");
DEFINE_ORACLE_ERROR(OB_ERR_ALTER_TABLE_RENAME_WITH_OPTION, -5863, -1, "HY000", "ALTER TABLE|INDEX RENAME may not be combined with other operations", 14047, "ALTER TABLE|INDEX RENAME may not be combined with other operations");
DEFINE_ORACLE_ERROR(OB_ERR_ONLY_SIMPLE_COLUMN_NAME_ALLOWED, -5864, -1, "HY000", "only simple column names allowed here.", 1748, "only simple column names allowed here.");
DEFINE_ERROR_EXT(OB_ERR_SAFE_UPDATE_MODE_NEED_WHERE_OR_LIMIT, -5865, ER_UPDATE_WITHOUT_KEY_IN_SAFE_MODE, "HY000", "You are using safe update mode and you tried to update a table without a WHERE that uses a KEY column", "You are using safe update mode and you tried to update a table without a WHERE that uses a KEY column");
DEFINE_ORACLE_ERROR(OB_ERR_SPECIFIY_PARTITION_DESCRIPTION, -5866, -1, "HY000", "cannot specify <(sub)partition-description> clause in CREATE TABLE or CREATE INDEX", 14170, "cannot specify <(sub)partition-description> clause in CREATE TABLE or CREATE INDEX");
DEFINE_ORACLE_ERROR_EXT(OB_ERR_SAME_NAME_SUBPARTITION, -5867, -1, "HY000", "Duplicate partition name", "Duplicate partition name %.*s", 14159, "duplicate subpartition name", "duplicate subpartition name %.*s");
DEFINE_ERROR(OB_ERR_UPDATE_ORDER_BY, -5868, -1, "HY000", "Incorrect usage of UPDATE and ORDER BY");
DEFINE_ERROR(OB_ERR_UPDATE_LIMIT, -5869, -1, "HY000", "Incorrect usage of UPDATE and LIMIT");
DEFINE_ORACLE_ERROR_EXT(OB_ROWID_TYPE_MISMATCH, -5870, -1, "HY000", "rowid type mismatch", "rowid type mismatch, expect %.*s, got %.*s", 600, "rowid type mismatch", "rowid type mismatch, expect %.*s, got %.*s");
DEFINE_ORACLE_ERROR_EXT(OB_ROWID_NUM_MISMATCH, -5871, -1, "HY000", "rowid num mismatch", "rowid num mismatch, expect %ld, actual %ld", 600, "rowid num mismatch", "rowid num mismatch, expect %ld, actual %ld");
DEFINE_ORACLE_ERROR_EXT(OB_NO_COLUMN_ALIAS, -5872, -1, "HY000", "must name this expression with a column alias", "must name %.*s with a column alias", 998, "must name this expression with a column alias", "must name %.*s with a column alias");
DEFINE_ORACLE_ERROR_DEP(OB_ERR_NUMERIC_NOT_MATCH_FORMAT_LENGTH, -5873, -1, "HY000", "the numeric value does not match the length of the format item", 1862, "the numeric value does not match the length of the format item");
DEFINE_ORACLE_ERROR(OB_ERR_INVALID_DATATYPE, -5874, -1, "HY000", "invalid datatype", 902, "invalid datatype");
DEFINE_ORACLE_ERROR(OB_ERR_NOT_COMPOSITE_PARTITION, -5875, -1, "HY000", "table is not partitioned by composite partition method", 14253, "table is not partitioned by composite partition method");
DEFINE_ORACLE_ERROR(OB_ERR_SUBPARTITION_NOT_EXPECT_VALUES_IN, -5876, -1, "HY000", "VALUES IN (<value list>) cannot be used for Range subpartitioned tables", 14214, "VALUES (<value list>) cannot be used for Range subpartitioned tables");
DEFINE_ORACLE_ERROR(OB_ERR_SUBPARTITION_EXPECT_VALUES_IN, -5877, -1, "HY000", "VALUES IN (<value list>) clause expected", 14217, "VALUES (<value list>) clause expected");
DEFINE_ORACLE_ERROR(OB_ERR_PARTITION_NOT_EXPECT_VALUES_LESS_THAN, -5878, 1480, "HY000", "Only RANGE PARTITIONING can use VALUES LESS THAN in partition definition", 14310, "VALUES LESS THAN or AT clause cannot be used with List partitioned tables");
DEFINE_ORACLE_ERROR(OB_ERR_PARTITION_EXPECT_VALUES_LESS_THAN, -5879, -1, "HY000", "Expecting VALUES LESS THAN  or AT clause", 14311, "Expecting VALUES LESS THAN  or AT clause");
DEFINE_ORACLE_ERROR(OB_ERR_PROGRAM_UNIT_NOT_EXIST, -5880, -1, "HY000", "Procedure, function, package, or package body does not exist", 4042, "procedure, function, package, or package body does not exist");
DEFINE_ERROR(OB_ERR_INVALID_RESTORE_POINT_NAME, -5881, -1, "HY000", "invalid restore point name specified in connection string");
DEFINE_ORACLE_ERROR(OB_ERR_INPUT_TIME_TYPE, -5882, -1, "HY000", "invalid time limit specified", 14312, "invalid time limit specified");
DEFINE_ORACLE_ERROR(OB_ERR_IN_ARRAY_DML, -5883, -1, "HY000", "error(s) in array DML", 24381, "error(s) in array DML");
DEFINE_ERROR_EXT(OB_ERR_TRIGGER_COMPILE_ERROR, -5884, -1, "42000", "trigger compile error", "%s \'%.*s.%.*s\' compile error");
DEFINE_ORACLE_ERROR(OB_ERR_IN_TRIM_SET, -5885, -1, "HY000", "trim set should have only one character", 30001, "trim set should have only one character");
DEFINE_ORACLE_ERROR_EXT(OB_ERR_MISSING_OR_INVALID_PASSWORD_FOR_ROLE, -5886, -1, "HY000", "missing or invalid password", "missing or invalid password for role '%.*s'", 1979, "missing or invalid password", "missing or invalid password for role '%.*s'");
DEFINE_ORACLE_ERROR(OB_ERR_MISSING_OR_INVALID_PASSWORD, -5887, -1, "HY000", "missing or invalid password(s)", 988, "missing or invalid password(s)");
DEFINE_ORACLE_ERROR(OB_ERR_NO_OPTIONS_FOR_ALTER_USER, -5888, -1, "HY000", "no options specified for ALTER USER", 2157, "no options specified for ALTER USER");
DEFINE_ORACLE_ERROR(OB_ERR_NO_MATCHING_UK_PK_FOR_COL_LIST, -5889, -1, "HY000", "no matching unique or primary key for this column-list", 2270, "no matching unique or primary key for this column-list");
DEFINE_ORACLE_ERROR(OB_ERR_DUP_FK_IN_TABLE, -5890, -1, "HY000", "duplicate referential constraint specifications", 2774, "duplicate referential constraint specifications");
DEFINE_ORACLE_ERROR(OB_ERR_DUP_FK_EXISTS, -5891, -1, "HY000", "such a referential constraint already exists in the table", 2775, "such a referential constraint already exists in the table");
DEFINE_ORACLE_ERROR(OB_ERR_MISSING_OR_INVALID_PRIVIEGE, -5892, -1, "HY000", "missing or invalid privilege", 990, "missing or invalid privilege");
DEFINE_ORACLE_ERROR(OB_ERR_INVALID_VIRTUAL_COLUMN_TYPE, -5893, -1, "HY000", "specified data type is not supported for a virtual column", 54003, "specified data type is not supported for a virtual column");
DEFINE_ORACLE_ERROR(OB_ERR_REFERENCED_TABLE_HAS_NO_PK, -5894, -1, "HY000", "referenced table does not have a primary key", 2268, "referenced table does not have a primary key");
DEFINE_ORACLE_ERROR(OB_ERR_MODIFY_PART_COLUMN_TYPE, -5895, -1, "HY000", "data type or length of a table partitioning column may not be changed", 14060, "data type or length of a table partitioning column may not be changed");
DEFINE_ORACLE_ERROR(OB_ERR_MODIFY_SUBPART_COLUMN_TYPE, -5896, -1, "HY000", "data type or length of a table subpartitioning column may not be changed", 14265, "data type or length of a table subpartitioning column may not be changed");
DEFINE_ORACLE_ERROR(OB_ERR_DECREASE_COLUMN_LENGTH, -5897, -1, "HY000", "cannot decrease column length because some value is too big", 1441, "cannot decrease column length because some value is too big");
DEFINE_ORACLE_ERROR_DEP(OB_ERR_DATETIME_INTERVAL_INTERNAL_ERROR, -5898, -1, "HY000", "Datetime/Interval internal error", 1891, "Datetime/Interval internal error");
DEFINE_ORACLE_ERROR(OB_ERR_REMOTE_PART_ILLEGAL, -5899, -1, "HY000", "partition extended table name cannot refer to a remote object", 14100, "partition extended table name cannot refer to a remote object");
DEFINE_ORACLE_ERROR(OB_ERR_DUPLICATE_COLUMN_EXPRESSION_WAS_SPECIFIED, -5900, -1, "HY000", "Duplicate column expression was specified", 54015, "Duplicate column expression was specified");
DEFINE_ORACLE_ERROR(OB_ERR_A_VIEW_NOT_APPROPRIATE_HERE, -5901, -1, "HY000", "a view is not appropriate here", 1702, "a view is not appropriate here");
DEFINE_ORACLE_ERROR(OB_ROWID_VIEW_NO_KEY_PRESERVED, -5902, -1, "HY000", "cannot select ROWID from, or sample, a join view without a key-preserved table", 1445, "cannot select ROWID from, or sample, a join view without a key-preserved table");
DEFINE_ORACLE_ERROR(OB_ROWID_VIEW_HAS_DISTINCT_ETC, -5903, -1, "HY000", "cannot select ROWID from, or sample, a view with DISTINCT, GROUP BY, etc", 1446, "cannot select ROWID from, or sample, a view with DISTINCT, GROUP BY, etc");
DEFINE_ORACLE_ERROR(OB_ERR_AT_LEAST_ONE_COLUMN_NOT_VIRTUAL, -5904, ER_TABLE_MUST_HAVE_COLUMNS, "42000", "A table must have at least 1 column", 54037, "table must have at least 1 column that is not virtual");
DEFINE_ORACLE_ERROR(OB_ERR_ONLY_PURE_FUNC_CANBE_INDEXED, -5905, ER_FUNCTIONAL_INDEX_FUNCTION_IS_NOT_ALLOWED, "HY000", "Expression of functional index contains a disallowed function.", 1743, "only pure functions can be indexed");
DEFINE_ORACLE_ERROR(OB_ERR_ONLY_PURE_FUNC_CANBE_VIRTUAL_COLUMN_EXPRESSION, -5906, 3102, "HY000", "Expression of generated column contains a disallowed function", 54002, "only pure functions can be specified in a virtual column expression");
DEFINE_ORACLE_ERROR(OB_ERR_UPDATE_OPERATION_ON_VIRTUAL_COLUMNS, -5907, -1, "HY000", "UPDATE operation disallowed on virtual columns", 54017, "UPDATE operation disallowed on virtual columns");
DEFINE_ORACLE_ERROR(OB_ERR_INVALID_COLUMN_EXPRESSION, -5908, -1, "HY000", "Invalid column expression was specified", 54016, "Invalid column expression was specified");
DEFINE_ORACLE_ERROR(OB_ERR_IDENTITY_COLUMN_COUNT_EXCE_LIMIT, -5909, -1, "HY000", "table can have only one identity column", 30669, "table can have only one identity column");
DEFINE_ORACLE_ERROR(OB_ERR_INVALID_NOT_NULL_CONSTRAINT_ON_IDENTITY_COLUMN, -5910, -1, "HY000", "invalid NOT NULL constraint specified on an identity column", 30670, "invalid NOT NULL constraint specified on an identity column");
DEFINE_ORACLE_ERROR(OB_ERR_CANNOT_MODIFY_NOT_NULL_CONSTRAINT_ON_IDENTITY_COLUMN, -5911, -1, "HY000", "cannot modify NOT NULL constraint on an identity column", 30671, "cannot modify NOT NULL constraint on an identity column");
DEFINE_ORACLE_ERROR(OB_ERR_CANNOT_DROP_NOT_NULL_CONSTRAINT_ON_IDENTITY_COLUMN, -5912, -1, "HY000", "cannot drop NOT NULL constraint on an identity column", 30672, "cannot drop NOT NULL constraint on an identity column");
DEFINE_ORACLE_ERROR(OB_ERR_COLUMN_MODIFY_TO_IDENTITY_COLUMN, -5913, -1, "HY000", "column to be modified is not an identity column", 30673, "column to be modified is not an identity column");
DEFINE_ORACLE_ERROR(OB_ERR_IDENTITY_COLUMN_CANNOT_HAVE_DEFAULT_VALUE, -5914, -1, "HY000", "identity column cannot have a default value", 30674, "identity column cannot have a default value");
DEFINE_ORACLE_ERROR(OB_ERR_IDENTITY_COLUMN_MUST_BE_NUMERIC_TYPE, -5915, -1, "HY000", "identity column must be a numeric type", 30675, "identity column must be a numeric type");
DEFINE_ORACLE_ERROR(OB_ERR_PREBUILT_TABLE_MANAGED_CANNOT_BE_IDENTITY_COLUMN, -5916, -1, "HY000", "prebuilt table managed column cannot be an identity column", 32792, "prebuilt table managed column cannot be an identity column");
DEFINE_ORACLE_ERROR(OB_ERR_CANNOT_ALTER_SYSTEM_GENERATED_SEQUENCE, -5917, -1, "HY000", "cannot alter a system-generated sequence", 32793, "cannot alter a system-generated sequence");
DEFINE_ORACLE_ERROR(OB_ERR_CANNOT_DROP_SYSTEM_GENERATED_SEQUENCE, -5918, -1, "HY000", "cannot drop a system-generated sequence", 32794, "cannot drop a system-generated sequence");
DEFINE_ORACLE_ERROR(OB_ERR_INSERT_INTO_GENERATED_ALWAYS_IDENTITY_COLUMN, -5919, -1, "HY000", "cannot insert into a generated always identity column", 32795, "cannot insert into a generated always identity column");
DEFINE_ORACLE_ERROR(OB_ERR_UPDATE_GENERATED_ALWAYS_IDENTITY_COLUMN, -5920, -1, "HY000", "cannot update a generated always identity column", 32796, "cannot update a generated always identity column");
DEFINE_ORACLE_ERROR(OB_ERR_IDENTITY_COLUMN_SEQUENCE_MISMATCH_ALTER_TABLE_EXCHANGE_PARTITION, -5921, -1, "HY000", "identity column sequence mismatch in ALTER TABLE EXCHANGE PARTITION", 32797, "identity column sequence mismatch in ALTER TABLE EXCHANGE PARTITION");
DEFINE_ORACLE_ERROR(OB_ERR_CANNOT_RENAME_SYSTEM_GENERATED_SEQUENCE, -5922, -1, "HY000", "cannot rename a system-generated sequence", 32799, "cannot rename a system-generated sequence");
DEFINE_ORACLE_ERROR(OB_ERR_REVOKE_BY_COLUMN, -5923, -1, "HY000", "UPDATE/REFERENCES may only be REVOKEd from the whole table, not by column", 1750, "UPDATE/REFERENCES may only be REVOKEd from the whole table, not by column");
DEFINE_ORACLE_ERROR_EXT(OB_ERR_TYPE_BODY_NOT_EXIST, -5924, -1, "HY000", "not executed, type body does not exist", "not executed, type body '%.*s' does not exist", 4067, "not executed, type body does not exist", "not executed, type body '%.*s' does not exist");
DEFINE_ORACLE_ERROR_EXT(OB_ERR_INVALID_ARGUMENT_FOR_WIDTH_BUCKET, -5925, -1, "HY000", "The argument of WIDTH_BUCKET function is NULL or invalid.", "The argument [%s] of WIDTH_BUCKET function is NULL or invalid.", 30494, "The argument of WIDTH_BUCKET function is NULL or invalid.", "The argument [%s] of WIDTH_BUCKET function is NULL or invalid.");
DEFINE_ORACLE_ERROR(OB_ERR_CBY_NO_MEMORY, -5926, -1, "HY000", "Not enough memory for CONNECT BY operation", 30009, "Not enough memory for CONNECT BY operation");
DEFINE_ORACLE_ERROR(OB_ERR_ILLEGAL_PARAM_FOR_CBY_PATH, -5927, -1, "HY000", "illegal parameter in SYS_CONNECT_BY_PATH function", 30003, "illegal parameter in SYS_CONNECT_BY_PATH function");
DEFINE_ORACLE_ERROR_EXT(OB_ERR_HOST_UNKNOWN, -5928, -1, "HY000", "host unknown", "host %.*s unknown", 29257, "host unknown", "host %.*s unknown");
DEFINE_ERROR_EXT(OB_ERR_WINDOW_NAME_IS_NOT_DEFINE, -5929, -1, "HY000", "Window name is not defined.", "Window name '%.*s' is not defined.");
DEFINE_ORACLE_ERROR(OB_ERR_OPEN_CURSORS_EXCEEDED, -5930, -1, "HY000", "maximum open cursors exceeded", 1000, "maximum open cursors exceeded");
DEFINE_ORACLE_ERROR(OB_ERR_FETCH_OUT_SEQUENCE, -5931, -1, "HY000", "fetch out of sequence", 1002, "fetch out of sequence");
DEFINE_ORACLE_ERROR_EXT(OB_ERR_UNEXPECTED_NAME_STR, -5932, -1, "HY000", "unexpected name string", "unexpected name string '%.*s'", 23481, "unexpected name string", "unexpected name string '%.*s'");
DEFINE_ORACLE_ERROR_EXT(OB_ERR_NO_PROGRAM_UNIT, -5933, -1, "HY000", "PL/SQL: could not find program unit being called", "PL/SQL: could not find program unit being called: '%.*s'", 6508, "PL/SQL: could not find program unit being called", "PL/SQL: could not find program unit being called: '%.*s'");
DEFINE_ORACLE_ERROR(OB_ERR_ARG_INVALID, -5934, -1, "HY000", "argument is null, invalid, or out of range", 21560, "argument %.*s is null, invalid, or out of range");
/////////////////////////////////////////////////////////////////////////////////////////////
// ORA ERROR 20000 - 20999 Reserved for callers of the system_utility.raise_application_error
// stored procedure. This allows customers to generate their own exception numbers and deal
// with them on the user-side.
//
// ATTENTION !!! ATTENTION !!! ATTENTION !!!
// If you need to use this error code, you MUST use LOG_USER_ERROR to generate a customized
// error message. Or you will make your customer really passed off !!!
/////////////////////////////////////////////////////////////////////////////////////////////
DEFINE_ORACLE_ERROR_EXT(OB_ERR_DBMS_STATS_PL, -5935, -1, "HY000", "must use LOG_USER_ERROR", "%s", 20001, "must use LOG_USER_ERROR", "%s");
DEFINE_ERROR_EXT(OB_ERR_INCORRECT_VALUE_FOR_FUNCTION, -5936, ER_WRONG_VALUE_FOR_TYPE, "HY000", "Incorrect value for function", "Incorrect %.*s value: '%.*s' for function %.*s");
DEFINE_ORACLE_ERROR(OB_ERR_UNSUPPORTED_CHARACTER_SET, -5937, -1, "HY000", "unsupported character set", 1482, "unsupported character set");
DEFINE_ORACLE_ERROR(OB_ERR_MUST_BE_FOLLOWED_BY_FOUR_HEXADECIMAL_CHARACTERS_OR_ANOTHER, -5938, -1, "HY000", "'\\' must be followed by four hexadecimal characters or another '\\'", 30186, "'\\' must be followed by four hexadecimal characters or another '\\'");
DEFINE_ORACLE_ERROR_EXT(OB_ERR_PARAMETER_TOO_LONG, -5939, -1, "HY000", "parameter value longer than maximum characters", "parameter value longer than %d characters", 32021, "parameter value longer than maximum characters", "parameter value longer than %d characters");
DEFINE_ORACLE_ERROR(OB_ERR_INVALID_PLSQL_CCFLAGS, -5940, -1, "HY000", "invalid parameter for PLSQL_CCFLAGS", 39962, "invalid parameter for PLSQL_CCFLAGS");
DEFINE_ORACLE_ERROR_EXT(OB_ERR_REF_MUTUALLY_DEP, -5941, -1, "HY000", "Aborted: formed a non-REF mutually-dependent cycle", "Aborted: '%.*s' formed a non-REF mutually-dependent cycle with '%.*s'", 4055, "Aborted: formed a non-REF mutually-dependent cycle", "Aborted: '%.*s' formed a non-REF mutually-dependent cycle with '%.*s'");
DEFINE_ORACLE_ERROR(OB_ERR_COLUMN_NOT_ALLOWED, -5942, -1, "HY000", "column not allowed here", 984, "column not allowed here");
DEFINE_ORACLE_ERROR(OB_ERR_CANNOT_ACCESS_NLS_DATA_FILES_OR_INVALID_ENVIRONMENT_SPECIFIED, -5943, -1, "HY000", "Cannot access NLS data files or invalid environment specified", 12705, "Cannot access NLS data files or invalid environment specified");
DEFINE_ORACLE_ERROR(OB_ERR_DUPLICATE_NULL_SPECIFICATION, -5944, -1, "HY000", "duplicate or conflicting NULL and/or NOT NULL specifications", 2258, "duplicate or conflicting NULL and/or NOT NULL specifications");
DEFINE_ORACLE_ERROR_EXT(OB_ERR_NOT_NULL_CONSTRAINT_VIOLATED, -5945, -1, "HY000", "cannot enable not null constraint - null values found", "cannot enable (%.*s.%.*s) - null values found", 2296, "cannot enable not null constraint - null values found", "cannot enable (%.*s.%.*s) - null values found");
DEFINE_ORACLE_ERROR(OB_ERR_TABLE_ADD_NOT_NULL_COLUMN_NOT_EMPTY, -5946, -1, "HY000", "table must be empty to add mandatory (NOT NULL) column", 1758, "table must be empty to add mandatory (NOT NULL) column");
DEFINE_ORACLE_ERROR(OB_ERR_COLUMN_EXPRESSION_MODIFICATION_WITH_OTHER_DDL, -5947, -1, "HY000", "Column expression modifications cannot be combined with any other column DDL operation", 54048, "Column expression modifications cannot be combined with any other column DDL operation");
DEFINE_ORACLE_ERROR(OB_ERR_VIRTUAL_COL_WITH_CONSTRAINT_CANT_BE_CHANGED, -5948, -1, "HY000", "Virtual column expression cannot be changed because a constraint is defined on column", 54023, "Virtual column expression cannot be changed because a constraint is defined on column");
DEFINE_ORACLE_ERROR(OB_ERR_INVALID_NOT_NULL_CONSTRAINT_ON_DEFAULT_ON_NULL_IDENTITY_COLUMN, -5949, -1, "HY000", "invalid NOT NULL constraint specified on a DEFAULT ON NULL column", 30665, "invalid NOT NULL constraint specified on a DEFAULT ON NULL column");
DEFINE_ORACLE_ERROR(OB_ERR_INVALID_DATA_TYPE_FOR_AT_TIME_ZONE, -5950, -1, "HY000", "invalid data type for datetime primary with time zone modifier", 30084, "invalid data type for datetime primary with time zone modifier");
DEFINE_ORACLE_ERROR(OB_ERR_BAD_ARG, -5951, -1, "HY000", "bad argument", 29261, "bad argument");
DEFINE_ORACLE_ERROR(OB_ERR_CANNOT_MODIFY_NOT_NULL_CONSTRAINT_ON_DEFAULT_ON_NULL_COLUMN, -5952, -1, "HY000", "cannot modify NOT NULL constraint on a DEFAULT ON NULL column", 30666, "cannot modify NOT NULL constraint on a DEFAULT ON NULL column");
DEFINE_ORACLE_ERROR(OB_ERR_CANNOT_DROP_NOT_NULL_CONSTRAINT_ON_DEFAULT_ON_NULL_COLUMN, -5953, -1, "HY000", "cannot drop NOT NULL constraint on a DEFAULT ON NULL column", 30667, "cannot drop NOT NULL constraint on a DEFAULT ON NULL column");
DEFINE_ORACLE_ERROR(OB_ERR_INVALID_PATH, -5954, -1, "HY000", "file or LOB operation string failed", 22288, "file or LOB operation string failed");

DEFINE_ORACLE_ERROR_EXT(OB_ERR_INVALID_PARAM_ENCOUNTERED, -5955, -1, "HY000", "invalid parameter encountered in method string", "invalid parameter encountered in method %s", 22369, "invalid parameter encountered in method string", "invalid parameter encountered in method %s");
DEFINE_ORACLE_ERROR_EXT(OB_ERR_INCORRECT_METHOD_USAGE, -5956, -1, "HY000", "incorrect usage of method string", "incorrect usage of method %s", 22370, "incorrect usage of method string", "incorrect usage of method %s");
DEFINE_ORACLE_ERROR(OB_ERR_TYPE_MISMATCH, -5957, -1, "HY000", "Type Mismatch while constructing or accessing OCIAnyData", 22626, "Type Mismatch while constructing or accessing OCIAnyData");
DEFINE_ORACLE_ERROR(OB_ERR_FETCH_COLUMN_NULL, -5958, -1, "HY000", "fetched column value is NULL", 1405, "fetched column value is NULL");
DEFINE_ORACLE_ERROR(OB_ERR_INVALID_SIZE_SPECIFIED, -5959, -1, "HY000", "invalid SIZE specified", 1494, "invalid SIZE specified");
DEFINE_ORACLE_ERROR(OB_ERR_SOURCE_EMPTY, -5960, -1, "HY000", "source text is empty", 24236, "source text is empty");
DEFINE_ORACLE_ERROR_EXT(OB_ERR_BAD_VALUE_FOR_OBJECT_TYPE, -5961, -1, "HY000", "bad value for object type: string", "bad value for object type: %.*s", 24235, "bad value for object type: string", "bad value for object type: %.*s");
DEFINE_ORACLE_ERROR_EXT(OB_ERR_UNABLE_GET_SOURCE, -5962, -1, "HY000", "unable to get source of string \'string\'.\'string\', insufficient privileges or does not exist", "unable to get source of string \'%.*s\'.\'%.*s\', insufficient privileges or does not exist", 24234, "unable to get source of string \'string\'.\'string\', insufficient privileges or does not exist", "unable to get source of string \'%.*s\'.\'%.*s\', insufficient privileges or does not exist");
DEFINE_ORACLE_ERROR(OB_ERR_MISSING_IDENTIFIER, -5963, -1, "HY000", "missing identifier", 931, "missing identifier");
DEFINE_ORACLE_ERROR_EXT(OB_ERR_DUP_COMPILE_PARAM, -5964, -1, "HY000", "duplicate setting for PL/SQL compiler parameter string", "duplicate setting for PL/SQL compiler parameter %.*s", 39956, "duplicate setting for PL/SQL compiler parameter string", "duplicate setting for PL/SQL compiler parameter %.*s");
DEFINE_ORACLE_ERROR(OB_ERR_DATA_NOT_WELL_FORMAT, -5965, -1, "HY000", "OCIAnyData is not well-formed", 22625, "OCIAnyData is not well-formed");
DEFINE_ORACLE_ERROR_EXT(OB_ERR_MUST_COMPOSIT_TYPE, -5966, -1, "HY000", "tc [string] must be that of object/varray/nested table", "tc [%s] must be that of object/varray/nested table", 22627, "tc [string] must be that of object/varray/nested table", "tc [%s] must be that of object/varray/nested table");
DEFINE_ERROR_EXT(OB_ERR_USER_EXCEED_RESOURCE, -5967, 1226, "42000", "User has exceeded the resource", "User '%.*s' has exceeded the '%s' resource (current value: %lu)");

DEFINE_ORACLE_ERROR(OB_ERR_UTL_ENCODE_ARGUMENT_INVALID, -5968, -1, "HY000", "bad argument", 29261, "bad argument");
DEFINE_ORACLE_ERROR(OB_ERR_UTL_ENCODE_CHARSET_INVALID, -5969, -1, "HY000", "invalid Character set", 30205, "invalid Character set");
DEFINE_ORACLE_ERROR(OB_ERR_UTL_ENCODE_MIME_HEAD_TAG, -5970, -1, "HY000", "invalid mime header tag", 29295, "invalid mime header tag");
DEFINE_ORACLE_ERROR_EXT(OB_ERR_CHECK_OPTION_VIOLATED, -5971, ER_VIEW_CHECK_FAILED, "HY000", "CHECK OPTION failed", "CHECK OPTION failed '%.*s.%.*s'", 1402, "view WITH CHECK OPTION where-clause violation", "view WITH CHECK OPTION where-clause violation");
DEFINE_ERROR_EXT(OB_ERR_CHECK_OPTION_ON_NONUPDATABLE_VIEW, -5972, ER_VIEW_NONUPD_CHECK, "HY000", "CHECK OPTION on non-updatable view", "CHECK OPTION on non-updatable view '%.*s.%.*s'");
DEFINE_ORACLE_ERROR(OB_ERR_NO_DESC_FOR_POS, -5973, -1, "HY000", "no descriptor for this position", 24334, "no descriptor for this position");
DEFINE_ORACLE_ERROR(OB_ERR_ILL_OBJ_FLAG, -5974, -1, "HY000", "object specified is incompatible with the flag specified", 4047, "object specified is incompatible with the flag specified");
DEFINE_ERROR_DEP(OB_ERR_DBLINK_REMOTE_ECODE, -5975, -1, "HY000", "\ndblink remote error code: %d,\nremote error msg: %.*s", "\ndblink remote error code: %d,\nremote error msg: %.*s");
DEFINE_ERROR_DEP(OB_ERR_DBLINK_NO_LIB, -5976, -1, "HY000", "can not find the expected version of OCI LIB: %.*s", "can not find the expected version of OCI LIB: %.*s");
DEFINE_ORACLE_ERROR(OB_ERR_PARTITION_EXTENDED_ON_VIEW, -5977, -1, "HY000", "partition-extended object names may only be used with tables and editioning views", 14109, "partition-extended object names may only be used with tables and editioning views");
DEFINE_ORACLE_ERROR(OB_ERR_NOT_ALL_VARIABLE_BIND, -5978, -1, "HY000", "not all variables bound", 1008, "not all variables bound");
DEFINE_ORACLE_ERROR(OB_ERR_BIND_VARIABLE_NOT_EXIST, -5979, -1, "HY000", "bind variable does not exist", 1006, "bind variable does not exist");
DEFINE_ORACLE_ERROR(OB_ERR_NOT_VALID_ROUTINE_NAME, -5980, -1, "HY000", "not a valid function or procedure name", 6576, "not a valid function or procedure name");
DEFINE_ORACLE_ERROR(OB_ERR_DDL_IN_ILLEGAL_CONTEXT, -5981, -1, "HY000", "DDL statement is executed in an illegal context", 6546, "DDL statement is executed in an illegal context");
DEFINE_ERROR_EXT(OB_ERR_CTE_NEED_QUERY_BLOCKS, -5982, 3574, "HY000", "Recursive Common Table Expression should have one or more non-recursive query blocks followed by one or more recursive ones", "Recursive Common Table Expression should have one or more non-recursive query blocks followed by one or more recursive ones: %s");
DEFINE_ERROR_EXT(OB_ERR_WINDOW_ROWS_INTERVAL_USE, -5983, ER_WINDOW_ROWS_INTERVAL_USE, "HY000", "Window '<unnamed window>': INTERVAL can only be used with RANGE frames.", "Window '%s': INTERVAL can only be used with RANGE frames.");
DEFINE_ERROR_EXT(OB_ERR_WINDOW_RANGE_FRAME_ORDER_TYPE, -5984, ER_WINDOW_RANGE_FRAME_ORDER_TYPE, "HY000", "Window '<unnamed window>' with RANGE N PRECEDING/FOLLOWING frame requires exactly one ORDER BY expression of numeric or temporal type", "Window '%s' with RANGE N PRECEDING/FOLLOWING frame requires exactly one ORDER BY expression of numeric or temporal type");
DEFINE_ERROR_EXT(OB_ERR_WINDOW_ILLEGAL_ORDER_BY, -5985, ER_WINDOW_ILLEGAL_ORDER_BY, "HY000", "Window '<unnamed window>': ORDER BY or PARTITION BY uses legacy position indication which is not supported use expression.", "Window '%s': ORDER BY or PARTITION BY uses legacy position indication which is not supported use expression.");

DEFINE_ERROR_EXT(OB_ERR_MULTIPLE_CONSTRAINTS_WITH_SAME_NAME, -5986, ER_MULTIPLE_CONSTRAINTS_WITH_SAME_NAME, "HY000", "Table has multiple constraints with the name.", "Table has multiple constraints with the name \'%.*s\'. Please use constraint specific \'%.*s\' clause.");
DEFINE_ERROR_EXT(OB_ERR_NON_BOOLEAN_EXPR_FOR_CHECK_CONSTRAINT, -5987, ER_NON_BOOLEAN_EXPR_FOR_CHECK_CONSTRAINT, "HY000", "An expression of non-boolean type specified to a check constraint","An expression of non-boolean type specified to a check constraint \'%.*s\'");
DEFINE_ERROR_EXT(OB_ERR_CHECK_CONSTRAINT_NOT_FOUND, -5988, ER_CHECK_CONSTRAINT_NOT_FOUND, "HY000", "Check constraint is not found in the table.", "Check constraint \'%.*s\' is not found in the table.");
DEFINE_ERROR_EXT(OB_ERR_ALTER_CONSTRAINT_ENFORCEMENT_NOT_SUPPORTED, -5989, ER_ALTER_CONSTRAINT_ENFORCEMENT_NOT_SUPPORTED, "HY000", "Altering constraint enforcement is not supported for the constraint.", "Altering constraint enforcement is not supported for the constraint \'%.*s\'. Enforcement state alter is not supported for the PRIMARY, UNIQUE and FOREIGN KEY type constraints.");
DEFINE_ERROR_EXT(OB_ERR_CHECK_CONSTRAINT_REFERS_AUTO_INCREMENT_COLUMN, -5990, ER_CHECK_CONSTRAINT_REFERS_AUTO_INCREMENT_COLUMN, "HY000", "Check constraint cannot refer to an auto-increment column.", "Check constraint \'%.*s\' cannot refer to an auto-increment column.");
DEFINE_ERROR_EXT(OB_ERR_CHECK_CONSTRAINT_NAMED_FUNCTION_IS_NOT_ALLOWED, -5991, ER_CHECK_CONSTRAINT_NAMED_FUNCTION_IS_NOT_ALLOWED, "HY000", "An expression of a check constraint contains disallowed function.", "An expression of a check constraint \'%.*s\' contains disallowed function: %.*s.");
DEFINE_ERROR_EXT(OB_ERR_CHECK_CONSTRAINT_FUNCTION_IS_NOT_ALLOWED, -5992, ER_CHECK_CONSTRAINT_FUNCTION_IS_NOT_ALLOWED, "HY000", "An expression of a check constraint contains disallowed function.", "An expression of a check constraint \'%.*s\' contains disallowed function");
DEFINE_ERROR_EXT(OB_ERR_CHECK_CONSTRAINT_VARIABLES, -5993, ER_CHECK_CONSTRAINT_VARIABLES, "HY000", "An expression of a check constraint cannot refer to a user or system variable.", "An expression of a check constraint \'%.*s\' cannot refer to a user or system variable.");
DEFINE_ERROR_EXT(OB_ERR_CHECK_CONSTRAINT_REFERS_UNKNOWN_COLUMN, -5994, ER_CHECK_CONSTRAINT_REFERS_UNKNOWN_COLUMN, "HY000", "Check constraint refers to non-existing column.","Check constraint \'%.*s\' refers to non-existing column \'%.*s\'.");

DEFINE_ORACLE_ERROR_EXT(OB_ERR_USE_UDF_IN_PART, -5995, -1, "HY000", "Cannot use PL/SQL expressions in partitioning or subpartitioning columns", "Cannot use PL/SQL expressions in partitioning or subpartitioning columns", 54021, "Cannot use PL/SQL expressions in partitioning or subpartitioning columns", "Cannot use PL/SQL expressions in partitioning or subpartitioning columns");
DEFINE_ORACLE_ERROR_EXT(OB_ERR_USE_UDF_NOT_DETERMIN, -5996, -1, "HY000", "The function is not deterministic", "The function is not deterministic", 30553, "The function is not deterministic", "The function is not deterministic");
DEFINE_ORACLE_ERROR(OB_ERR_INTERVAL_CLAUSE_HAS_MORE_THAN_ONE_COLUMN, -5997, -1, "HY000", "Range partitioned table with INTERVAL clause has more than one column", 14750, "Range partitioned table with INTERVAL clause has more than one column");
DEFINE_ORACLE_ERROR(OB_ERR_INVALID_DATA_TYPE_INTERVAL_TABLE, -5998, -1, "HY000", "Invalid data type for partitioning column of an interval partitioned table", 14751, "Invalid data type for partitioning column of an interval partitioned table");
DEFINE_ORACLE_ERROR(OB_ERR_INTERVAL_EXPR_NOT_CORRECT_TYPE, -5999, -1, "HY000", "Interval expression is not a constant of the correct type", 14752, "Interval expression is not a constant of the correct type");
DEFINE_ORACLE_ERROR(OB_ERR_TABLE_IS_ALREADY_A_RANGE_PARTITIONED_TABLE, -6000, -1, "HY000", "Table is already a range partitioned table", 14757, "Table is already a range partitioned table");

////////////////////////////////////////////////////////////////
//error code for transaction, mvcc and commitlog -6001 ---- -7000
////////////////////////////////////////////////////////////////

DEFINE_ERROR(OB_TRANSACTION_SET_VIOLATION, -6001, -1, "25000", "Transaction set changed during the execution");
DEFINE_ORACLE_ERROR_EXT(OB_TRANS_ROLLBACKED, -6002, -1, "40000", "Transaction rollbacked", "transaction is rolled back", 24761, "transaction rolled back", "transaction rolled back");
DEFINE_ORACLE_ERROR(OB_ERR_EXCLUSIVE_LOCK_CONFLICT, -6003, ER_LOCK_WAIT_TIMEOUT, "HY000", "Lock wait timeout exceeded; try restarting transaction", 30006, "resource busy; acquire with WAIT timeout expired");
DEFINE_ORACLE_ERROR(OB_ERR_SHARED_LOCK_CONFLICT, -6004, 4012, "HY000", "Statement is timeout", 2049, "timeout: distributed transaction waiting for lock");
DEFINE_ERROR(OB_TRY_LOCK_ROW_CONFLICT, -6005, -1, "HY000", "Try lock row conflict");
DEFINE_ORACLE_ERROR(OB_ERR_EXCLUSIVE_LOCK_CONFLICT_NOWAIT, -6006, ER_LOCK_WAIT_TIMEOUT, "HY000", "Lock wait timeout exceeded; try restarting transaction", 54, "resource busy and acquire with NOWAIT specified or timeout expired");
DEFINE_ERROR(OB_CLOCK_OUT_OF_ORDER, -6201, -1, "25000", "Clock out of order");
DEFINE_ERROR_EXT_DEP(OB_SWITCHING_TO_FOLLOWER_GRACEFULLY, -6202, -1, "HY000", "tx ctx switching to follower gracefully", "%s");
DEFINE_ERROR_DEP(OB_MASK_SET_NO_NODE, -6203, -1, "25000", "Mask set has no node");
DEFINE_ERROR(OB_TRANS_HAS_DECIDED, -6204, -1, "HY000", "Transaction has been decided");
DEFINE_ERROR(OB_TRANS_INVALID_STATE, -6205, -1, "HY000", "Transaction state invalid");
DEFINE_ERROR(OB_TRANS_STATE_NOT_CHANGE, -6206, -1, "HY000", "Transaction state not changed");
DEFINE_ERROR(OB_TRANS_PROTOCOL_ERROR, -6207, -1, "HY000", "Transaction protocol error");
DEFINE_ERROR(OB_TRANS_INVALID_MESSAGE, -6208, -1, "HY000", "Transaction message invalid");
DEFINE_ERROR(OB_TRANS_INVALID_MESSAGE_TYPE, -6209, -1, "HY000", "Transaction message type invalid");
DEFINE_ERROR_DEP(OB_TRANS_TIMEOUT, -6210, 4012, "25000", "Transaction timeout occurred, please rollback the transaction, set the variable ob_trx_timeout to a larger value and then restart the transaction");
DEFINE_ORACLE_ERROR_DEP(OB_TRANS_KILLED, -6211, 6002, "25000", "Transaction is killed", 24761, "transaction rolled back: transaction is killed");
DEFINE_ERROR_DEP(OB_TRANS_STMT_TIMEOUT, -6212, 4012, "25000", "Statement timeout occurred, please set the variable ob_query_timeout to a larger value an then restart the statement");
DEFINE_ORACLE_ERROR_DEP(OB_TRANS_CTX_NOT_EXIST, -6213, 6002, "HY000", "Transaction context does not exist", 24761, "transaction rolled back: transaction context does not exist");
DEFINE_ORACLE_ERROR(OB_PARTITION_IS_FROZEN, -6214, 6002, "25000", "Partition is frozen", 24761, "transaction rolled back: partition is frozen");
DEFINE_ERROR(OB_PARTITION_IS_NOT_FROZEN, -6215, -1, "HY000", "Partition is not frozen");
DEFINE_ERROR(OB_TRANS_INVALID_LOG_TYPE, -6219, -1, "HY000", "Transaction invalid log type");
DEFINE_ERROR(OB_TRANS_SQL_SEQUENCE_ILLEGAL, -6220, -1, "HY000", "SQL sequence illegal");
DEFINE_ERROR(OB_TRANS_CANNOT_BE_KILLED, -6221, -1, "HY000", "Transaction context cannot be killed");
DEFINE_ORACLE_ERROR(OB_TRANS_STATE_UNKNOWN, -6222, -1, "HY000", "Transaction state unknown", 25405, "transaction status unknown");
DEFINE_ORACLE_ERROR(OB_TRANS_IS_EXITING, -6223, 6002, "25000", "Transaction exiting", 24761, "transaction rolled back: Transaction exiting");
DEFINE_ORACLE_ERROR(OB_TRANS_NEED_ROLLBACK, -6224, 6002, "25000", "transaction needs rollback", 24761, "transaction rolled back: transaction needs rollback");
DEFINE_ERROR_DEP(OB_TRANS_UNKNOWN, -6225, 4012, "25000", "Transaction result is unknown");
DEFINE_ORACLE_ERROR_DEP(OB_ERR_READ_ONLY_TRANSACTION, -6226, ER_CANT_EXECUTE_IN_READ_ONLY_TRANSACTION, "25006", "Cannot execute statement in a READ ONLY transaction", 1456, "may not perform insert/delete/update operation inside a READ ONLY transaction");
DEFINE_ERROR(OB_PARTITION_IS_NOT_STOPPED, -6227, -1, "HY000", "Partition is not stopped");
DEFINE_ERROR(OB_PARTITION_IS_STOPPED, -6228, -1, "HY000", "Partition has been stopped");
DEFINE_ERROR(OB_PARTITION_IS_BLOCKED, -6229, -1, "HY000", "Partition has been blocked");
DEFINE_ERROR(OB_TRANS_RPC_TIMEOUT, -6230, 4012, "25000", "transaction rpc timeout");
DEFINE_ERROR(OB_REPLICA_NOT_READABLE, -6231, -1, "HY000", "replica is not readable");
DEFINE_ERROR(OB_PARTITION_IS_SPLITTING, -6232, -1, "HY000", "Partition is splitting");
DEFINE_ERROR(OB_TRANS_COMMITED, -6233, -1, "HY000", "Transaction has been commited");
DEFINE_ORACLE_ERROR(OB_TRANS_CTX_COUNT_REACH_LIMIT, -6234, 6002, "25000", "transaction context count reach limit", 24761, "transaction rolled back: transaction context count reach limit");
DEFINE_ORACLE_ERROR(OB_TRANS_CANNOT_SERIALIZE, -6235, -1, "25000", "can't serialize access for this transaction", 8177, "can't serialize access for this transaction");
DEFINE_ERROR(OB_TRANS_WEAK_READ_VERSION_NOT_READY, -6236, -1, "HY000", "transaction weak read version is not ready");
DEFINE_ERROR(OB_GTS_STANDBY_IS_INVALID, -6237, -1, "HY000", "gts standby is invalid");
DEFINE_ERROR(OB_GTS_UPDATE_FAILED, -6238, -1, "HY000", "gts update failed");
DEFINE_ERROR(OB_GTS_IS_NOT_SERVING, -6239, -1, "HY000", "gts is not serving");
DEFINE_ERROR(OB_PG_PARTITION_NOT_EXIST, -6240, -1, "HY000", "pg partition not exist");
DEFINE_ERROR(OB_TRANS_STMT_NEED_RETRY, -6241, -1, "HY000", "transaction statement need retry");
DEFINE_ORACLE_ERROR(OB_SAVEPOINT_NOT_EXIST, -6242, ER_SP_DOES_NOT_EXIST, "42000", "savepoint does not exist", 1086, "savepoint does not exist");
DEFINE_ERROR(OB_TRANS_WAIT_SCHEMA_REFRESH, -6243, -1, "HY000", "local schema is not new enough, replaying logs of user table from standby cluster needs to wait for schema refreshing ");
DEFINE_ERROR(OB_TRANS_OUT_OF_THRESHOLD, -6244, -1, "HY000", "out of transaction threshold");
DEFINE_ERROR(OB_TRANS_XA_NOTA, -6245, ER_XAER_NOTA, "XAE04", "Unknown XID");
DEFINE_ERROR_EXT(OB_TRANS_XA_RMFAIL, -6246, ER_XAER_RMFAIL, "XAE07", "The command cannot be executed when global transaction is in this state", "The command cannot be executed when global transaction is in the %s state");
DEFINE_ERROR(OB_TRANS_XA_DUPID, -6247, ER_XAER_DUPID, "XAE08", "The XID already exists", "The XID already exists");
DEFINE_ERROR(OB_TRANS_XA_OUTSIDE, -6248, ER_XAER_OUTSIDE, "XAE09", "Some work is done outside global transaction", "Some work is done outside global transaction");
DEFINE_ERROR(OB_TRANS_XA_INVAL, -6249, ER_XAER_INVAL, "XAE05", "Invalid arguments were given", "XAER_INVAL: Invalid arguments (or unsupported command)");
DEFINE_ERROR(OB_TRANS_XA_RMERR, -6250, ER_XAER_RMERR, "XAE03", "Resource manager error occurred in the transaction branch", "XAER_RMERR: Fatal error occurred in the transaction branch - check your data for consistency");
DEFINE_ERROR(OB_TRANS_XA_PROTO, -6251, -1, "HY000", "Routine invoked in an improper context", "Routine invoked in an improper context");
DEFINE_ERROR(OB_TRANS_XA_RBROLLBACK, -6252, ER_XA_RBROLLBACK, "XA100", "Rollback was caused by an unspecified reason", "XA_RBROLLBACK: Transaction branch was rolled back");
DEFINE_ERROR(OB_TRANS_XA_RBTIMEOUT, -6253, ER_XA_RBTIMEOUT, "XA106", "Transaction branch took long", "XA_RBTIMEOUT: Transaction branch was rolled back: took too long");
DEFINE_ERROR(OB_TRANS_XA_RDONLY, -6254, -1, "HY000", "Transaction was read-only and has been committed", "Transaction was read-only and has been committed");
DEFINE_ERROR(OB_TRANS_XA_RETRY, -6255, -1, "HY000", "Routine returned with no effect and may be re-issued", "The resource manager is not able to commit the transaction branch at this time. Please retry later");
DEFINE_ERROR(OB_ERR_ROW_NOT_LOCKED, -6256, -1, "HY000", "Row has not been locked");
DEFINE_ERROR(OB_EMPTY_PG, -6257, -1, "HY000", "Empty partition group");
DEFINE_ORACLE_ERROR_EXT(OB_TRANS_XA_ERR_COMMIT, -6258, ER_XAER_RMFAIL, "XAE07", "RMFAIL: The command cannot be executed when global transaction is in this state", "RMFAIL: The command cannot be executed when global transaction is in the %s state", 2089, "COMMIT is not allowed in a subordinate session", "COMMIT is not allowed in a subordinate session");
DEFINE_ORACLE_ERROR(OB_ERR_RESTORE_POINT_EXIST, -6259, -1, "HY000", "Restore point %s already exists", 38778, "Restore point %s already exists");
DEFINE_ORACLE_ERROR(OB_ERR_RESTORE_POINT_NOT_EXIST, -6260, -1, "HY000", "Restore point %s does not exist", 38780, "Restore point %s does not exists");
DEFINE_ORACLE_ERROR(OB_ERR_BACKUP_POINT_EXIST, -6261, -1, "HY000", "Backup point %s already exists", 38778, "Restore point %s already exists");
DEFINE_ORACLE_ERROR(OB_ERR_BACKUP_POINT_NOT_EXIST, -6262, -1, "HY000", "Backup point %s does not exist", 38780, "Restore point %s does not exists");
DEFINE_ORACLE_ERROR(OB_ERR_RESTORE_POINT_TOO_MANY, -6263, -1, "HY000", "cannot create restore point - too many restore points", 38779, "cannot create restore point - too many restore points");
DEFINE_ORACLE_ERROR(OB_TRANS_XA_BRANCH_FAIL, -6264, -1, "HY000", "another session or branch in same transaction failed or finalized", 2051, "another session or branch in same transaction failed or finalized");
// for table lock
DEFINE_ERROR(OB_OBJ_LOCK_NOT_EXIST, -6265, -1, "HY000", "object lock does not exist.");
DEFINE_ERROR(OB_OBJ_LOCK_EXIST, -6266, -1, "HY000", "object lock exists.");
DEFINE_ERROR(OB_TRY_LOCK_OBJ_CONFLICT, -6267, -1, "HY000", "Try lock object conflict");
DEFINE_ERROR(OB_TX_NOLOGCB, -6268, -1, "HY000", "No log callbacks available");

DEFINE_ORACLE_ERROR(OB_ERR_ADD_PARTITION_ON_INTERVAL, -6269, -1, "HY000", "ADD PARTITION is not permitted on Interval partitioned objects", 14760, "ADD PARTITION is not permitted on Interval partitioned objects");
DEFINE_ORACLE_ERROR(OB_ERR_MAXVALUE_PARTITION_WITH_INTERVAL, -6270, -1, "HY000", "MAXVALUE partition cannot be specified for Interval partitioned objects", 14761, "MAXVALUE partition cannot be specified for Interval partitioned objects");
DEFINE_ORACLE_ERROR(OB_ERR_INVALID_INTERVAL_HIGH_BOUNDS, -6271, -1, "HY000", "Cannot specify this interval with existing high bounds", 14767, "Cannot specify this interval with existing high bounds");
DEFINE_ERROR(OB_NO_PARTITION_FOR_INTERVAL_PART, -6272, -1, "HY000", "Table has no partition for value in interval partition table", );
DEFINE_ORACLE_ERROR(OB_ERR_INTERVAL_CANNOT_BE_ZERO, -6273, -1, "HY000", "Interval cannot be zero", 14753, "Interval cannot be zero");
DEFINE_ORACLE_ERROR(OB_ERR_PARTITIONING_KEY_MAPS_TO_A_PARTITION_OUTSIDE_MAXIMUM_PERMITTED_NUMBER_OF_PARTITIONS, -6274, -1, "HY000", "partitioning key maps to a partition outside maximum permitted number of partitions", 14300, "partitioning key maps to a partition outside maximum permitted number of partitions");

DEFINE_ERROR(OB_OBJ_LOCK_NOT_COMPLETED, -6275, -1, "HY000", "object lock not completed, and can not unlock.");
DEFINE_ERROR(OB_OBJ_UNLOCK_CONFLICT, -6276, -1, "HY000", "there is an unlock operation doing, unlock conflict.");

// for memtable scn
DEFINE_ERROR(OB_SCN_OUT_OF_BOUND, -6277, -1, "HY000", "scn is out of bounds of memtable");

DEFINE_ORACLE_ERROR(OB_TRANS_IDLE_TIMEOUT, -6278, 6002, "25000", "Transaction idle timeout occurred, please rollback the transaction, set the variable ob_trx_idle_timeout to a larger value and then restart the transaction", 24761, "transaction rolled back: transaction idle timeout");
// for transaction free route
DEFINE_ORACLE_ERROR(OB_TRANS_FREE_ROUTE_NOT_SUPPORTED, -6279, 6279, "HY000", "Query is not supported to be executed on txn temporary node", 6279, "Query is not supported to be executed on txn temporary node");

DEFINE_ERROR(OB_TRANS_LIVE_TOO_MUCH_TIME, -6280, -1, "HY000", "Transaction cost too much without commit or rollback");
DEFINE_ERROR(OB_TRANS_COMMIT_TOO_MUCH_TIME, -6281, -1, "HY000", "Transaction commit cost too much");
DEFINE_ORACLE_ERROR(OB_TRANS_TOO_MANY_PARTICIPANTS, -6282, 6002, "40000", "too many transaction participants", 24761, "transaction rolled back: too many transaction participants");

DEFINE_ERROR(OB_LOG_ALREADY_SPLIT, -6283, -1, "HY000", "The big log entry has been split into multiple part");
// for json schema
DEFINE_ORACLE_ERROR_EXT_DEP(OB_ERR_UNSUPPROTED_REF_IN_JSON_SCHEMA, -6284, ER_NOT_SUPPORTED_YET, "42000", "This version doesn't yet support 'references in JSON Schema.", "This version doesn't yet support 'references in JSON Schema.", 40441, "This version doesn't yet support 'references in JSON Schema.", "This version doesn't yet support 'references in JSON Schema.");
DEFINE_ORACLE_ERROR_EXT_DEP(OB_ERR_TYPE_OF_JSON_SCHEMA, -6285, ER_INVALID_JSON_TYPE, "22032", "Invalid JSON type in argument, should be object.", "Invalid JSON type in argument, should be object.", 40876, "invalid JSON schema document", "invalid JSON schema document");
// for clog
DEFINE_ERROR(OB_LOG_ID_NOT_FOUND, -6301, -1, "HY000", "log id not found");
DEFINE_ERROR(OB_LSR_THREAD_STOPPED, -6302, -1, "HY000", "log scan runnable thread stop");
DEFINE_ERROR(OB_NO_LOG, -6303, -1, "HY000", "no log ever scanned");
DEFINE_ERROR(OB_LOG_ID_RANGE_ERROR, -6304, -1, "HY000", "log id range error");
DEFINE_ERROR(OB_LOG_ITER_ENOUGH, -6305, -1, "HY000", "iter scans enough files");
DEFINE_ERROR(OB_CLOG_INVALID_ACK, -6306, -1, "HY000", "invalid ack msg");
DEFINE_ERROR(OB_CLOG_CACHE_INVALID, -6307, -1, "HY000", "clog cache invalid");
DEFINE_ERROR(OB_EXT_HANDLE_UNFINISH, -6308, -1, "HY000", "external executor handle do not finish");
DEFINE_ERROR(OB_CURSOR_NOT_EXIST, -6309, -1, "HY000", "cursor not exist");
DEFINE_ERROR(OB_STREAM_NOT_EXIST, -6310, -1, "HY000", "stream not exist");
DEFINE_ERROR(OB_STREAM_BUSY, -6311, -1, "HY000", "stream busy");
DEFINE_ERROR(OB_FILE_RECYCLED, -6312, -1, "HY000", "file recycled");
DEFINE_ERROR(OB_REPLAY_EAGAIN_TOO_MUCH_TIME, -6313, -1, "HY000", "replay eagain cost too much time");
DEFINE_ERROR(OB_MEMBER_CHANGE_FAILED, -6314, -1, "HY000", "member change log sync failed");
DEFINE_ERROR(OB_NO_NEED_BATCH_CTX, -6315, -1, "HY000", "no need batch ctx");
DEFINE_ERROR(OB_TOO_LARGE_LOG_ID, -6316, -1, "HY000", "too large log id");
DEFINE_ERROR(OB_ALLOC_LOG_ID_NEED_RETRY, -6317, -1, "HY000", "alloc log id need retry");
DEFINE_ERROR(OB_TRANS_ONE_PC_NOT_ALLOWED, -6318, -1, "HY000", "transaction one pc not allowed");
DEFINE_ERROR(OB_LOG_NEED_REBUILD, -6319, -1, "HY000", "need rebuild");
DEFINE_ERROR(OB_TOO_MANY_LOG_TASK, -6320, -1, "HY000", "too many log tasks");
DEFINE_ERROR(OB_INVALID_BATCH_SIZE, -6321, -1, "HY000", "ob invalid batch size");
DEFINE_ERROR(OB_CLOG_SLIDE_TIMEOUT, -6322, -1, "HY000", "ob clog slide timeout");
DEFINE_ERROR(OB_LOG_REPLAY_ERROR, -6323, -1, "HY000", "log replay error");
DEFINE_ERROR(OB_TRY_LOCK_CONFIG_CHANGE_CONFLICT, -6324, -1, "HY000", "ob trying to lock config change conflicts");
DEFINE_ERROR(OB_CLOG_DISK_HANG, -6325, -1, "HY000", "ob clog disk hang");
// 6326: OB_TABLE_LOCK_SPLIT_TWICE
// 6327: OB_TABLE_LOCK_IS_SPLITTING
// 6328: OB_TABLE_LOCK_SPLIT_FAIL

// for freeze
// DEFINE_ERROR(OB_TABLET_FREEZE_TIMEOUT, -6400, -1, "HY000", "tablet_freeze timeout");

////////////////////////////////////////////////////////////////
//error code for election -7000 ---- -7100
////////////////////////////////////////////////////////////////
DEFINE_ERROR(OB_ELECTION_WARN_LOGBUF_FULL, -7000, -1, "HY000", "The log buffer is full");
DEFINE_ERROR(OB_ELECTION_WARN_LOGBUF_EMPTY, -7001, -1, "HY000", "The log buffer is empty");
DEFINE_ERROR(OB_ELECTION_WARN_NOT_RUNNING, -7002, -1, "HY000", "The object is not running");
DEFINE_ERROR(OB_ELECTION_WARN_IS_RUNNING, -7003, -1, "HY000", "The object is running");
DEFINE_ERROR(OB_ELECTION_WARN_NOT_REACH_MAJORITY, -7004, -1, "HY000", "Election does not reach majority");
DEFINE_ERROR(OB_ELECTION_WARN_INVALID_SERVER, -7005, -1, "HY000", "The server is not valid");
DEFINE_ERROR(OB_ELECTION_WARN_INVALID_LEADER, -7006, -1, "HY000", "The leader is not valid");
DEFINE_ERROR(OB_ELECTION_WARN_LEADER_LEASE_EXPIRED, -7007, -1, "HY000", "The leader lease is expired");
DEFINE_ERROR(OB_ELECTION_WARN_INVALID_MESSAGE, -7010, -1, "HY000", "The message is not valid");
DEFINE_ERROR(OB_ELECTION_WARN_MESSAGE_NOT_INTIME, -7011, -1, "HY000", "The message is not intime");
DEFINE_ERROR(OB_ELECTION_WARN_NOT_CANDIDATE, -7012, -1, "HY000", "The server is not candidate");
DEFINE_ERROR(OB_ELECTION_WARN_NOT_CANDIDATE_OR_VOTER, -7013, -1, "HY000", "The server is not candidate or voter");
DEFINE_ERROR(OB_ELECTION_WARN_PROTOCOL_ERROR, -7014, -1, "HY000", "Election protocol error");
DEFINE_ERROR(OB_ELECTION_WARN_RUNTIME_OUT_OF_RANGE, -7015, -1, "HY000", "The task run time out of range");
DEFINE_ERROR(OB_ELECTION_WARN_LAST_OPERATION_NOT_DONE, -7021, -1, "HY000", "Last operation has not done");
DEFINE_ERROR(OB_ELECTION_WARN_CURRENT_SERVER_NOT_LEADER, -7022, -1, "HY000", "Current server is not leader");
DEFINE_ERROR(OB_ELECTION_WARN_NO_PREPARE_MESSAGE, -7024, -1, "HY000", "There is not prepare message");
DEFINE_ERROR(OB_ELECTION_ERROR_MULTI_PREPARE_MESSAGE, -7025, -1, "HY000", "There is more than one prepare message");
DEFINE_ERROR(OB_ELECTION_NOT_EXIST, -7026, -1, "HY000", "Election does not exist");
DEFINE_ERROR(OB_ELECTION_MGR_IS_RUNNING, -7027, -1, "HY000", "Election manager is running");
DEFINE_ERROR(OB_ELECTION_WARN_NO_MAJORITY_PREPARE_MESSAGE, -7029, -1, "HY000", "Election msg pool not have majority prepare message");
DEFINE_ERROR(OB_ELECTION_ASYNC_LOG_WARN_INIT, -7030, -1, "HY000", "Election async log init error");
DEFINE_ERROR(OB_ELECTION_WAIT_LEADER_MESSAGE, -7031, -1, "HY000", "Election waiting leader message");
DEFINE_ERROR(OB_ELECTION_GROUP_NOT_EXIST, -7032, -1, "HY000", "Election group not exist");
DEFINE_ERROR(OB_UNEXPECT_EG_VERSION, -7033, -1, "HY000", "unexpected eg_version");
DEFINE_ERROR(OB_ELECTION_GROUP_MGR_IS_RUNNING, -7034, -1, "HY000", "election_group_mgr is running");
DEFINE_ERROR(OB_ELECTION_MGR_NOT_RUNNING, -7035, -1, "HY000", "Election manager is not running");
DEFINE_ERROR(OB_ELECTION_ERROR_VOTE_MSG_CONFLICT, -7036, -1, "HY000", "Receive change leader msg and vote msg with same T1 timestamp");
DEFINE_ERROR(OB_ELECTION_ERROR_DUPLICATED_MSG, -7037, -1, "HY000", "Receive duplicated prepare/vote msg with same T1 timestamp");
DEFINE_ERROR(OB_ELECTION_WARN_T1_NOT_MATCH, -7038, -1, "HY000", "T1 timestamp is not match");
DEFINE_ERROR(OB_ELECTION_BELOW_MAJORITY, -7039, -1, "HY000", "not reach majority");
DEFINE_ERROR(OB_ELECTION_OVER_MAJORITY, -7040, -1, "HY000", "over majority");
DEFINE_ERROR(OB_ELECTION_DURING_UPGRADING, -7041, -1, "HY000", "election priority mechanism changed, maybe during upgrading");

////////////////////////////////////////////////////////////////
//error code for replication group -7100 ---- -7200
////////////////////////////////////////////////////////////////
DEFINE_ERROR(OB_TRANSFER_TASK_COMPLETED, -7100, -1, "HY000", "transfer task completed");
DEFINE_ERROR(OB_TOO_MANY_TRANSFER_TASK, -7101, -1, "HY000", "too many transfer tasks");
DEFINE_ERROR(OB_TRANSFER_TASK_EXIST, -7102, -1, "HY000", "transfer task exist");
DEFINE_ERROR(OB_TRANSFER_TASK_NOT_EXIST, -7103, -1, "HY000", "transfer task not exist");
DEFINE_ERROR(OB_NOT_ALLOW_TO_REMOVE, -7104, -1, "HY000", "not allow to remove");
DEFINE_ERROR(OB_RG_NOT_MATCH, -7105, -1, "HY000", "replication group not match");
DEFINE_ERROR(OB_TRANSFER_TASK_ABORTED, -7106, -1, "HY000", "transfer task aborted");
DEFINE_ERROR(OB_TRANSFER_INVALID_MESSAGE, -7107, -1, "HY000", "transfer invalid message");
DEFINE_ERROR(OB_TRANSFER_CTX_TS_NOT_MATCH, -7108, -1, "HY000", "transfer ctx_ts not match");
DEFINE_ERROR(OB_TRANSFER_SYS_ERROR, -7109, -1, "HY000", "transfer system error");
DEFINE_ERROR(OB_TRANSFER_MEMBER_LIST_NOT_SAME, -7110, -1, "HY000", "transfer src ls and dest ls member list not same");
DEFINE_ERROR(OB_ERR_UNEXPECTED_LOCK_OWNER, -7111, -1, "HY000", "lock owner id is not expected");
DEFINE_ERROR(OB_LS_TRANSFER_SCN_TOO_SMALL, -7112, -1, "HY000", "change member list compare ls transfer scn too small");
DEFINE_ERROR(OB_TABLET_TRANSFER_SEQ_NOT_MATCH, -7113, -1, "HY000", "compare tablet transfer seq not match");
DEFINE_ERROR(OB_TRANSFER_DETECT_ACTIVE_TRANS, -7114, -1, "HY000", "transfer detect active trans");
DEFINE_ERROR(OB_TRANSFER_SRC_LS_NOT_EXIST, -7115, -1, "HY000", "transfer src ls does not exist");
DEFINE_ERROR(OB_TRANSFER_SRC_TABLET_NOT_EXIST, -7116, -1, "HY000", "transfer src tablet does not exist");
DEFINE_ERROR(OB_LS_NEED_REBUILD, -7117, -1, "HY000", "ls need rebuild");
DEFINE_ERROR(OB_OBSOLETE_CLOG_NEED_SKIP, -7118, -1, "HY000", "obsolete clog need skip");
DEFINE_ERROR(OB_TRANSFER_WAIT_TRANSACTION_END_TIMEOUT, -7119, -1, "HY000", "transfer wait transactions end timeout");
DEFINE_ERROR(OB_TABLET_GC_LOCK_CONFLICT, -7120, -1, "HY000", "tablet GC lock conflict");
DEFINE_ERROR(OB_SEQUENCE_NOT_MATCH, -7121, -1, "HY000", "compare sequence not match");
DEFINE_ERROR(OB_SEQUENCE_TOO_SMALL, -7122, -1, "HY000", "compare sequence too small");
DEFINE_ERROR(OB_TRANSFER_CANNOT_START, -7123, -1, "HY000", "transfer cannot start");
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//error code for gis  -7201 ---- -7300
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
DEFINE_ORACLE_ERROR_EXT_DEP(OB_ERR_GIS_DIFFERENT_SRIDS, -7201, ER_GIS_DIFFERENT_SRIDS, "HY000", "Binary geometry function given two geometries of different srids.", "Binary geometry function %s given two geometries of different srids: %u and %u, which should have been identical.", 600, "Binary geometry function given two geometries of different srids.", "Binary geometry function %s given two geometries of different srids: %u and %u, which should have been identical.");
DEFINE_ORACLE_ERROR_EXT_DEP(OB_ERR_GIS_UNSUPPORTED_ARGUMENT, -7202, ER_GIS_UNSUPPORTED_ARGUMENT, "HY000", "Calling geometry function with unsupported types of arguments.", "Calling geometry function %s with unsupported types of arguments.", 600, "Calling geometry function with unsupported types of arguments.", "Calling geometry function %s with unsupported types of arguments.");
DEFINE_ORACLE_ERROR_EXT_DEP(OB_ERR_GIS_UNKNOWN_ERROR, -7203, ER_GIS_UNKNOWN_ERROR, "HY000", "Unknown GIS error occurred in function.", "Unknown GIS error occurred in function %s.", 600, "Unknown GIS error occurred in function.", "Unknown GIS error occurred in function %s.");
DEFINE_ORACLE_ERROR_EXT_DEP(OB_ERR_GIS_UNKNOWN_EXCEPTION, -7204, ER_GIS_UNKNOWN_EXCEPTION, "HY000", "Unknown exception caught in GIS function.", "Unknown exception caught in GIS function %s.", 600, "Unknown exception caught in GIS function.", "Unknown exception caught in GIS function %s.");
DEFINE_ORACLE_ERROR_EXT_DEP(OB_ERR_GIS_INVALID_DATA, -7205, ER_GIS_INVALID_DATA, "22023", "Invalid GIS data provided to function.", "Invalid GIS data provided to function %s.", 600, "Invalid GIS data provided to function.", "Invalid GIS data provided to function %s.");
DEFINE_ORACLE_ERROR_EXT_DEP(OB_ERR_BOOST_GEOMETRY_EMPTY_INPUT_EXCEPTION, -7206, ER_BOOST_GEOMETRY_EMPTY_INPUT_EXCEPTION, "HY000", "The geometry has no data in function.", "The geometry has no data in function %s.", 600, "The geometry has no data in function.", "The geometry has no data in function %s.");
DEFINE_ORACLE_ERROR_EXT_DEP(OB_ERR_BOOST_GEOMETRY_CENTROID_EXCEPTION, -7207, ER_BOOST_GEOMETRY_CENTROID_EXCEPTION, "HY000", "Unable to calculate centroid because geometry is empty in function.", "Unable to calculate centroid because geometry is empty in function %s.", 600, "Unable to calculate centroid because geometry is empty in function.", "Unable to calculate centroid because geometry is empty in function %s.");
DEFINE_ORACLE_ERROR_EXT_DEP(OB_ERR_BOOST_GEOMETRY_OVERLAY_INVALID_INPUT_EXCEPTION, -7208, ER_BOOST_GEOMETRY_OVERLAY_INVALID_INPUT_EXCEPTION, "HY000", "Geometry overlay calculation error: geometry data is invalid in function.", "Geometry overlay calculation error: geometry data is invalid in function %s.", 600, "Geometry overlay calculation error: geometry data is invalid in function.", "Geometry overlay calculation error: geometry data is invalid in function %s.");
DEFINE_ORACLE_ERROR_EXT_DEP(OB_ERR_BOOST_GEOMETRY_TURN_INFO_EXCEPTION, -7209, ER_BOOST_GEOMETRY_TURN_INFO_EXCEPTION, "HY000", "Geometry turn info calculation error: geometry data is invalid in function.", "Geometry turn info calculation error: geometry data is invalid in function %s.", 600, "Geometry turn info calculation error: geometry data is invalid in function.", "Geometry turn info calculation error: geometry data is invalid in function %s.");
DEFINE_ORACLE_ERROR_EXT_DEP(OB_ERR_BOOST_GEOMETRY_SELF_INTERSECTION_POINT_EXCEPTION, -7210, ER_BOOST_GEOMETRY_SELF_INTERSECTION_POINT_EXCEPTION, "HY000", "Analysis procedures of intersection points interrupted unexpectedly in function.", "Analysis procedures of intersection points interrupted unexpectedly in function %s.", 600, "Analysis procedures of intersection points interrupted unexpectedly in function.", "Analysis procedures of intersection points interrupted unexpectedly in function %s.");
DEFINE_ORACLE_ERROR_EXT_DEP(OB_ERR_BOOST_GEOMETRY_UNKNOWN_EXCEPTION, -7211, ER_BOOST_GEOMETRY_UNKNOWN_EXCEPTION, "HY000", "Unknown exception thrown in function.", "Unknown exception thrown in function %s.", 600, "Unknown exception thrown in function.", "Unknown exception thrown in function %s.");
DEFINE_ORACLE_ERROR_EXT_DEP(OB_ERR_GIS_DATA_WRONG_ENDIANESS, -7212, ER_GIS_DATA_WRONG_ENDIANESS, "HY000", "Geometry byte string must be little endian.", "Geometry byte string must be little endian.", 600, "Geometry byte string must be little endian.", "Geometry byte string must be little endian.");
DEFINE_ORACLE_ERROR_EXT_DEP(OB_ERR_ALTER_OPERATION_NOT_SUPPORTED_REASON_GIS, -7213, ER_ALTER_OPERATION_NOT_SUPPORTED_REASON_GIS, "HY000", "Do not support online operation on table with GIS index", "Do not support online operation on table with GIS index", 600, "Do not support online operation on table with GIS index", "Do not support online operation on table with GIS index");
DEFINE_ORACLE_ERROR_EXT_DEP(OB_ERR_BOOST_GEOMETRY_INCONSISTENT_TURNS_EXCEPTION, -7214, ER_BOOST_GEOMETRY_INCONSISTENT_TURNS_EXCEPTION, "HY000", "Inconsistent intersection points.", "Inconsistent intersection points.", 600, "Inconsistent intersection points.", "Inconsistent intersection points.");
DEFINE_ORACLE_ERROR_EXT_DEP(OB_ERR_GIS_MAX_POINTS_IN_GEOMETRY_OVERFLOWED, -7215, ER_GIS_MAX_POINTS_IN_GEOMETRY_OVERFLOWED, "HY000", "Parameter exceeds the maximum number of points in a geometryin function.", "Parameter %s exceeds the maximum number of points in a geometry (%lu) in function %s.", 600, "Parameter exceeds the maximum number of points in a geometry in function.", "Parameter %s exceeds the maximum number of points in a geometry (%lu) in function %s.");
DEFINE_ORACLE_ERROR_EXT_DEP(OB_ERR_UNEXPECTED_GEOMETRY_TYPE, -7216, ER_UNEXPECTED_GEOMETRY_TYPE, "22S01", "value is a geometry of unexpected type", "%.64s value is a geometry of unexpected type %.64s in %.64s.", 600, "Invalid value type", "%.64s value is a geometry of unexpected type %.64s in %.64s.");
DEFINE_ORACLE_ERROR_EXT_DEP(OB_ERR_SRS_PARSE_ERROR, -7217, ER_SRS_PARSE_ERROR, "SR002", "Can\'t parse the spatial reference system definition of SRID.", "Can\'t parse the spatial reference system definition of SRID %u.", 600, "Can\'t parse the spatial reference system definition of SRID.", "Can\'t parse the spatial reference system definition of SRID %u.");
DEFINE_ORACLE_ERROR_EXT_DEP(OB_ERR_SRS_PROJ_PARAMETER_MISSING, -7218, ER_SRS_PROJ_PARAMETER_MISSING, "SR003", "The spatial reference system definition for SRID does not specify the mandatory (EPSG) projection parameter.", "The spatial reference system definition for SRID %u does not specify the mandatory %s (EPSG %u) projection parameter.", 600, "The spatial reference system definition for SRID does not specify the mandatory (EPSG) projection parameter.", "The spatial reference system definition for SRID %u does not specify the mandatory %s (EPSG %u) projection parameter.");
DEFINE_ORACLE_ERROR_EXT_DEP(OB_ERR_WARN_SRS_NOT_FOUND, -7219, ER_WARN_SRS_NOT_FOUND, "01000", "There\'s no spatial reference system with SRID.", "There\'s no spatial reference system with SRID %u.", 600, "There\'s no spatial reference system with SRID.", "There\'s no spatial reference system with SRID %u.");
DEFINE_ORACLE_ERROR_EXT_DEP(OB_ERR_SRS_NOT_CARTESIAN, -7220, ER_SRS_NOT_CARTESIAN, "22S00", "Function %s is only defined for Cartesian spatial reference systems, but one of its arguments is in SRID %u, which is not Cartesian.", "Function %s is only defined for Cartesian spatial reference systems, but one of its arguments is in SRID %u, which is not Cartesian.", 600, "Function is only defined for Cartesian spatial reference systems, but one of its arguments is in SRID, which is not Cartesian.", "Function %s is only defined for Cartesian spatial reference systems, but one of its arguments is in SRID %u, which is not Cartesian.");
DEFINE_ORACLE_ERROR_EXT_DEP(OB_ERR_SRS_NOT_CARTESIAN_UNDEFINED, -7221, ER_SRS_NOT_CARTESIAN_UNDEFINED, "SR001", "Function is only defined for Cartesian spatial reference systems, but one of its arguments is in SRID, which has not been defined.", "Function %s is only defined for Cartesian spatial reference systems, but one of its arguments is in SRID %u, which has not been defined.", 600, "Function is only defined for Cartesian spatial reference systems, but one of its arguments is in SRID, which has not been defined.", "Function %s is only defined for Cartesian spatial reference systems, but one of its arguments is in SRID %u, which has not been defined.");
DEFINE_ORACLE_ERROR_EXT_DEP(OB_ERR_SRS_NOT_FOUND, -7222, ER_SRS_NOT_FOUND, "SR001", "There\'s no spatial reference system with SRID.", "There\'s no spatial reference system with SRID %u.", 600, "There\'s no spatial reference system with SRID.", "There\'s no spatial reference system with SRID %u.");
DEFINE_ORACLE_ERROR_EXT_DEP(OB_ERR_WARN_SRS_NOT_FOUND_AXIS_ORDER, -7223, ER_WARN_SRS_NOT_FOUND_AXIS_ORDER, "01000", "There\'s no spatial reference system with SRID. The axis order is unknown.", "There\'s no spatial reference system with SRID %u. The axis order is unknown.", 600, "There\'s no spatial reference system with SRID. The axis order is unknown.", "There\'s no spatial reference system with SRID %u. The axis order is unknown.");
DEFINE_ORACLE_ERROR_EXT_DEP(OB_ERR_NOT_IMPLEMENTED_FOR_GEOGRAPHIC_SRS, -7224, ER_NOT_IMPLEMENTED_FOR_GEOGRAPHIC_SRS, "22S00", "It has not been implemented for geographic spatial reference systems.", "%.192s(%.80s) has not been implemented for geographic spatial reference systems.", 600, "It has not been implemented for geographic spatial reference systems.", "%.192s(%.80s) has not been implemented for geographic spatial reference systems.");
DEFINE_ORACLE_ERROR_EXT_DEP(OB_ERR_WRONG_SRID_FOR_COLUMN, -7225, ER_WRONG_SRID_FOR_COLUMN, "HY000", "The SRID of the geometry does not match the SRID of the column.", "The SRID of the geometry does not match the SRID of the column. The SRID of the geometry is %lu, but the SRID of the column is %lu. Consider changing the SRID of the geometry or the SRID property of the column.", 600, "The SRID of the geometry does not match the SRID of the column.", "The SRID of the geometry does not match the SRID of the column. The SRID of the geometry is %lu, but the SRID of the column is %lu. Consider changing the SRID of the geometry or the SRID property of the column.");
DEFINE_ORACLE_ERROR_EXT_DEP(OB_ERR_CANNOT_ALTER_SRID_DUE_TO_INDEX, -7226, ER_CANNOT_ALTER_SRID_DUE_TO_INDEX, "HY000", "The SRID specification on the column cannot be changed because there is a spatial index on the column.", "The SRID specification on the column \'%.64s\' cannot be changed because there is a spatial index on the column. Please remove the spatial index before altering the SRID specification.", 600, "The SRID specification on the column cannot be changed because there is a spatial index on the column.", "The SRID specification on the column \'%.64s\' cannot be changed because there is a spatial index on the column. Please remove the spatial index before altering the SRID specification.");
DEFINE_ORACLE_ERROR_EXT_DEP(OB_ERR_WARN_USELESS_SPATIAL_INDEX, -7227, ER_WARN_USELESS_SPATIAL_INDEX, "HY000", "The spatial index on column will not be used by the query optimizer since the column does not have an SRID attribute.", "The spatial index on column \'%.64s\' will not be used by the query optimizer since the column does not have an SRID attribute. Consider adding an SRID attribute to the column.", 600, "The spatial index on column will not be used by the query optimizer since the column does not have an SRID attribute.", "The spatial index on column \'%.64s\' will not be used by the query optimizer since the column does not have an SRID attribute. Consider adding an SRID attribute to the column.");
DEFINE_ORACLE_ERROR_EXT_DEP(OB_ERR_ONLY_IMPLEMENTED_FOR_SRID_0_AND_4326, -7228, ER_ONLY_IMPLEMENTED_FOR_SRID_0_AND_4326, "22S00", "Function is only defined for SRID 0 and SRID 4326.", "Function %.192s is only defined for SRID 0 and SRID 4326.", 600, "Function is only defined for SRID 0 and SRID 4326.", "Function %.192s is only defined for SRID 0 and SRID 4326.");
DEFINE_ORACLE_ERROR_EXT_DEP(OB_ERR_NOT_IMPLEMENTED_FOR_CARTESIAN_SRS, -7229, ER_NOT_IMPLEMENTED_FOR_CARTESIAN_SRS, "22S00", "It has not been implemented for Cartesian spatial reference systems.", "%.192s(%.80s) has not been implemented for Cartesian spatial reference systems.", 600, "It has not been implemented for Cartesian spatial reference systems.", "%.192s(%.80s) has not been implemented for Cartesian spatial reference systems.");
DEFINE_ORACLE_ERROR_EXT_DEP(OB_ERR_NOT_IMPLEMENTED_FOR_PROJECTED_SRS, -7230, ER_NOT_IMPLEMENTED_FOR_PROJECTED_SRS, "22S00", "It has not been implemented for projected spatial reference systems.", "%.192s(%.80s) has not been implemented for projected spatial reference systems.", 600, "It has not been implemented for projected spatial reference systems.", "%.192s(%.80s) has not been implemented for projected spatial reference systems.");
DEFINE_ORACLE_ERROR_EXT_DEP(OB_ERR_SRS_MISSING_MANDATORY_ATTRIBUTE, -7231, ER_SRS_MISSING_MANDATORY_ATTRIBUTE, "SR006", "Missing mandatory attribute.", "Missing mandatory attribute %s.", 600, "Missing mandatory attribute.", "Missing mandatory attribute %s.");
DEFINE_ORACLE_ERROR_EXT_DEP(OB_ERR_SRS_MULTIPLE_ATTRIBUTE_DEFINITIONS, -7232, ER_SRS_MULTIPLE_ATTRIBUTE_DEFINITIONS, "SR006", "Multiple definitions of attribute.", "Multiple definitions of attribute %s.", 600, "Multiple definitions of attribute.", "Multiple definitions of attribute %s.");
DEFINE_ORACLE_ERROR_EXT_DEP(OB_ERR_SRS_NAME_CANT_BE_EMPTY_OR_WHITESPACE, -7233, ER_SRS_NAME_CANT_BE_EMPTY_OR_WHITESPACE, "SR006", "The spatial reference system name can\'t be an empty string or start or end with whitespace.", "The spatial reference system name can\'t be an empty string or start or end with whitespace.", 600, "The spatial reference system name can\'t be an empty string or start or end with whitespace.", "The spatial reference system name can\'t be an empty string or start or end with whitespace.");
DEFINE_ORACLE_ERROR_EXT_DEP(OB_ERR_SRS_ORGANIZATION_CANT_BE_EMPTY_OR_WHITESPACE, -7234, ER_SRS_ORGANIZATION_CANT_BE_EMPTY_OR_WHITESPACE, "SR006", "The organization name can\'t be an empty string or start or end with whitespace.", "The organization name can\'t be an empty string or start or end with whitespace.", 600, "The organization name can\'t be an empty string or start or end with whitespace.", "The organization name can\'t be an empty string or start or end with whitespace.");
DEFINE_ORACLE_ERROR_EXT_DEP(OB_ERR_SRS_ID_ALREADY_EXISTS, -7235, ER_SRS_ID_ALREADY_EXISTS, "SR004", "There is already a spatial reference system with SRID.", "There is already a spatial reference system with SRID %u.", 600, "There is already a spatial reference system with SRID.", "There is already a spatial reference system with SRID %u.");
DEFINE_ORACLE_ERROR_EXT_DEP(OB_ERR_WARN_SRS_ID_ALREADY_EXISTS, -7236, ER_WARN_SRS_ID_ALREADY_EXISTS, "01S00", "There is already a spatial reference system with SRID.", "There is already a spatial reference system with SRID %u.", 600, "There is already a spatial reference system with SRID.", "There is already a spatial reference system with SRID %u.");
DEFINE_ORACLE_ERROR_EXT_DEP(OB_ERR_CANT_MODIFY_SRID_0, -7237, ER_CANT_MODIFY_SRID_0, "SR000", "SRID 0 is not modifiable.", "SRID 0 is not modifiable.", 600, "SRID 0 is not modifiable.", "SRID 0 is not modifiable.");
DEFINE_ORACLE_ERROR_EXT_DEP(OB_ERR_WARN_RESERVED_SRID_RANGE, -7238, ER_WARN_RESERVED_SRID_RANGE, "01S01", "The SRID range has been reserved for system use. SRSs in this range may be added, modified or removed without warning during upgrade.", "The SRID range [%u, %u] has been reserved for system use. SRSs in this range may be added, modified or removed without warning during upgrade.", 600, "The SRID range has been reserved for system use. SRSs in this range may be added, modified or removed without warning during upgrade.", "The SRID range [%u, %u] has been reserved for system use. SRSs in this range may be added, modified or removed without warning during upgrade.");
DEFINE_ORACLE_ERROR_EXT_DEP(OB_ERR_CANT_MODIFY_SRS_USED_BY_COLUMN, -7239, ER_CANT_MODIFY_SRS_USED_BY_COLUMN, "SR005", "Can\'t modify SRID. There is at least one column depending on it.", "Can\'t modify SRID %u. There is at least one column depending on it.", 600, "Can\'t modify SRID. There is at least one column depending on it.", "Can\'t modify SRID %u. There is at least one column depending on it.");
DEFINE_ORACLE_ERROR_EXT_DEP(OB_ERR_SRS_INVALID_CHARACTER_IN_ATTRIBUTE, -7240, ER_SRS_INVALID_CHARACTER_IN_ATTRIBUTE, "SR006", "Invalid character in attribute.", "Invalid character in attribute %s.", 600, "Invalid character in attribute.", "Invalid character in attribute %s.");
DEFINE_ORACLE_ERROR_EXT_DEP(OB_ERR_SRS_ATTRIBUTE_STRING_TOO_LONG, -7241, ER_SRS_ATTRIBUTE_STRING_TOO_LONG, "SR006", "Attribute is too long.", "Attribute %s is too long. The maximum length is %u characters.", 600, "Attribute is too long.", "Attribute %s is too long. The maximum length is %u characters.");
DEFINE_ORACLE_ERROR_EXT_DEP(OB_ERR_SRS_NOT_GEOGRAPHIC, -7242, ER_SRS_NOT_GEOGRAPHIC, "22S00", "Function is only defined for geographic spatial reference systems, but one of its arguments is in SRID, which is not geographic.", "Function %s is only defined for geographic spatial reference systems, but one of its arguments is in SRID %u, which is not geographic.", 600, "Function is only defined for geographic spatial reference systems, but one of its arguments is in SRID, which is not geographic.", "Function %s is only defined for geographic spatial reference systems, but one of its arguments is in SRID %u, which is not geographic.");
DEFINE_ORACLE_ERROR_EXT_DEP(OB_ERR_POLYGON_TOO_LARGE, -7243, ER_POLYGON_TOO_LARGE, "22023", "Function encountered a polygon that was too large. Polygons must cover less than half the planet.", "Function %s encountered a polygon that was too large. Polygons must cover less than half the planet.", 600, "Function encountered a polygon that was too large. Polygons must cover less than half the planet.", "Function %s encountered a polygon that was too large. Polygons must cover less than half the planet.");
DEFINE_ORACLE_ERROR_EXT_DEP(OB_ERR_SPATIAL_UNIQUE_INDEX, -7244, ER_SPATIAL_UNIQUE_INDEX, "HY000", "Spatial indexes can\'t be primary or unique indexes.", "Spatial indexes can\'t be primary or unique indexes.", 600, "Spatial indexes can\'t be primary or unique indexes.", "Spatial indexes can\'t be primary or unique indexes.");
DEFINE_ORACLE_ERROR_EXT_DEP(OB_ERR_GEOMETRY_PARAM_LONGITUDE_OUT_OF_RANGE, -7246, ER_GEOMETRY_PARAM_LONGITUDE_OUT_OF_RANGE, "22S02", "A parameter of function contains a geometry with longitude, which is out of range.", "A parameter of function %.192s contains a geometry with longitude %f, which is out of range. It must be within (%f, %f].", 600, "A parameter of function contains a geometry with longitude, which is out of range.", "A parameter of function %.192s contains a geometry with longitude %f, which is out of range. It must be within (%f, %f].");
DEFINE_ORACLE_ERROR_EXT_DEP(OB_ERR_GEOMETRY_PARAM_LATITUDE_OUT_OF_RANGE, -7247, ER_GEOMETRY_PARAM_LATITUDE_OUT_OF_RANGE, "22S03", "A parameter of function contains a geometry with latitude, which is out of range.", "A parameter of function %.192s contains a geometry with latitude %f, which is out of range. It must be within [%f, %f].", 600, "A parameter of function contains a geometry with latitude, which is out of range.", "A parameter of function %.192s contains a geometry with latitude %f, which is out of range. It must be within [%f, %f].");
DEFINE_ORACLE_ERROR_EXT_DEP(OB_ERR_SRS_GEOGCS_INVALID_AXES, -7248, ER_SRS_GEOGCS_INVALID_AXES, "SR002", "The spatial reference system definition for SRID specifies invalid geographic axes. One axis must be NORTH or SOUTH and the other must be EAST or WEST.", "The spatial reference system definition for SRID %u specifies invalid geographic axes \'%.20s\' and \'%.20s\'. One axis must be NORTH or SOUTH and the other must be EAST or WEST.", 600, "The spatial reference system definition for SRID specifies invalid geographic axes. One axis must be NORTH or SOUTH and the other must be EAST or WEST.", "The spatial reference system definition for SRID %u specifies invalid geographic axes \'%.20s\' and \'%.20s\'. One axis must be NORTH or SOUTH and the other must be EAST or WEST.");
DEFINE_ORACLE_ERROR_EXT_DEP(OB_ERR_SRS_INVALID_SEMI_MAJOR_AXIS, -7249, ER_SRS_INVALID_SEMI_MAJOR_AXIS, "SR002", "The length of the semi-major axis must be a positive number.", "The length of the semi-major axis must be a positive number.", 600, "The length of the semi-major axis must be a positive number.", "The length of the semi-major axis must be a positive number.");
DEFINE_ORACLE_ERROR_EXT_DEP(OB_ERR_SRS_INVALID_INVERSE_FLATTENING, -7250, ER_SRS_INVALID_INVERSE_FLATTENING, "SR002", "The inverse flattening must be larger than 1.0, or 0.0 if the ellipsoid is a sphere.", "The inverse flattening must be larger than 1.0, or 0.0 if the ellipsoid is a sphere.", 600, "The inverse flattening must be larger than 1.0, or 0.0 if the ellipsoid is a sphere.", "The inverse flattening must be larger than 1.0, or 0.0 if the ellipsoid is a sphere.");
DEFINE_ORACLE_ERROR_EXT_DEP(OB_ERR_SRS_INVALID_ANGULAR_UNIT, -7251, ER_SRS_INVALID_ANGULAR_UNIT, "SR002", "The angular unit conversion factor must be a positive number.", "The angular unit conversion factor must be a positive number.", 600, "The angular unit conversion factor must be a positive number.", "The angular unit conversion factor must be a positive number.");
DEFINE_ORACLE_ERROR_EXT_DEP(OB_ERR_SRS_INVALID_PRIME_MERIDIAN, -7252, ER_SRS_INVALID_PRIME_MERIDIAN, "SR002", "The prime meridian must be within (-180, 180] degrees, specified in the SRS angular unit.", "The prime meridian must be within (-180, 180] degrees, specified in the SRS angular unit.", 600, "The prime meridian must be within (-180, 180] degrees, specified in the SRS angular unit.", "The prime meridian must be within (-180, 180] degrees, specified in the SRS angular unit.");
DEFINE_ORACLE_ERROR_EXT_DEP(OB_ERR_TRANSFORM_SOURCE_SRS_NOT_SUPPORTED, -7253, ER_TRANSFORM_SOURCE_SRS_NOT_SUPPORTED, "22S00", "Transformation from SRID is not supported.", "Transformation from SRID %u is not supported.", 600, "Transformation from SRID is not supported.", "Transformation from SRID %u is not supported.");
DEFINE_ORACLE_ERROR_EXT_DEP(OB_ERR_TRANSFORM_TARGET_SRS_NOT_SUPPORTED, -7254, ER_TRANSFORM_TARGET_SRS_NOT_SUPPORTED, "22S00", "Transformation to SRID %u is not supported.", "Transformation to SRID %u is not supported.", 600, "Transformation to SRID is not supported.", "Transformation to SRID %u is not supported.");
DEFINE_ORACLE_ERROR_EXT_DEP(OB_ERR_TRANSFORM_SOURCE_SRS_MISSING_TOWGS84, -7255, ER_TRANSFORM_SOURCE_SRS_MISSING_TOWGS84, "22S00", "Transformation from SRID is not supported. The spatial reference system has no TOWGS84 clause.", "Transformation from SRID %u is not supported. The spatial reference system has no TOWGS84 clause.", 600, "Transformation from SRID is not supported. The spatial reference system has no TOWGS84 clause.", "Transformation from SRID %u is not supported. The spatial reference system has no TOWGS84 clause.");
DEFINE_ORACLE_ERROR_EXT_DEP(OB_ERR_TRANSFORM_TARGET_SRS_MISSING_TOWGS84, -7256, ER_TRANSFORM_TARGET_SRS_MISSING_TOWGS84, "22S00", "Transformation to SRID is not supported. The spatial reference system has no TOWGS84 clause.", "Transformation to SRID %u is not supported. The spatial reference system has no TOWGS84 clause.", 600, "Transformation to SRID is not supported. The spatial reference system has no TOWGS84 clause.", "Transformation to SRID %u is not supported. The spatial reference system has no TOWGS84 clause.");
DEFINE_ORACLE_ERROR_EXT_DEP(OB_ERR_FUNCTIONAL_INDEX_ON_JSON_OR_GEOMETRY_FUNCTION, -7257, ER_FUNCTIONAL_INDEX_ON_JSON_OR_GEOMETRY_FUNCTION, "42000", "Cannot create a functional index on a function that returns a JSON or GEOMETRY value.", "Cannot create a functional index on a function that returns a JSON or GEOMETRY value.", 600, "Cannot create a functional index on a function that returns a JSON or GEOMETRY value.", "Cannot create a functional index on a function that returns a JSON or GEOMETRY value.");
DEFINE_ORACLE_ERROR_EXT_DEP(OB_ERR_SPATIAL_FUNCTIONAL_INDEX, -7258, ER_SPATIAL_FUNCTIONAL_INDEX, "HY000", "Spatial functional index is not supported.", "Spatial functional index is not supported.", 600, "Spatial functional index is not supported.", "Spatial functional index is not supported.");
DEFINE_ORACLE_ERROR_EXT_DEP(OB_ERR_GEOMETRY_IN_UNKNOWN_LENGTH_UNIT, -7259, ER_GEOMETRY_IN_UNKNOWN_LENGTH_UNIT, "SU001", "The geometry passed to function is in SRID 0, which doesn\'t specify a length unit. Can\'t convert.", "The geometry passed to function %s is in SRID 0, which doesn\'t specify a length unit. Can\'t convert to \'%s\'.", 600, "The geometry passed to function is in SRID 0, which doesn\'t specify a length unit. Can\'t convert.", "The geometry passed to function %s is in SRID 0, which doesn\'t specify a length unit. Can\'t convert to \'%s\'.");
DEFINE_ORACLE_ERROR_EXT_DEP(OB_ERR_INVALID_CAST_TO_GEOMETRY, -7260, ER_INVALID_CAST_TO_GEOMETRY, "22S01", "Invalid cast.", "Invalid cast from %s to %s.", 600, "Invalid cast.", "Invalid cast from %s to %s.");
DEFINE_ORACLE_ERROR_EXT_DEP(OB_ERR_INVALID_CAST_POLYGON_RING_DIRECTION, -7261, ER_INVALID_CAST_POLYGON_RING_DIRECTION, "22S04", "Invalid cast. A polygon ring is in the wrong direction.", "Invalid cast from %s to %s. A polygon ring is in the wrong direction.", 600, "Invalid cast. A polygon ring is in the wrong direction.", "Invalid cast from %s to %s. A polygon ring is in the wrong direction.");
DEFINE_ORACLE_ERROR_EXT_DEP(OB_ERR_GIS_DIFFERENT_SRIDS_AGGREGATION, -7262, ER_GIS_DIFFERENT_SRIDS_AGGREGATION, "22S05", "Arguments to function contains geometries with different SRIDs. All geometries must have the same SRID.", "Arguments to function %s contains geometries with different SRIDs: %u and %u. All geometries must have the same SRID.", 600, "Arguments to function contains geometries with different SRIDs. All geometries must have the same SRID.", "Arguments to function %s contains geometries with different SRIDs: %u and %u. All geometries must have the same SRID.");
DEFINE_ORACLE_ERROR_EXT_DEP(OB_ERR_LONGITUDE_OUT_OF_RANGE, -7263, ER_LONGITUDE_OUT_OF_RANGE, "22S02", "Longitude is out of range in function.", "Longitude %f is out of range in function %.192s. It must be within (%f, %f].", 600, "Longitude is out of range in function.", "Longitude %f is out of range in function %.192s. It must be within (%f, %f].");
DEFINE_ORACLE_ERROR_EXT_DEP(OB_ERR_LATITUDE_OUT_OF_RANGE, -7264, ER_LATITUDE_OUT_OF_RANGE, "22S03", "Latitude is out of range in function.", "Latitude %f is out of range in function %.192s. It must be within [%f, %f].", 600, "Latitude is out of range in function.", "Latitude %f is out of range in function %.192s. It must be within [%f, %f].");
DEFINE_ORACLE_ERROR_EXT_DEP(OB_ERR_STD_BAD_ALLOC_ERROR, -7265, ER_STD_BAD_ALLOC_ERROR, "HY000", "Memory allocation error", "Memory allocation error: %-.256s in function %s.", 600, "Memory allocation error", "Memory allocation error: %-.256s in function %s.");
DEFINE_ORACLE_ERROR_EXT_DEP(OB_ERR_STD_DOMAIN_ERROR, -7266, ER_STD_DOMAIN_ERROR, "HY000", "Domain error", "Domain error: %-.256s in function %s.", 600, "Domain error", "Domain error: %-.256s in function %s.");
DEFINE_ORACLE_ERROR_EXT_DEP(OB_ERR_STD_LENGTH_ERROR, -7267, ER_STD_LENGTH_ERROR, "HY000", "Length error", "Length error: %-.256s in function %s.", 600, "Length error", "Length error: %-.256s in function %s.");
DEFINE_ORACLE_ERROR_EXT_DEP(OB_ERR_STD_INVALID_ARGUMENT, -7268, ER_STD_INVALID_ARGUMENT, "HY000", "Invalid argument error", "Invalid argument error: %-.256s in function %s.", 600, "Invalid argument error", "Invalid argument error: %-.256s in function %s.");
DEFINE_ORACLE_ERROR_EXT_DEP(OB_ERR_STD_OUT_OF_RANGE_ERROR, -7269, ER_STD_OUT_OF_RANGE_ERROR, "HY000", "Out of range error", "Out of range error: %-.256s in function %s.", 600, "Out of range error", "Out of range error: %-.256s in function %s.");
DEFINE_ORACLE_ERROR_EXT_DEP(OB_ERR_STD_OVERFLOW_ERROR, -7270, ER_STD_OVERFLOW_ERROR, "HY000", "Overflow error", "Overflow error: %-.256s in function %s.", 600, "Overflow error", "Overflow error: %-.256s in function %s.");
DEFINE_ORACLE_ERROR_EXT_DEP(OB_ERR_STD_RANGE_ERROR, -7271, ER_STD_RANGE_ERROR, "HY000", "Range error", "Range error: %-.256s in function %s.", 600, "Range error", "Range error: %-.256s in function %s.");
DEFINE_ORACLE_ERROR_EXT_DEP(OB_ERR_STD_UNDERFLOW_ERROR, -7272, ER_STD_UNDERFLOW_ERROR, "HY000", "Underflow error", "Underflow error: %-.256s in function %s.", 600, "Underflow error", "Underflow error: %-.256s in function %s.");
DEFINE_ORACLE_ERROR_EXT_DEP(OB_ERR_STD_LOGIC_ERROR, -7273, ER_STD_LOGIC_ERROR, "HY000", "Logic error", "Logic error: %-.256s in function %s.", 600, "Logic error", "Logic error: %-.256s in function %s.");
DEFINE_ORACLE_ERROR_EXT_DEP(OB_ERR_STD_RUNTIME_ERROR, -7274, ER_STD_RUNTIME_ERROR, "HY000", "Runtime error", "Runtime error: %-.256s in function %s.", 600, "Runtime error", "Runtime error: %-.256s in function %s.");
DEFINE_ORACLE_ERROR_EXT_DEP(OB_ERR_STD_UNKNOWN_EXCEPTION, -7275, ER_STD_UNKNOWN_EXCEPTION, "HY000", "Unknown exception", "Unknown exception: %-.384s in function %s.", 600, "Unknown exception", "Unknown exception: %-.384s in function %s.");
DEFINE_ORACLE_ERROR_EXT_DEP(OB_ERR_CANT_CREATE_GEOMETRY_OBJECT, -7276, ER_CANT_CREATE_GEOMETRY_OBJECT, "22003", "Cannot get geometry object from data you send to the GEOMETRY field.", "Cannot get geometry object from data you send to the GEOMETRY field.", 600, "Cannot get geometry object from data you send to the GEOMETRY field.", "Cannot get geometry object from data you send to the GEOMETRY field.");
DEFINE_ORACLE_ERROR_EXT_DEP(OB_ERR_SRID_WRONG_USAGE, -7277, ER_WRONG_USAGE, "HY000", "Incorrect usage of srid, srid column attribute only support in geometry.", "Incorrect usage of srid.", 600, "Incorrect usage of srid.", "Incorrect usage of srid.");
DEFINE_ORACLE_ERROR_EXT_DEP(OB_ERR_INDEX_ORDER_WRONG_USAGE, -7278, ER_WRONG_USAGE, "HY000", "Incorrect usage of spatial/fulltext/hash index and explicit index order.", "Incorrect usage of spatial/fulltext/hash index and explicit index order.", 600, "Incorrect usage of spatial/fulltext/hash index and explicit index order.", "Incorrect usage of spatial/fulltext/hash index and explicit index order.");
DEFINE_ORACLE_ERROR_EXT_DEP(OB_ERR_SPATIAL_MUST_HAVE_GEOM_COL, -7279, ER_SPATIAL_MUST_HAVE_GEOM_COL, "42000", "A SPATIAL index may only contain a geometrical type column.", "A SPATIAL index may only contain a geometrical type column.", 600, "A SPATIAL index may only contain a geometrical type column.", "A SPATIAL index may only contain a geometrical type column.");
DEFINE_ORACLE_ERROR_EXT_DEP(OB_ERR_SPATIAL_CANT_HAVE_NULL, -7280, ER_SPATIAL_CANT_HAVE_NULL, "42000", "All parts of a SPATIAL index must be NOT NULL.", "All parts of a SPATIAL index must be NOT NULL.", 600, "All parts of a SPATIAL index must be NOT NULL.", "All parts of a SPATIAL index must be NOT NULL.");
DEFINE_ORACLE_ERROR_EXT_DEP(OB_ERR_INDEX_TYPE_NOT_SUPPORTED_FOR_SPATIAL_INDEX, -7281, ER_INDEX_TYPE_NOT_SUPPORTED_FOR_SPATIAL_INDEX, "HY000", "The index type is not supported for spatial indexes.", "The index type %s is not supported for spatial indexes.", 600, "The index type is not supported for spatial indexes.", "The index type %s is not supported for spatial indexes.");
DEFINE_ORACLE_ERROR_EXT_DEP(OB_ERR_UNIT_NOT_FOUND, -7282, ER_UNIT_NOT_FOUND, "SU001", "There\'s no unit of measure.", "There\'s no unit of measure named \'%s\'.", 600, "There\'s no unit of measure.", "There\'s no unit of measure named \'%s\'.");
DEFINE_ORACLE_ERROR_EXT_DEP(OB_ERR_INVALID_OPTION_KEY_VALUE_PAIR, -7283, ER_INVALID_OPTION_KEY_VALUE_PAIR, "22023", "The string is not a valid key value pair in function.", "The string \'%.192s\' is not a valid key %c value pair in function %.192s.", 600, "The string is not a valid key value pair in function.", "The string \'%.192s\' is not a valid key %c value pair in function %.192s.");
DEFINE_ORACLE_ERROR_EXT_DEP(OB_ERR_NONPOSITIVE_RADIUS, -7284, ER_NONPOSITIVE_RADIUS, "22023", "Invalid radius provided to function: Radius must be greater than zero.", "Invalid radius provided to function %s: Radius(%lf) must be greater than zero.", 600, "Invalid radius provided to function: Radius must be greater than zero.", "Invalid radius provided to function %s: Radius(%lf) must be greater than zero.");
DEFINE_ORACLE_ERROR_EXT_DEP(OB_ERR_SRS_EMPTY, -7285, ER_SRS_NOT_FOUND, "SR001", "Spatial reference system is empty.", "Spatial reference system is empty", 600, "Spatial reference system is empty", "Spatial reference system is empty");
DEFINE_ORACLE_ERROR_EXT_DEP(OB_ERR_INVALID_OPTION_KEY, -7286, ER_INVALID_OPTION_KEY, "22023", "Invalid option key in function.", "Invalid option key \'%.192s\' in function %.192s.", 600, "Invalid option key in function.", "Invalid option key \'%.192s\' in function %.192s.");
DEFINE_ORACLE_ERROR_EXT_DEP(OB_ERR_INVALID_OPTION_VALUE, -7287, ER_INVALID_OPTION_VALUE, "22023", "Invalid value for option in function.", "Invalid value \'%.192s\' for option \'%.192s\' in function \'%.192s\'.", 600, "Invalid value for option in function.", "Invalid value \'%.192s\' for option \'%.192s\' in function \'%.192s\'.");
DEFINE_ORACLE_ERROR_EXT_DEP(OB_ERR_INVALID_GEOMETRY_TYPE, -7288, ER_UNEXPECTED_GEOMETRY_TYPE, "22S01", "Unknown WKB type.", "Unknown WKB type(%d)! Full WKB type number was (%d).", 600, "Unknown WKB type.", "Unknown WKB type(%d)! Full WKB type number was (%d).");
DEFINE_ORACLE_ERROR_EXT_DEP(OB_ERR_FTS_MUST_HAVE_TEXT_COL, -7289, ER_BAD_FT_COLUMN, "42000", "A FTS index may only contain a text type column.", "A FTS index may only contain a text type column.", 600, "A FTS index may only contain a text type column.", "A FTS index may only contain a text type column.");
DEFINE_ORACLE_ERROR(OB_ERR_DIMENSION_NUMBER_IS_OUT_OF_RANGE, -7290, -1, "HY000", "dimension number is out of range", 13000, "dimension number is out of range");
DEFINE_ORACLE_ERROR_DEP(OB_ERR_INVALID_GTYPE_IN_SDO_GEROMETRY, -7291, -1, "HY000", "Invalid Gtype in the SDO_GEOMETRY object", 13028, "Invalid Gtype in the SDO_GEOMETRY object");
DEFINE_ORACLE_ERROR(OB_ERR_INVALID_SRID_IN_SDO_GEOMETRY, -7292, -1, "HY000", "Invalid SRID in the SDO_GEOMETRY object", 13029, "Invalid SRID in the SDO_GEOMETRY object");
DEFINE_ORACLE_ERROR(OB_ERR_INVALID_GTYPE_FOR_POINT_OBJECT, -7293, -1, "HY000", "Invalid Gtype in the SDO_GEOMETRY object for point object", 13031, "Invalid Gtype in the SDO_GEOMETRY object for point object");
DEFINE_ORACLE_ERROR_DEP(OB_ERR_INVALID_NULL_SDO_GEOMETRY, -7294, -1, "HY000", "Invalid NULL  SDO_GEOMETRY object", 13032, "Invalid NULL  SDO_GEOMETRY object");
DEFINE_ORACLE_ERROR_DEP(OB_ERR_INVALID_DATA_IN_SDO_ELEM_INFO_ARRAY, -7295, -1, "HY000", "Invalid data in the SDO_ELEM_INFO_ARRAY in SDO_GEOMETRY object", 13033, "Invalid data in the SDO_ELEM_INFO_ARRAY in SDO_GEOMETRY object");
DEFINE_ORACLE_ERROR_DEP(OB_ERR_INVALID_DATA_IN_SDO_ORDINATE_ARRAY, -7296, -1, "HY000", "Invalid data in the SDO_ORDINATE_ARRAY in SDO_GEOMETRY object", 13034, "Invalid data in the SDO_ORDINATE_ARRAY in SDO_GEOMETRY object");
DEFINE_ORACLE_ERROR_DEP(OB_ERR_VALUE_NOT_ALLOWED, -7297, -1, "HY000", "value not allowed", 24323, "value not allowed");
DEFINE_ORACLE_ERROR_EXT(OB_ERR_INVALID_XML_DATATYPE, -7402, -1, "22000", "Invalid data type for the operation", "inconsistent datatypes: expected %s got %s", 932, "inconsistent datatypes", "inconsistent datatypes: expected %s got %s");
DEFINE_ORACLE_ERROR(OB_ERR_XML_MISSING_COMMA, -7403, -1, "42000", "missing comma", 917, "missing comma");
DEFINE_ORACLE_ERROR(OB_ERR_INVALID_XPATH_EXPRESSION, -7404, ER_UNKNOWN_ERROR, "42000", "invalid xpath expression", 31013, "invalid xpath expression");
DEFINE_ORACLE_ERROR(OB_ERR_EXTRACTVALUE_MULTI_NODES, -7405, -1, "42000", "EXTRACTVALUE cannot extract values of multiple nodes", 19025, "EXTRACTVALUE cannot extract values of multiple nodes");
DEFINE_ORACLE_ERROR(OB_ERR_XML_FRAMENT_CONVERT, -7406, -1, "42000", "Cannot convert XML fragment to the required datatype", 19012, "Cannot convert XML fragment to the required datatype");
DEFINE_ORACLE_ERROR(OB_INVALID_PRINT_OPTION, -7407, -1, "42000", "The specified printing option is invalid", 31188, "The specified printing option is invalid");
DEFINE_ORACLE_ERROR(OB_XML_CHAR_LEN_TOO_SMALL, -7408, -1, "42000", "character length specified for XMLSerialize is too small.", 19044, "character length specified for XMLSerialize is too small.");
DEFINE_ORACLE_ERROR(OB_XPATH_EXPRESSION_UNSUPPORTED, -7409, ER_UNKNOWN_ERROR, "42000", "Given XPATH expression not supported", 31012, "Given XPATH expression not supported");
DEFINE_ORACLE_ERROR(OB_EXTRACTVALUE_NOT_LEAF_NODE, -7410, -1, "42000", "EXTRACTVALUE can only retrieve value of leaf node", 19026, "EXTRACTVALUE can only retrieve value of leaf node");
DEFINE_ORACLE_ERROR(OB_XML_INSERT_FRAGMENT, -7411, -1, "42000", "Cannot insert XML fragments", 19010, "Cannot insert XML fragments");
DEFINE_ORACLE_ERROR(OB_ERR_NO_ORDER_MAP_SQL, -7412, -1, "42000", "cannot ORDER objects without MAP or ORDER method", 22950, "cannot ORDER objects without MAP or ORDER method");
DEFINE_ORACLE_ERROR(OB_ERR_XMLELEMENT_ALIASED, -7413, -1, "42000", "parameter %d of function XMLELEMENT must be aliased", 19208, "parameter %d of function XMLELEMENT must be aliased");
DEFINE_ORACLE_ERROR(OB_INVALID_ALTERATIONG_DATATYPE, -7414, -1, "42000", "invalid alteration of datatype", 22858, "invalid alteration of datatype");
DEFINE_ORACLE_ERROR(OB_INVALID_MODIFICATION_OF_COLUMNS, -7415, -1, "42000", "invalid modification of columns", 22859, "invalid modification of columns");
DEFINE_ORACLE_ERROR(OB_ERR_NULL_FOR_XML_CONSTRUCTOR, -7416, -1, "42000", "Expected XML tag , got no content", 19032, "Expected XML tag , got no content");
DEFINE_ORACLE_ERROR(OB_ERR_XML_INDEX, -7417, -1, "42000", "cannot create index on expression with datatype ADT '%.*s'", 2327 ,"cannot create index on expression with datatype ADT '%.*s'");
DEFINE_ORACLE_ERROR(OB_ERR_UPDATE_XML_WITH_INVALID_NODE, -7418, -1, "42000", "XML nodes must be updated with valid nodes and of the same type'", 31067 ,"XML nodes must be updated with valid nodes and of the same type");
DEFINE_ORACLE_ERROR(OB_LOB_VALUE_NOT_EXIST, -7419, -1, "42000", "LOB value does not exist", 22922 ,"LOB value does not exist");
DEFINE_ORACLE_ERROR_EXT_DEP(OB_ERR_DUP_DEF_NAMESPACE, -7420, -1, "42000", "XQST0066 - duplicate default namespace definition - string", "XQST0066 - duplicate default namespace definition - %s.", 19118, "XQST0066 - duplicate default namespace definition - string.", "XQST0066 - duplicate default namespace definition - %s.");
DEFINE_ORACLE_ERROR(OB_ERR_XQUERY_MULTI_VALUE, -7421, -1, "42000", "XPTY0004 - XQuery dynamic type mismatch: expected singleton sequence - got multi-item sequence", 19279, "XPTY0004 - XQuery dynamic type mismatch: expected singleton sequence - got multi-item sequence");
DEFINE_ORACLE_ERROR_EXT_DEP(OB_ERR_PARSE_XQUERY_EXPR, -7422, -1, "42000", "XPST0003 - error during parsing the XQuery expression", "XPST0003 - error during parsing the XQuery expression : %.*s", 19114, "XPST0003 - error during parsing the XQuery expression", "XPST0003 - error during parsing the XQuery expression : %.*s");
DEFINE_ORACLE_ERROR(OB_ERR_LACK_XQUERY_LITERAL, -7423, -1, "42000", "XQuery string literal expected", 19102, "XQuery string literal expected");
DEFINE_ORACLE_ERROR_EXT_DEP(OB_ERR_TOO_MANY_PREFIX_DECLARE, -7424, -1, "42000", "XPST0033 - too many declarations for namespace prefix", "XPST0033 - too many declarations for namespace prefix %.*s", 19253, "XPST0033 - too many declarations for namespace prefix", "XPST0033 - too many declarations for namespace prefix %.*s");
DEFINE_ORACLE_ERROR(OB_ERR_XQUERY_TYPE_MISMATCH, -7425, -1, "42000", "XPTY0004 - XQuery static type mismatch: expected - node()* got -", 19224, "XPTY0004 - XQuery static type mismatch: expected - node()* got -");
DEFINE_ORACLE_ERROR_EXT_DEP(OB_ERR_XPATH_INVALID_NODE, -7426, -1, "42000", "XPST0005 - XPath step specifies an invalid element/attribute name", "XPST0005 - XPath step specifies an invalid element/attribute name: %.*s", 19276, "XPST0005 - XPath step specifies an invalid element/attribute name", "XPST0005 - XPath step specifies an invalid element/attribute name: %.*s");
DEFINE_ORACLE_ERROR_EXT_DEP(OB_ERR_XPATH_NO_NODE, -7427, -1, "42000", "XPST0005 - XPath step specifies an item type matching no node", "XPST0005 - XPath step specifies an item type matching no node: %.*s", 19277, "XPST0005 - XPath step specifies an item type matching no node", "XPST0005 - XPath step specifies an item type matching no node: %.*s");
DEFINE_ORACLE_ERROR(OB_ERR_XQUERY_UNSUPPORTED, -7428, -1, "42000", "unsupported XQuery expression", 19110, "unsupported XQuery expression");
DEFINE_ORACLE_ERROR(OB_ERR_INVALID_XML_CHILD_NAME, -7429, -1, "42000", "The document being inserted does not conform to specified child name", 31056, "The document being inserted does not conform to specified child name");
DEFINE_ORACLE_ERROR(OB_ERR_XML_NOT_SUPPORT_OPERATION, -7430, -1, "42000", "XML node '' (type=%s) does not support this operation", 31195, "XML node '' (type=%s) does not support this operation");
DEFINE_ORACLE_ERROR(OB_ERR_JSON_FUN_UNSUPPORTED_TYPE, -7431, -1, "HY000", "Input to JSON generation function has unsupported data type", 40654, "Input to JSON generation function has unsupported data type");
DEFINE_ORACLE_ERROR(OB_ERR_COMPARE_VARRAY_LOB_ATTR, -7432, -1, "42000", "cannot compare VARRAY or LOB attributes of an object type", 22901, "cannot compare VARRAY or LOB attributes of an object type");
DEFINE_ORACLE_ERROR(OB_ERR_XML_PARENT_ALREADY_CONTAINS_CHILD, -7433, -1, "42000", "Parent %.*s already contains child entry %.*s", 31003, "Parent %.*s already contains child entry %.*s");

////////////////////////////////////////////////////////////////
// !!! Fatal errors and the client should close the connection, -8000 ~ -8999
////////////////////////////////////////////////////////////////
DEFINE_ERROR(OB_SERVER_IS_INIT, -8001, -1, "08004", "Server is initializing");
DEFINE_ERROR(OB_SERVER_IS_STOPPING, -8002, -1, "08004", "Server is stopping");
DEFINE_ERROR(OB_PACKET_CHECKSUM_ERROR, -8003, -1, "08004", "Packet checksum error");
DEFINE_ERROR_DEP(OB_PACKET_CLUSTER_ID_NOT_MATCH, -8004, -1, "08004", "Packet cluster_id not match");
DEFINE_ERROR_DEP(OB_TENANT_ID_NOT_MATCH, -8005, -1, "08005", "Tenant id not match");

////////////////////////////////////////////////////////////////
// backup and restore error codes 9000 - 9099
////////////////////////////////////////////////////////////////
DEFINE_ERROR_DEP(OB_URI_ERROR, -9001, -1, "HY000", "URI error");
DEFINE_ERROR_DEP(OB_FINAL_MD5_ERROR, -9002, -1, "HY000", "OSS file MD5 error");
DEFINE_ERROR_DEP(OB_OSS_ERROR, -9003, -1, "HY000", "OSS error");
DEFINE_ERROR_DEP(OB_INIT_MD5_ERROR, -9004, -1, "HY000", "Init MD5 fail");
DEFINE_ERROR_DEP(OB_OUT_OF_ELEMENT, -9005, -1, "HY000", "Out of element");
DEFINE_ERROR_DEP(OB_UPDATE_MD5_ERROR, -9006, -1, "HY000", "Update MD5 fail");
DEFINE_ERROR_DEP(OB_FILE_LENGTH_INVALID, -9007, -1, "HY000", "Invalid OSS file length");
DEFINE_ERROR(OB_NOT_READ_ALL_DATA, -9008, -1, "HY000", "Read all data fail");
DEFINE_ERROR(OB_BUILD_MD5_ERROR, -9009, -1, "HY000", "Build MD5 fail");
DEFINE_ERROR(OB_MD5_NOT_MATCH, -9010, -1, "HY000", "OSS file MD5 not match");
DEFINE_ERROR_DEP(OB_BACKUP_FILE_NOT_EXIST, -9011, -1, "HY000", "cannot find backup file");
DEFINE_ERROR(OB_OSS_DATA_VERSION_NOT_MATCHED, -9012, -1, "HY000", "Can not get data version from timestamp");
DEFINE_ERROR(OB_OSS_WRITE_ERROR, -9013, -1, "HY000", "Write OSS file error");
DEFINE_ERROR(OB_RESTORE_IN_PROGRESS, -9014, -1, "HY000", "Another restore is in progress");
DEFINE_ERROR(OB_AGENT_INITING_BACKUP_COUNT_ERROR, -9015, -1, "HY000", "agent initing backup count error");
DEFINE_ERROR(OB_CLUSTER_NAME_NOT_EQUAL, -9016, -1, "HY000", "ob cluster name not equal");
DEFINE_ERROR(OB_RS_LIST_INVAILD, -9017, -1, "HY000", "rs list invalid");
DEFINE_ERROR(OB_AGENT_HAS_FAILED_TASK, -9018, -1, "HY000", "agent has failed task");
DEFINE_ERROR(OB_RESTORE_PARTITION_IS_COMPLETE, -9019, -1, "HY000", "restore partition is complete");
DEFINE_ERROR(OB_RESTORE_PARTITION_TWICE, -9020, -1, "HY000", "restore partition twice");
DEFINE_ERROR(OB_STOP_DROP_SCHEMA, -9022, -1, "HY000", "physical backup switch is on");
DEFINE_ERROR(OB_CANNOT_START_LOG_ARCHIVE_BACKUP, -9023, -1, "HY000", "cannot start log archive backup");
DEFINE_ERROR(OB_ALREADY_NO_LOG_ARCHIVE_BACKUP, -9024, -1, "HY000", "log archive backup is already disabled");
DEFINE_ERROR(OB_LOG_ARCHIVE_BACKUP_INFO_NOT_EXIST, -9025, -1, "HY000", "log archive backup info not exists");
DEFINE_ERROR_EXT_DEP(OB_INVALID_BACKUP_DEST, -9026, -1, "HY000", "backup destination is not valid", "%s is not a valid uri");
DEFINE_ERROR(OB_LOG_ARCHIVE_INTERRUPTED, -9027, -1, "HY000", "ob log archive interrupted");
DEFINE_ERROR(OB_LOG_ARCHIVE_STAT_NOT_MATCH, -9028, -1, "HY000", "ob log archive stat not match");
DEFINE_ERROR(OB_LOG_ARCHIVE_NOT_RUNNING, -9029, -1, "HY000", "log archive is not running");
DEFINE_ERROR(OB_LOG_ARCHIVE_INVALID_ROUND, -9030, -1, "HY000", "log archive invalid round");
DEFINE_ERROR(OB_REPLICA_CANNOT_BACKUP, -9031, -1, "HY000", "Cannot backup ob replica");
DEFINE_ERROR(OB_BACKUP_INFO_NOT_EXIST, -9032, -1, "HY000", "backup info not exists");
DEFINE_ERROR(OB_BACKUP_INFO_NOT_MATCH, -9033, -1, "HY000", "Backup meta info stored in system dictionary does not match with current system status");
DEFINE_ERROR(OB_LOG_ARCHIVE_ALREADY_STOPPED, -9034, -1, "HY000", "log archive already stopped");
DEFINE_ERROR(OB_RESTORE_INDEX_FAILED, -9035, -1, "HY000", "restore index failed");
DEFINE_ERROR(OB_BACKUP_IN_PROGRESS, -9036, -1, "HY000", "Backup is in progress");
DEFINE_ERROR(OB_INVALID_LOG_ARCHIVE_STATUS, -9037, -1, "HY000", "log archive status is not valid");
DEFINE_ERROR(OB_CANNOT_ADD_REPLICA_DURING_SET_MEMBER_LIST, -9038, -1, "HY000", "Cannot add replica during set member list in restore");
DEFINE_ERROR(OB_LOG_ARCHIVE_LEADER_CHANGED, -9039, -1, "HY000", "pg log archive leader changed");
DEFINE_ERROR_EXT(OB_BACKUP_CAN_NOT_START, -9040, -1, "HY000", "backup can not start", "backup can not start, because %s");
DEFINE_ERROR(OB_CANCEL_BACKUP_NOT_ALLOWED, -9041, -1, "HY000", "cancel backup do not allow");
DEFINE_ERROR(OB_BACKUP_DATA_VERSION_GAP_OVER_LIMIT, -9042, -1, "HY000", "backup data version gap over limit");
DEFINE_ERROR(OB_PG_LOG_ARCHIVE_STATUS_NOT_INIT, -9043, -1, "HY000", "pg log archive status is still invalid");
DEFINE_ERROR(OB_BACKUP_DELETE_DATA_IN_PROGRESS, -9044, -1, "HY000", "delete backup data is in progress");
DEFINE_ERROR(OB_BACKUP_DELETE_BACKUP_SET_NOT_ALLOWED, -9045, -1, "HY000", "delete backup set do not allow");
DEFINE_ERROR(OB_INVALID_BACKUP_SET_ID, -9046, -1, "HY000", "backup set id is not valid");
DEFINE_ERROR(OB_BACKUP_INVALID_PASSWORD, -9047, -1, "HY000", "invalid password for backup");
DEFINE_ERROR(OB_ISOLATED_BACKUP_SET, -9048, -1, "HY000", "backup set is isolated by two log archive round");
DEFINE_ERROR(OB_CANNOT_CANCEL_STOPPED_BACKUP, -9049, -1, "HY000", "backup status is stopped, can not cancel");
DEFINE_ERROR(OB_BACKUP_BACKUP_CAN_NOT_START, -9050, -1, "HY000", "no backup data to be backuped up");
DEFINE_ERROR(OB_BACKUP_MOUNT_FILE_NOT_VALID, -9051, -1, "HY000", "backup mount file is not valid");
DEFINE_ERROR(OB_BACKUP_CLEAN_INFO_NOT_MATCH, -9052, -1, "HY000", "backup clean info not match");
DEFINE_ERROR(OB_CANCEL_DELETE_BACKUP_NOT_ALLOWED, -9053, -1, "HY000", "cancel delete backup do not allow");
DEFINE_ERROR(OB_BACKUP_CLEAN_INFO_NOT_EXIST, -9054, -1, "HY000", "backup clean info not exists");
//DEFINE_ERROR_EXT(OB_ERR_DROP_TRUNCATE_PARTITION_REBUILD_INDEX, -9055, -1, "HY000", "rebuild global index failed when drop/truncate partitions", "rebuild global index:'%.*s' failed when drop/truncate partitions");
//DEFINE_ORACLE_ERROR(OB_ERR_ATLER_TABLE_ILLEGAL_FK, -9056, -1, "HY000", "unique/primary keys in table referenced by enabled foreign keys", 02266, "unique/primary keys in table referenced by enabled foreign keys");
DEFINE_ERROR_EXT(OB_CANNOT_SET_BACKUP_REGION, -9057, -1, "HY000", "can not set backup region", "can not set backup region, because %s");
DEFINE_ERROR_EXT(OB_CANNOT_SET_BACKUP_ZONE, -9058, -1, "HY000", "can not set backup zone", "can not set backup zone, because %s");
DEFINE_ERROR(OB_BACKUP_BACKUP_REACH_MAX_BACKUP_TIMES, -9059, -1, "HY000", "backup backup has reached max backup times");
DEFINE_ERROR_DEP(OB_COS_ERROR, -9060, -1, "HY000", "COS error");
DEFINE_ERROR_DEP(OB_IO_LIMIT, -9061, -1, "HY000", "IO limit");
DEFINE_ERROR_DEP(OB_BACKUP_BACKUP_REACH_COPY_LIMIT, -9062, -1, "HY000", "reach backup backup copy limit");
DEFINE_ERROR_DEP(OB_BACKUP_IO_PROHIBITED, -9063, -1, "HY000", "backup io is prohibited");
DEFINE_ERROR(OB_ARCHIVE_LOG_NOT_CONTINUES_WITH_DATA, -9064, -1, "HY000", "the archive log and backup data are not continuous");
DEFINE_ERROR(OB_AGENT_HAS_SUSPENDED, -9065, -1, "HY000", "agent has suspended");
DEFINE_ERROR_EXT(OB_BACKUP_CONFLICT_VALUE, -9066, -1, "HY000", "Conflict value", "%.*s is conflict with %.*s");

DEFINE_ERROR(OB_BACKUP_DELETE_BACKUP_PIECE_NOT_ALLOWED, -9069, -1, "HY000", "deleting backup piece is not allowed");
DEFINE_ERROR(OB_BACKUP_DEST_NOT_CONNECT, -9070, -1, "HY000", "can not connect to backup destination");
DEFINE_ERROR_DEP(OB_BACKUP_PERMISSION_DENIED, -9071, -1, "HY000", "no I/O operation permission at the backup destination");

DEFINE_ERROR(OB_ESI_SESSION_CONFLICTS, -9072, -1, "HY000", "obesi process session conflicts");
DEFINE_ERROR_DEP(OB_ESI_OBS_ERROR, -9073, -1, "HY000", "external storage OBS error");

DEFINE_ERROR(OB_BACKUP_VALIDATE_TASK_SKIPPED, -9074, -1, "HY000", "backup validation task skipped");
DEFINE_ERROR(OB_ESI_IO_ERROR, -9075, -1, "HY000", "obesi process io error");
DEFINE_ERROR_DEP(OB_BACKUP_META_INDEX_NOT_EXIST, -9076, -1, "HY000", "backup meta index does not exist");

DEFINE_ERROR(OB_ARCHIVE_ROUND_NOT_CONTINUOUS, -9077, -1, "HY000", "log discontinuous between two archive rounds");
DEFINE_ERROR(OB_ARCHIVE_LOG_TO_END, -9078, -1, "HY000", "archive log is to end");
DEFINE_ERROR(OB_ARCHIVE_LOG_RECYCLED, -9079, -1, "HY000", "archive log had been recycled");
DEFINE_ERROR(OB_BACKUP_FORMAT_FILE_NOT_EXIST, -9080, -1, "HY000", "the format file does not exist under the destination");
DEFINE_ERROR(OB_BACKUP_FORMAT_FILE_NOT_MATCH, -9081, -1, "HY000", "the content of the format file at the destination does not match");
DEFINE_ERROR_DEP(OB_BACKUP_DEVICE_OUT_OF_SPACE, -9082, -1, "HY000", "backup device out of space");
DEFINE_ERROR_DEP(OB_BACKUP_PWRITE_OFFSET_NOT_MATCH, -9083, -1, "HY000", "the pwrite offset of the object storage is inconsistent");
DEFINE_ERROR_DEP(OB_BACKUP_PWRITE_CONTENT_NOT_MATCH, -9084, -1, "HY000", "the contents of pwrite are inconsistent");

DEFINE_ERROR(OB_BACKUP_MAJOR_NOT_COVER_MINOR, -9085, -1, "HY000", "backup major sstable range not cover minor sstable");
DEFINE_ERROR(OB_BACKUP_ADVANCE_CHECKPOINT_TIMEOUT, -9086, -1, "HY000", "backup advance checkpoint by flush timeout");
DEFINE_ERROR(OB_CLOG_RECYCLE_BEFORE_ARCHIVE, -9087, -1, "HY000", "observer clog is recycled before archive");
DEFINE_ERROR(OB_SOURCE_TENANT_STATE_NOT_MATCH, -9088, -1, "HY000", "log restore source tenant state not match, switchover to primary not allowed");
DEFINE_ERROR(OB_SOURCE_LS_STATE_NOT_MATCH, -9089, -1, "HY000", "log restore source ls state not match, switchover to primary not allowed");


DEFINE_ERROR(OB_ESI_SESSION_NOT_EXIST, -9090, -1, "HY000", "obesi process session not exist");
DEFINE_ERROR(OB_ALREADY_IN_ARCHIVE_MODE, -9091, -1, "HY000", "Already in ARCHIVELOG mode");
DEFINE_ERROR(OB_ALREADY_IN_NOARCHIVE_MODE, -9092, -1, "HY000", "Already in NOARCHIVELOG mode");
DEFINE_ERROR(OB_RESTORE_LOG_TO_END, -9093, -1, "HY000", "Restore log to end");
DEFINE_ERROR(OB_LS_RESTORE_FAILED, -9094, -1, "HY000", "Restore log stream failed");
DEFINE_ERROR(OB_NO_TABLET_NEED_BACKUP, -9095, -1, "HY000", "No tablet need backup");
DEFINE_ERROR(OB_ERR_RESTORE_STANDBY_VERSION_LAG, -9096, -1, "HY000", "standby binary version is lower than primary data version, standby need upgrade");
DEFINE_ERROR(OB_ERR_RESTORE_PRIMARY_TENANT_DROPPED, -9097, -1, "HY000", "primary tenant has been dropped");
DEFINE_ERROR_DEP(OB_CLOUD_OBJECT_NOT_APPENDABLE, -9098, -1, "HY000", "normal object in object_storage(oss,cos,etc.) can't be appended content");
DEFINE_ERROR_EXT_DEP(OB_RESTORE_TENANT_FAILED, -9099, -1, "HY000", "restore tenant failed", "%s restore failed, %s");
// end of backup and restore error codes 9001 ~ 9099

////////////////////////////////////////////////////////////////
//error code for STORAGE3.0 -9100 ~
////////////////////////////////////////////////////////////////
DEFINE_ERROR(OB_NO_SUCH_FILE_OR_DIRECTORY, -9100, -1, "HY000", "no such file or directory");
DEFINE_ERROR(OB_FILE_OR_DIRECTORY_EXIST, -9101, -1, "HY000", "file or directory already exist");
DEFINE_ERROR(OB_FILE_OR_DIRECTORY_PERMISSION_DENIED, -9102, -1, "HY000", "file or directory permission denied");
DEFINE_ERROR(OB_TOO_MANY_OPEN_FILES, -9103, -1, "HY000", "too many open files");
DEFINE_ERROR(OB_DIRECT_LOAD_COMMIT_ERROR, -9104, -1, "HY000", "fail to commit direct load");
DEFINE_ERROR_DEP(OB_S3_ERROR, -9105, -1, "HY000", "S3 error");

////////////////////////////////////////////////////////////////
//error code for storage auto extend file
////////////////////////////////////////////////////////////////
DEFINE_ERROR(OB_ERR_RESIZE_FILE_TO_SMALLER, -9200, -1, "HY000", "Extend ssblock file to smaller is not allowed");
DEFINE_ERROR(OB_MARK_BLOCK_INFO_TIMEOUT, -9201, -1, "HY000", "Mark blocks timeout(5s) in auto extend process when alloc block fail");
DEFINE_ERROR(OB_NOT_READY_TO_EXTEND_FILE, -9202, -1, "HY000", "Auto extend param is not ready to start extending file");

////////////////////////////////////////////////////////////////
//error code for PL/SQL  -9500 ~ -10000
//!!! -20000/-21000/-32491 should not in here. but we can not remove it now because of compat. ONLY PL SQL ERROR PUT HERE!!!
////////////////////////////////////////////////////////////////
DEFINE_ORACLE_ERROR_V2_EXT(OB_SP_RAISE_APPLICATION_ERROR, -20000, -1, "HY000", "The stored procedure 'raise_application_error' was called which causes this error to be generated", "%.*s", 20000, "ORA-20000: The stored procedure 'raise_application_error' was called which causes this error to be generated", "ORA%06ld: %.*s");
DEFINE_ORACLE_ERROR_EXT(OB_SP_RAISE_APPLICATION_ERROR_NUM, -21000, -1, "HY000", "error number argument to raise_application_error of stringstring is out of range", "error number argument to raise_application_error of '%d' is out of range", 21000, "error number argument to raise_application_error of stringstring is out of range", "error number argument to raise_application_error of '%d' is out of range");
DEFINE_ORACLE_ERROR(OB_ERR_FLASHBACK_QUERY_WITH_UPDATE, -32491, -1, "HY000", "snapshot expression not allowed here", 8187, "snapshot expression not allowed here");

DEFINE_PLS_ERROR(OB_ERR_DUPLICATE_HAVING_CLAUSE_IN_TABLE_EXPRESSION, -9501, -1, "HY000", "Duplicate having-clause in table expression", 119, "Duplicate having-clause in table expression");
DEFINE_PLS_ERROR(OB_ERR_INOUT_PARAM_PLACEMENT_NOT_PROPERLY, -9502, -1, "HY000", "OUT and IN/OUT modes cannot be used in this context", 254, "OUT and IN/OUT modes cannot be used in this context");
DEFINE_ORACLE_ERROR_EXT(OB_ERR_OBJECT_NOT_FOUND, -9503, -1, "HY000", "object not found", "object '%.*s' of type %.*s not found in schema '%.*s'", 31603, "object not found", "object '%.*s' of type %.*s not found in schema '%.*s'");
DEFINE_ORACLE_ERROR_EXT(OB_ERR_INVALID_INPUT_VALUE, -9504, -1, "HY000", "invalid input value", "invalid input value %.*s for parameter %.*s in function %.*s", 31600, "invalid input value", "invalid input value %.*s for parameter %.*s in function %.*s");
DEFINE_PLS_ERROR(OB_ERR_GOTO_BRANCH_ILLEGAL, -9505, ER_SP_LILABEL_MISMATCH, "42000", "no matching label: %.*s", 375, "illegal GOTO statement; this GOTO cannot branch to label '%.*s'");
DEFINE_PLS_ERROR_EXT(OB_ERR_ONLY_SCHEMA_LEVEL_ALLOW, -9506, -1, "HY000", "Only schema-level programs allow AUTHID or DEFAULT COLLATION clause", "Only schema-level programs allow %s", 157, "Only schema-level programs allow AUTHID or DEFAULT COLLATION clause", "Only schema-level programs allow %s");
DEFINE_PLS_ERROR_EXT(OB_ERR_DECL_MORE_THAN_ONCE, -9507, -1, "HY000", "at most one declaration for identifier is permitted", "at most one declaration for '%.*s' is permitted", 371, "at most one declaration for identifier is permitted", "at most one declaration for '%.*s' is permitted");
DEFINE_PLS_ERROR(OB_ERR_DUPLICATE_FILED, -9508, -1, "HY000", "duplicate fields in RECORD,TABLE or argument list are not permitted", 410, "duplicate fields in RECORD,TABLE or argument list are not permitted");
DEFINE_PLS_ERROR_EXT(OB_ERR_PRAGMA_ILLEGAL, -9509, -1, "HY000", "Pragma string cannot be specified here", "Pragma %s cannot be specified here", 710, "Pragma string cannot be specified here", "Pragma %s cannot be specified here");
DEFINE_PLS_ERROR(OB_ERR_EXIT_CONTINUE_ILLEGAL, -9510, -1, "HY000", "illegal EXIT/CONTINUE statement; it must appear inside a loop", 376, "illegal EXIT/CONTINUE statement; it must appear inside a loop");
DEFINE_PLS_ERROR_EXT(OB_ERR_LABEL_ILLEGAL, -9512, -1, "HY000", "EXIT/CONTINUE label must label a LOOP statement", "EXIT/CONTINUE label '%.*s' must label a LOOP statement", 373, "EXIT/CONTINUE label must label a LOOP statement", "EXIT/CONTINUE label '%.*s' must label a LOOP statement");
DEFINE_PLS_ERROR(OB_ERR_CURSOR_LEFT_ASSIGN, -9513, -1, "HY000", "expression '%.*s' is inappropriate as the left hand side of an assignment statement", 321, "expression '%.*s' is inappropriate as the left hand side of anassignment statement");
DEFINE_PLS_ERROR(OB_ERR_INIT_NOTNULL_ILLEGAL, -9514, -1, "HY000", "a variable declared NOT NULL must have an initialization assignment", 218, "a variable declared NOT NULL must have an initialization assignment");
DEFINE_PLS_ERROR_EXT(OB_ERR_INIT_CONST_ILLEGAL, -9515, -1, "HY000", "declaration of a constant 'string' must contain an initialization assignment", "declaration of a constant '%.*s' must contain an initialization assignment", 322, "declaration of a constant 'string' must contain an initialization assignment", "declaration of a constant '%.*s' must contain an initialization assignment");
DEFINE_PLS_ERROR(OB_ERR_CURSOR_VAR_IN_PKG, -9516, -1, "HY000", "Cursor Variables cannot be declared as part of a package", 994, "Cursor Variables cannot be declared as part of a package");
DEFINE_PLS_ERROR(OB_ERR_LIMIT_CLAUSE, -9518, -1, "HY000", "value in LIMIT clause: \'%.*s\' use is invalid", 438, "value in LIMIT clause: \'%.*s\' use is invalid");
DEFINE_PLS_ERROR(OB_ERR_EXPRESSION_WRONG_TYPE, -9519, -1, "HY000", "expression is of wrong type", 382, "expression is of wrong type");
DEFINE_PLS_ERROR_EXT(OB_ERR_SPEC_NOT_EXIST, -9520, -1, "HY000", "cannot compile type body without its specification", "cannot compile body of '%.*s' without its specification", 304, "cannot compile type body without its specification", "cannot compile body of '%.*s' without its specification");
DEFINE_PLS_ERROR_EXT(OB_ERR_TYPE_SPEC_NO_ROUTINE, -9521, -1, "HY000", "subprogram is declared in an object type body and must be defined in the object type specification", "subprogram '%.*s' is declared in an object type body and must be defined in the object type specification", 539, "subprogram is declared in an object type body and must be defined in the object type specification", "subprogram '%.*s' is declared in an object type body and must be defined in the object type specification");
DEFINE_PLS_ERROR_EXT(OB_ERR_TYPE_BODY_NO_ROUTINE, -9522, -1, "HY000", "subprogram or cursor is declared in an object type specification and must be defined in the object type body", "subprogram or cursor '%.*s' is declared in an object type specification and must be defined in the object type body", 538, "subprogram or cursor is declared in an object type specification and must be defined in the object type body", "subprogram or cursor '%.*s' is declared in an object type specification and must be defined in the object type body");
DEFINE_PLS_ERROR(OB_ERR_BOTH_ORDER_MAP, -9523, -1, "HY000", "An object type may have only 1 MAP or 1 ORDER method", 154, "An object type may have only 1 MAP or 1 ORDER method");
DEFINE_PLS_ERROR(OB_ERR_NO_ORDER_MAP, -9524, -1, "HY000", "A MAP or ORDER function is required for comparing objects in PL/SQL", 526, "A MAP or ORDER function is required for comparing objects in PL/SQL");
DEFINE_PLS_ERROR(OB_ERR_ORDER_MAP_NEED_BE_FUNC, -9525, -1, "HY000", "Only a function may be a MAP, ORDER or CONSTRUCTOR method", 155, "Only a function may be a MAP, ORDER or CONSTRUCTOR method");
DEFINE_PLS_ERROR(OB_ERR_IDENTIFIER_TOO_LONG, -9526, ER_TOO_LONG_IDENT, "42000", "Identifier name \'%.*s\' is too long", 114, "identifier '%.*s' too long");
DEFINE_PLS_ERROR(OB_ERR_INVOKE_STATIC_BY_INSTANCE, -9527, -1, "HY000", "a static method cannot be invoked on an instance value", 587, "a static method cannot be invoked on an instance value");
DEFINE_PLS_ERROR(OB_ERR_CONS_NAME_ILLEGAL, -9528, -1, "HY000", "constructor method name must match type name", 658, "constructor method name must match type name");
DEFINE_PLS_ERROR_EXT(OB_ERR_ATTR_FUNC_CONFLICT, -9529, -1, "HY000", "previous use of conflicts with this user", "previous use of '%.*s' conflicts with this use", 305, "previous use of conflicts with this use", "previous use of '%.*s' conflicts with this use");
DEFINE_PLS_ERROR(OB_ERR_SELF_PARAM_NOT_OUT, -9530, -1, "HY000", "the SELF parameter can be declared only as IN or as IN OUT", 594, "the SELF parameter can be declared only as IN or as IN OUT");
DEFINE_PLS_ERROR(OB_ERR_MAP_RET_SCALAR_TYPE, -9531, -1, "HY000", "MAP methods must return a scalar type", 522, "MAP methods must return a scalar type");
DEFINE_PLS_ERROR(OB_ERR_MAP_MORE_THAN_SELF_PARAM, -9532, -1, "HY000", "MAP methods must be declared without any parameters other than (optional) SELF", 520, "MAP methods must be declared without any parameters other than (optional) SELF");
DEFINE_PLS_ERROR(OB_ERR_ORDER_RET_INT_TYPE, -9533, -1, "HY000", "ORDER methods must return an INTEGER", 523, "ORDER methods must return an INTEGER");
DEFINE_PLS_ERROR(OB_ERR_ORDER_PARAM_TYPE, -9534, -1, "HY000", "The parameter type in an ORDER method must be the containing object type", 524, "The parameter type in an ORDER method must be the containing object type");
DEFINE_PLS_ERROR(OB_ERR_OBJ_CMP_SQL, -9535, -1, "HY000", "Within SQL statements, only equality comparisons of objects are allowed without a map or order function", 525, "Within SQL statements, only equality comparisons of objects are allowed without a map or order function");
DEFINE_PLS_ERROR(OB_ERR_MAP_ORDER_PRAGMA, -9536, -1, "HY000", "MAP or ORDER functions require a PRAGMA RESTRICT_REFERENCES specifying :WNDS,WNPS,RNPS,RNDS", 527, "MAP or ORDER functions require a PRAGMA RESTRICT_REFERENCES specifying :WNDS,WNPS,RNPS,RNDS");
DEFINE_PLS_ERROR(OB_ERR_ORDER_PARAM_MUST_IN_MODE, -9537, -1, "HY000", "The parameters to an ORDER function must have IN mode", 528, "The parameters to an ORDER function must have IN mode");
DEFINE_PLS_ERROR(OB_ERR_ORDER_PARAM_NOT_TWO, -9538, -1, "HY000", "ORDER methods must be declared with 1 (one) parameter in addition to (optional) SELF", 521, "ORDER methods must be declared with 1 (one) parameter in addition to (optional) SELF");
DEFINE_PLS_ERROR_EXT(OB_ERR_TYPE_REF_REFCURSIVE, -9539, -1, "HY000", "type is malformed because it is a non-REF mutually recursive type", "type '%.*s' is malformed because it is a non-REF mutually recursive type", 318, "type is malformed because it is a non-REF mutually recursive type", "type '%.*s' is malformed because it is a non-REF mutually recursive type");
DEFINE_PLS_ERROR_EXT(OB_ERR_DIRECTIVE_ERROR, -9540, -1, "HY000", "$ERROR: string", "$ERROR: %.*s", 179, "$ERROR: string", "$ERROR: %.*s");
DEFINE_PLS_ERROR(OB_ERR_CONS_HAS_RET_NODE, -9541, -1, "HY000", "RETURN statement in a CONSTRUCTOR cannot include an expression", 661, "RETURN statement in a CONSTRUCTOR cannot include an expression");
DEFINE_PLS_ERROR_EXT(OB_ERR_CALL_WRONG_ARG, -9542, -1, "HY000", "wrong number or types of arguments in call to procedure", "wrong number or types of arguments in call to '%.*s'", 306, "wrong number or types of arguments in call to procedure", "wrong number or types of arguments in call to '%.*s'");
DEFINE_PLS_ERROR_EXT(OB_ERR_FUNC_NAME_SAME_WITH_CONS, -9543, -1, "HY000", "name must be a type", "'%.*s' must be a type", 488, "name must be a type", "'%.*s' must be a type");
DEFINE_PLS_ERROR_EXT(OB_ERR_FUNC_DUP, -9544, -1, "HY000", "too many declarations of function match this call", "too many declarations of '%.*s' match this call", 307, "too many declarations of function match this call", "too many declarations of '%.*s' match this call");
DEFINE_ORACLE_ERROR(OB_ERR_WHEN_CLAUSE, -9545, -1, "HY000", "WHEN clause cannot be used with table level triggers", 4077, "WHEN clause cannot be used with table level triggers");
DEFINE_ORACLE_ERROR(OB_ERR_NEW_OLD_REFERENCES, -9546, -1, "HY000", "NEW or OLD references not allowed in table level triggers", 4082, "NEW or OLD references not allowed in table level triggers");
DEFINE_PLS_ERROR_EXT(OB_ERR_TYPE_DECL_ILLEGAL, -9547, -1, "HY000", "%%TYPE must be applied to a variable, column, field or attribute, not to other", "%%TYPE must be applied to a variable, column, field or attribute, not to '%.*s'", 206, "%%TYPE must be applied to a variable, column, field or attribute, not to other", "%%TYPE must be applied to a variable, column, field or attribute, not to '%.*s'");
DEFINE_PLS_ERROR_EXT(OB_ERR_OBJECT_INVALID, -9548, -1, "HY000", "object is invalid", "object '%.*s' is invalid", 905, "object is invalid", "object '%.*s' is invalid");
DEFINE_ORACLE_ERROR_DEP(OB_ERR_XML_PARSE, -9549, ER_WRONG_VALUE, "HY000", "XML parsing failed", 31011, "XML parsing failed");
DEFINE_PLS_ERROR_EXT(OB_ERR_EXP_NOT_ASSIGNABLE, -9550, -1, "HY000", "expression cannot be used as an assignment", "expression '%.*s' cannot be used as an assignment", 363, "expression cannot be used as an assignment", "expression '%.*s' cannot be used as an assignment");
DEFINE_ORACLE_ERROR(OB_ERR_CURSOR_CONTAIN_BOTH_REGULAR_AND_ARRAY, -9551, -1, "HY000", "Cursor contains both regular and array defines which is illegal", 29256, "Cursor contains both regular and array defines which is illegal");
DEFINE_PLS_ERROR(OB_ERR_STATIC_BOOL_EXPR, -9552, -1, "HY000", "a static boolean expression must be used", 174, "a static boolean expression must be used");
DEFINE_PLS_ERROR(OB_ERR_DIRECTIVE_CONTEXT, -9553, -1, "HY000", "preprocessor directives are not supported in this context", 180, "preprocessor directives are not supported in this context");
DEFINE_ORACLE_ERROR(OB_UTL_FILE_INVALID_PATH, -9554, -1, "HY000", "invalid directory path", 29280, "invalid directory path");
DEFINE_ORACLE_ERROR(OB_UTL_FILE_INVALID_MODE, -9555, -1, "HY000", "invalid mode", 29281, "invalid mode");
DEFINE_ORACLE_ERROR(OB_UTL_FILE_INVALID_FILEHANDLE, -9556, -1, "HY000", "invalid file ID", 29282, "invalid file ID");
DEFINE_ORACLE_ERROR_EXT(OB_UTL_FILE_INVALID_OPERATION, -9557, -1, "HY000", "invalid file operation", "invalid file operation: %.*s", 29283, "invalid file operation", "invalid file operation: %.*s");
DEFINE_ORACLE_ERROR(OB_UTL_FILE_READ_ERROR, -9558, -1, "HY000", "file read error", 29284, "file read error");
DEFINE_ORACLE_ERROR(OB_UTL_FILE_WRITE_ERROR, -9559, -1, "HY000", "file write error", 29285, "file write error");
DEFINE_ORACLE_ERROR(OB_UTL_FILE_INTERNAL_ERROR, -9560, -1, "HY000", "internal error", 29286, "internal error");
DEFINE_ORACLE_ERROR(OB_UTL_FILE_CHARSETMISMATCH, -9561, -1, "HY000", "character set mismatch", 29298, "character set mismatch");
DEFINE_ORACLE_ERROR(OB_UTL_FILE_INVALID_MAXLINESIZE, -9562, -1, "HY000", "invalid maximum line size", 29287, "invalid maximum line size");
DEFINE_ORACLE_ERROR(OB_UTL_FILE_INVALID_FILENAME, -9563, -1, "HY000", "invalid file name", 29288, "invalid file name");
DEFINE_ORACLE_ERROR(OB_UTL_FILE_ACCESS_DENIED, -9564, -1, "HY000", "directory access denied", 29289, "directory access denied");
DEFINE_ORACLE_ERROR(OB_UTL_FILE_INVALID_OFFSET, -9565, -1, "HY000", "invalid offset specified for seek", 29290, "invalid offset specified for seek");
DEFINE_ORACLE_ERROR(OB_UTL_FILE_DELETE_FAILED, -9566, -1, "HY000", "file remove operation failed", 29291, "file remove operation failed");
DEFINE_ORACLE_ERROR(OB_UTL_FILE_RENAME_FAILED, -9567, -1, "HY000", "file rename operation failed", 29292, "file rename operation failed");
DEFINE_ORACLE_ERROR(OB_ERR_BIND_TYPE_NOT_MATCH_COLUMN, -9568, -1, "HY000", "type of out argument must match type of column or bind variable", 6562, "type of out argument must match type of column or bind variable");
DEFINE_ORACLE_ERROR(OB_ERR_NESTED_TABLE_IN_TRI, -9569, -1, "HY000", "Nested table clause allowed only for INSTEAD OF triggers", 25009, "Nested table clause allowed only for INSTEAD OF triggers");
DEFINE_ORACLE_ERROR(OB_ERR_COL_LIST_IN_TRI, -9570, -1, "HY000", "column list not valid for this trigger type", 4073, "column list not valid for this trigger type");
DEFINE_ORACLE_ERROR(OB_ERR_WHEN_CLAUSE_IN_TRI, -9571, -1, "HY000", "WHEN clause is not allowed in INSTEAD OF triggers", 25004, "WHEN clause is not allowed in INSTEAD OF triggers");
DEFINE_ORACLE_ERROR(OB_ERR_INSTEAD_TRI_ON_TABLE, -9572, -1, "HY000", "cannot create INSTEAD OF triggers on tables", 25002, "cannot create INSTEAD OF triggers on tables");
DEFINE_ORACLE_ERROR(OB_ERR_RETURNING_CLAUSE, -9573, -1, "HY000", "unsupported feature with RETURNING clause", 22816, "unsupported feature with RETURNING clause");
DEFINE_ERROR_DEP(OB_ERR_XSLT_PARSE, -9574, -1, "HY000", "document is not a stylesheet");
DEFINE_ERROR_EXT(OB_ERR_NO_RETURN_IN_FUNCTION, -9575, ER_SP_NORETURN, "42000", "No Return found in FUNCTION '%.*s'", "No Return found in FUNCTION '%.*s'");
DEFINE_ERROR_EXT(OB_ERR_STMT_NOT_ALLOW_IN_MYSQL_FUNC_TRIGGER, -9576, ER_COMMIT_NOT_ALLOWED_IN_SF_OR_TRG, "HY000", "'%.*s' is not allowed in stored function or trigger.", "'%.*s' is not allowed in stored function or trigger.");
DEFINE_ERROR_EXT(OB_ERR_TOO_LONG_STRING_TYPE, -9577, ER_TOO_BIG_FIELDLENGTH, "42000", "Column length too big for column '%.*s' (max = %d); use BLOB or TEXT instead", "Column length too big for column '%.*s' (max = %d); use BLOB or TEXT instead");
DEFINE_ERROR_EXT(OB_ERR_WIDTH_OUT_OF_RANGE, -9578, ER_TOO_BIG_DISPLAYWIDTH, "42000", "Display width out of range for column '%.*s' (max = %d)", "Display width out of range for column '%.*s' (max = %d)");
DEFINE_ERROR_EXT(OB_ERR_REDEFINE_LABEL, -9579, ER_SP_LABEL_REDEFINE, "42000", "Redefining label '%.*s'", "Redefining label '%.*s'");
DEFINE_ERROR_EXT(OB_ERR_STMT_NOT_ALLOW_IN_MYSQL_PROCEDRUE, -9580, ER_SP_BADSTATEMENT, "HY000", "'%.*s' is not allowed in stored procedure.", "'%.*s' is not allowed in stored procedure.");
DEFINE_ERROR(OB_ERR_TRIGGER_NOT_SUPPORT, -9581, ER_NOT_SUPPORTED_YET, "42000", "This version of OceanBase doesn't yet support 'multiple triggers with the same action time and event for one table'");
DEFINE_ERROR(OB_ERR_TRIGGER_IN_WRONG_SCHEMA, -9582, ER_TRG_IN_WRONG_SCHEMA, "HY000", "Trigger in wrong schema");
DEFINE_PLS_ERROR_EXT(OB_ERR_UNKNOWN_EXCEPTION, -9583, -1, "HY000", "unknown exception name 'string' in PRAGMA EXCEPTION_INIT", "unknown exception name '%.*s' in PRAGMA EXCEPTION_INIT", 109, "unknown exception name 'string' in PRAGMA EXCEPTION_INIT", "unknown exception name '%.*s' in PRAGMA EXCEPTION_INIT");
DEFINE_ORACLE_ERROR_EXT(OB_ERR_TRIGGER_CANT_CHANGE_ROW, -9584, ER_TRG_CANT_CHANGE_ROW, "HY000", "Updating of NEW/OLD row is not allowed in this trigger", "Updating of %s row is not allowed in %strigger", 4084, "cannot change NEW values for this trigger type", "cannot change NEW values for this trigger type");
DEFINE_PLS_ERROR_EXT(OB_ERR_ITEM_NOT_IN_BODY, -9585, -1, "HY000", "subprogram or cursor 'string' is declared in a package specification and must be defined in the package body", "subprogram or cursor '%.*s' is declared in a package specification and must be defined in the package body", 323, "subprogram or cursor 'string' is declared in a package specification and must be defined in the package body", "subprogram or cursor '%.*s' is declared in a package specification and must be defined in the package body");
DEFINE_PLS_ERROR_EXT(OB_ERR_WRONG_ROWTYPE, -9586, -1, "HY000", "with %%ROWTYPE attribute, 'string' must name a table, cursor or cursor-variable", "with %%ROWTYPE attribute, '%.*s' must name a table, cursor or cursor-variable", 310, "with %%ROWTYPE attribute, 'string' must name a table, cursor or cursor-variable", "with %%ROWTYPE attribute, '%.*s' must name a table, cursor or cursor-variable");
DEFINE_PLS_ERROR_EXT(OB_ERR_ROUTINE_NOT_DEFINE, -9587, -1, "HY000", "A subprogram body must be defined for the forward declaration of string.", "A subprogram body must be defined for the forward declaration of %.*s.", 328, "A subprogram body must be defined for the forward declaration of string.", "A subprogram body must be defined for the forward declaration of %.*s.");
DEFINE_PLS_ERROR(OB_ERR_DUP_NAME_IN_CURSOR, -9588, -1, "HY000", "alias required in SELECT list of cursor to avoid duplicate column names", 402, "alias required in SELECT list of cursor to avoid duplicate column names");
DEFINE_PLS_ERROR(OB_ERR_LOCAL_COLL_IN_SQL, -9589, -1, "HY000", "local collection types not allowed in SQL statements", 642, "local collection types not allowed in SQL statements");
DEFINE_PLS_ERROR_EXT(OB_ERR_TYPE_MISMATCH_IN_FETCH, -9590, -1, "HY000", "type mismatch found at 'string' between FETCH cursor and INTO variables", "type mismatch found at '%.*s' between FETCH cursor and INTO variables", 386, "type mismatch found at 'string' between FETCH cursor and INTO variables", "type mismatch found at '%.*s' between FETCH cursor and INTO variables");
DEFINE_PLS_ERROR(OB_ERR_OTHERS_MUST_LAST, -9591, -1, "HY000", "OTHERS handler must be last among the exception handlers of a block", 370, "OTHERS handler must be last among the exception handlers of a block");
DEFINE_PLS_ERROR(OB_ERR_RAISE_NOT_IN_HANDLER, -9592, -1, "HY000", "a RAISE statement with no exception name must be inside an exception handler", 367, "a RAISE statement with no exception name must be inside an exception handler");
DEFINE_PLS_ERROR_EXT(OB_ERR_INVALID_CURSOR_RETURN_TYPE, -9593, -1, "HY000", "invalid cursor return type; 'string' must be a record type", "invalid cursor return type; '%.*s' must be a record type", 362, "invalid cursor return type; 'string' must be a record type", "invalid cursor return type; '%.*s' must be a record type");
DEFINE_PLS_ERROR_EXT(OB_ERR_IN_CURSOR_OPEND, -9594, -1, "HY000", "IN cursor 'string' cannot be OPEN'ed", "IN cursor '%.*s' cannot be OPEN'ed", 361, "IN cursor 'string' cannot be OPEN'ed", "IN cursor '%.*s' cannot be OPEN'ed");
DEFINE_PLS_ERROR(OB_ERR_CURSOR_NO_RETURN_TYPE, -9595, -1, "HY000", "cursor declaration without body needs return type", 360, "cursor declaration without body needs return type");
DEFINE_PLS_ERROR(OB_ERR_NO_CHOICES, -9596, -1, "HY000", "no choices may appear with choice OTHERS in an exception handler", 369, "no choices may appear with choice OTHERS in an exception handler");
DEFINE_PLS_ERROR(OB_ERR_TYPE_DECL_MALFORMED, -9597, -1, "HY000", "the declaration of the type of this expression is incomplete or malformed", 320, "the declaration of the type of this expression is incomplete or malformed");
DEFINE_PLS_ERROR_EXT(OB_ERR_IN_FORMAL_NOT_DENOTABLE, -9598, -1, "HY000", "subprogram 'in' formal string is not yet denotable", "subprogram 'in' formal %.*s is not yet denotable", 227, "subprogram 'in' formal string is not yet denotable", "subprogram 'in' formal %.*s is not yet denotable");
DEFINE_PLS_ERROR(OB_ERR_OUT_PARAM_HAS_DEFAULT, -9599, -1, "HY000", "OUT and IN OUT formal parameters may not have default expressions", 230, "OUT and IN OUT formal parameters may not have default expressions");
DEFINE_PLS_ERROR(OB_ERR_ONLY_FUNC_CAN_PIPELINED, -9600, -1, "HY000", "only functions can be declared as PIPELINED", 655, "only functions can be declared as PIPELINED");
DEFINE_PLS_ERROR(OB_ERR_PIPE_RETURN_NOT_COLL, -9601, -1, "HY000", "pipelined functions must have a supported collection return type", 630, "pipelined functions must have a supported collection return type");
DEFINE_PLS_ERROR(OB_ERR_MISMATCH_SUBPROGRAM, -9602, -1, "HY000", "mismatch between string on a subprogram specification and body", 263, "mismatch between string on a subprogram specification and body");
DEFINE_PLS_ERROR_EXT(OB_ERR_PARAM_IN_PACKAGE_SPEC, -9603, -1, "HY000", "Pragma string must be declared in a package specification", "Pragma %.*s must be declared in a package specification", 708, "Pragma string must be declared in a package specification", "Pragma %.*s must be declared in a package specification");
DEFINE_PLS_ERROR(OB_ERR_NUMERIC_LITERAL_REQUIRED, -9604, -1, "HY000", "numeric literal required", 491, "numeric literal required");
DEFINE_PLS_ERROR_EXT(OB_ERR_NON_INT_LITERAL, -9605, -1, "HY000", "non-integral numeric literal string is inappropriate in this context", "non-integral numeric literal %.*s is inappropriate in this context", 325, "non-integral numeric literal string is inappropriate in this context", "non-integral numeric literal %.*s is inappropriate in this context");
DEFINE_PLS_ERROR(OB_ERR_IMPROPER_CONSTRAINT_FORM, -9606, -1, "HY000", "improper constraint form used", 572, "improper constraint form used");
DEFINE_PLS_ERROR_EXT(OB_ERR_TYPE_CANT_CONSTRAINED, -9607, -1, "HY000", "type name 'string' cannot be constrained", "type name '%.*s' cannot be constrained", 566, "type name 'string' cannot be constrained", "type name '%.*s' cannot be constrained");
DEFINE_PLS_ERROR(OB_ERR_ANY_CS_NOT_ALLOWED, -9608, -1, "HY000", "character set ANY_CS is only allowed on a subprogram parameter", 551, "character set ANY_CS is only allowed on a subprogram parameter");
DEFINE_PLS_ERROR_EXT(OB_ERR_SCHEMA_TYPE_ILLEGAL, -9609, -1, "HY000", "schema-level type has illegal reference to string", "schema-level type has illegal reference to %.*s", 329, "schema-level type has illegal reference to string", "schema-level type has illegal reference to %.*s");
DEFINE_PLS_ERROR(OB_ERR_UNSUPPORTED_TABLE_INDEX_TYPE, -9610, -1, "HY000", "Implementation restriction: unsupported table index type", 315, "Implementation restriction: unsupported table index type");
DEFINE_PLS_ERROR(OB_ERR_ARRAY_MUST_HAVE_POSITIVE_LIMIT, -9611, -1, "HY000", "A VARRAY must have a positive limit", 537, "A VARRAY must have a positive limit");
DEFINE_PLS_ERROR_EXT(OB_ERR_FORALL_ITER_NOT_ALLOWED, -9612, -1, "HY000", "FORALL iteration variable string is not allowed in this context", "FORALL iteration variable %.*s is not allowed in this context", 430, "FORALL iteration variable string is not allowed in this context", "FORALL iteration variable %.*s is not allowed in this context");
DEFINE_PLS_ERROR(OB_ERR_BULK_IN_BIND, -9613, -1, "HY000", "references to fields of BULK In-BIND table of records or objects must have the form A(I).F", 674, "references to fields of BULK In-BIND table of records or objects must have the form A(I).F");
DEFINE_PLS_ERROR(OB_ERR_FORALL_BULK_TOGETHER, -9614, -1, "HY000", "implementation restriction: cannot use FORALL and BULK COLLECT INTO together in SELECT statements", 432, "implementation restriction: cannot use FORALL and BULK COLLECT INTO together in SELECT statements");
DEFINE_PLS_ERROR(OB_ERR_FORALL_DML_WITHOUT_BULK, -9615, -1, "HY000", "DML statement without BULK In-BIND cannot be used inside FORALL", 435, "DML statement without BULK In-BIND cannot be used inside FORALL");
DEFINE_PLS_ERROR(OB_ERR_SHOULD_COLLECTION_TYPE, -9616, -1, "HY000", "Type of expression should be a collection type", 668, "Type of expression should be a collection type");
DEFINE_PLS_ERROR(OB_ERR_ASSOC_ELEM_TYPE, -9617, -1, "HY000", "Element type of associative array should be pls_integer or binary_integer", 667, "Element type of associative array should be pls_integer or binary_integer");
DEFINE_PLS_ERROR(OB_ERR_INTO_CLAUSE_EXPECTED, -9618, -1, "HY000", "an INTO clause is expected in this SELECT statement", 428, "an INTO clause is expected in this SELECT statement");
DEFINE_PLS_ERROR_EXT(OB_ERR_SUBPROGRAM_VIOLATES_PRAGMA, -9619, -1, "HY000", "Subprogram 'string' violates its associated pragma", "Subprogram '%.*s' violates its associated pragma", 452, "Subprogram 'string' violates its associated pragma", "Subprogram '%.*s' violates its associated pragma");
DEFINE_PLS_ERROR(OB_ERR_EXPR_SQL_TYPE, -9620, -1, "HY000", "expressions have to be of SQL types", 457, "expressions have to be of SQL types");
DEFINE_PLS_ERROR_EXT(OB_ERR_PRAGMA_DECL_TWICE, -9621, -1, "HY000", "PRAGMA string cannot be declared twice", "PRAGMA %.*s cannot be declared twice", 711, "PRAGMA string cannot be declared twice", "PRAGMA %.*s cannot be declared twice");
DEFINE_PLS_ERROR_EXT(OB_ERR_PRAGMA_FOLLOW_DECL, -9622, -1, "HY000", "this PRAGMA must follow the declaration of 'string'", "this PRAGMA must follow the declaration of '%.*s'", 115, "this PRAGMA must follow the declaration of 'string'", "this PRAGMA must follow the declaration of '%.*s'");
DEFINE_PLS_ERROR(OB_ERR_PIPE_STMT_IN_NON_PIPELINED_FUNC, -9623, -1, "HY000", "PIPE statement cannot be used in non-pipelined functions", 629, "PIPE statement cannot be used in non-pipelined functions");
DEFINE_PLS_ERROR_EXT(OB_ERR_IMPL_RESTRICTION, -9624, -1, "HY000", "implementation restriction (may be temporary)", "implementation restriction (may be temporary) %s", 999, "implementation restriction (may be temporary)", "implementation restriction (may be temporary) %s");
DEFINE_PLS_ERROR(OB_ERR_INSUFFICIENT_PRIVILEGE, -9625, -1, "HY000", "insufficient privilege to access object string", 904, "insufficient privilege to access object string");
DEFINE_PLS_ERROR_EXT(OB_ERR_ILLEGAL_OPTION, -9626, -1, "HY000", "illegal option for subprogram string", "illegal option for subprogram %.*s", 712, "illegal option for subprogram string", "illegal option for subprogram %.*s");
DEFINE_PLS_ERROR_EXT(OB_ERR_NO_FUNCTION_EXIST, -9627, -1, "HY000", "no function with name 'string' exists in this scope", "no function with name '%.*s' exists in this scope", 222, "no function with name 'string' exists in this scope", "no function with name '%.*s' exists in this scope");
DEFINE_PLS_ERROR_EXT(OB_ERR_OUT_OF_SCOPE, -9628, -1, "HY000", "subprogram or cursor 'string' reference is out of scope", "subprogram or cursor '%.*s' reference is out of scope", 225, "subprogram or cursor 'string' reference is out of scope", "subprogram or cursor '%.*s' reference is out of scope");
DEFINE_PLS_ERROR_EXT(OB_ERR_ILLEGAL_ERROR_NUM, -9629, -1, "HY000", "illegal ORACLE error number string for PRAGMA EXCEPTION_INIT", "illegal ORACLE error number %.*s for PRAGMA EXCEPTION_INIT", 701, "illegal ORACLE error number string for PRAGMA EXCEPTION_INIT", "illegal ORACLE error number %.*s for PRAGMA EXCEPTION_INIT");
DEFINE_PLS_ERROR_EXT(OB_ERR_DEFAULT_NOT_MATCH, -9630, -1, "HY000", "default value of parameter 'string' in body must match that of spec", "default value of parameter '%.*s' in body must match that of spec", 593, "default value of parameter 'string' in body must match that of spec", "default value of parameter '%.*s' in body must match that of spec");
DEFINE_PLS_ERROR(OB_ERR_TABLE_SINGLE_INDEX, -9631, -1, "HY000", "PL/SQL TABLEs must use a single index", 316, "PL/SQL TABLEs must use a single index");
DEFINE_PLS_ERROR_EXT(OB_ERR_PRAGMA_DECL, -9632, -1, "HY000", "pragma string must be declared in package specification and body", "pragma %.*s must be declared in package specification and body", 709, "pragma string must be declared in package specification and body", "pragma %.*s must be declared in package specification and body");
DEFINE_PLS_ERROR(OB_ERR_INCORRECT_ARGUMENTS, -9633, -1, "HY000", "incorrect number of arguments for aggregate function", 652, "incorrect number of arguments for aggregate function");
DEFINE_PLS_ERROR(OB_ERR_RETURN_VALUE_REQUIRED, -9634, -1, "HY000", "RETURN <value> statement required for this return from function", 503, "RETURN value statement required for this return from function");
DEFINE_PLS_ERROR(OB_ERR_RETURN_EXPR_ILLEGAL, -9635, -1, "HY000", "RETURN statement in a pipelined function cannot contain an expression", 633, "RETURN statement in a pipelined function cannot contain an expression");
DEFINE_PLS_ERROR(OB_ERR_LIMIT_ILLEGAL, -9636, -1, "HY000", "A LIMIT clause must be used within a BULK FETCH", 439, "A LIMIT clause must be used within a BULK FETCH");
DEFINE_PLS_ERROR_EXT(OB_ERR_INTO_EXPR_ILLEGAL, -9637, -1, "HY000", "expression 'string' in the INTO list is of wrong type", "expression '%.*s' in the INTO list is of wrong type", 597, "expression 'string' in the INTO list is of wrong type", "expression '%.*s' in the INTO list is of wrong type");
DEFINE_PLS_ERROR(OB_ERR_BULK_SQL_RESTRICTION, -9638, -1, "HY000", "Implementation restriction: bulk SQL with associative arrays with VARCHAR2 key is not supported.", 657, "Implementation restriction: bulk SQL with associative arrays with VARCHAR2 key is not supported.");
DEFINE_PLS_ERROR(OB_ERR_MIX_SINGLE_MULTI, -9639, -1, "HY000", "cannot mix between single row and multi-row (BULK) in INTO list", 497, "cannot mix between single row and multi-row (BULK) in INTO list");
DEFINE_ERROR_EXT(OB_ERR_TRIGGER_NO_SUCH_ROW, -9640, ER_TRG_NO_SUCH_ROW_IN_TRG, "HY000", "There is no NEW/OLD row in on this type trigger", "There is no %s row in on %s trigger");
DEFINE_ERROR(OB_ERR_SET_USAGE, -9641, ER_WRONG_USAGE, "HY000", "Incorrect usage of UNION and INTO");
DEFINE_PLS_ERROR_EXT(OB_ERR_MODIFIER_CONFLICTS, -9642, -1, "HY000", "modifier 'string' conflicts with prior 'string' specification", "modifier '%s' conflicts with prior '%s' specification", 169, "modifier 'string' conflicts with prior 'string' specification", "modifier '%s' conflicts with prior '%s' specification");
DEFINE_PLS_ERROR_EXT(OB_ERR_DUPLICATE_MODIFIER, -9643, -1, "HY000", "duplicate modifier specification 'string'", "duplicate modifier specification '%s'", 168, "duplicate modifier specification 'string'", "duplicate modifier specification '%s'");
DEFINE_PLS_ERROR(OB_ERR_STR_LITERAL_TOO_LONG, -9644, -1, "HY000", "string literal too long", 172, "string literal too long");
DEFINE_PLS_ERROR(OB_ERR_SELF_PARAM_NOT_INOUT, -9645, -1, "HY000", "SELF parameter of constructor method must be IN OUT", 660, "SELF parameter of constructor method must be IN OUT");
DEFINE_PLS_ERROR(OB_ERR_CONSTRUCT_MUST_RETURN_SELF, -9646, -1, "HY000", "constructor method must return SELF AS RESULT", 659, "constructor method must return SELF AS RESULT");
DEFINE_PLS_ERROR(OB_ERR_FIRST_PARAM_MUST_NOT_NULL, -9647, -1, "HY000", "the first operand in the NULLIF expression must not be NULL", 619, "the first operand in the NULLIF expression must not be NULL");
DEFINE_PLS_ERROR(OB_ERR_COALESCE_AT_LEAST_ONE_NOT_NULL, -9648, -1, "HY000", "at least one operand in the COALESCE expression must not be NULL", 621, "at least one operand in the COALESCE expression must not be NULL");
DEFINE_PLS_ERROR(OB_ERR_STATIC_METHOD_HAS_SELF, -9649, -1, "HY000", "a static method cannot declare a parameter named SELF", 586, "a static method cannot declare a parameter named SELF");
DEFINE_PLS_ERROR_EXT(OB_ERR_NO_ATTR_FOUND, -9650, -1, "HY000", "no attributes found in object type 'string'", "no attributes found in object type '%.*s'", 589, "no attributes found in object type 'string'", "no attributes found in object type '%.*s'");
DEFINE_PLS_ERROR_EXT(OB_ERR_ILLEGAL_TYPE_FOR_OBJECT, -9651, -1, "HY000", "Illegal type used for object type attribute: 'string'.", "Illegal type used for object type attribute: '%.*s'.", 530, "Illegal type used for object type attribute: 'string'.", "Illegal type used for object type attribute: '%.*s'.");
DEFINE_PLS_ERROR_EXT(OB_ERR_UNSUPPORTED_TYPE, -9652, -1, "HY000", "Unsupported type in a VARRAY or TABLE type: 'string'.", "Unsupported type in a VARRAY or TABLE type: '%.*s'.", 531, "Unsupported type in a VARRAY or TABLE type: 'string'.", "Unsupported type in a VARRAY or TABLE type: '%.*s'.");
DEFINE_PLS_ERROR(OB_ERR_POSITIONAL_FOLLOW_NAME, -9653, -1, "HY000", "a positional parameter association may not follow a named association", 312, "a positional parameter association may not follow a named association");
DEFINE_PLS_ERROR_EXT(OB_ERR_NEED_A_LABEL, -9654, -1, "HY000", "EXIT/CONTINUE statement may have a label here; 'string' is not a label", "EXIT/CONTINUE statement may have a label here; '%.*s' is not a label", 441, "EXIT/CONTINUE statement may have a label here; 'string' is not a label", "EXIT/CONTINUE statement may have a label here; '%.*s' is not a label");
DEFINE_PLS_ERROR(OB_ERR_REFER_SAME_PACKAGE, -9655, -1, "HY000", "variable or constant initialization may not refer to functions declared in the same package", 492, "variable or constant initialization may not refer to functions declared in the same package");
DEFINE_PLS_ERROR_EXT(OB_ERR_PL_COMMON, -9656, -1, "HY000", "PL/SQL common error", "%s", 1, "PL/SQL common error", "%s");
DEFINE_PLS_ERROR(OB_ERR_IDENT_EMPTY, -9657, -1, "HY000", "Identifier cannot be an empty string", 182, "Identifier cannot be an empty string");
DEFINE_PLS_ERROR_EXT(OB_ERR_PRAGMA_STR_UNSUPPORT, -9658, -1, "HY000", "Pragma string does not support string", "Pragma %s does not support %.*s", 132, "Pragma string does not support string", "Pragma %s does not support %.*s");
DEFINE_PLS_ERROR_EXT(OB_ERR_END_LABEL_NOT_MATCH, -9659, -1, "HY000", "END identifier 'string' must match 'string' at line string, column string", "END identifier '%.*s' must match '%.*s'", 113, "END identifier 'string' must match 'string' at line string, column string", "END identifier '%.*s' must match '%.*s'");
DEFINE_PLS_ERROR(OB_ERR_WRONG_FETCH_INTO_NUM, -9660, -1, "HY000", "wrong number of values in the INTO list of a FETCH statement", 394, "wrong number of values in the INTO list of a FETCH statement");
DEFINE_PLS_ERROR_EXT(OB_ERR_PRAGMA_FIRST_ARG, -9661, -1, "HY000", "Pragma string expects 1st argument to be a procedure/function/package/cursor", "Pragma %s expects 1st argument to be a procedure/function/package/cursor", 130, "Pragma string expects 1st argument to be a procedure/function/package/cursor", "Pragma %s expects 1st argument to be a procedure/function/package/cursor");
DEFINE_ORACLE_ERROR(OB_ERR_TRIGGER_CANT_CHANGE_OLD_ROW, -9662, -1, "HY000", "cannot change the value of an OLD reference variable", 4085, "cannot change the value of an OLD reference variable");
DEFINE_ORACLE_ERROR(OB_ERR_TRIGGER_CANT_CRT_ON_RO_VIEW, -9663, -1, "HY000", "cannot create trigger on read only view", 25005, "cannot CREATE INSTEAD OF trigger on a read-only view");
DEFINE_ORACLE_ERROR(OB_ERR_TRIGGER_INVALID_REF_NAME, -9664, -1, "HY000", "invalid REFERENCING name", 4074, "invalid REFERENCING name");
DEFINE_PLS_ERROR_EXT(OB_ERR_EXP_NOT_INTO_TARGET, -9665, -1, "HY000", "expression 'string' cannot be used as an INTO-target of a SELECT/FETCH statement", "expression '%.*s' cannot be used as an INTO-target of a SELECT/FETCH statement", 403, "expression 'string' cannot be used as an INTO-target of a SELECT/FETCH statement", "expression '%.*s' cannot be used as an INTO-target of a SELECT/FETCH statement");
DEFINE_PLS_ERROR(OB_ERR_CASE_NULL, -9666, -1, "HY000", "at least one result in the CASE expression must not be NULL", 617, "at least one result in the CASE expression must not be NULL");
DEFINE_PLS_ERROR_EXT(OB_ERR_INVALID_GOTO, -9667, -1, "HY000", "Invalid GOTO to non-label 'string'", "Invalid GOTO to non-label '%.*s'", 301, "Invalid GOTO to non-label 'string'", "Invalid GOTO to non-label '%.*s'");
DEFINE_PLS_ERROR_EXT(OB_ERR_PRIVATE_UDF_USE_IN_SQL, -9668, -1, "HY000", "function 'string' may not be used in SQL", "function '%.*s' may not be used in SQL", 231, "function 'string' may not be used in SQL", "function '%.*s' may not be used in SQL");
DEFINE_PLS_ERROR_EXT(OB_ERR_FIELD_NOT_DENOTABLE, -9669, -1, "HY000", "field string is not yet denotable", "field %.*s is not yet denotable", 742, "field string is not yet denotable", "field %.*s is not yet denotable");
DEFINE_PLS_ERROR_EXT(OB_NUMERIC_PRECISION_NOT_INTEGER, -9670, -1, "HY000", "non-integral numeric literal value is inappropriate in this context", "non-integral numeric literal %.*s is inappropriate in this context", 325, "non-integral numeric literal value is inappropriate in this context", "non-integral numeric literal %.*s is inappropriate in this context");
DEFINE_ORACLE_ERROR(OB_ERR_REQUIRE_INTEGER, -9671, -1, "HY000", "integer value required", 02017, "integer value required");
DEFINE_PLS_ERROR(OB_ERR_INDEX_TABLE_OF_CURSOR, -9672, -1, "HY000", "Index Tables of Cursor Variables are disallowed", 990, "Index Tables of Cursor Variables are disallowed");
DEFINE_PLS_ERROR(OB_NULL_CHECK_ERROR, -9673, -1, "HY000", "cannot pass NULL to a NOT NULL constrained formal parameter", 567, "cannot pass NULL to a NOT NULL constrained formal parameter");
DEFINE_PLS_ERROR(OB_ERR_EX_NAME_ARG, -9674, -1, "HY000", "name of exception expected for first arg in exception_init pragma", 124, "name of exception expected for first arg in exception_init pragma");
DEFINE_PLS_ERROR(OB_ERR_EX_ARG_NUM, -9675, -1, "HY000", "Illegal number of arguments for pragma EXCEPTION_INIT", 128, "Illegal number of arguments for pragma EXCEPTION_INIT");
DEFINE_PLS_ERROR(OB_ERR_EX_SECOND_ARG, -9676, -1, "HY000", "second argument to PRAGMA EXCEPTION_INIT must be a numeric literal", 702, "second argument to PRAGMA EXCEPTION_INIT must be a numeric literal");
DEFINE_ORACLE_ERROR(OB_OBEN_CURSOR_NUMBER_IS_ZERO, -9677, -1, "HY000", "DBMS_SQL.OPEN_CURSOR failed. security_level of 0 is not allowed", 29474, "DBMS_SQL.OPEN_CURSOR failed. security_level of 0 is not allowed");
DEFINE_ORACLE_ERROR(OB_NO_STMT_PARSE, -9678, -1, "HY000", "no statement parsed", 01003, "no statement parsed");
DEFINE_ORACLE_ERROR(OB_ARRAY_CNT_IS_ILLEGAL, -9679, -1, "HY000", "Invalid count argument passed to procedure dbms_sql.define_array", 29253, "Invalid count argument passed to procedure dbms_sql.define_array");
DEFINE_PLS_ERROR_EXT(OB_ERR_WRONG_SCHEMA_REF, -9680, -1, "HY000", "Table,View Or Sequence reference not allowed in this context", "Table,View Or Sequence reference not '%s%s%s%s%s' allowed in this context", 357, "Table,View Or Sequence reference not allowed in this context", "Table,View Or Sequence reference '%s%s%s%s%s' not allowed in this context");
DEFINE_PLS_ERROR_EXT(OB_ERR_COMPONENT_UNDECLARED, -9681, -1, "HY000", "component must be declared", "component '%.*s' must be declared", 302, "component must be declared", "component '%.*s' must be declared");
DEFINE_PLS_ERROR_EXT(OB_ERR_FUNC_ONLY_IN_SQL, -9682, -1, "HY000", "function or pseudo-column may be used inside a SQL statement only", "function or pseudo-column '%s' may be used inside a SQL statement only", 204, "function or pseudo-column may be used inside a SQL statement only", "function or pseudo-column '%s' may be used inside a SQL statement only");
DEFINE_PLS_ERROR_EXT(OB_ERR_UNDEFINED, -9683, -1, "HY000", "object is not a procedure or is undefined", "'%s' is not a procedure or is undefined", 221, "object is not a procedure or is undefined", "'%s' is not a procedure or is undefined");
DEFINE_PLS_ERROR(OB_ERR_SUBTYPE_NOTNULL_MISMATCH, -9684, -1, "HY000", "subtype of a not null type must also be not null", 366, "subtype of a not null type must also be not null");
DEFINE_ORACLE_ERROR(OB_ERR_BIND_VAR_NOT_EXIST, -9685, -1, "HY000", "bind variable does not exist", 1006, "bind variable does not exist");
DEFINE_PLS_ERROR_EXT(OB_ERR_CURSOR_IN_OPEN_DYNAMIC_SQL, -9686, -1, "HY000", "cursor cannot be used in dynamic SQL OPEN statement", "cursor '%.*s' cannot be used in dynamic SQL OPEN statement", 455, "cursor cannot be used in dynamic SQL OPEN statement", "cursor '%.*s' cannot be used in dynamic SQL OPEN statement");
DEFINE_ORACLE_ERROR_EXT(OB_ERR_INVALID_INPUT_ARGUMENT, -9687, -1, "HY000", "input value for argument", "input value for argument #%d is not valid", 28106, "input value for argument", "input value for argument #%d is not valid");
DEFINE_ORACLE_ERROR(OB_ERR_CLIENT_IDENTIFIER_TOO_LONG, -9688, -1, "HY000", "Client identifier is too long", 28264, "Client identifier is too long");
DEFINE_ORACLE_ERROR(OB_ERR_INVALID_NAMESPACE_VALUE, -9689, -1, "HY000", "Invalid NameSpace Value", 28267, "Invalid NameSpace Value");
DEFINE_ORACLE_ERROR(OB_ERR_INVALID_NAMESPACE_BEG, -9690, -1, "HY000", "Namespace beginning with 'SYS_' is not allowed", 28265, "Namespace beginning with 'SYS_' is not allowed");
DEFINE_ORACLE_ERROR(OB_ERR_SESSION_CONTEXT_EXCEEDED, -9691, -1, "HY000", "The maximum size specified by the _session_context_size parameter was exceeded.", 28268, "The maximum size specified by the _session_context_size parameter was exceeded.");
DEFINE_PLS_ERROR(OB_ERR_NOT_CURSOR_NAME_IN_CURRENT_OF, -9692, -1, "HY000", "identifier in CURRENT OF clause is not a cursor name", 413, "identifier in CURRENT OF clause is not a cursor name");
DEFINE_PLS_ERROR_EXT(OB_ERR_NOT_FOR_UPDATE_CURSOR_IN_CURRENT_OF, -9693, -1, "HY000", "cursor must be declared with FOR UPDATE to use with CURRENT OF", "cursor '%.*s' must be declared with FOR UPDATE to use with CURRENT OF", 404, "cursor must be declared with FOR UPDATE to use with CURRENT OF", "cursor '%.*s' must be declared with FOR UPDATE to use with CURRENT OF");
DEFINE_ERROR_EXT(OB_ERR_DUP_SIGNAL_SET, -9694, ER_DUP_SIGNAL_SET, "42000", "Duplicate condition information item", "Duplicate condition information item '%s'");
DEFINE_ERROR_EXT(OB_ERR_SIGNAL_NOT_FOUND, -9695, ER_SIGNAL_NOT_FOUND, "02000", "Unhandled user-defined not found condition", "Unhandled user-defined not found condition");
DEFINE_ERROR(OB_ERR_INVALID_CONDITION_NUMBER, -9696, ER_DA_INVALID_CONDITION_NUMBER, "35000", "Invalid condition number");
DEFINE_ORACLE_ERROR(OB_ERR_RECURSIVE_SQL_LEVELS_EXCEEDED, -9697, -1, "HY000", "maximum number of recursive SQL levels exceeded", 36, "maximum number of recursive SQL levels (%ld) exceeded");
DEFINE_PLS_ERROR(OB_ERR_INVALID_SECTION, -9698, -1, "HY000", "invalid section for this type of Compound Trigger", 675, "invalid section for this type of Compound Trigger");
DEFINE_PLS_ERROR(OB_ERR_DUPLICATE_TRIGGER_SECTION, -9699, -1, "HY000", "duplicate Compound Triggers section", 676, "duplicate Compound Triggers section");
DEFINE_PLS_ERROR_EXT(OB_ERR_PARSE_PLSQL, -9700, -1, "HY000", "unexpected symbol", "Encountered the symbol %s when expecting one of the following: %s", 103, "Encountered the symbol A when expecting one of the following: B", "Encountered the symbol %s when expecting one of the following: %s");
DEFINE_ERROR(OB_ERR_SIGNAL_WARN, -9701, ER_SIGNAL_WARN, "01000", "Unhandled user-defined warning condition");

DEFINE_ERROR(OB_ERR_RESIGNAL_WITHOUT_ACTIVE_HANDLER, -9702, ER_RESIGNAL_WITHOUT_ACTIVE_HANDLER, "0K000", "RESIGNAL when handler not active");
DEFINE_ORACLE_ERROR(OB_ERR_CANNOT_UPDATE_VIRTUAL_COL_IN_TRG, -9703, -1, "HY000", "Virtual column cannot be updated in trigger body", 54029, "Virtual column cannot be updated in trigger body");
DEFINE_ORACLE_ERROR_EXT(OB_ERR_TRG_ORDER, -9704, ER_REFERENCED_TRIGGER_NOT_EXIST, "HY000", "must use LOG_USER_ERROR", "Referenced trigger '%s' for the given action time and event type does not exist.", 600, "must use LOG_USER_ERROR", "Trigger %s referenced in FOLLOWS or PRECEDES clause may not exist");
DEFINE_ORACLE_ERROR(OB_ERR_REF_ANOTHER_TABLE_IN_TRG, -9705, -1, "HY000", "cannot reference a trigger defined on another table", 25021, "cannot reference a trigger defined on another table");
DEFINE_ORACLE_ERROR(OB_ERR_REF_TYPE_IN_TRG, -9706, -1, "HY000", "cannot reference a trigger of a different type", 25022, "cannot reference a trigger of a different type");
DEFINE_ORACLE_ERROR(OB_ERR_REF_CYCLIC_IN_TRG, -9707, -1, "HY000", "Cyclic trigger dependency is not allowed", 25023, "Cyclic trigger dependency is not allowed");
DEFINE_ORACLE_ERROR(OB_ERR_CANNOT_SPECIFY_PRECEDES_IN_TRG, -9708, -1, "HY000", "cannot specify PRECEDES clause", 25025, "cannot specify PRECEDES clause");
DEFINE_ORACLE_ERROR(OB_ERR_CANNOT_PERFORM_DML_INSIDE_QUERY, -9709, -1, "HY000", "cannot perform a DML operation inside a query", 14551, "cannot perform a DML operation inside a query");
DEFINE_ORACLE_ERROR(OB_ERR_CANNOT_PERFORM_DDL_COMMIT_OR_ROLLBACK_INSIDE_QUERY_OR_DML_TIPS, -9710, -1, "HY000", "cannot perform a DDL commit or rollback inside a query or DML tips", 14552, "cannot perform a DDL commit or rollback inside a query or DML tips");
DEFINE_ORACLE_ERROR(OB_ERR_STATEMENT_STRING_IN_EXECUTE_IMMEDIATE_IS_NULL_OR_ZERO_LENGTH, -9711, -1, "HY000", "statement string in EXECUTE IMMEDIATE is NULL or 0 length", 06535, "statement string in EXECUTE IMMEDIATE is NULL or 0 length");
DEFINE_ORACLE_ERROR(OB_ERR_MISSING_INTO_KEYWORD, -9712, -1, "HY000", "missing INTO keyword", 925, "missing INTO keyword");
DEFINE_ORACLE_ERROR(OB_ERR_CLAUSE_RETURN_ILLEGAL, -9713, -1, "HY000", "RETURNING clause must be used with INSERT, UPDATE, or DELETE statements", 6547, "RETURNING clause must be used with INSERT, UPDATE, or DELETE statements");
DEFINE_ORACLE_ERROR(OB_ERR_NAME_HAS_TOO_MANY_PARTS, -9714, -1, "HY000", "name has too many parts", 6563, "name has too many parts");
DEFINE_ORACLE_ERROR(OB_ERR_LOB_SPAN_TRANSACTION, -9715, -1, "HY000", "LOB locators cannot span transactions", 22990, "LOB locators cannot span transactions");
DEFINE_ORACLE_ERROR(OB_ERR_INVALID_MULTISET, -9716, -1, "HY000", "MULTISET expression not allowed", 22903, "MULTISET expression not allowed");
DEFINE_ORACLE_ERROR(OB_ERR_INVALID_CAST_UDT, -9717, -1, "HY000", "invalid CAST to a type that is not a nested table or VARRAY", 22907, "invalid CAST to a type that is not a nested table or VARRAY");
DEFINE_ORACLE_ERROR(OB_ERR_POLICY_EXIST, -9718, -1, "HY000", "policy already exists", 28101, "policy already exists");
DEFINE_ORACLE_ERROR(OB_ERR_POLICY_NOT_EXIST, -9719, -1, "HY000", "policy does not exist", 28102, "policy does not exist");
DEFINE_ORACLE_ERROR(OB_ERR_ADD_POLICY_TO_SYS_OBJECT, -9720, -1, "HY000", "adding a policy to an object owned by SYS is not allowed", 28103, "adding a policy to an object owned by SYS is not allowed");
DEFINE_ORACLE_ERROR(OB_ERR_INVALID_INPUT_STRING, -9721, -1, "HY000", "input value for %s is not valid", 28104, "input value for %s is not valid");
DEFINE_ORACLE_ERROR(OB_ERR_SEC_COLUMN_ON_VIEW, -9722, -1, "HY000", "cannot create security relevant column policy in an object view", 28105, "cannot create security relevant column policy in an object view");
DEFINE_ORACLE_ERROR(OB_ERR_INVALID_INPUT_FOR_ARGUMENT, -9723, -1, "HY000", "input value for argument %s is not valid", 28106, "input value for argument %s is not valid");
DEFINE_ORACLE_ERROR(OB_ERR_POLICY_DISABLED, -9724, -1, "HY000", "policy was disabled", 28107, "policy was disabled");
DEFINE_ORACLE_ERROR(OB_ERR_CIRCULAR_POLICIES, -9725, -1, "HY000", "circular security policies detected", 28108, "circular security policies detected");
DEFINE_ORACLE_ERROR(OB_ERR_TOO_MANY_POLICIES, -9726, -1, "HY000", "the number of related policies has exceeded the limit of 16", 28109, "the number of related policies has exceeded the limit of 16");
DEFINE_ORACLE_ERROR(OB_ERR_POLICY_FUNCTION, -9727, -1, "HY000", "policy function or package %.*s.%.*s has error", 28110, "policy function or package %.*s.%.*s has error");
DEFINE_ORACLE_ERROR(OB_ERR_NO_PRIV_EVAL_PREDICATE, -9728, -1, "HY000", "insufficient privilege to evaluate policy predicate", 28111, "insufficient privilege to evaluate policy predicate");
DEFINE_ORACLE_ERROR(OB_ERR_EXECUTE_POLICY_FUNCTION, -9729, -1, "HY000", "failed to execute policy function", 28112, "failed to execute policy function");
DEFINE_ORACLE_ERROR(OB_ERR_POLICY_PREDICATE, -9730, -1, "HY000", "policy predicate has error", 28113, "policy predicate has error");
DEFINE_ORACLE_ERROR(OB_ERR_NO_PRIV_DIRECT_PATH_ACCESS, -9731, -1, "HY000", "insufficient privileges to do direct path access", 28116, "insufficient privileges to do direct path access");
DEFINE_ORACLE_ERROR(OB_ERR_INTEGRITY_CONSTRAINT_VIOLATED, -9732, -1, "HY000", "integrity constraint violated - parent record not found", 28117, "integrity constraint violated - parent record not found");
DEFINE_ORACLE_ERROR(OB_ERR_POLICY_GROUP_EXIST, -9733, -1, "HY000", "policy group already exists", 28118, "policy group already exists");
DEFINE_ORACLE_ERROR(OB_ERR_POLICY_GROUP_NOT_EXIST, -9734, -1, "HY000", "policy group does not exist", 28119, "policy group does not exist");
DEFINE_ORACLE_ERROR(OB_ERR_DRIVING_CONTEXT_EXIST, -9735, -1, "HY000", "driving context already exists", 28120, "driving context already exists");
DEFINE_ORACLE_ERROR(OB_ERR_DRIVING_CONTEXT_NOT_EXIST, -9736, -1, "HY000", "driving context does not exist", 28121, "driving context does not exist");
DEFINE_ORACLE_ERROR(OB_ERR_UPDATE_DEFAULT_GROUP, -9737, -1, "HY000", "can not update SYS_DEFAULT policy group", 28122, "can not update SYS_DEFAULT policy group");
DEFINE_ORACLE_ERROR(OB_ERR_CONTEXT_CONTAIN_INVALID_GROUP, -9738, -1, "HY000", "Driving context %.*s,%.*s contains invalid group %.*s", 28123, "Driving context %.*s,%.*s contains invalid group %.*s");
DEFINE_ORACLE_ERROR(OB_ERR_INVALID_SEC_COLUMN_TYPE, -9739, -1, "HY000", "Column %.*s in sec_relevant_cols cannot be of an object data type", 28124, "Column %.*s in sec_relevant_cols cannot be of an object data type");
DEFINE_ORACLE_ERROR(OB_ERR_UNPROTECTED_VIRTUAL_COLUMN, -9740, -1, "HY000", "A protected base column was referenced in an unprotected virtual column expression", 28125, "A protected base column was referenced in an unprotected virtual column expression");
DEFINE_ORACLE_ERROR(OB_ERR_ATTRIBUTE_ASSOCIATION, -9741, -1, "HY000", "Attribute association failed for policy %.*s", 28126, "Attribute association failed for policy %.*s");
DEFINE_ORACLE_ERROR(OB_ERR_MERGE_INTO_WITH_POLICY, -9742, -1, "HY000", "The MERGE INTO syntax does not support the security policy", 28132, "The MERGE INTO syntax does not support the security policy");
DEFINE_ERROR_EXT(OB_ERR_SP_NO_DROP_SP, -9743, ER_SP_NO_DROP_SP, "HY000", "Can't drop or alter a procedure/function from within another stored routine.", "Can't drop or alter a '%s' from within another stored routine.");
DEFINE_ORACLE_ERROR(OB_ERR_RECOMPILATION_OBJECT, -9744, -1, "HY000", "errors during recompilation/revalidation of object", 4045, "errors during recompilation/revalidation of %.*s.%.*s");
DEFINE_ORACLE_ERROR(OB_ERR_VARIABLE_NOT_IN_SELECT_LIST, -9745, -1, "HY000", "variable not in select list", 1007, "variable not in select list");
DEFINE_ORACLE_ERROR(OB_ERR_MULTI_RECORD, -9746, -1, "HY000", "coercion into multiple record targets not supported", 494, "coercion into multiple record targets not supported");
DEFINE_ERROR(OB_ERR_MALFORMED_PS_PACKET, -9747, -1, "HY000", "malformed ps packet");
DEFINE_ERROR(OB_ERR_VIEW_SELECT_CONTAIN_QUESTIONMARK, -9748, 1351, "HY000", "View's SELECT contains a variable or parameter");
DEFINE_ORACLE_ERROR(OB_ERR_OBJECT_NOT_EXIST, -9749, -1, "HY000", "object does not exist", 6564, "object does not exist", "object %.*s does not exist");
DEFINE_ORACLE_ERROR(OB_ERR_TABLE_OUT_OF_RANGE, -9750, -1, "HY000", "PL/SQL: index for PL/SQL table out of range for host language array", 6513, "PL/SQL: index for PL/SQL table out of range for host language array");
DEFINE_ERROR_EXT(OB_ERR_WRONG_USAGE, -9751, ER_WRONG_USAGE, "HY000", "Incorrect usage", "Incorrect usage of %s", 600, "Incorrect usage", "Incorrect usage of %s");
DEFINE_PLS_ERROR(OB_ERR_FORALL_ON_REMOTE_TABLE, -9752, -1, "HY000", "FORALL INSERT/UPDATE/DELETE not support on remote tables", 739, "FORALL INSERT/UPDATE/DELETE not support on remote tables");
DEFINE_ORACLE_ERROR(OB_ERR_SEQUENCE_NOT_DEFINE, -9753, -1, "HY000", "sequence is not yet defined in this session", 8002, "sequence is not yet defined in this session");
DEFINE_ERROR_EXT(OB_ERR_DEBUG_ID_NOT_EXIST, -9754, -1, "HY000", "debug_session_id does not exist", "debug_session_id = %u does not exist");
DEFINE_ORACLE_ERROR_EXT(OB_ERR_TABLE_NO_MLOG, -9755, -1, "HY000", "table does not have a materialized view log", "table `%s`.`%s` does not have a materialized view log", 23413, "table does not have a materialized view log", "table %s.%s does not have a materialized view log");
DEFINE_ORACLE_ERROR_EXT(OB_ERR_MLOG_EXIST, -9756, -1, "HY000", "a materialized view log already exists on table", "a materialized view log already exists on table `%s`", 12000, "a materialized view log already exists on table", "a materialized view log already exists on table %s");
DEFINE_ORACLE_ERROR_EXT(OB_ERR_MVIEW_NOT_EXIST, -9757, -1, "HY000", "materialized view does not exist", "materialized view `%s`.`%s` does not exist", 12003, "materialized view does not exist", "materialized view %s.%s does not exist");
DEFINE_ORACLE_ERROR_EXT(OB_ERR_MVIEW_EXIST, -9758, -1, "HY000", "materialized view already exists", "materialized view `%s`.`%s` already exists", 12006, "materialized view already exists", "materialized view %s.%s already exists");
DEFINE_ORACLE_ERROR_EXT(OB_ERR_MLOG_IS_YOUNGER, -9759, -1, "HY000", "materialized view log younger than last refresh", "materialized view log on `%s`.`%s` younger than last refresh", 12034, "materialized view log younger than last refresh", "materialized view log on %s.%s younger than last refresh");
DEFINE_ORACLE_ERROR_EXT(OB_ERR_MVIEW_CAN_NOT_FAST_REFRESH, -9760, -1, "HY000", "cannot fast refresh materialized view", "cannot fast refresh materialized view `%s`.`%s`", 12052, "cannot fast refresh materialized view", "cannot fast refresh materialized view %s.%s");
DEFINE_ORACLE_ERROR_EXT(OB_ERR_MVIEW_NEVER_REFRESH, -9761, -1, "HY000", "cannot explicitly refresh a NEVER REFRESH materialized view", "cannot explicitly refresh a NEVER REFRESH materialized view (`%s`)", 23538, "cannot explicitly refresh a NEVER REFRESH materialized view", "cannot explicitly refresh a NEVER REFRESH materialized view (%s)");
DEFINE_ERROR(OB_ERR_CLIENT_LOCAL_FILES_DISABLED, -9762, ER_CLIENT_LOCAL_FILES_DISABLED, "42000", "Loading local data is disabled; this must be enabled on both the client and server sides");
DEFINE_ORACLE_ERROR(OB_ERR_OUT_PARAM_NOT_BIND_VAR, -9763, -1, "HY000", "output parameter not a bind variable", 6577, "output parameter not a bind variable");
DEFINE_ORACLE_ERROR_EXT(OB_ERR_TIME_EARLIER_THAN_SYSDATE, -9764, -1, "HY000", "the parameter must evaluate to a time in the future", "the parameter %s must evaluate to a time in the future", 23420, "the parameter must evaluate to a time in the future", "the parameter %s must evaluate to a time in the future");
DEFINE_PLS_ERROR_EXT(OB_ERR_NOT_FUNC_NAME, -9765, -1, "HY000", "object 'string' must be of type function or array to be used this way", "object '%.*s' must be of type function or array to be used this way", 224, "object 'string' must be of type function or array to be used this way", "object '%.*s' must be of type function or array to be used this way");

////////////////////////////////////////////////////////////////
//error code for OBKV [-10500, -10700)
////////////////////////////////////////////////////////////////
DEFINE_ERROR(OB_ERR_KV_GLOBAL_INDEX_ROUTE, -10500, -1, "HY000", "incorrect route for obkv global index, client router should refresh.");
DEFINE_ERROR(OB_TTL_NOT_ENABLE, -10501, -1, "HY000", "TTL feature is not enabled");
DEFINE_ERROR_EXT(OB_TTL_COLUMN_NOT_EXIST, -10502, -1, "HY000", "TTL column not exists", "TTL column '%.*s' not exists");
DEFINE_ERROR_EXT(OB_TTL_COLUMN_TYPE_NOT_SUPPORTED, -10503, -1, "HY000", "Column type is not supported in TTL definition", "Column type of '%.*s' is not supported for TTL definition");
DEFINE_ERROR_EXT(OB_TTL_CMD_NOT_ALLOWED, -10504, -1, "HY000", "TTL command is not allowed", "TTL command is not allowed, current TTL status is '%s'");
DEFINE_ERROR(OB_TTL_NO_TASK_RUNNING, -10505, -1, "HY000", "No TTL task is running, please try trigger a new TTL task");
DEFINE_ERROR(OB_TTL_TENANT_IS_RESTORE, -10506, -1, "HY000", "Cannot execute TTL task during tenant is restore");
DEFINE_ERROR(OB_TTL_INVALID_HBASE_TTL, -10507, -1, "HY000", "Time to live of hbase table must be greater than 0");
DEFINE_ERROR(OB_TTL_INVALID_HBASE_MAXVERSIONS, -10508, -1, "HY000", "MaxVersions of hbase table must be greater than 0");
DEFINE_ERROR_EXT(OB_KV_CREDENTIAL_NOT_MATCH, -10509, -1, "HY000", "OBKV credential not match", "Access denied, credential '%.*s' not match '%.*s'");
DEFINE_ERROR_EXT(OB_KV_ROWKEY_COUNT_NOT_MATCH, -10510, -1, "HY000", "OBKV rowkey column count not match", "Rowkey column count not match, schema rowkey count is '%ld', input rowkey count is '%ld'");
DEFINE_ERROR_EXT(OB_KV_COLUMN_TYPE_NOT_MATCH, -10511, -1, "HY000", "OBKV column type not match", "Column type for '%.*s' not match, schema column type is '%.*s', input column type is '%.*s'");
DEFINE_ERROR_EXT(OB_KV_COLLATION_MISMATCH, -10512, -1, "HY000", "OBKV collation type not match", "Collation type for '%.*s' not match, schema collation type is '%.*s', input collation type is '%.*s'");
DEFINE_ERROR_EXT(OB_KV_SCAN_RANGE_MISSING, -10513, -1, "HY000", "OBKV scan range missing", "Scan range missing, input scan range cell count is '%ld', which should equal to rowkey count '%ld'");
DEFINE_ERROR(OB_KV_ODP_TIMEOUT, -10650, -1, "HY000", "ODP process timeout");

////////////////////////////////////////////////////////////////
//error code for SQL [-11000 ---- -12000)
////////////////////////////////////////////////////////////////
DEFINE_ERROR(OB_ERR_VALUES_CLAUSE_NEED_HAVE_COLUMN, -11000, ER_VALUES_CLAUSE_NEED_HAVE_COLUMN, "HY000", "Each row of a VALUES clause must have at least one column, unless when used as source in an INSERT statement.");
DEFINE_ERROR(OB_ERR_VALUES_CLAUSE_CANNOT_USE_DEFAULT_VALUES, -11001, ER_VALUES_CLAUSE_CANNOT_USE_DEFAULT_VALUES, "HY000", "A VALUES clause cannot use DEFAULT values, unless used as a source in an INSERT statement.");
DEFINE_ORACLE_ERROR_EXT(OB_WRONG_PARTITION_NAME, -11002, ER_WRONG_PARTITION_NAME, "HY000", "Incorrect partition name", "Incorrect partition name '%.*s'", 20000, "invalid partition name", "'%.*s' invalid partition name");
DEFINE_ERROR_EXT(OB_ERR_PLUGIN_IS_NOT_LOADED, -11003, ER_PLUGIN_IS_NOT_LOADED, "HY000", "Plugin is not loaded", "Plugin '%.*s' is not loaded");
//11004 : OB_EST_DEVIA_TOO_LARGE
DEFINE_ORACLE_ERROR(OB_ERR_HAS_TYPE_OR_TABLE_DEPENDENT, -11005, -1, "HY000", "cannot drop or replace a type with type or table dependents", 2303, "cannot drop or replace a type with type or table dependents");
DEFINE_ORACLE_ERROR(OB_ERR_REPLACE_TYPE_WITH_TABLE_DEPENDENT, -11006, -1, "HY000", "cannot replace a type with table dependents", 22866, "cannot replace a type with table dependents");
DEFINE_ERROR_EXT(OB_ERR_UNKNOWN_AUTHID, -11007, ER_UNKNOWN_AUTHID, "HY000", "Unknown authorization ID", "Unknown authorization ID `%.*s`@`%.*s`");
DEFINE_ERROR_EXT(OB_ERR_NO_GRANT_DEFINED_FOR_USER, -11008, ER_NONEXISTING_GRANT, "42000", "There is no such grant defined for user", "There is no such grant defined for user '%.*s' on host '%.*s'");
DEFINE_ERROR_EXT(OB_ERR_USER_ALREADY_EXISTS, -11009, ER_USER_ALREADY_EXISTS, "HY000", "Authorization ID already exists", "Authorization ID '%.*s'@'%.*s' already exists");
DEFINE_ORACLE_ERROR(OB_ERR_ARGUMENT_SHOULD_CONSTANT_OR_GROUP_EXPR, -11010, -1, "HY000", "Argument should be a constant or a function of expressions in GROUP BY.", 30497, "Argument should be a constant or a function of expressions in GROUP BY.");
DEFINE_ERROR(OB_ERR_QUERY_RANGE_MEMORY_EXHAUSTED, -11011, -1, "HY000", "query range memory exhausted");
DEFINE_ERROR_EXT(OB_CANNOT_USER_IF_EXISTS, -11012, ER_CANNOT_USER_IF_EXISTS, "HY000", "User operation failed", "User %.*s does not exist");


DEFINE_ORACLE_ERROR(OB_ERR_ARGUMENT_SHOULD_CONSTANT_OR_GROUP_EXPR, -11010, -1, "HY000", "Argument should be a constant or a function of expressions in GROUP BY.", 30497, "Argument should be a constant or a function of expressions in GROUP BY.");

////////////////////////////////////////////////////////////////
// tenant snapshot and tenant clone error codes [-12000 ~ -12100)
////////////////////////////////////////////////////////////////
DEFINE_ERROR_EXT_DEP(OB_TENANT_SNAPSHOT_NOT_EXIST, -12000, -1, "HY000", "Tenant snapshot does not exist", "Tenant snapshot \'%.*s\' does not exist");
DEFINE_ERROR_EXT_DEP(OB_TENANT_SNAPSHOT_EXIST, -12001, -1, "HY000", "Tenant snapshot already exist", "Tenant snapshot \'%.*s\' already exist");
DEFINE_ERROR_EXT_DEP(OB_TENANT_SNAPSHOT_TIMEOUT, -12002, -1, "HY000", "Tenant snapshot task timeout", "Tenant snapshot task timeout. %.*s");
DEFINE_ERROR_EXT_DEP(OB_CLONE_TENANT_TIMEOUT, -12003, -1, "HY000", "Clone tenant timeout", "Clone tenant timeout. %.*s");
DEFINE_ERROR_EXT_DEP(OB_ERR_CLONE_TENANT, -12004, -1, "HY000", "Tenant clone job failed", "%.*s");
DEFINE_ERROR_EXT_DEP(OB_ERR_TENANT_SNAPSHOT, -12005, -1, "HY000", "Tenant snapshot task failed", "%.*s");
DEFINE_ERROR_EXT_DEP(OB_TENANT_SNAPSHOT_LOCK_CONFLICT, -12006, -1, "HY000", "Tenant snapshot lock conflict", "%s");

////////////////////////////////////////////////////////////////
// !!! text/blob || clob/blob erro code
// for compat we cant not remove this errno!!!!
////////////////////////////////////////////////////////////////
DEFINE_ORACLE_ERROR(OB_CLOB_ONLY_SUPPORT_WITH_MULTIBYTE_FUN, -22998, -1, "HY000", "CLOB or NCLOB in multibyte character set not supported", 22998, "CLOB or NCLOB in multibyte character set not supported");
DEFINE_ORACLE_ERROR_EXT(OB_ERR_UPDATE_ON_EXPR, -38104, -1, "HY000", "Columns referenced in the ON Clause cannot be updated", "Columns referenced in the ON Clause cannot be updated:'%.*s'.'%.*s'", 38104, "Columns referenced in the ON Clause cannot be updated", "Columns referenced in the ON Clause cannot be updated:'%.*s'.'%.*s'");
DEFINE_ORACLE_ERROR(OB_ERR_UPDATE_TWICE, -30926, -1, "HY000", "unable to get a stable set of rows in the source tables", 30926, "unable to get a stable set of rows in the source tables");
DEFINE_ORACLE_ERROR(OB_ERR_SPECIFIED_ROW_NO_LONGER_EXISTS, -38105, -1, "HY000", "specified row no longer exists", 8006, "specified row no longer exists");
