]> granicus.if.org Git - postgresql/commit
Fix multiple problems with satisfies_hash_partition.
authorRobert Haas <rhaas@postgresql.org>
Tue, 21 Nov 2017 18:06:32 +0000 (13:06 -0500)
committerRobert Haas <rhaas@postgresql.org>
Tue, 21 Nov 2017 18:06:32 +0000 (13:06 -0500)
commitf3b0897a1213f46b4d3a99a7f8ef3a4b32e03572
tree16559e0bebf8f5dd8a44a58af31abf4bd18123a6
parentde1d042f5979bc1388e9a6d52a4d445342b04932
Fix multiple problems with satisfies_hash_partition.

Fix the function header comment to describe the actual behavior.
Check that table OID, modulus, and remainder arguments are not NULL
before accessing them.  Check that the modulus and remainder are
sensible.  If the table OID doesn't exist, return NULL instead of
emitting an internal error, similar to what we do elsewhere.  Check
that the actual argument types match, or at least are binary coercible
to, the expected argument types.  Correctly handle invocation of this
function using the VARIADIC syntax.  Add regression tests.

Robert Haas and Amul Sul, per a report by Andreas Seltenreich and
subsequent followup investigation.

Discussion: http://postgr.es/m/871sl4sdrv.fsf@ansel.ydns.eu
src/backend/catalog/partition.c
src/test/regress/expected/hash_part.out [new file with mode: 0644]
src/test/regress/parallel_schedule
src/test/regress/serial_schedule
src/test/regress/sql/hash_part.sql [new file with mode: 0644]