]> granicus.if.org Git - postgresql/commit
Fix pg_get_ruledef() so that negative numeric constants are parenthesized.
authorTom Lane <tgl@sss.pgh.pa.us>
Fri, 6 Jun 2008 18:00:00 +0000 (18:00 +0000)
committerTom Lane <tgl@sss.pgh.pa.us>
Fri, 6 Jun 2008 18:00:00 +0000 (18:00 +0000)
commit0bb7588aeeaaacd8a193c2ff45fbb07e50a64ad2
tree60ff393499357ae6b177d17008d9e3a6129b83e6
parent52726527206f24c78703da73df700820903df183
Fix pg_get_ruledef() so that negative numeric constants are parenthesized.
This is needed because :: casting binds more tightly than minus, so for
example -1::integer is not the same as (-1)::integer, and there are cases
where the difference is important.  In particular this caused a failure
in SELECT DISTINCT ... ORDER BY ... where expressions that should have
matched were seen as different by the parser; but I suspect that there
could be other cases where failure to parenthesize leads to subtler
semantic differences in reloaded rules.  Per report from Alexandr Popov.
src/backend/utils/adt/ruleutils.c