git.postgresql.org Git - postgresql.git/commit

git projects / postgresql.git / commit
? search:
summary | shortlog | log | commit | commitdiff | tree
(parent: b1a5287) | patch
Fix bogus variable-mangling in security_barrier_replace_vars().
2014年9月24日 19:59:34 +0000 (15:59 -0400)
2014年9月24日 19:59:34 +0000 (15:59 -0400)
commit 3f6f9260e308a331e6809d5309b17d1613ff900f
Fix bogus variable-mangling in security_barrier_replace_vars().

This function created new Vars with varno different from varnoold, which
is a condition that should never prevail before setrefs.c does the final
variable-renumbering pass. The created Vars could not be seen as equal()
to normal Vars, which among other things broke equivalence-class processing
for them. The consequences of this were indeed visible in the regression
tests, in the form of failure to propagate constants as one would expect.
I stumbled across it while poking at bug #11457 --- after intentionally
disabling join equivalence processing, the security-barrier regression
tests started falling over with fun errors like "could not find pathkey
item to sort", because of failure to match the corrupted Vars to normal
ones.
src/backend/optimizer/prep/prepsecurity.c diff | blob | blame | history
src/test/regress/expected/updatable_views.out diff | blob | blame | history
This is the main PostgreSQL git repository.
RSS Atom

AltStyle によって変換されたページ (->オリジナル) /