- Notifications
You must be signed in to change notification settings - Fork5k
Commit9007d4e
committed
Fix psql \d's query for identifying parent triggers.
The original coding (fromc33869c) failed with "more than one rowreturned by a subquery used as an expression" if there were unrelatedtriggers of the same tgname on parent partitioned tables. (That'spossible because statement-level triggers don't get inherited.) Fixby applying LIMIT 1 after sorting the candidates by inheritance level.Also, wrap the subquery in a CASE so that we don't have to execute it atall when the trigger is visibly non-inherited. Aside from saving somecycles, this avoids the need for a confusing and undocumented NULLIF().While here, tweak the format of the emitted query to look a bitnicer for "psql -E", and add some explanation of this subquery,because it badly needs it.Report and patch by Justin Pryzby (with some editing by me).Back-patch to v13 where the faulty code came in.Discussion:https://postgr.es/m/20211217154356.GJ17618@telsasoft.com1 parent839f963 commit9007d4e
File tree
3 files changed
+49
-8
lines changed- src
- bin/psql
- test/regress
- expected
- sql
3 files changed
+49
-8
lines changedLines changed: 30 additions & 8 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
2990 | 2990 |
| |
2991 | 2991 |
| |
2992 | 2992 |
| |
2993 |
| - | |
| 2993 | + | |
| 2994 | + | |
| 2995 | + | |
| 2996 | + | |
| 2997 | + | |
| 2998 | + | |
| 2999 | + | |
| 3000 | + | |
| 3001 | + | |
| 3002 | + | |
| 3003 | + | |
| 3004 | + | |
| 3005 | + | |
| 3006 | + | |
| 3007 | + | |
| 3008 | + | |
| 3009 | + | |
| 3010 | + | |
| 3011 | + | |
| 3012 | + | |
| 3013 | + | |
| 3014 | + | |
| 3015 | + | |
| 3016 | + | |
| 3017 | + | |
| 3018 | + | |
| 3019 | + | |
| 3020 | + | |
| 3021 | + | |
| 3022 | + | |
2994 | 3023 |
| |
2995 | 3024 |
| |
2996 |
| - | |
2997 |
| - | |
2998 |
| - | |
2999 |
| - | |
3000 |
| - | |
3001 |
| - | |
3002 |
| - | |
3003 | 3025 |
| |
3004 | 3026 |
| |
3005 | 3027 |
| |
|
Lines changed: 14 additions & 0 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
2122 | 2122 |
| |
2123 | 2123 |
| |
2124 | 2124 |
| |
| 2125 | + | |
| 2126 | + | |
| 2127 | + | |
| 2128 | + | |
| 2129 | + | |
| 2130 | + | |
| 2131 | + | |
| 2132 | + | |
| 2133 | + | |
| 2134 | + | |
| 2135 | + | |
| 2136 | + | |
| 2137 | + | |
| 2138 | + | |
2125 | 2139 |
| |
2126 | 2140 |
| |
2127 | 2141 |
| |
|
Lines changed: 5 additions & 0 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
1428 | 1428 |
| |
1429 | 1429 |
| |
1430 | 1430 |
| |
| 1431 | + | |
| 1432 | + | |
| 1433 | + | |
| 1434 | + | |
| 1435 | + | |
1431 | 1436 |
| |
1432 | 1437 |
| |
1433 | 1438 |
| |
|
0 commit comments
Comments
(0)