Reserve table type, column id and errno for materialized view log

This commit is contained in:
leftgeek
2023-11-09 14:50:39 +00:00
committed by ob-robot
parent 98db7a6727
commit ef593860ca
8 changed files with 46 additions and 3 deletions

View File

@ -111,6 +111,7 @@ LABEL_ITEM_DEF(OB_SCHEMA_AUX_VP_INFO_VEC, ScheAuxVpInfoVe)
LABEL_ITEM_DEF(OB_SCHEMA_AUX_VP_NAME_VEC, ScheAuxVpNameVe)
LABEL_ITEM_DEF(OB_SCHEMA_LOB_META_INFO_VEC, ScheLobMInfoVec)
LABEL_ITEM_DEF(OB_SCHEMA_LOB_PIECE_INFO_VEC, ScheLobPInfoVec)
LABEL_ITEM_DEF(OB_SCHEMA_MLOG_INFO_VEC, ScheMLogInfoVec)
LABEL_ITEM_DEF(OB_SCHEMA_PRIV, SchemaPriv)
LABEL_ITEM_DEF(OB_SCHEMA_ID_VERSIONS, SchemaIdVersion)
LABEL_ITEM_DEF(OB_SCHEMA_CACHE_SYS_CACHE_MAP, ScheCacSysCacMa)
@ -695,7 +696,7 @@ struct InnerModIds
#undef LABEL_ITEM_DEF
};
enum { LABEL_COUNT_LIMIT = InnerModIds::OB_MOD_END };
STATIC_ASSERT(LABEL_COUNT_LIMIT == 452, "forbidden to add new label!!!");
STATIC_ASSERT(LABEL_COUNT_LIMIT == 453, "forbidden to add new label!!!");
};
#define ObNewModIds ObModIds

View File

@ -815,6 +815,8 @@ const int64_t MAX_ORACLE_SA_LABEL_TYPE_LENGTH = 15;
// table id range definition //
////////////////////////////////////////////////////////////
const uint64_t OB_MIN_GENERATED_COLUMN_ID = 2000;
const uint64_t OB_MIN_MLOG_COLUMN_ID = 8000;
const uint64_t OB_MAX_MLOG_COLUMN_ID = 9999;
const uint64_t OB_MIN_MV_COLUMN_ID = 10000;
const uint64_t OB_MIN_SHADOW_COLUMN_ID = 32767;
const uint64_t OB_MAX_SYS_POOL_ID = 100;

View File

@ -1062,6 +1062,9 @@ PCODE_DEF(OB_DIRECT_LOAD_CONTROL, 0x1604)
// PCODE_DEF(OB_FLUSH_LS_ARCHIVE, 0x1606)
// PCODE_DEF(OB_ACQUIRE_LS_TRANSFER_SCN, 0x1607)
// create materialized view log
// PCODE_DEF(OB_CREATE_MLOG, 0x1608)
// 160A-1610 for tenant clone
// PCODE_DEF(OB_CLONE_TENANT, 0x160A)
// PCODE_DEF(OB_CLONE_RESOURCE_POOL, 0x160B)

File diff suppressed because one or more lines are too long

View File

@ -2341,6 +2341,8 @@ DEFINE_ERROR_EXT(OB_ERR_WRONG_USAGE, -9751, ER_WRONG_USAGE, "HY000", "Incorrect
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");
////////////////////////////////////////////////////////////////
//error code for SQL [-11000 ---- -12000)

View File

@ -1784,6 +1784,8 @@ constexpr int OB_ERR_WRONG_USAGE = -9751;
constexpr int OB_ERR_FORALL_ON_REMOTE_TABLE = -9752;
constexpr int OB_ERR_SEQUENCE_NOT_DEFINE = -9753;
constexpr int OB_ERR_DEBUG_ID_NOT_EXIST = -9754;
constexpr int OB_ERR_TABLE_NO_MLOG = -9755;
constexpr int OB_ERR_MLOG_EXIST = -9756;
constexpr int OB_ERR_VALUES_CLAUSE_NEED_HAVE_COLUMN = -11000;
constexpr int OB_ERR_VALUES_CLAUSE_CANNOT_USE_DEFAULT_VALUES = -11001;
constexpr int OB_WRONG_PARTITION_NAME = -11002;
@ -3924,6 +3926,8 @@ constexpr int OB_ERR_INVALID_DATE_MSG_FMT_V2 = -4219;
#define OB_ERR_FORALL_ON_REMOTE_TABLE__USER_ERROR_MSG "FORALL INSERT/UPDATE/DELETE not support on remote tables"
#define OB_ERR_SEQUENCE_NOT_DEFINE__USER_ERROR_MSG "sequence is not yet defined in this session"
#define OB_ERR_DEBUG_ID_NOT_EXIST__USER_ERROR_MSG "debug_session_id = %u does not exist"
#define OB_ERR_TABLE_NO_MLOG__USER_ERROR_MSG "table `%s`.`%s` does not have a materialized view log"
#define OB_ERR_MLOG_EXIST__USER_ERROR_MSG "a materialized view log already exists on table `%s`"
#define OB_ERR_VALUES_CLAUSE_NEED_HAVE_COLUMN__USER_ERROR_MSG "Each row of a VALUES clause must have at least one column, unless when used as source in an INSERT statement."
#define OB_ERR_VALUES_CLAUSE_CANNOT_USE_DEFAULT_VALUES__USER_ERROR_MSG "A VALUES clause cannot use DEFAULT values, unless used as a source in an INSERT statement."
#define OB_WRONG_PARTITION_NAME__USER_ERROR_MSG "Incorrect partition name '%.*s'"
@ -6064,6 +6068,8 @@ constexpr int OB_ERR_INVALID_DATE_MSG_FMT_V2 = -4219;
#define OB_ERR_FORALL_ON_REMOTE_TABLE__ORA_USER_ERROR_MSG "PLS-00739: FORALL INSERT/UPDATE/DELETE not support on remote tables"
#define OB_ERR_SEQUENCE_NOT_DEFINE__ORA_USER_ERROR_MSG "ORA-08002: sequence is not yet defined in this session"
#define OB_ERR_DEBUG_ID_NOT_EXIST__ORA_USER_ERROR_MSG "ORA-00600: internal error code, arguments: -9754, debug_session_id = %u does not exist"
#define OB_ERR_TABLE_NO_MLOG__ORA_USER_ERROR_MSG "ORA-23413: table %s.%s does not have a materialized view log"
#define OB_ERR_MLOG_EXIST__ORA_USER_ERROR_MSG "ORA-12000: a materialized view log already exists on table %s"
#define OB_ERR_VALUES_CLAUSE_NEED_HAVE_COLUMN__ORA_USER_ERROR_MSG "ORA-00600: internal error code, arguments: -11000, Each row of a VALUES clause must have at least one column, unless when used as source in an INSERT statement."
#define OB_ERR_VALUES_CLAUSE_CANNOT_USE_DEFAULT_VALUES__ORA_USER_ERROR_MSG "ORA-00600: internal error code, arguments: -11001, A VALUES clause cannot use DEFAULT values, unless used as a source in an INSERT statement."
#define OB_WRONG_PARTITION_NAME__ORA_USER_ERROR_MSG "ORA-00600: internal error code, arguments: -11002, Incorrect partition name '%.*s'"
@ -6080,7 +6086,7 @@ constexpr int OB_ERR_INVALID_DATE_MSG_FMT_V2 = -4219;
#define OB_ERR_DATA_TOO_LONG_MSG_FMT_V2__ORA_USER_ERROR_MSG "ORA-12899: value too large for column %.*s (actual: %ld, maximum: %ld)"
#define OB_ERR_INVALID_DATE_MSG_FMT_V2__ORA_USER_ERROR_MSG "ORA-01861: Incorrect datetime value for column '%.*s' at row %ld"
extern int g_all_ob_errnos[2136];
extern int g_all_ob_errnos[2138];
const char *ob_error_name(const int oberr);
const char* ob_error_cause(const int oberr);

View File

@ -264,6 +264,7 @@ enum ObTableType
AUX_LOB_PIECE = 12,
AUX_LOB_META = 13,
EXTERNAL_TABLE = 14,
MATERIALIZED_VIEW_LOG = 15,
MAX_TABLE_TYPE
};

View File

@ -291,6 +291,8 @@ OB_STMT_TYPE_DEF_UNKNOWN_AT(T_CANCEL_RECOVER_TABLE, get_sys_tenant_alter_system_
// OB_STMT_TYPE_DEF(T_ALTER_SYSTEM_RESET_PARAMETER, get_sys_tenant_alter_system_priv, 292, ACTION_TYPE_ALTER_SYSTEM)
// OB_STMT_TYPE_DEF_UNKNOWN_AT(T_CLONE_TENANT, get_sys_tenant_alter_system_priv, 293)
// OB_STMT_TYPE_DEF_UNKNOWN_AT(T_RECYCLE_CLONE_JOB, get_sys_tenant_alter_system_priv, 294)
// OB_STMT_TYPE_DEF_UNKNOWN_AT(T_CREATE_MLOG, get_create_mlog_stmt_need_privs, 295)
// OB_STMT_TYPE_DEF_UNKNOWN_AT(T_DROP_MLOG, get_drop_mlog_stmt_need_privs, 296)
OB_STMT_TYPE_DEF_UNKNOWN_AT(T_MAX, err_stmt_type_priv, 500)
#endif