- Notifications
You must be signed in to change notification settings - Fork28
Commitfea5960
committed
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 theeffect of letting in a row that doesn't satisfy the hash condition.Admittedly, the cases for which this is done should be unreachablein practice, but that doesn't make it any less a bad idea. It alsoseems like a dartboard was used to decide which error cases shouldthrow errors as opposed to returning NULL.For the checks for NULL input values, I just switched it to returningfalse. There's some argument that an error would be better; but thecase 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 mightas well let relation_open throw an error, instead of having animpossible-to-diagnose constraint failure.Back-patch to v11 where this code came in.Discussion:https://postgr.es/m/24067.1605134819@sss.pgh.pa.us1 parent53c7b4f commitfea5960
File tree
2 files changed
+9
-14
lines changed- src
- backend/partitioning
- test/regress/expected
2 files changed
+9
-14
lines changedLines changed: 6 additions & 7 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
4653 | 4653 |
| |
4654 | 4654 |
| |
4655 | 4655 |
| |
| 4656 | + | |
| 4657 | + | |
4656 | 4658 |
| |
4657 | 4659 |
| |
4658 | 4660 |
| |
| |||
4677 | 4679 |
| |
4678 | 4680 |
| |
4679 | 4681 |
| |
4680 |
| - | |
| 4682 | + | |
4681 | 4683 |
| |
4682 |
| - | |
| 4684 | + | |
4683 | 4685 |
| |
4684 | 4686 |
| |
4685 | 4687 |
| |
| |||
4709 | 4711 |
| |
4710 | 4712 |
| |
4711 | 4713 |
| |
4712 |
| - | |
4713 |
| - | |
4714 |
| - | |
| 4714 | + | |
4715 | 4715 |
| |
4716 | 4716 |
| |
4717 | 4717 |
| |
4718 |
| - | |
4719 |
| - | |
| 4718 | + | |
4720 | 4719 |
| |
4721 | 4720 |
| |
4722 | 4721 |
| |
|
Lines changed: 3 additions & 7 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
10 | 10 |
| |
11 | 11 |
| |
12 | 12 |
| |
13 |
| - | |
14 |
| - | |
15 |
| - | |
16 |
| - | |
17 |
| - | |
| 13 | + | |
18 | 14 |
| |
19 | 15 |
| |
20 | 16 |
| |
| |||
34 | 30 |
| |
35 | 31 |
| |
36 | 32 |
| |
37 |
| - | |
| 33 | + | |
38 | 34 |
| |
39 | 35 |
| |
40 | 36 |
| |
41 | 37 |
| |
42 | 38 |
| |
43 | 39 |
| |
44 |
| - | |
| 40 | + | |
45 | 41 |
| |
46 | 42 |
| |
47 | 43 |
| |
|
0 commit comments
Comments
(0)