回收站功能优化,优先判断对象名称然后判断回收站是否为空,减少不必要

的系统表访问。
This commit is contained in:
April01xxx
2022-06-13 12:16:22 +08:00
parent caa1d67578
commit 047ac2060d

View File

@ -1829,12 +1829,12 @@ bool TrIsRefRbObjectEx(Oid classid, Oid objid, const char *objname)
return false;
}
/* Note: we preserve rule origin name when RbDrop. */
if (TrRbIsEmptyDb(u_sess->proc_cxt.MyDatabaseId)) {
if (classid != RewriteRelationId && objname && strncmp(objname, "BIN$", 4) != 0) {
return false;
}
if (classid != RewriteRelationId && objname && strncmp(objname, "BIN$", 4) != 0) {
/* Note: we preserve rule origin name when RbDrop. */
if (TrRbIsEmptyDb(u_sess->proc_cxt.MyDatabaseId)) {
return false;
}
@ -1873,7 +1873,7 @@ void TrForbidAccessRbObject(Oid classid, Oid objid, const char *objname)
return;
}
if (TrRbIsEmptyDb(u_sess->proc_cxt.MyDatabaseId) || !TrMaybeRbObject(classid, objid, objname)) {
if (!TrMaybeRbObject(classid, objid, objname) || TrRbIsEmptyDb(u_sess->proc_cxt.MyDatabaseId)) {
return;
}