postgresql/src/bin/pg_dump
Tom Lane fd496129d1 Clean up some mess in row-security patches.
Fix unsafe coding around PG_TRY in RelationBuildRowSecurity: can't change
a variable inside PG_TRY and then use it in PG_CATCH without marking it
"volatile".  In this case though it seems saner to avoid that by doing
a single assignment before entering the TRY block.

I started out just intending to fix that, but the more I looked at the
row-security code the more distressed I got.  This patch also fixes
incorrect construction of the RowSecurityPolicy cache entries (there was
not sufficient care taken to copy pass-by-ref data into the cache memory
context) and a whole bunch of sloppiness around the definition and use of
pg_policy.polcmd.  You can't use nulls in that column because initdb will
mark it NOT NULL --- and I see no particular reason why a null entry would
be a good idea anyway, so changing initdb's behavior is not the right
answer.  The internal value of '\0' wouldn't be suitable in a "char" column
either, so after a bit of thought I settled on using '*' to represent ALL.
Chasing those changes down also revealed that somebody wasn't paying
attention to what the underlying values of ACL_UPDATE_CHR etc really were,
and there was a great deal of lackadaiscalness in the catalogs.sgml
documentation for pg_policy and pg_policies too.

This doesn't pretend to be a complete code review for the row-security
stuff, it just fixes the things that were in my face while dealing with
the bugs in RelationBuildRowSecurity.
2015-01-24 16:16:22 -05:00
..
po Translation updates 2014-12-15 00:25:35 -05:00
.gitignore Convert cvsignore to gitignore, and add .gitignore for build targets. 2010-09-22 12:57:04 +02:00
common.c Update copyright for 2015 2015-01-06 11:43:47 -05:00
compress_io.c Update copyright for 2015 2015-01-06 11:43:47 -05:00
compress_io.h Update copyright for 2015 2015-01-06 11:43:47 -05:00
dumputils.c Update copyright for 2015 2015-01-06 11:43:47 -05:00
dumputils.h Update copyright for 2015 2015-01-06 11:43:47 -05:00
keywords.c Update copyright for 2015 2015-01-06 11:43:47 -05:00
Makefile Update copyright for 2015 2015-01-06 11:43:47 -05:00
nls.mk Add missing source files to nls.mk 2014-07-15 10:10:42 -04:00
parallel.c vacuumdb: enable parallel mode 2015-01-23 15:02:45 -03:00
parallel.h Update copyright for 2015 2015-01-06 11:43:47 -05:00
pg_backup_archiver.c Replace a bunch more uses of strncpy() with safer coding. 2015-01-24 13:05:42 -05:00
pg_backup_archiver.h pg_dump: Reduce use of global variables 2014-10-14 15:00:55 -03:00
pg_backup_custom.c pg_dump: Reduce use of global variables 2014-10-14 15:00:55 -03:00
pg_backup_db.c Replace a bunch more uses of strncpy() with safer coding. 2015-01-24 13:05:42 -05:00
pg_backup_db.h pg_dump: Reduce use of global variables 2014-10-14 15:00:55 -03:00
pg_backup_directory.c Update copyright for 2015 2015-01-06 11:43:47 -05:00
pg_backup_null.c pg_dump: Reduce use of global variables 2014-10-14 15:00:55 -03:00
pg_backup_tar.c pg_dump: Reduce use of global variables 2014-10-14 15:00:55 -03:00
pg_backup_tar.h Fix tar files emitted by pg_dump and pg_basebackup to be POSIX conformant. 2012-09-28 15:19:15 -04:00
pg_backup_utils.c Update copyright for 2015 2015-01-06 11:43:47 -05:00
pg_backup_utils.h Update copyright for 2015 2015-01-06 11:43:47 -05:00
pg_backup.h Fix portability breakage in pg_dump. 2015-01-11 13:28:26 -05:00
pg_dump_sort.c Update copyright for 2015 2015-01-06 11:43:47 -05:00
pg_dump.c Clean up some mess in row-security patches. 2015-01-24 16:16:22 -05:00
pg_dump.h Update copyright for 2015 2015-01-06 11:43:47 -05:00
pg_dumpall.c Update copyright for 2015 2015-01-06 11:43:47 -05:00
pg_restore.c pg_dump: Reduce use of global variables 2014-10-14 15:00:55 -03:00