Commit f11fbe3
Nikita Malakhov
Multiple TOAST tables support for TOAST API
TOAST mechanics supposes that all TOASTed columns of single table use one TOAST
table entity for TOASTed records. This TOAST table has strictly defined structure.
This is fine for reference TOAST mechanics but TOAST API supposes that custom
Toasters could use TOAST tables with different structure along with different
columns in a table could have different Toasters assigned. This requires that
regular table should have possibility to access several (different) TOAST tables.
Using Toasters with TOAST tables structure different from regular (generic) on
one table leads to segmentation fault. This patch is adressed to solve this problem.
This patch provides multiple TOAST tables support. Multiple TOAST tables support
consists of 2 new pg_class columns - reltoasterids and reltoastrelids. These
two columns contain arrays of Toaster OIDs and TOAST relation OIDs used by table
columns. New pg_class columns affect a lot of source code.
Author: Teodor Sigaev <teodor@sigaev.ru>
Author: Oleg Bartunov <obartunov@postgrespro.ru>
Author: Nikita Glukhov <n.gluhov@postgrespro.ru>
Author: Nikita Malakhov <n.malakhov@postgrespro.ru>1 parent 1f954e7 commit f11fbe3
File tree
69 files changed
+1309
-551
lines changed- contrib
- amcheck
- t
- pg_visibility
- expected
- sql
- pgstattuple
- expected
- sql
- test_decoding
- expected
- sql
- doc/src/sgml
- src
- backend
- access
- common
- heap
- toast
- bootstrap
- catalog
- commands
- postmaster
- replication/logical
- rewrite
- utils
- adt
- cache
- bin
- pg_amcheck
- t
- pg_dump
- pg_upgrade
- psql
- scripts
- t
- include
- access
- catalog
- utils
- test
- isolation/specs
- regress
- expected
- sql
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
69 files changed
+1309
-551
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
97 | 97 | | |
98 | 98 | | |
99 | 99 | | |
100 | | - | |
| 100 | + | |
101 | 101 | | |
102 | 102 | | |
103 | 103 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
114 | 114 | | |
115 | 115 | | |
116 | 116 | | |
117 | | - | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
| 120 | + | |
| 121 | + | |
| 122 | + | |
| 123 | + | |
118 | 124 | | |
119 | 125 | | |
120 | 126 | | |
| |||
154 | 160 | | |
155 | 161 | | |
156 | 162 | | |
| 163 | + | |
157 | 164 | | |
158 | 165 | | |
159 | 166 | | |
| |||
364 | 371 | | |
365 | 372 | | |
366 | 373 | | |
| 374 | + | |
367 | 375 | | |
368 | | - | |
| 376 | + | |
369 | 377 | | |
370 | | - | |
371 | | - | |
372 | | - | |
373 | | - | |
374 | | - | |
375 | | - | |
376 | | - | |
377 | | - | |
378 | | - | |
379 | | - | |
| 378 | + | |
| 379 | + | |
| 380 | + | |
| 381 | + | |
| 382 | + | |
| 383 | + | |
| 384 | + | |
| 385 | + | |
| 386 | + | |
| 387 | + | |
| 388 | + | |
| 389 | + | |
| 390 | + | |
| 391 | + | |
| 392 | + | |
| 393 | + | |
| 394 | + | |
| 395 | + | |
| 396 | + | |
| 397 | + | |
| 398 | + | |
| 399 | + | |
| 400 | + | |
| 401 | + | |
| 402 | + | |
| 403 | + | |
| 404 | + | |
| 405 | + | |
| 406 | + | |
| 407 | + | |
380 | 408 | | |
381 | 409 | | |
382 | 410 | | |
383 | 411 | | |
384 | 412 | | |
385 | 413 | | |
386 | 414 | | |
387 | | - | |
388 | | - | |
389 | | - | |
| 415 | + | |
390 | 416 | | |
391 | 417 | | |
392 | 418 | | |
| |||
535 | 561 | | |
536 | 562 | | |
537 | 563 | | |
538 | | - | |
539 | | - | |
540 | | - | |
541 | | - | |
542 | | - | |
543 | | - | |
| 564 | + | |
| 565 | + | |
| 566 | + | |
| 567 | + | |
| 568 | + | |
| 569 | + | |
| 570 | + | |
| 571 | + | |
| 572 | + | |
| 573 | + | |
| 574 | + | |
| 575 | + | |
| 576 | + | |
| 577 | + | |
| 578 | + | |
544 | 579 | | |
545 | 580 | | |
546 | 581 | | |
| |||
1157 | 1192 | | |
1158 | 1193 | | |
1159 | 1194 | | |
| 1195 | + | |
1160 | 1196 | | |
1161 | 1197 | | |
1162 | 1198 | | |
| |||
1169 | 1205 | | |
1170 | 1206 | | |
1171 | 1207 | | |
1172 | | - | |
| 1208 | + | |
1173 | 1209 | | |
1174 | 1210 | | |
1175 | 1211 | | |
| |||
1189 | 1225 | | |
1190 | 1226 | | |
1191 | 1227 | | |
1192 | | - | |
| 1228 | + | |
1193 | 1229 | | |
1194 | 1230 | | |
1195 | 1231 | | |
| |||
1328 | 1364 | | |
1329 | 1365 | | |
1330 | 1366 | | |
1331 | | - | |
| 1367 | + | |
1332 | 1368 | | |
1333 | 1369 | | |
1334 | 1370 | | |
| |||
1422 | 1458 | | |
1423 | 1459 | | |
1424 | 1460 | | |
1425 | | - | |
| 1461 | + | |
1426 | 1462 | | |
1427 | 1463 | | |
1428 | 1464 | | |
| |||
1431 | 1467 | | |
1432 | 1468 | | |
1433 | 1469 | | |
1434 | | - | |
| 1470 | + | |
1435 | 1471 | | |
1436 | 1472 | | |
1437 | 1473 | | |
| |||
1472 | 1508 | | |
1473 | 1509 | | |
1474 | 1510 | | |
| 1511 | + | |
1475 | 1512 | | |
1476 | 1513 | | |
1477 | 1514 | | |
| |||
1484 | 1521 | | |
1485 | 1522 | | |
1486 | 1523 | | |
| 1524 | + | |
| 1525 | + | |
| 1526 | + | |
| 1527 | + | |
| 1528 | + | |
| 1529 | + | |
| 1530 | + | |
| 1531 | + | |
| 1532 | + | |
| 1533 | + | |
| 1534 | + | |
| 1535 | + | |
| 1536 | + | |
| 1537 | + | |
1487 | 1538 | | |
1488 | 1539 | | |
1489 | 1540 | | |
1490 | 1541 | | |
1491 | 1542 | | |
1492 | | - | |
1493 | | - | |
| 1543 | + | |
| 1544 | + | |
1494 | 1545 | | |
1495 | 1546 | | |
1496 | 1547 | | |
| |||
1499 | 1550 | | |
1500 | 1551 | | |
1501 | 1552 | | |
1502 | | - | |
| 1553 | + | |
1503 | 1554 | | |
1504 | 1555 | | |
1505 | 1556 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
11 | 11 | | |
12 | 12 | | |
13 | 13 | | |
14 | | - | |
| 14 | + | |
15 | 15 | | |
16 | 16 | | |
17 | 17 | | |
18 | 18 | | |
19 | 19 | | |
20 | | - | |
| 20 | + | |
21 | 21 | | |
22 | 22 | | |
23 | 23 | | |
24 | 24 | | |
25 | 25 | | |
26 | 26 | | |
27 | | - | |
| 27 | + | |
28 | 28 | | |
29 | | - | |
| 29 | + | |
30 | 30 | | |
31 | 31 | | |
32 | 32 | | |
| |||
132 | 132 | | |
133 | 133 | | |
134 | 134 | | |
135 | | - | |
| 135 | + | |
136 | 136 | | |
137 | 137 | | |
138 | 138 | | |
139 | 139 | | |
140 | | - | |
141 | | - | |
| 140 | + | |
| 141 | + | |
142 | 142 | | |
143 | 143 | | |
144 | 144 | | |
145 | 145 | | |
146 | 146 | | |
147 | 147 | | |
148 | | - | |
| 148 | + | |
149 | 149 | | |
150 | 150 | | |
151 | 151 | | |
152 | 152 | | |
153 | | - | |
154 | | - | |
| 153 | + | |
| 154 | + | |
155 | 155 | | |
156 | 156 | | |
157 | 157 | | |
158 | 158 | | |
159 | 159 | | |
160 | 160 | | |
161 | 161 | | |
162 | | - | |
| 162 | + | |
163 | 163 | | |
164 | 164 | | |
165 | 165 | | |
166 | 166 | | |
167 | 167 | | |
168 | 168 | | |
169 | 169 | | |
170 | | - | |
| 170 | + | |
171 | 171 | | |
172 | 172 | | |
173 | 173 | | |
| |||
176 | 176 | | |
177 | 177 | | |
178 | 178 | | |
179 | | - | |
| 179 | + | |
180 | 180 | | |
181 | 181 | | |
182 | 182 | | |
183 | 183 | | |
184 | 184 | | |
185 | | - | |
| 185 | + | |
186 | 186 | | |
187 | 187 | | |
188 | 188 | | |
189 | 189 | | |
190 | 190 | | |
191 | | - | |
| 191 | + | |
192 | 192 | | |
193 | 193 | | |
194 | 194 | | |
195 | 195 | | |
196 | 196 | | |
197 | | - | |
| 197 | + | |
198 | 198 | | |
199 | 199 | | |
200 | 200 | | |
201 | 201 | | |
202 | | - | |
| 202 | + | |
203 | 203 | | |
204 | | - | |
| 204 | + | |
205 | 205 | | |
206 | 206 | | |
207 | 207 | | |
| |||
213 | 213 | | |
214 | 214 | | |
215 | 215 | | |
216 | | - | |
| 216 | + | |
217 | 217 | | |
218 | 218 | | |
219 | 219 | | |
220 | 220 | | |
221 | 221 | | |
222 | 222 | | |
223 | 223 | | |
224 | | - | |
| 224 | + | |
225 | 225 | | |
226 | 226 | | |
227 | 227 | | |
| |||
235 | 235 | | |
236 | 236 | | |
237 | 237 | | |
238 | | - | |
| 238 | + | |
239 | 239 | | |
240 | 240 | | |
241 | 241 | | |
242 | 242 | | |
243 | 243 | | |
244 | 244 | | |
245 | 245 | | |
246 | | - | |
| 246 | + | |
247 | 247 | | |
248 | 248 | | |
249 | 249 | | |
| |||
255 | 255 | | |
256 | 256 | | |
257 | 257 | | |
258 | | - | |
| 258 | + | |
259 | 259 | | |
260 | 260 | | |
261 | 261 | | |
262 | 262 | | |
263 | 263 | | |
264 | 264 | | |
265 | 265 | | |
266 | | - | |
| 266 | + | |
267 | 267 | | |
268 | 268 | | |
269 | 269 | | |
| |||
0 commit comments