- Notifications
You must be signed in to change notification settings - Fork28
Commit6e35939
committed
Change rewriter/planner/executor/plancache to depend on RTE rellockmode.
Instead of recomputing the required lock levels in all these places,just use what commitfdba460 made the parser store in the RTE fields.This already simplifies the code measurably in these places, andfollow-on changes will remove a bunch of no-longer-needed infrastructure.In a few cases, this change causes us to acquire a higher lock levelthan we did before. This is OK primarily because said higher lock levelshould've been acquired already at query parse time; thus, we're savinga useless extra trip through the shared lock manager to acquire a lesserlock alongside the original lock. The only known exception to this isthat re-execution of a previously planned SELECT FOR UPDATE/SHARE query,for a table that uses ROW_MARK_REFERENCE or ROW_MARK_COPY methods, mighthave gotten only AccessShareLock before. Now it will get RowShareLocklike the first execution did, which seems fine.While there's more to do, push it in this state anyway, to let thebuildfarm help verify that nothing bad happened.Amit Langote, reviewed by David Rowley and Jesper Pedersen,and whacked around a bit more by meDiscussion:https://postgr.es/m/468c85d9-540e-66a2-1dde-fec2b741e688@lab.ntt.co.jp1 parentcc2905e commit6e35939
File tree
5 files changed
+27
-115
lines changed- src/backend
- executor
- optimizer/prep
- rewrite
- utils/cache
5 files changed
+27
-115
lines changedLines changed: 2 additions & 12 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
970 | 970 |
| |
971 | 971 |
| |
972 | 972 |
| |
973 |
| - | |
974 | 973 |
| |
975 |
| - | |
976 |
| - | |
977 |
| - | |
978 |
| - | |
979 | 974 |
| |
980 | 975 |
| |
981 | 976 |
| |
982 | 977 |
| |
983 | 978 |
| |
984 | 979 |
| |
985 |
| - | |
986 |
| - | |
987 |
| - | |
988 | 980 |
| |
989 |
| - | |
990 |
| - | |
991 |
| - | |
992 |
| - | |
| 981 | + | |
| 982 | + | |
993 | 983 |
| |
994 | 984 |
| |
995 | 985 |
| |
|
Lines changed: 8 additions & 35 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
641 | 641 |
| |
642 | 642 |
| |
643 | 643 |
| |
644 |
| - | |
645 |
| - | |
646 |
| - | |
647 |
| - | |
648 | 644 |
| |
649 | 645 |
| |
650 | 646 |
| |
| |||
654 | 650 |
| |
655 | 651 |
| |
656 | 652 |
| |
657 |
| - | |
658 |
| - | |
659 |
| - | |
660 |
| - | |
661 |
| - | |
662 |
| - | |
663 |
| - | |
664 |
| - | |
665 |
| - | |
666 |
| - | |
667 |
| - | |
668 |
| - | |
669 |
| - | |
670 |
| - | |
671 |
| - | |
672 |
| - | |
673 |
| - | |
674 |
| - | |
675 |
| - | |
676 |
| - | |
677 |
| - | |
678 |
| - | |
679 |
| - | |
680 |
| - | |
681 |
| - | |
682 |
| - | |
683 |
| - | |
684 |
| - | |
685 |
| - | |
686 | 653 |
| |
687 | 654 |
| |
| 655 | + | |
688 | 656 |
| |
689 | 657 |
| |
690 | 658 |
| |
| |||
912 | 880 |
| |
913 | 881 |
| |
914 | 882 |
| |
| 883 | + | |
915 | 884 |
| |
916 | 885 |
| |
917 | 886 |
| |
| |||
923 | 892 |
| |
924 | 893 |
| |
925 | 894 |
| |
926 |
| - | |
| 895 | + | |
927 | 896 |
| |
928 |
| - | |
| 897 | + | |
| 898 | + | |
| 899 | + | |
| 900 | + | |
| 901 | + | |
929 | 902 |
| |
930 | 903 |
| |
931 | 904 |
| |
|
Lines changed: 3 additions & 15 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
1515 | 1515 |
| |
1516 | 1516 |
| |
1517 | 1517 |
| |
1518 |
| - | |
1519 | 1518 |
| |
1520 | 1519 |
| |
1521 | 1520 |
| |
| |||
1546 | 1545 |
| |
1547 | 1546 |
| |
1548 | 1547 |
| |
1549 |
| - | |
1550 |
| - | |
1551 |
| - | |
1552 |
| - | |
1553 |
| - | |
1554 |
| - | |
1555 |
| - | |
| 1548 | + | |
1556 | 1549 |
| |
1557 |
| - | |
1558 |
| - | |
1559 |
| - | |
1560 |
| - | |
1561 |
| - | |
1562 |
| - | |
1563 |
| - | |
| 1550 | + | |
1564 | 1551 |
| |
1565 | 1552 |
| |
1566 | 1553 |
| |
| |||
1582 | 1569 |
| |
1583 | 1570 |
| |
1584 | 1571 |
| |
| 1572 | + | |
1585 | 1573 |
| |
1586 | 1574 |
| |
1587 | 1575 |
| |
|
Lines changed: 10 additions & 20 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
87 | 87 |
| |
88 | 88 |
| |
89 | 89 |
| |
90 |
| - | |
| 90 | + | |
91 | 91 |
| |
92 | 92 |
| |
93 | 93 |
| |
94 | 94 |
| |
95 | 95 |
| |
96 |
| - | |
97 |
| - | |
98 |
| - | |
99 |
| - | |
100 |
| - | |
| 96 | + | |
| 97 | + | |
101 | 98 |
| |
102 | 99 |
| |
103 | 100 |
| |
| |||
162 | 159 |
| |
163 | 160 |
| |
164 | 161 |
| |
165 |
| - | |
166 |
| - | |
| 162 | + | |
| 163 | + | |
| 164 | + | |
167 | 165 |
| |
168 |
| - | |
169 |
| - | |
| 166 | + | |
| 167 | + | |
170 | 168 |
| |
171 | 169 |
| |
172 | 170 |
| |
173 |
| - | |
174 |
| - | |
175 | 171 |
| |
176 | 172 |
| |
177 |
| - | |
178 | 173 |
| |
179 | 174 |
| |
180 | 175 |
| |
| 176 | + | |
181 | 177 |
| |
182 |
| - | |
183 |
| - | |
184 | 178 |
| |
185 |
| - | |
186 |
| - | |
187 |
| - | |
188 |
| - | |
189 |
| - | |
| 179 | + | |
190 | 180 |
| |
191 | 181 |
| |
192 | 182 |
| |
|
Lines changed: 4 additions & 33 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
1493 | 1493 |
| |
1494 | 1494 |
| |
1495 | 1495 |
| |
1496 |
| - | |
1497 | 1496 |
| |
1498 | 1497 |
| |
1499 | 1498 |
| |
| |||
1512 | 1511 |
| |
1513 | 1512 |
| |
1514 | 1513 |
| |
1515 |
| - | |
1516 | 1514 |
| |
1517 | 1515 |
| |
1518 | 1516 |
| |
1519 |
| - | |
1520 |
| - | |
1521 |
| - | |
1522 |
| - | |
1523 | 1517 |
| |
1524 | 1518 |
| |
1525 | 1519 |
| |
| |||
1530 | 1524 |
| |
1531 | 1525 |
| |
1532 | 1526 |
| |
1533 |
| - | |
1534 |
| - | |
1535 |
| - | |
1536 |
| - | |
1537 |
| - | |
1538 |
| - | |
1539 |
| - | |
1540 |
| - | |
1541 |
| - | |
1542 |
| - | |
1543 |
| - | |
1544 | 1527 |
| |
1545 |
| - | |
| 1528 | + | |
1546 | 1529 |
| |
1547 |
| - | |
| 1530 | + | |
1548 | 1531 |
| |
1549 | 1532 |
| |
1550 | 1533 |
| |
| |||
1586 | 1569 |
| |
1587 | 1570 |
| |
1588 | 1571 |
| |
1589 |
| - | |
1590 | 1572 |
| |
1591 | 1573 |
| |
1592 | 1574 |
| |
1593 | 1575 |
| |
1594 | 1576 |
| |
1595 | 1577 |
| |
1596 | 1578 |
| |
1597 |
| - | |
1598 | 1579 |
| |
1599 | 1580 |
| |
1600 | 1581 |
| |
1601 |
| - | |
1602 | 1582 |
| |
1603 |
| - | |
1604 | 1583 |
| |
1605 | 1584 |
| |
1606 | 1585 |
| |
1607 | 1586 |
| |
1608 |
| - | |
1609 |
| - | |
1610 |
| - | |
1611 |
| - | |
1612 |
| - | |
1613 |
| - | |
1614 |
| - | |
1615 |
| - | |
1616 | 1587 |
| |
1617 |
| - | |
| 1588 | + | |
1618 | 1589 |
| |
1619 |
| - | |
| 1590 | + | |
1620 | 1591 |
| |
1621 | 1592 |
| |
1622 | 1593 |
| |
|
0 commit comments
Comments
(0)