aboutsummaryrefslogtreecommitdiff
path: root/src/backend/executor/execProcnode.c
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2020-11-16 16:39:59 -0500
committerTom Lane <tgl@sss.pgh.pa.us>2020-11-16 16:39:59 -0500
commit4025e6c46620048804467d2ad29d31aa9ba50387 (patch)
treeca0d049f6f3cd9e3bcda355279ceeb649d036c9b /src/backend/executor/execProcnode.c
parentad84ecc98d7e2ad81567094b8a6910b5078927a7 (diff)
downloadpostgresql-4025e6c46620048804467d2ad29d31aa9ba50387.tar.gz
postgresql-4025e6c46620048804467d2ad29d31aa9ba50387.zip
Do not return NULL for error cases in satisfies_hash_partition().
Since this function is used as a CHECK constraint condition, returning NULL is tantamount to returning TRUE, which would have the effect of letting in a row that doesn't satisfy the hash condition. Admittedly, the cases for which this is done should be unreachable in practice, but that doesn't make it any less a bad idea. It also seems like a dartboard was used to decide which error cases should throw errors as opposed to returning NULL. For the checks for NULL input values, I just switched it to returning false. There's some argument that an error would be better; but the case really should be can't-happen in a generated hash constraint, so it's likely not worth more code for. For the parent-relation-open-failure case, it seems like we might as well let relation_open throw an error, instead of having an impossible-to-diagnose constraint failure. Back-patch to v11 where this code came in. Discussion: https://postgr.es/m/24067.1605134819@sss.pgh.pa.us
Diffstat (limited to 'src/backend/executor/execProcnode.c')
0 files changed, 0 insertions, 0 deletions