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

git projects / postgresql.git / commit
? search:
summary | shortlog | log | commit | commitdiff | tree
(parent: 4bc4cfe) | patch
Improve parsetree representation of special functions such as CURRENT_DATE.
2016年8月17日 00:33:01 +0000 (20:33 -0400)
2016年8月17日 00:33:01 +0000 (20:33 -0400)
commit 0bb51aa96783e8a6c473c2b5e3725e23e95db834
Improve parsetree representation of special functions such as CURRENT_DATE.

We implement a dozen or so parameterless functions that the SQL standard
defines special syntax for. Up to now, that was done by converting them
into more or less ad-hoc constructs such as "'now'::text::date". That's
messy for multiple reasons: it exposes what should be implementation
details to users, and performance is worse than it needs to be in several
cases. To improve matters, invent a new expression node type
SQLValueFunction that can represent any of these parameterless functions.

Bump catversion because this changes stored parsetrees for rules.

Discussion: <30058.1463091294@sss.pgh.pa.us>
24 files changed:
contrib/pg_stat_statements/pg_stat_statements.c diff | blob | blame | history
src/backend/executor/execQual.c diff | blob | blame | history
src/backend/nodes/copyfuncs.c diff | blob | blame | history
src/backend/nodes/equalfuncs.c diff | blob | blame | history
src/backend/nodes/nodeFuncs.c diff | blob | blame | history
src/backend/nodes/outfuncs.c diff | blob | blame | history
src/backend/nodes/readfuncs.c diff | blob | blame | history
src/backend/optimizer/util/clauses.c diff | blob | blame | history
src/backend/parser/gram.y diff | blob | blame | history
src/backend/parser/parse_expr.c diff | blob | blame | history
src/backend/parser/parse_target.c diff | blob | blame | history
src/backend/utils/adt/date.c diff | blob | blame | history
src/backend/utils/adt/ruleutils.c diff | blob | blame | history
src/backend/utils/adt/timestamp.c diff | blob | blame | history
src/include/catalog/catversion.h diff | blob | blame | history
src/include/nodes/nodes.h diff | blob | blame | history
src/include/nodes/primnodes.h diff | blob | blame | history
src/include/utils/date.h diff | blob | blame | history
src/include/utils/timestamp.h diff | blob | blame | history
src/pl/plpgsql/src/pl_exec.c diff | blob | blame | history
src/test/regress/expected/rowsecurity.out diff | blob | blame | history
src/test/regress/expected/rules.out diff | blob | blame | history
src/test/regress/expected/select_views.out diff | blob | blame | history
src/test/regress/expected/select_views_1.out diff | blob | blame | history
This is the main PostgreSQL git repository.
RSS Atom

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