From 43664fcb68006aac921f5ffa384a87552cfe6a12 Mon Sep 17 00:00:00 2001 From: sundechao Date: Fri, 5 Jul 2024 15:18:55 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9purge=20recyclebin=E6=9D=83?= =?UTF-8?q?=E9=99=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/gausskernel/optimizer/commands/tablecmds.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/gausskernel/optimizer/commands/tablecmds.cpp b/src/gausskernel/optimizer/commands/tablecmds.cpp index 8d7f7d942..ea45df167 100755 --- a/src/gausskernel/optimizer/commands/tablecmds.cpp +++ b/src/gausskernel/optimizer/commands/tablecmds.cpp @@ -32373,6 +32373,15 @@ void ExecutePurge(PurgeStmt *stmt) break; } case PURGE_RECYCLEBIN: { + Oid userId = GetUserId(); + /* + * Superusers bypass all permission checking. + * Database Security: Support seperation of privilege. + */ + if (!(superuser_arg(userId) || systemDBA_arg(userId))) { + ereport(ERROR, + (errmsg("Only superuser can do purge recyclebin operation."))); + } RbCltPurgeRecyclebin(); break; }