Fix permission-checking bug reported by Tim Burgess 10-Feb-03 (this time
authorTom Lane <tgl@sss.pgh.pa.us>
Wed, 14 Jan 2004 23:01:55 +0000 (23:01 +0000)
committerTom Lane <tgl@sss.pgh.pa.us>
Wed, 14 Jan 2004 23:01:55 +0000 (23:01 +0000)
commitcfd7fb7ed4b66da97f88338d991843fa7e2fe59d
treef433f1281eba10a7ab2e563fa39eaf3228df32e8
parent01d320d421b3f82de799e86e8b9adac27c2f9a26
Fix permission-checking bug reported by Tim Burgess 10-Feb-03 (this time
for sure...).  Rather than relying on the query context of a rangetable
entry to identify what permissions it wants checked, store a full AclMode
mask in each RTE, and check exactly those bits.  This allows an RTE
specifying, say, INSERT privilege on a view to be copied into a derived
UPDATE query without changing meaning.  Per recent discussion thread.
initdb forced due to change of stored rule representation.
18 files changed:
src/backend/commands/view.c
src/backend/executor/execMain.c
src/backend/executor/nodeSubplan.c
src/backend/nodes/copyfuncs.c
src/backend/nodes/equalfuncs.c
src/backend/nodes/outfuncs.c
src/backend/nodes/readfuncs.c
src/backend/optimizer/path/allpaths.c
src/backend/parser/analyze.c
src/backend/parser/parse_clause.c
src/backend/parser/parse_relation.c
src/backend/rewrite/rewriteDefine.c
src/backend/rewrite/rewriteHandler.c
src/include/catalog/catversion.h
src/include/executor/executor.h
src/include/nodes/parsenodes.h
src/include/parser/parse_clause.h
src/include/utils/acl.h