Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit153012c

Browse files
committed
Fix warning messages in restrict_and_check_grant() to include the column name
when warning about column-level privileges. This is more useful than beforeand makes the apparent duplication complained of by Piyush Newe not soduplicate. Also fix lack of quote marks in a related message text.Back-patch to 8.4, where column-level privileges were introduced.Stephen Frost
1 parent66c2cc2 commit153012c

File tree

1 file changed

+50
-14
lines changed

1 file changed

+50
-14
lines changed

‎src/backend/catalog/aclchk.c

Lines changed: 50 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
*
99
*
1010
* IDENTIFICATION
11-
* $PostgreSQL: pgsql/src/backend/catalog/aclchk.c,v 1.163 2010/02/26 02:00:35 momjian Exp $
11+
* $PostgreSQL: pgsql/src/backend/catalog/aclchk.c,v 1.164 2010/03/06 23:10:42 tgl Exp $
1212
*
1313
* NOTES
1414
* See acl.h.
@@ -304,24 +304,60 @@ restrict_and_check_grant(bool is_grant, AclMode avail_goptions, bool all_privs,
304304
if (is_grant)
305305
{
306306
if (this_privileges==0)
307-
ereport(WARNING,
308-
(errcode(ERRCODE_WARNING_PRIVILEGE_NOT_GRANTED),
309-
errmsg("no privileges were granted for \"%s\"",objname)));
307+
{
308+
if (objkind==ACL_KIND_COLUMN&&colname)
309+
ereport(WARNING,
310+
(errcode(ERRCODE_WARNING_PRIVILEGE_NOT_GRANTED),
311+
errmsg("no privileges were granted for column \"%s\" of relation \"%s\"",
312+
colname,objname)));
313+
else
314+
ereport(WARNING,
315+
(errcode(ERRCODE_WARNING_PRIVILEGE_NOT_GRANTED),
316+
errmsg("no privileges were granted for \"%s\"",
317+
objname)));
318+
}
310319
elseif (!all_privs&&this_privileges!=privileges)
311-
ereport(WARNING,
312-
(errcode(ERRCODE_WARNING_PRIVILEGE_NOT_GRANTED),
313-
errmsg("not all privileges were granted for \"%s\"",objname)));
320+
{
321+
if (objkind==ACL_KIND_COLUMN&&colname)
322+
ereport(WARNING,
323+
(errcode(ERRCODE_WARNING_PRIVILEGE_NOT_GRANTED),
324+
errmsg("not all privileges were granted for column \"%s\" of relation \"%s\"",
325+
colname,objname)));
326+
else
327+
ereport(WARNING,
328+
(errcode(ERRCODE_WARNING_PRIVILEGE_NOT_GRANTED),
329+
errmsg("not all privileges were granted for \"%s\"",
330+
objname)));
331+
}
314332
}
315333
else
316334
{
317335
if (this_privileges==0)
318-
ereport(WARNING,
319-
(errcode(ERRCODE_WARNING_PRIVILEGE_NOT_REVOKED),
320-
errmsg("no privileges could be revoked for \"%s\"",objname)));
336+
{
337+
if (objkind==ACL_KIND_COLUMN&&colname)
338+
ereport(WARNING,
339+
(errcode(ERRCODE_WARNING_PRIVILEGE_NOT_REVOKED),
340+
errmsg("no privileges could be revoked for column \"%s\" of relation \"%s\"",
341+
colname,objname)));
342+
else
343+
ereport(WARNING,
344+
(errcode(ERRCODE_WARNING_PRIVILEGE_NOT_REVOKED),
345+
errmsg("no privileges could be revoked for \"%s\"",
346+
objname)));
347+
}
321348
elseif (!all_privs&&this_privileges!=privileges)
322-
ereport(WARNING,
323-
(errcode(ERRCODE_WARNING_PRIVILEGE_NOT_REVOKED),
324-
errmsg("not all privileges could be revoked for \"%s\"",objname)));
349+
{
350+
if (objkind==ACL_KIND_COLUMN&&colname)
351+
ereport(WARNING,
352+
(errcode(ERRCODE_WARNING_PRIVILEGE_NOT_REVOKED),
353+
errmsg("not all privileges could be revoked for column \"%s\" of relation \"%s\"",
354+
colname,objname)));
355+
else
356+
ereport(WARNING,
357+
(errcode(ERRCODE_WARNING_PRIVILEGE_NOT_REVOKED),
358+
errmsg("not all privileges could be revoked for \"%s\"",
359+
objname)));
360+
}
325361
}
326362

327363
returnthis_privileges;
@@ -3046,7 +3082,7 @@ aclcheck_error_col(AclResult aclerr, AclObjectKind objectkind,
30463082
caseACLCHECK_NO_PRIV:
30473083
ereport(ERROR,
30483084
(errcode(ERRCODE_INSUFFICIENT_PRIVILEGE),
3049-
errmsg("permission denied for column%s of relation%s",
3085+
errmsg("permission denied for column\"%s\" of relation\"%s\"",
30503086
colname,objectname)));
30513087
break;
30523088
caseACLCHECK_NOT_OWNER:

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp