aboutsummaryrefslogtreecommitdiff
path: root/contrib/postgres_fdw/postgres_fdw.h
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2014-01-21 16:34:31 -0500
committerTom Lane <tgl@sss.pgh.pa.us>2014-01-21 16:34:31 -0500
commit0950d67ee597797a5a93a00290d52fa7d34cffb7 (patch)
tree144ff13908a8fe59409f415707c5a6ef796ebc0c /contrib/postgres_fdw/postgres_fdw.h
parent3888b73f9ac9351071f5c2621e2a00ba8012746f (diff)
downloadpostgresql-0950d67ee597797a5a93a00290d52fa7d34cffb7.tar.gz
postgresql-0950d67ee597797a5a93a00290d52fa7d34cffb7.zip
Tweak parse location assignment for CURRENT_DATE and related constructs.
All these constructs generate parse trees consisting of a Const and a run-time type coercion (perhaps a FuncExpr or a CoerceViaIO). Modify the raw parse output so that we end up with the original token's location attached to the type coercion node while the Const has location -1; before, it was the other way around. This makes no difference in terms of what exprLocation() will say about the parse tree as a whole, so it should not have any user-visible impact. The point of changing it is that we do not want contrib/pg_stat_statements to treat these constructs as replaceable constants. It will do the right thing if the Const has location -1 rather than a valid location. This is a pretty ugly hack, but then this code is ugly already; we should someday replace this translation with special-purpose parse node(s) that would allow ruleutils.c to reconstruct the original query text. (See also commit 5d3fcc4c2e137417ef470d604fee5e452b22f6a7, which also hacked location assignment rules for the benefit of pg_stat_statements.) Back-patch to 9.2 where pg_stat_statements grew the ability to recognize replaceable constants. Kyotaro Horiguchi
Diffstat (limited to 'contrib/postgres_fdw/postgres_fdw.h')
0 files changed, 0 insertions, 0 deletions