Commit b8c6c71
committed
Centralize DML permissions-checking logic.
Remove bespoke code in DoCopy and RI_Initial_Check, which now instead
fabricate call ExecCheckRTPerms with a manufactured RangeTblEntry.
This is intended to make it feasible for an enhanced security provider
to actually make use of ExecutorCheckPerms_hook, but also has the
advantage that RI_Initial_Check can allow use of the fast-path when
column-level but not table-level permissions are present.
KaiGai Kohei. Reviewed (in an earlier version) by Stephen Frost, and by me.
Some further changes to the comments by me.1 parent 9f8cf32 commit b8c6c71
File tree
4 files changed
+89
-57
lines changed- src
- backend
- commands
- executor
- utils/adt
- include/executor
4 files changed
+89
-57
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
8 | 8 | | |
9 | 9 | | |
10 | 10 | | |
11 | | - | |
| 11 | + | |
12 | 12 | | |
13 | 13 | | |
14 | 14 | | |
| |||
21 | 21 | | |
22 | 22 | | |
23 | 23 | | |
| 24 | + | |
24 | 25 | | |
25 | 26 | | |
26 | 27 | | |
| |||
726 | 727 | | |
727 | 728 | | |
728 | 729 | | |
729 | | - | |
730 | | - | |
731 | 730 | | |
732 | 731 | | |
733 | 732 | | |
| |||
988 | 987 | | |
989 | 988 | | |
990 | 989 | | |
| 990 | + | |
| 991 | + | |
| 992 | + | |
| 993 | + | |
991 | 994 | | |
992 | 995 | | |
993 | 996 | | |
| |||
998 | 1001 | | |
999 | 1002 | | |
1000 | 1003 | | |
1001 | | - | |
1002 | | - | |
1003 | | - | |
1004 | | - | |
1005 | | - | |
1006 | | - | |
1007 | | - | |
1008 | | - | |
| 1004 | + | |
| 1005 | + | |
| 1006 | + | |
| 1007 | + | |
1009 | 1008 | | |
1010 | | - | |
1011 | | - | |
1012 | | - | |
1013 | | - | |
| 1009 | + | |
| 1010 | + | |
| 1011 | + | |
| 1012 | + | |
1014 | 1013 | | |
1015 | | - | |
1016 | | - | |
1017 | | - | |
1018 | | - | |
1019 | | - | |
1020 | | - | |
1021 | | - | |
| 1014 | + | |
| 1015 | + | |
| 1016 | + | |
| 1017 | + | |
1022 | 1018 | | |
| 1019 | + | |
1023 | 1020 | | |
1024 | 1021 | | |
1025 | 1022 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
26 | 26 | | |
27 | 27 | | |
28 | 28 | | |
29 | | - | |
| 29 | + | |
30 | 30 | | |
31 | 31 | | |
32 | 32 | | |
| |||
75 | 75 | | |
76 | 76 | | |
77 | 77 | | |
78 | | - | |
79 | | - | |
| 78 | + | |
80 | 79 | | |
81 | 80 | | |
82 | 81 | | |
| |||
409 | 408 | | |
410 | 409 | | |
411 | 410 | | |
| 411 | + | |
| 412 | + | |
| 413 | + | |
412 | 414 | | |
413 | | - | |
414 | | - | |
| 415 | + | |
| 416 | + | |
415 | 417 | | |
416 | 418 | | |
| 419 | + | |
417 | 420 | | |
418 | 421 | | |
419 | 422 | | |
420 | | - | |
| 423 | + | |
| 424 | + | |
| 425 | + | |
| 426 | + | |
| 427 | + | |
| 428 | + | |
| 429 | + | |
| 430 | + | |
| 431 | + | |
| 432 | + | |
| 433 | + | |
421 | 434 | | |
422 | 435 | | |
423 | 436 | | |
424 | | - | |
| 437 | + | |
| 438 | + | |
| 439 | + | |
425 | 440 | | |
426 | 441 | | |
427 | 442 | | |
428 | 443 | | |
429 | 444 | | |
430 | 445 | | |
431 | | - | |
| 446 | + | |
432 | 447 | | |
433 | 448 | | |
434 | 449 | | |
| |||
445 | 460 | | |
446 | 461 | | |
447 | 462 | | |
448 | | - | |
| 463 | + | |
449 | 464 | | |
450 | 465 | | |
451 | 466 | | |
452 | 467 | | |
453 | 468 | | |
454 | 469 | | |
455 | | - | |
| 470 | + | |
456 | 471 | | |
457 | 472 | | |
458 | 473 | | |
| |||
480 | 495 | | |
481 | 496 | | |
482 | 497 | | |
483 | | - | |
484 | | - | |
| 498 | + | |
485 | 499 | | |
486 | 500 | | |
487 | 501 | | |
| |||
501 | 515 | | |
502 | 516 | | |
503 | 517 | | |
504 | | - | |
505 | | - | |
| 518 | + | |
506 | 519 | | |
507 | 520 | | |
508 | 521 | | |
| |||
515 | 528 | | |
516 | 529 | | |
517 | 530 | | |
518 | | - | |
519 | | - | |
| 531 | + | |
520 | 532 | | |
521 | 533 | | |
522 | 534 | | |
523 | | - | |
524 | | - | |
525 | | - | |
526 | | - | |
| 535 | + | |
| 536 | + | |
| 537 | + | |
527 | 538 | | |
528 | 539 | | |
529 | 540 | | |
| |||
546 | 557 | | |
547 | 558 | | |
548 | 559 | | |
549 | | - | |
550 | | - | |
| 560 | + | |
551 | 561 | | |
552 | 562 | | |
553 | 563 | | |
| |||
562 | 572 | | |
563 | 573 | | |
564 | 574 | | |
565 | | - | |
566 | | - | |
567 | | - | |
568 | | - | |
| 575 | + | |
| 576 | + | |
| 577 | + | |
569 | 578 | | |
570 | 579 | | |
571 | 580 | | |
572 | 581 | | |
573 | 582 | | |
| 583 | + | |
574 | 584 | | |
575 | 585 | | |
576 | 586 | | |
| |||
636 | 646 | | |
637 | 647 | | |
638 | 648 | | |
639 | | - | |
| 649 | + | |
640 | 650 | | |
641 | 651 | | |
642 | 652 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
15 | 15 | | |
16 | 16 | | |
17 | 17 | | |
18 | | - | |
| 18 | + | |
19 | 19 | | |
20 | 20 | | |
21 | 21 | | |
| |||
31 | 31 | | |
32 | 32 | | |
33 | 33 | | |
| 34 | + | |
34 | 35 | | |
35 | 36 | | |
36 | 37 | | |
37 | 38 | | |
| 39 | + | |
38 | 40 | | |
39 | 41 | | |
40 | 42 | | |
| |||
2624 | 2626 | | |
2625 | 2627 | | |
2626 | 2628 | | |
| 2629 | + | |
| 2630 | + | |
2627 | 2631 | | |
2628 | 2632 | | |
2629 | 2633 | | |
2630 | 2634 | | |
2631 | 2635 | | |
2632 | 2636 | | |
2633 | 2637 | | |
| 2638 | + | |
| 2639 | + | |
| 2640 | + | |
2634 | 2641 | | |
2635 | 2642 | | |
2636 | 2643 | | |
2637 | 2644 | | |
2638 | 2645 | | |
2639 | 2646 | | |
2640 | 2647 | | |
2641 | | - | |
2642 | | - | |
2643 | | - | |
2644 | | - | |
| 2648 | + | |
| 2649 | + | |
| 2650 | + | |
| 2651 | + | |
2645 | 2652 | | |
2646 | | - | |
| 2653 | + | |
| 2654 | + | |
| 2655 | + | |
| 2656 | + | |
| 2657 | + | |
| 2658 | + | |
| 2659 | + | |
| 2660 | + | |
| 2661 | + | |
| 2662 | + | |
| 2663 | + | |
| 2664 | + | |
| 2665 | + | |
| 2666 | + | |
| 2667 | + | |
| 2668 | + | |
| 2669 | + | |
| 2670 | + | |
2647 | 2671 | | |
2648 | 2672 | | |
2649 | 2673 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
7 | 7 | | |
8 | 8 | | |
9 | 9 | | |
10 | | - | |
| 10 | + | |
11 | 11 | | |
12 | 12 | | |
13 | 13 | | |
| |||
75 | 75 | | |
76 | 76 | | |
77 | 77 | | |
78 | | - | |
| 78 | + | |
79 | 79 | | |
80 | 80 | | |
81 | 81 | | |
| |||
161 | 161 | | |
162 | 162 | | |
163 | 163 | | |
| 164 | + | |
164 | 165 | | |
165 | 166 | | |
166 | 167 | | |
| |||
0 commit comments