Fix show recyclebin problem

This commit is contained in:
obdev
2022-11-07 04:05:39 +00:00
committed by wangzelin.wzl
parent 30c702d322
commit 1f70807e5f

View File

@ -1296,19 +1296,10 @@ int ObShowResolver::resolve(const ParseNode &parse_tree)
LOG_WARN("parse tree is wrong", K(ret), K(parse_tree.num_child_));
} else {
show_resv_ctx.stmt_type_ = stmt::T_SHOW_RECYCLEBIN;
if (real_tenant_id == OB_SYS_TENANT_ID) {
GEN_SQL_STEP_1(ObShowSqlSet::SHOW_SYS_RECYCLEBIN);
GEN_SQL_STEP_2(ObShowSqlSet::SHOW_SYS_RECYCLEBIN,
OB_SYS_DATABASE_NAME,
OB_ALL_RECYCLEBIN_TNAME,
OB_SYS_TENANT_ID);
} else {
GEN_SQL_STEP_1(ObShowSqlSet::SHOW_RECYCLEBIN);
GEN_SQL_STEP_2(ObShowSqlSet::SHOW_RECYCLEBIN,
REAL_NAME(OB_SYS_DATABASE_NAME, OB_ORA_SYS_SCHEMA_NAME),
REAL_NAME(OB_ALL_RECYCLEBIN_TNAME, OB_ALL_VIRTUAL_RECYCLEBIN_REAL_AGENT_ORA_TNAME),
is_oracle_mode ? real_tenant_id : sql_tenant_id);
}
GEN_SQL_STEP_1(ObShowSqlSet::SHOW_RECYCLEBIN);
GEN_SQL_STEP_2(ObShowSqlSet::SHOW_RECYCLEBIN,
REAL_NAME(OB_SYS_DATABASE_NAME, OB_ORA_SYS_SCHEMA_NAME),
REAL_NAME(OB_ALL_RECYCLEBIN_TNAME, OB_ALL_VIRTUAL_RECYCLEBIN_REAL_AGENT_ORA_TNAME));
}
}();
break;
@ -2817,13 +2808,8 @@ DEFINE_SHOW_CLAUSE_SET(SHOW_CREATE_TRIGGER,
NULL);
DEFINE_SHOW_CLAUSE_SET(SHOW_RECYCLEBIN,
"SELECT OBJECT_NAME, ORIGINAL_NAME, TYPE, CREATETIME",
"SELECT OBJECT_NAME, ORIGINAL_NAME, case TYPE when 1 then 'TABLE' when 2 then 'INDEX' when 3 then 'VIEW' when 4 then 'DATABASE' when 5 then 'AUX_VP' when 6 then 'TRIGGER' when 7 then 'TENANT' else 'INVALID' end as TYPE, gmt_create as CREATETIME FROM %s.%s WHERE tenant_id = %lu AND TYPE != 7 AND TYPE != 8 AND TYPE != 9",
R"(SELECT "OBJECT_NAME", "ORIGINAL_NAME", CASE "TYPE" WHEN 1 THEN 'TABLE' WHEN 2 THEN 'INDEX' WHEN 3 THEN 'VIEW' WHEN 4 THEN 'DATABASE' when 5 then 'AUX_VP' when 6 then 'TRIGGER' WHEN 7 THEN 'TENANT' ELSE 'INVALID' END AS "TYPE", "GMT_CREATE" AS "CREATETIME" FROM %s.%s WHERE TENANT_ID = %lu AND TYPE != 7 AND TYPE != 8 AND TYPE != 9)",
NULL);
DEFINE_SHOW_CLAUSE_SET(SHOW_SYS_RECYCLEBIN,
"SELECT OBJECT_NAME, ORIGINAL_NAME, TYPE, CREATETIME",
"SELECT OBJECT_NAME, ORIGINAL_NAME, case TYPE when 1 then 'TABLE' when 2 then 'INDEX' when 3 then 'VIEW' when 4 then 'DATABASE' when 5 then 'AUX_VP' when 6 then 'TRIGGER' when 7 then 'TENANT' else 'INVALID' end as TYPE, gmt_create as CREATETIME FROM %s.%s where (tenant_id = %lu OR TYPE = 7) AND TYPE != 8 AND TYPE != 9",
NULL,
"SELECT OBJECT_NAME, ORIGINAL_NAME, case TYPE when 1 then 'TABLE' when 2 then 'INDEX' when 3 then 'VIEW' when 4 then 'DATABASE' when 5 then 'AUX_VP' when 6 then 'TRIGGER' when 7 then 'TENANT' else 'INVALID' end as TYPE, gmt_create as CREATETIME FROM %s.%s WHERE TYPE != 8 AND TYPE != 9",
R"(SELECT "OBJECT_NAME", "ORIGINAL_NAME", CASE "TYPE" WHEN 1 THEN 'TABLE' WHEN 2 THEN 'INDEX' WHEN 3 THEN 'VIEW' WHEN 4 THEN 'DATABASE' when 5 then 'AUX_VP' when 6 then 'TRIGGER' WHEN 7 THEN 'TENANT' ELSE 'INVALID' END AS "TYPE", "GMT_CREATE" AS "CREATETIME" FROM %s.%s WHERE TYPE != 8 AND TYPE != 9)",
NULL);
DEFINE_SHOW_CLAUSE_SET(SHOW_RESTORE_PREVIEW,
NULL,