回收站功能优化,优先判断对象名称然后判断回收站是否为空,减少不必要
的系统表访问。
This commit is contained in:
@ -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;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user