Commit d92bc83
committed
PL/pgSQL: Nested CALL with transactions
So far, a nested CALL or DO in PL/pgSQL would not establish a context
where transaction control statements were allowed. This fixes that by
handling CALL and DO specially in PL/pgSQL, passing the atomic/nonatomic
execution context through and doing the required management around
transaction boundaries.
Reviewed-by: Tomas Vondra <tomas.vondra@2ndquadrant.com>1 parent c2d4eb1 commit d92bc83
File tree
13 files changed
+235
-59
lines changed- doc/src/sgml
- src
- backend
- executor
- tcop
- include
- executor
- tcop
- pl/plpgsql/src
- expected
- sql
13 files changed
+235
-59
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
3463 | 3463 | | |
3464 | 3464 | | |
3465 | 3465 | | |
3466 | | - | |
3467 | | - | |
3468 | | - | |
| 3466 | + | |
| 3467 | + | |
| 3468 | + | |
3469 | 3469 | | |
3470 | 3470 | | |
3471 | 3471 | | |
| |||
3495 | 3495 | | |
3496 | 3496 | | |
3497 | 3497 | | |
| 3498 | + | |
| 3499 | + | |
| 3500 | + | |
| 3501 | + | |
| 3502 | + | |
| 3503 | + | |
| 3504 | + | |
| 3505 | + | |
| 3506 | + | |
| 3507 | + | |
| 3508 | + | |
| 3509 | + | |
| 3510 | + | |
| 3511 | + | |
3498 | 3512 | | |
3499 | 3513 | | |
3500 | 3514 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2041 | 2041 | | |
2042 | 2042 | | |
2043 | 2043 | | |
| 2044 | + | |
| 2045 | + | |
| 2046 | + | |
2044 | 2047 | | |
2045 | | - | |
| 2048 | + | |
2046 | 2049 | | |
2047 | 2050 | | |
2048 | 2051 | | |
| |||
2121 | 2124 | | |
2122 | 2125 | | |
2123 | 2126 | | |
2124 | | - | |
| 2127 | + | |
2125 | 2128 | | |
2126 | 2129 | | |
2127 | 2130 | | |
| |||
2172 | 2175 | | |
2173 | 2176 | | |
2174 | 2177 | | |
2175 | | - | |
| 2178 | + | |
2176 | 2179 | | |
2177 | 2180 | | |
2178 | 2181 | | |
| |||
2203 | 2206 | | |
2204 | 2207 | | |
2205 | 2208 | | |
| 2209 | + | |
| 2210 | + | |
| 2211 | + | |
| 2212 | + | |
| 2213 | + | |
| 2214 | + | |
| 2215 | + | |
| 2216 | + | |
| 2217 | + | |
| 2218 | + | |
| 2219 | + | |
| 2220 | + | |
| 2221 | + | |
2206 | 2222 | | |
2207 | 2223 | | |
2208 | 2224 | | |
2209 | | - | |
| 2225 | + | |
2210 | 2226 | | |
2211 | 2227 | | |
2212 | 2228 | | |
| |||
2638 | 2654 | | |
2639 | 2655 | | |
2640 | 2656 | | |
2641 | | - | |
| 2657 | + | |
2642 | 2658 | | |
2643 | | - | |
2644 | | - | |
2645 | | - | |
2646 | 2659 | | |
2647 | 2660 | | |
2648 | 2661 | | |
| |||
2705 | 2718 | | |
2706 | 2719 | | |
2707 | 2720 | | |
2708 | | - | |
| 2721 | + | |
2709 | 2722 | | |
2710 | | - | |
2711 | | - | |
2712 | | - | |
2713 | 2723 | | |
2714 | 2724 | | |
2715 | 2725 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
382 | 382 | | |
383 | 383 | | |
384 | 384 | | |
385 | | - | |
| 385 | + | |
386 | 386 | | |
387 | 387 | | |
388 | 388 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
86 | 86 | | |
87 | 87 | | |
88 | 88 | | |
| 89 | + | |
89 | 90 | | |
90 | 91 | | |
91 | 92 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
20 | 20 | | |
21 | 21 | | |
22 | 22 | | |
| 23 | + | |
23 | 24 | | |
24 | 25 | | |
25 | 26 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | | - | |
| 2 | + | |
3 | 3 | | |
4 | 4 | | |
5 | 5 | | |
6 | | - | |
7 | | - | |
| 6 | + | |
| 7 | + | |
8 | 8 | | |
9 | 9 | | |
10 | 10 | | |
| |||
13 | 13 | | |
14 | 14 | | |
15 | 15 | | |
16 | | - | |
| 16 | + | |
17 | 17 | | |
18 | | - | |
19 | | - | |
20 | | - | |
21 | | - | |
22 | | - | |
23 | | - | |
24 | | - | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
25 | 25 | | |
26 | 26 | | |
27 | 27 | | |
| |||
51 | 51 | | |
52 | 52 | | |
53 | 53 | | |
54 | | - | |
| 54 | + | |
55 | 55 | | |
56 | | - | |
| 56 | + | |
57 | 57 | | |
58 | 58 | | |
59 | 59 | | |
| |||
90 | 90 | | |
91 | 91 | | |
92 | 92 | | |
93 | | - | |
| 93 | + | |
94 | 94 | | |
95 | 95 | | |
96 | 96 | | |
97 | 97 | | |
98 | 98 | | |
99 | | - | |
100 | | - | |
| 99 | + | |
| 100 | + | |
101 | 101 | | |
102 | 102 | | |
103 | 103 | | |
| |||
130 | 130 | | |
131 | 131 | | |
132 | 132 | | |
| 133 | + | |
| 134 | + | |
| 135 | + | |
| 136 | + | |
| 137 | + | |
| 138 | + | |
| 139 | + | |
| 140 | + | |
| 141 | + | |
| 142 | + | |
| 143 | + | |
| 144 | + | |
| 145 | + | |
| 146 | + | |
| 147 | + | |
| 148 | + | |
| 149 | + | |
| 150 | + | |
| 151 | + | |
| 152 | + | |
| 153 | + | |
| 154 | + | |
| 155 | + | |
| 156 | + | |
| 157 | + | |
| 158 | + | |
| 159 | + | |
| 160 | + | |
| 161 | + | |
| 162 | + | |
| 163 | + | |
| 164 | + | |
| 165 | + | |
| 166 | + | |
| 167 | + | |
| 168 | + | |
| 169 | + | |
| 170 | + | |
| 171 | + | |
| 172 | + | |
| 173 | + | |
| 174 | + | |
| 175 | + | |
| 176 | + | |
| 177 | + | |
| 178 | + | |
| 179 | + | |
| 180 | + | |
| 181 | + | |
| 182 | + | |
| 183 | + | |
133 | 184 | | |
134 | 185 | | |
135 | 186 | | |
| |||
0 commit comments