@@ -109,6 +109,52 @@ RETURNING test;
109
109
(1 row)
110
110
111
111
DROP TABLE test_updates.test_dummy;
112
+ /* cross-partition updates (& different tuple descs) */
113
+ TRUNCATE test_updates.test;
114
+ SET pg_pathman.enable_partitionrouter = ON;
115
+ SELECT *, (select count(*) from pg_attribute where attrelid = partition) as columns
116
+ FROM pathman_partition_list
117
+ ORDER BY range_min::int, range_max::int;
118
+ parent | partition | parttype | expr | range_min | range_max | columns
119
+ -------------------+----------------------+----------+------+-----------+-----------+---------
120
+ test_updates.test | test_updates.test_1 | 2 | val | 1 | 11 | 9
121
+ test_updates.test | test_updates.test_2 | 2 | val | 11 | 21 | 9
122
+ test_updates.test | test_updates.test_3 | 2 | val | 21 | 31 | 9
123
+ test_updates.test | test_updates.test_4 | 2 | val | 31 | 41 | 9
124
+ test_updates.test | test_updates.test_5 | 2 | val | 41 | 51 | 9
125
+ test_updates.test | test_updates.test_6 | 2 | val | 51 | 61 | 9
126
+ test_updates.test | test_updates.test_7 | 2 | val | 61 | 71 | 9
127
+ test_updates.test | test_updates.test_8 | 2 | val | 71 | 81 | 9
128
+ test_updates.test | test_updates.test_9 | 2 | val | 81 | 91 | 9
129
+ test_updates.test | test_updates.test_10 | 2 | val | 91 | 101 | 9
130
+ test_updates.test | test_updates.test_11 | 2 | val | 101 | 111 | 8
131
+ (11 rows)
132
+
133
+ INSERT INTO test_updates.test VALUES (105, 105);
134
+ UPDATE test_updates.test SET val = 106 WHERE val = 105 RETURNING *, tableoid::REGCLASS;
135
+ val | b | tableoid
136
+ -----+-----+----------------------
137
+ 106 | 105 | test_updates.test_11
138
+ (1 row)
139
+
140
+ UPDATE test_updates.test SET val = 115 WHERE val = 106 RETURNING *, tableoid::REGCLASS;
141
+ val | b | tableoid
142
+ -----+-----+----------------------
143
+ 115 | 105 | test_updates.test_12
144
+ (1 row)
145
+
146
+ UPDATE test_updates.test SET val = 95 WHERE val = 115 RETURNING *, tableoid::REGCLASS;
147
+ val | b | tableoid
148
+ -----+-----+----------------------
149
+ 95 | 105 | test_updates.test_10
150
+ (1 row)
151
+
152
+ UPDATE test_updates.test SET val = -1 WHERE val = 95 RETURNING *, tableoid::REGCLASS;
153
+ val | b | tableoid
154
+ -----+-----+----------------------
155
+ -1 | 105 | test_updates.test_13
156
+ (1 row)
157
+
112
158
DROP SCHEMA test_updates CASCADE;
113
- NOTICE: drop cascades to 13 other objects
159
+ NOTICE: drop cascades to 15 other objects
114
160
DROP EXTENSION pg_pathman;
0 commit comments