- Notifications
You must be signed in to change notification settings - Fork28
Commit4da597e
committed
Make TupleTableSlots extensible, finish split of existing slot type.
This commit completes the work prepared in1a0586d, splitting theold TupleTableSlot implementation (which could store buffer, heap,minimal and virtual slots) into four different slot types. Asdescribed in the aforementioned commit, this is done with the goal ofmaking tuple table slots extensible, to allow for pluggable tableaccess methods.To achieve runtime extensibility for TupleTableSlots, operations onslots that can differ between types of slots are performed using theTupleTableSlotOps struct provided at slot creation time. Thatincludes information from the size of TupleTableSlot struct to beallocated, initialization, deforming etc. See the struct's definitionfor more detailed information about callbacks TupleTableSlotOps.I decided to rename TTSOpsBufferTuple to TTSOpsBufferHeapTuple andExecCopySlotTuple to ExecCopySlotHeapTuple, as that seems moreconsistent with other naming introduced in recent patches.There's plenty optimization potential in the slot implementation, butaccording to benchmarking the state after this commit has similarperformance characteristics to before this set of changes, which seemssufficient.There's a few changes in execReplication.c that currently need to pokethrough the slot abstraction, that'll be repaired once the pluggablestorage patchset provides the necessary infrastructure.Author: Andres Freund and Ashutosh Bapat, with changes by Amit KhandekarDiscussion:https://postgr.es/m/20181105210039.hh4vvi4vwoq5ba2q@alap3.anarazel.de1 parent0201d79 commit4da597e
File tree
27 files changed
+1505
-867
lines changed- src
- backend
- access/common
- catalog
- commands
- executor
- jit/llvm
- include
- access
- executor
- jit
27 files changed
+1505
-867
lines changedLines changed: 3 additions & 181 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
71 | 71 |
| |
72 | 72 |
| |
73 | 73 |
| |
| 74 | + | |
| 75 | + | |
74 | 76 |
| |
75 | 77 |
| |
76 | 78 |
| |
| |||
80 | 82 |
| |
81 | 83 |
| |
82 | 84 |
| |
83 |
| - | |
| 85 | + | |
84 | 86 |
| |
85 | 87 |
| |
86 | 88 |
| |
| |||
1350 | 1352 |
| |
1351 | 1353 |
| |
1352 | 1354 |
| |
1353 |
| - | |
1354 |
| - | |
1355 |
| - | |
1356 |
| - | |
1357 |
| - | |
1358 |
| - | |
1359 |
| - | |
1360 |
| - | |
1361 |
| - | |
1362 |
| - | |
1363 |
| - | |
1364 |
| - | |
1365 |
| - | |
1366 |
| - | |
1367 |
| - | |
1368 |
| - | |
1369 |
| - | |
1370 |
| - | |
1371 |
| - | |
1372 |
| - | |
1373 |
| - | |
1374 |
| - | |
1375 |
| - | |
1376 |
| - | |
1377 |
| - | |
1378 |
| - | |
1379 |
| - | |
1380 |
| - | |
1381 |
| - | |
1382 |
| - | |
1383 |
| - | |
1384 |
| - | |
1385 |
| - | |
1386 |
| - | |
1387 |
| - | |
1388 |
| - | |
1389 |
| - | |
1390 |
| - | |
1391 |
| - | |
1392 |
| - | |
1393 |
| - | |
1394 |
| - | |
1395 |
| - | |
1396 |
| - | |
1397 |
| - | |
1398 |
| - | |
1399 |
| - | |
1400 |
| - | |
1401 |
| - | |
1402 |
| - | |
1403 |
| - | |
1404 |
| - | |
1405 |
| - | |
1406 |
| - | |
1407 |
| - | |
1408 |
| - | |
1409 |
| - | |
1410 |
| - | |
1411 |
| - | |
1412 |
| - | |
1413 |
| - | |
1414 |
| - | |
1415 |
| - | |
1416 |
| - | |
1417 |
| - | |
1418 |
| - | |
1419 |
| - | |
1420 |
| - | |
1421 |
| - | |
1422 |
| - | |
1423 |
| - | |
1424 |
| - | |
1425 |
| - | |
1426 |
| - | |
1427 |
| - | |
1428 |
| - | |
1429 |
| - | |
1430 |
| - | |
1431 |
| - | |
1432 |
| - | |
1433 |
| - | |
1434 |
| - | |
1435 |
| - | |
1436 |
| - | |
1437 |
| - | |
1438 |
| - | |
1439 |
| - | |
1440 |
| - | |
1441 |
| - | |
1442 |
| - | |
1443 |
| - | |
1444 |
| - | |
1445 |
| - | |
1446 |
| - | |
1447 |
| - | |
1448 |
| - | |
1449 |
| - | |
1450 |
| - | |
1451 |
| - | |
1452 |
| - | |
1453 |
| - | |
1454 |
| - | |
1455 |
| - | |
1456 |
| - | |
1457 |
| - | |
1458 |
| - | |
1459 |
| - | |
1460 |
| - | |
1461 |
| - | |
1462 |
| - | |
1463 |
| - | |
1464 |
| - | |
1465 |
| - | |
1466 |
| - | |
1467 |
| - | |
1468 |
| - | |
1469 |
| - | |
1470 |
| - | |
1471 |
| - | |
1472 |
| - | |
1473 |
| - | |
1474 |
| - | |
1475 |
| - | |
1476 |
| - | |
1477 |
| - | |
1478 |
| - | |
1479 |
| - | |
1480 |
| - | |
1481 |
| - | |
1482 |
| - | |
1483 |
| - | |
1484 |
| - | |
1485 |
| - | |
1486 |
| - | |
1487 |
| - | |
1488 |
| - | |
1489 |
| - | |
1490 |
| - | |
1491 |
| - | |
1492 |
| - | |
1493 |
| - | |
1494 |
| - | |
1495 |
| - | |
1496 |
| - | |
1497 |
| - | |
1498 |
| - | |
1499 |
| - | |
1500 |
| - | |
1501 |
| - | |
1502 |
| - | |
1503 |
| - | |
1504 |
| - | |
1505 |
| - | |
1506 |
| - | |
1507 |
| - | |
1508 |
| - | |
1509 |
| - | |
1510 |
| - | |
1511 |
| - | |
1512 |
| - | |
1513 |
| - | |
1514 |
| - | |
1515 |
| - | |
1516 |
| - | |
1517 |
| - | |
1518 |
| - | |
1519 |
| - | |
1520 |
| - | |
1521 |
| - | |
1522 |
| - | |
1523 |
| - | |
1524 |
| - | |
1525 |
| - | |
1526 |
| - | |
1527 |
| - | |
1528 |
| - | |
1529 |
| - | |
1530 |
| - | |
1531 |
| - | |
1532 |
| - | |
1533 | 1355 |
| |
1534 | 1356 |
| |
1535 | 1357 |
| |
|
Lines changed: 3 additions & 1 deletion
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
2041 | 2041 |
| |
2042 | 2042 |
| |
2043 | 2043 |
| |
2044 |
| - | |
| 2044 | + | |
| 2045 | + | |
| 2046 | + | |
2045 | 2047 |
| |
2046 | 2048 |
| |
2047 | 2049 |
| |
|
Lines changed: 1 addition & 1 deletion
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
2850 | 2850 |
| |
2851 | 2851 |
| |
2852 | 2852 |
| |
2853 |
| - | |
| 2853 | + | |
2854 | 2854 |
| |
2855 | 2855 |
| |
2856 | 2856 |
| |
|
Lines changed: 1 addition & 1 deletion
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
589 | 589 |
| |
590 | 590 |
| |
591 | 591 |
| |
592 |
| - | |
| 592 | + | |
593 | 593 |
| |
594 | 594 |
| |
595 | 595 |
| |
|
Lines changed: 1 addition & 1 deletion
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
484 | 484 |
| |
485 | 485 |
| |
486 | 486 |
| |
487 |
| - | |
| 487 | + | |
488 | 488 |
| |
489 | 489 |
| |
490 | 490 |
| |
|
Lines changed: 8 additions & 10 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
218 | 218 |
| |
219 | 219 |
| |
220 | 220 |
| |
221 |
| - | |
222 |
| - | |
223 |
| - | |
224 |
| - | |
| 221 | + | |
| 222 | + | |
| 223 | + | |
| 224 | + | |
225 | 225 |
| |
226 | 226 |
| |
227 | 227 |
| |
228 | 228 |
| |
229 |
| - | |
230 | 229 |
| |
231 | 230 |
| |
232 | 231 |
| |
233 |
| - | |
234 |
| - | |
235 |
| - | |
236 |
| - | |
| 232 | + | |
| 233 | + | |
| 234 | + | |
| 235 | + | |
237 | 236 |
| |
238 | 237 |
| |
239 | 238 |
| |
240 | 239 |
| |
241 |
| - | |
242 | 240 |
| |
243 | 241 |
| |
244 | 242 |
| |
|
Lines changed: 8 additions & 8 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
1875 | 1875 |
| |
1876 | 1876 |
| |
1877 | 1877 |
| |
1878 |
| - | |
| 1878 | + | |
1879 | 1879 |
| |
1880 | 1880 |
| |
1881 | 1881 |
| |
1882 |
| - | |
| 1882 | + | |
1883 | 1883 |
| |
1884 | 1884 |
| |
1885 | 1885 |
| |
| |||
4025 | 4025 |
| |
4026 | 4026 |
| |
4027 | 4027 |
| |
4028 |
| - | |
| 4028 | + | |
4029 | 4029 |
| |
4030 | 4030 |
| |
4031 |
| - | |
4032 |
| - | |
4033 |
| - | |
4034 |
| - | |
| 4031 | + | |
| 4032 | + | |
| 4033 | + | |
| 4034 | + | |
4035 | 4035 |
| |
4036 |
| - | |
| 4036 | + | |
4037 | 4037 |
| |
4038 | 4038 |
| |
4039 | 4039 |
| |
|
0 commit comments
Comments
(0)