forked frompostgres/postgres
- Notifications
You must be signed in to change notification settings - Fork6
Commitfdba460
committed
Create an RTE field to record the query's lock mode for each relation.
Add RangeTblEntry.rellockmode, which records the appropriate lock mode foreach RTE_RELATION rangetable entry (either AccessShareLock, RowShareLock,or RowExclusiveLock depending on the RTE's role in the query).This patch creates the field and makes all creators of RTE nodes fill itin reasonably, but for the moment nothing much is done with it. The planis to replace assorted post-parser logic that re-determines the rightlockmode to use with simple uses of rte->rellockmode. For now, just addAsserts in each of those places that the rellockmode matches what they arecomputing today. (In some cases the match isn't perfect, so the Assertsare weaker than you might expect; but this seems OK, as per discussion.)This passes check-world for me, but it seems worth pushing in this stateto see if the buildfarm finds any problems in cases I failed to test.catversion bump due to change of stored rules.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 parent8bddc86 commitfdba460
File tree
29 files changed
+159
-38
lines changed- src
- backend
- catalog
- commands
- executor
- nodes
- optimizer/plan
- parser
- replication/logical
- rewrite
- utils
- adt
- cache
- include
- catalog
- nodes
- parser
- test/modules/test_rls_hooks
29 files changed
+159
-38
lines changedLines changed: 1 addition & 0 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
1415 | 1415 |
| |
1416 | 1416 |
| |
1417 | 1417 |
| |
| 1418 | + | |
1418 | 1419 |
| |
1419 | 1420 |
| |
1420 | 1421 |
| |
|
Lines changed: 1 addition & 0 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
2549 | 2549 |
| |
2550 | 2550 |
| |
2551 | 2551 |
| |
| 2552 | + | |
2552 | 2553 |
| |
2553 | 2554 |
| |
2554 | 2555 |
| |
|
Lines changed: 5 additions & 4 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
833 | 833 |
| |
834 | 834 |
| |
835 | 835 |
| |
| 836 | + | |
| 837 | + | |
836 | 838 |
| |
837 | 839 |
| |
838 | 840 |
| |
839 |
| - | |
840 | 841 |
| |
841 | 842 |
| |
842 | 843 |
| |
843 | 844 |
| |
844 |
| - | |
845 |
| - | |
| 845 | + | |
846 | 846 |
| |
847 | 847 |
| |
848 | 848 |
| |
849 |
| - | |
| 849 | + | |
| 850 | + | |
850 | 851 |
| |
851 | 852 |
| |
852 | 853 |
| |
|
Lines changed: 1 addition & 0 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
528 | 528 |
| |
529 | 529 |
| |
530 | 530 |
| |
| 531 | + | |
531 | 532 |
| |
532 | 533 |
| |
533 | 534 |
| |
|
Lines changed: 16 additions & 7 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
567 | 567 |
| |
568 | 568 |
| |
569 | 569 |
| |
570 |
| - | |
| 570 | + | |
| 571 | + | |
| 572 | + | |
571 | 573 |
| |
572 | 574 |
| |
573 | 575 |
| |
| |||
589 | 591 |
| |
590 | 592 |
| |
591 | 593 |
| |
592 |
| - | |
593 |
| - | |
| 594 | + | |
| 595 | + | |
| 596 | + | |
594 | 597 |
| |
595 | 598 |
| |
596 | 599 |
| |
| |||
752 | 755 |
| |
753 | 756 |
| |
754 | 757 |
| |
| 758 | + | |
755 | 759 |
| |
756 | 760 |
| |
757 | 761 |
| |
758 | 762 |
| |
759 | 763 |
| |
| 764 | + | |
760 | 765 |
| |
761 | 766 |
| |
762 | 767 |
| |
| |||
928 | 933 |
| |
929 | 934 |
| |
930 | 935 |
| |
| 936 | + | |
931 | 937 |
| |
932 | 938 |
| |
933 | 939 |
| |
| |||
950 | 956 |
| |
951 | 957 |
| |
952 | 958 |
| |
| 959 | + | |
953 | 960 |
| |
954 | 961 |
| |
955 | 962 |
| |
| |||
1096 | 1103 |
| |
1097 | 1104 |
| |
1098 | 1105 |
| |
1099 |
| - | |
1100 |
| - | |
| 1106 | + | |
| 1107 | + | |
| 1108 | + | |
1101 | 1109 |
| |
1102 | 1110 |
| |
1103 | 1111 |
| |
| |||
1137 | 1145 |
| |
1138 | 1146 |
| |
1139 | 1147 |
| |
1140 |
| - | |
1141 |
| - | |
| 1148 | + | |
| 1149 | + | |
| 1150 | + | |
1142 | 1151 |
| |
1143 | 1152 |
| |
1144 | 1153 |
| |
|
Lines changed: 2 additions & 1 deletion
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
13632 | 13632 |
| |
13633 | 13633 |
| |
13634 | 13634 |
| |
13635 |
| - | |
| 13635 | + | |
| 13636 | + | |
13636 | 13637 |
| |
13637 | 13638 |
| |
13638 | 13639 |
| |
|
Lines changed: 2 additions & 0 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
577 | 577 |
| |
578 | 578 |
| |
579 | 579 |
| |
| 580 | + | |
580 | 581 |
| |
581 | 582 |
| |
582 | 583 |
| |
583 | 584 |
| |
| 585 | + | |
584 | 586 |
| |
585 | 587 |
| |
586 | 588 |
| |
|
Lines changed: 3 additions & 1 deletion
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
353 | 353 |
| |
354 | 354 |
| |
355 | 355 |
| |
356 |
| - | |
| 356 | + | |
357 | 357 |
| |
358 | 358 |
| |
359 | 359 |
| |
| |||
386 | 386 |
| |
387 | 387 |
| |
388 | 388 |
| |
| 389 | + | |
389 | 390 |
| |
390 | 391 |
| |
391 | 392 |
| |
| 393 | + | |
392 | 394 |
| |
393 | 395 |
| |
394 | 396 |
| |
|
Lines changed: 11 additions & 0 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
864 | 864 |
| |
865 | 865 |
| |
866 | 866 |
| |
| 867 | + | |
867 | 868 |
| |
868 | 869 |
| |
869 | 870 |
| |
| |||
904 | 905 |
| |
905 | 906 |
| |
906 | 907 |
| |
| 908 | + | |
907 | 909 |
| |
908 | 910 |
| |
909 | 911 |
| |
| |||
924 | 926 |
| |
925 | 927 |
| |
926 | 928 |
| |
| 929 | + | |
| 930 | + | |
927 | 931 |
| |
928 | 932 |
| |
| 933 | + | |
929 | 934 |
| |
930 | 935 |
| |
931 | 936 |
| |
| |||
955 | 960 |
| |
956 | 961 |
| |
957 | 962 |
| |
| 963 | + | |
958 | 964 |
| |
959 | 965 |
| |
960 | 966 |
| |
| |||
964 | 970 |
| |
965 | 971 |
| |
966 | 972 |
| |
| 973 | + | |
967 | 974 |
| |
968 | 975 |
| |
969 | 976 |
| |
| |||
975 | 982 |
| |
976 | 983 |
| |
977 | 984 |
| |
| 985 | + | |
978 | 986 |
| |
979 | 987 |
| |
980 | 988 |
| |
| 989 | + | |
| 990 | + | |
| 991 | + | |
981 | 992 |
| |
982 | 993 |
| |
983 | 994 |
| |
|
Lines changed: 16 additions & 4 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
657 | 657 |
| |
658 | 658 |
| |
659 | 659 |
| |
660 |
| - | |
| 660 | + | |
| 661 | + | |
| 662 | + | |
| 663 | + | |
661 | 664 |
| |
662 | 665 |
| |
663 | 666 |
| |
664 |
| - | |
| 667 | + | |
665 | 668 |
| |
666 | 669 |
| |
667 | 670 |
| |
668 | 671 |
| |
669 | 672 |
| |
670 |
| - | |
671 |
| - | |
| 673 | + | |
| 674 | + | |
| 675 | + | |
| 676 | + | |
| 677 | + | |
| 678 | + | |
| 679 | + | |
| 680 | + | |
672 | 681 |
| |
673 | 682 |
| |
| 683 | + | |
| 684 | + | |
| 685 | + | |
674 | 686 |
| |
675 | 687 |
| |
676 | 688 |
| |
|
Lines changed: 1 addition & 0 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
2356 | 2356 |
| |
2357 | 2357 |
| |
2358 | 2358 |
| |
| 2359 | + | |
2359 | 2360 |
| |
2360 | 2361 |
| |
2361 | 2362 |
| |
|
Lines changed: 1 addition & 0 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
2630 | 2630 |
| |
2631 | 2631 |
| |
2632 | 2632 |
| |
| 2633 | + | |
2633 | 2634 |
| |
2634 | 2635 |
| |
2635 | 2636 |
| |
|
Lines changed: 1 addition & 0 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
3131 | 3131 |
| |
3132 | 3132 |
| |
3133 | 3133 |
| |
| 3134 | + | |
3134 | 3135 |
| |
3135 | 3136 |
| |
3136 | 3137 |
| |
|
Lines changed: 1 addition & 0 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
1361 | 1361 |
| |
1362 | 1362 |
| |
1363 | 1363 |
| |
| 1364 | + | |
1364 | 1365 |
| |
1365 | 1366 |
| |
1366 | 1367 |
| |
|
Lines changed: 2 additions & 0 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
6021 | 6021 |
| |
6022 | 6022 |
| |
6023 | 6023 |
| |
| 6024 | + | |
6024 | 6025 |
| |
6025 | 6026 |
| |
6026 | 6027 |
| |
| |||
6143 | 6144 |
| |
6144 | 6145 |
| |
6145 | 6146 |
| |
| 6147 | + | |
6146 | 6148 |
| |
6147 | 6149 |
| |
6148 | 6150 |
| |
|
Lines changed: 1 addition & 0 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
1037 | 1037 |
| |
1038 | 1038 |
| |
1039 | 1039 |
| |
| 1040 | + | |
1040 | 1041 |
| |
1041 | 1042 |
| |
1042 | 1043 |
| |
|
Lines changed: 1 addition & 0 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
217 | 217 |
| |
218 | 218 |
| |
219 | 219 |
| |
| 220 | + | |
220 | 221 |
| |
221 | 222 |
| |
222 | 223 |
| |
|
Lines changed: 25 additions & 3 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
1207 | 1207 |
| |
1208 | 1208 |
| |
1209 | 1209 |
| |
| 1210 | + | |
| 1211 | + | |
| 1212 | + | |
| 1213 | + | |
| 1214 | + | |
| 1215 | + | |
| 1216 | + | |
| 1217 | + | |
1210 | 1218 |
| |
1211 | 1219 |
| |
1212 | 1220 |
| |
1213 |
| - | |
1214 |
| - | |
| 1221 | + | |
1215 | 1222 |
| |
1216 |
| - | |
1217 | 1223 |
| |
1218 | 1224 |
| |
1219 | 1225 |
| |
| 1226 | + | |
1220 | 1227 |
| |
1221 | 1228 |
| |
1222 | 1229 |
| |
| |||
1262 | 1269 |
| |
1263 | 1270 |
| |
1264 | 1271 |
| |
| 1272 | + | |
| 1273 | + | |
| 1274 | + | |
| 1275 | + | |
| 1276 | + | |
| 1277 | + | |
| 1278 | + | |
| 1279 | + | |
| 1280 | + | |
1265 | 1281 |
| |
1266 | 1282 |
| |
1267 | 1283 |
| |
1268 | 1284 |
| |
| 1285 | + | |
1269 | 1286 |
| |
1270 | 1287 |
| |
1271 | 1288 |
| |
| |||
1275 | 1292 |
| |
1276 | 1293 |
| |
1277 | 1294 |
| |
| 1295 | + | |
| 1296 | + | |
| 1297 | + | |
| 1298 | + | |
1278 | 1299 |
| |
1279 | 1300 |
| |
1280 | 1301 |
| |
1281 | 1302 |
| |
| 1303 | + | |
1282 | 1304 |
| |
1283 | 1305 |
| |
1284 | 1306 |
| |
|
0 commit comments
Comments
(0)