pgsql: Allow whole-row Vars to be used in partitioning expressions.

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: pgsql: Allow whole-row Vars to be used in partitioning expressions.
Date: 2019-12-25 20:44:21
Message-ID: E1ikDW1-0001Mb-QU@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Allow whole-row Vars to be used in partitioning expressions.

In the wake of commit 5b9312378, there's no particular reason
for this restriction (previously, it was problematic because of
the implied rowtype reference). A simple constraint on a whole-row
Var probably isn't that useful, but conceivably somebody would want
to pass one to a function that extracts a partitioning key. Besides
which, we're expending much more code to enforce the restriction than
we save by having it, since the latter quantity is now zero.
So drop the restriction.

Amit Langote

Discussion: https://postgr.es/m/CA+HiwqFUzjfj9HEsJtYWcr1SgQ_=iCAvQ=O2Sx6aQxoDu4OiHw@mail.gmail.com

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/bb4114a4e2c65f27931cc074214c051dba2876c3

Modified Files
--------------
src/backend/catalog/partition.c | 29 ++++++++--------------
src/backend/commands/tablecmds.c | 40 ++++++++----------------------
src/backend/commands/trigger.c | 11 ++------
src/backend/partitioning/partbounds.c | 4 +--
src/backend/utils/cache/partcache.c | 7 +-----
src/include/catalog/partition.h | 3 +--
src/test/regress/expected/create_table.out | 30 ++++++++++++++++++----
src/test/regress/sql/create_table.sql | 17 +++++++++----
8 files changed, 64 insertions(+), 77 deletions(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Peter Eisentraut 2019-12-25 20:58:36 Re: pgsql: Fix compiler warning for ppoll() on Cygwin
Previous Message Tom Lane 2019-12-25 19:46:09 pgsql: Remove equalPartitionDescs().