|
8 | 8 | * |
9 | 9 | * |
10 | 10 | * 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 $ |
12 | 12 | * |
13 | 13 | * NOTES |
14 | 14 | * See acl.h. |
@@ -304,24 +304,60 @@ restrict_and_check_grant(bool is_grant, AclMode avail_goptions, bool all_privs, |
304 | 304 | if (is_grant) |
305 | 305 | { |
306 | 306 | 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 | +} |
310 | 319 | 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 | +} |
314 | 332 | } |
315 | 333 | else |
316 | 334 | { |
317 | 335 | 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 | +} |
321 | 348 | 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 | +} |
325 | 361 | } |
326 | 362 |
|
327 | 363 | returnthis_privileges; |
@@ -3046,7 +3082,7 @@ aclcheck_error_col(AclResult aclerr, AclObjectKind objectkind, |
3046 | 3082 | caseACLCHECK_NO_PRIV: |
3047 | 3083 | ereport(ERROR, |
3048 | 3084 | (errcode(ERRCODE_INSUFFICIENT_PRIVILEGE), |
3049 | | -errmsg("permission denied for column%s of relation%s", |
| 3085 | +errmsg("permission denied for column\"%s\" of relation\"%s\"", |
3050 | 3086 | colname,objectname))); |
3051 | 3087 | break; |
3052 | 3088 | caseACLCHECK_NOT_OWNER: |
|