]> granicus.if.org Git - postgresql/commit
Remove undocumented restriction against duplicate partition key columns.
authorTom Lane <tgl@sss.pgh.pa.us>
Thu, 19 Jul 2018 19:41:46 +0000 (15:41 -0400)
committerTom Lane <tgl@sss.pgh.pa.us>
Thu, 19 Jul 2018 19:41:46 +0000 (15:41 -0400)
commit24097167558bafbc1ea32f67ea5840e5650ad4e7
tree757367ffd4e568bca76a04d493a648c90d01a5fa
parent90371a24a5367c357d7b046383dad8ee352b938b
Remove undocumented restriction against duplicate partition key columns.

transformPartitionSpec rejected duplicate simple partition columns
(e.g., "PARTITION BY RANGE (x,x)") but paid no attention to expression
columns, resulting in inconsistent behavior.  Worse, cases like
"PARTITION BY RANGE (x,(x))") were accepted but would then result in
dump/reload failures, since the expression (x) would get simplified
to a plain column later.

There seems no better reason for this restriction than there was for
the one against duplicate included index columns (cf commit 701fd0bbc),
so let's just remove it.

Back-patch to v10 where this code was added.

Report and patch by Yugo Nagata.

Discussion: https://postgr.es/m/20180712165939.36b12aff.nagata@sraoss.co.jp
src/backend/commands/tablecmds.c
src/test/regress/expected/create_table.out
src/test/regress/sql/create_table.sql