pgsql: Allow generalized expression syntax for partition bounds

From: Peter Eisentraut <peter(at)eisentraut(dot)org>
To: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: pgsql: Allow generalized expression syntax for partition bounds
Date: 2019-01-25 10:37:22
Message-ID: E1gmyrS-0002as-QA@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Allow generalized expression syntax for partition bounds

Previously, only literals were allowed. This change allows general
expressions, including functions calls, which are evaluated at the
time the DDL command is executed.

Besides offering some more functionality, it simplifies the parser
structures and removes some inconsistencies in how the literals were
handled.

Author: Kyotaro Horiguchi, Tom Lane, Amit Langote
Reviewed-by: Peter Eisentraut <peter(dot)eisentraut(at)2ndquadrant(dot)com>
Discussion: https://www.postgresql.org/message-id/flat/9f88b5e0-6da2-5227-20d0-0d7012beaa1c(at)lab(dot)ntt(dot)co(dot)jp/

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/7c079d7417a8f2d4bf5144732e2f85117db9214f

Modified Files
--------------
doc/src/sgml/ref/alter_table.sgml | 6 +-
doc/src/sgml/ref/create_table.sgml | 19 +--
src/backend/commands/tablecmds.c | 9 ++
src/backend/optimizer/util/clauses.c | 4 +-
src/backend/parser/gram.y | 60 +-------
src/backend/parser/parse_agg.c | 10 ++
src/backend/parser/parse_expr.c | 5 +
src/backend/parser/parse_func.c | 3 +
src/backend/parser/parse_utilcmd.c | 213 +++++++++++++++++++----------
src/include/optimizer/clauses.h | 3 +
src/include/parser/parse_node.h | 1 +
src/include/utils/partcache.h | 6 +
src/test/regress/expected/create_table.out | 91 +++++++++---
src/test/regress/sql/create_table.sql | 51 ++++++-
14 files changed, 314 insertions(+), 167 deletions(-)

Responses

Browse pgsql-committers by date

  From Date Subject
Next Message Heikki Linnakangas 2019-01-25 12:55:22 pgsql: Fix comments that claimed that mblen() only looks at first byte.
Previous Message Tom Lane 2019-01-24 22:02:15 pgsql: Remove _configthreadlocale() calls in ecpg test suite.