- Notifications
You must be signed in to change notification settings - Fork28
Commit2ac3ef7
committed
Fix tuple routing in cases where tuple descriptors don't match.
The previous coding failed to work correctly when we have amulti-level partitioned hierarchy where tables at successive levelshave different attribute numbers for the partition key attributes. Tofix, have each PartitionDispatch object store a standaloneTupleTableSlot initialized with the TupleDesc of the correspondingpartitioned table, along with a TupleConversionMap to map tuples fromthe its parent's rowtype to own rowtype. After tuple routing choosesa leaf partition, we must use the leaf partition's tuple descriptor,not the root table's. To that end, a dedicated TupleTableSlot fortuple routing is now allocated in EState.Amit Langote1 parent12bd7dd commit2ac3ef7
File tree
7 files changed
+190
-15
lines changed- src
- backend
- catalog
- commands
- executor
- include
- catalog
- nodes
- test/regress
- expected
- sql
7 files changed
+190
-15
lines changedLines changed: 61 additions & 13 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
923 | 923 |
| |
924 | 924 |
| |
925 | 925 |
| |
926 |
| - | |
927 |
| - | |
| 926 | + | |
| 927 | + | |
| 928 | + | |
| 929 | + | |
| 930 | + | |
928 | 931 |
| |
929 | 932 |
| |
930 | 933 |
| |
931 |
| - | |
932 |
| - | |
| 934 | + | |
| 935 | + | |
| 936 | + | |
| 937 | + | |
| 938 | + | |
933 | 939 |
| |
934 | 940 |
| |
935 | 941 |
| |
| |||
944 | 950 |
| |
945 | 951 |
| |
946 | 952 |
| |
947 |
| - | |
948 | 953 |
| |
949 | 954 |
| |
950 |
| - | |
951 |
| - | |
| 955 | + | |
| 956 | + | |
| 957 | + | |
| 958 | + | |
| 959 | + | |
952 | 960 |
| |
953 | 961 |
| |
954 | 962 |
| |
| |||
965 | 973 |
| |
966 | 974 |
| |
967 | 975 |
| |
968 |
| - | |
969 |
| - | |
| 976 | + | |
| 977 | + | |
| 978 | + | |
| 979 | + | |
970 | 980 |
| |
971 |
| - | |
| 981 | + | |
| 982 | + | |
972 | 983 |
| |
973 | 984 |
| |
974 | 985 |
| |
| |||
979 | 990 |
| |
980 | 991 |
| |
981 | 992 |
| |
982 |
| - | |
| 993 | + | |
| 994 | + | |
983 | 995 |
| |
984 | 996 |
| |
985 | 997 |
| |
| |||
1004 | 1016 |
| |
1005 | 1017 |
| |
1006 | 1018 |
| |
1007 |
| - | |
| 1019 | + | |
1008 | 1020 |
| |
1009 |
| - | |
| 1021 | + | |
| 1022 | + | |
1010 | 1023 |
| |
| 1024 | + | |
1011 | 1025 |
| |
1012 | 1026 |
| |
1013 | 1027 |
| |
| |||
1017 | 1031 |
| |
1018 | 1032 |
| |
1019 | 1033 |
| |
| 1034 | + | |
| 1035 | + | |
| 1036 | + | |
| 1037 | + | |
| 1038 | + | |
| 1039 | + | |
| 1040 | + | |
| 1041 | + | |
| 1042 | + | |
| 1043 | + | |
| 1044 | + | |
| 1045 | + | |
| 1046 | + | |
| 1047 | + | |
| 1048 | + | |
| 1049 | + | |
| 1050 | + | |
| 1051 | + | |
| 1052 | + | |
| 1053 | + | |
| 1054 | + | |
1020 | 1055 |
| |
1021 | 1056 |
| |
1022 | 1057 |
| |
| |||
1610 | 1645 |
| |
1611 | 1646 |
| |
1612 | 1647 |
| |
| 1648 | + | |
| 1649 | + | |
1613 | 1650 |
| |
1614 | 1651 |
| |
1615 | 1652 |
| |
| |||
1618 | 1655 |
| |
1619 | 1656 |
| |
1620 | 1657 |
| |
| 1658 | + | |
| 1659 | + | |
| 1660 | + | |
| 1661 | + | |
| 1662 | + | |
| 1663 | + | |
| 1664 | + | |
| 1665 | + | |
| 1666 | + | |
| 1667 | + | |
| 1668 | + | |
1621 | 1669 |
| |
1622 | 1670 |
| |
1623 | 1671 |
| |
|
Lines changed: 29 additions & 2 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
2435 | 2435 |
| |
2436 | 2436 |
| |
2437 | 2437 |
| |
| 2438 | + | |
| 2439 | + | |
| 2440 | + | |
| 2441 | + | |
| 2442 | + | |
| 2443 | + | |
| 2444 | + | |
| 2445 | + | |
| 2446 | + | |
2438 | 2447 |
| |
2439 | 2448 |
| |
2440 | 2449 |
| |
| |||
2484 | 2493 |
| |
2485 | 2494 |
| |
2486 | 2495 |
| |
2487 |
| - | |
| 2496 | + | |
| 2497 | + | |
2488 | 2498 |
| |
2489 | 2499 |
| |
2490 | 2500 |
| |
| |||
2571 | 2581 |
| |
2572 | 2582 |
| |
2573 | 2583 |
| |
| 2584 | + | |
| 2585 | + | |
2574 | 2586 |
| |
| 2587 | + | |
| 2588 | + | |
| 2589 | + | |
| 2590 | + | |
| 2591 | + | |
| 2592 | + | |
| 2593 | + | |
| 2594 | + | |
| 2595 | + | |
| 2596 | + | |
2575 | 2597 |
| |
2576 | 2598 |
| |
2577 | 2599 |
| |
| |||
2667 | 2689 |
| |
2668 | 2690 |
| |
2669 | 2691 |
| |
| 2692 | + | |
| 2693 | + | |
| 2694 | + | |
| 2695 | + | |
2670 | 2696 |
| |
2671 | 2697 |
| |
2672 | 2698 |
| |
| |||
2714 | 2740 |
| |
2715 | 2741 |
| |
2716 | 2742 |
| |
2717 |
| - | |
| 2743 | + | |
2718 | 2744 |
| |
2719 | 2745 |
| |
2720 | 2746 |
| |
2721 | 2747 |
| |
2722 | 2748 |
| |
2723 | 2749 |
| |
| 2750 | + | |
2724 | 2751 |
| |
2725 | 2752 |
| |
2726 | 2753 |
| |
|
Lines changed: 27 additions & 0 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
262 | 262 |
| |
263 | 263 |
| |
264 | 264 |
| |
| 265 | + | |
265 | 266 |
| |
266 | 267 |
| |
267 | 268 |
| |
| |||
318 | 319 |
| |
319 | 320 |
| |
320 | 321 |
| |
| 322 | + | |
| 323 | + | |
321 | 324 |
| |
| 325 | + | |
| 326 | + | |
| 327 | + | |
| 328 | + | |
| 329 | + | |
| 330 | + | |
| 331 | + | |
| 332 | + | |
| 333 | + | |
| 334 | + | |
322 | 335 |
| |
323 | 336 |
| |
324 | 337 |
| |
| |||
566 | 579 |
| |
567 | 580 |
| |
568 | 581 |
| |
| 582 | + | |
| 583 | + | |
| 584 | + | |
| 585 | + | |
569 | 586 |
| |
570 | 587 |
| |
571 | 588 |
| |
| |||
1734 | 1751 |
| |
1735 | 1752 |
| |
1736 | 1753 |
| |
| 1754 | + | |
| 1755 | + | |
| 1756 | + | |
| 1757 | + | |
| 1758 | + | |
| 1759 | + | |
1737 | 1760 |
| |
| 1761 | + | |
| 1762 | + | |
1738 | 1763 |
| |
1739 | 1764 |
| |
1740 | 1765 |
| |
| |||
2058 | 2083 |
| |
2059 | 2084 |
| |
2060 | 2085 |
| |
| 2086 | + | |
2061 | 2087 |
| |
2062 | 2088 |
| |
2063 | 2089 |
| |
2064 | 2090 |
| |
2065 | 2091 |
| |
2066 | 2092 |
| |
| 2093 | + | |
2067 | 2094 |
| |
2068 | 2095 |
| |
2069 | 2096 |
| |
|
Lines changed: 7 additions & 0 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
47 | 47 |
| |
48 | 48 |
| |
49 | 49 |
| |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
50 | 55 |
| |
51 | 56 |
| |
52 | 57 |
| |
| |||
58 | 63 |
| |
59 | 64 |
| |
60 | 65 |
| |
| 66 | + | |
| 67 | + | |
61 | 68 |
| |
62 | 69 |
| |
63 | 70 |
| |
|
Lines changed: 3 additions & 0 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
384 | 384 |
| |
385 | 385 |
| |
386 | 386 |
| |
| 387 | + | |
| 388 | + | |
| 389 | + | |
387 | 390 |
| |
388 | 391 |
| |
389 | 392 |
| |
|
Lines changed: 37 additions & 0 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
300 | 300 |
| |
301 | 301 |
| |
302 | 302 |
| |
| 303 | + | |
| 304 | + | |
| 305 | + | |
| 306 | + | |
| 307 | + | |
| 308 | + | |
| 309 | + | |
| 310 | + | |
| 311 | + | |
| 312 | + | |
| 313 | + | |
| 314 | + | |
| 315 | + | |
| 316 | + | |
| 317 | + | |
| 318 | + | |
| 319 | + | |
| 320 | + | |
| 321 | + | |
| 322 | + | |
| 323 | + | |
| 324 | + | |
| 325 | + | |
| 326 | + | |
| 327 | + | |
| 328 | + | |
| 329 | + | |
| 330 | + | |
| 331 | + | |
| 332 | + | |
| 333 | + | |
| 334 | + | |
| 335 | + | |
| 336 | + | |
| 337 | + | |
| 338 | + | |
| 339 | + |
Lines changed: 26 additions & 0 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
170 | 170 |
| |
171 | 171 |
| |
172 | 172 |
| |
| 173 | + | |
| 174 | + | |
| 175 | + | |
| 176 | + | |
| 177 | + | |
| 178 | + | |
| 179 | + | |
| 180 | + | |
| 181 | + | |
| 182 | + | |
| 183 | + | |
| 184 | + | |
| 185 | + | |
| 186 | + | |
| 187 | + | |
| 188 | + | |
| 189 | + | |
| 190 | + | |
| 191 | + | |
| 192 | + | |
| 193 | + | |
| 194 | + | |
| 195 | + | |
| 196 | + | |
| 197 | + | |
| 198 | + |
0 commit comments
Comments
(0)