forked frompostgres/postgres
- Notifications
You must be signed in to change notification settings - Fork6
Commit336a649
committed
Improve my initial, rather hacky implementation of joins to append
relations: fix the executor so that we can have an Append plan on theinside of a nestloop and still pass down outer index keys to index scanswithin the Append, then generate such plans as if they were regularinner indexscans. This avoids the need to evaluate the outer relationmultiple times.1 parent354213c commit336a649
File tree
8 files changed
+114
-273
lines changed- src
- backend
- commands
- executor
- optimizer
- path
- plan
- util
- include/optimizer
8 files changed
+114
-273
lines changedLines changed: 8 additions & 2 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
7 | 7 |
| |
8 | 8 |
| |
9 | 9 |
| |
10 |
| - | |
| 10 | + | |
11 | 11 |
| |
12 | 12 |
| |
13 | 13 |
| |
| |||
904 | 904 |
| |
905 | 905 |
| |
906 | 906 |
| |
| 907 | + | |
| 908 | + | |
| 909 | + | |
| 910 | + | |
| 911 | + | |
| 912 | + | |
907 | 913 |
| |
908 | 914 |
| |
909 |
| - | |
| 915 | + | |
910 | 916 |
| |
911 | 917 |
| |
912 | 918 |
| |
|
Lines changed: 6 additions & 4 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
8 | 8 |
| |
9 | 9 |
| |
10 | 10 |
| |
11 |
| - | |
| 11 | + | |
12 | 12 |
| |
13 | 13 |
| |
14 | 14 |
| |
| |||
345 | 345 |
| |
346 | 346 |
| |
347 | 347 |
| |
348 |
| - | |
349 |
| - | |
| 348 | + | |
| 349 | + | |
| 350 | + | |
| 351 | + | |
350 | 352 |
| |
351 |
| - | |
| 353 | + | |
352 | 354 |
| |
353 | 355 |
| |
354 | 356 |
| |
|
Lines changed: 34 additions & 13 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
49 | 49 |
| |
50 | 50 |
| |
51 | 51 |
| |
52 |
| - | |
| 52 | + | |
53 | 53 |
| |
54 | 54 |
| |
55 | 55 |
| |
| |||
991 | 991 |
| |
992 | 992 |
| |
993 | 993 |
| |
| 994 | + | |
| 995 | + | |
| 996 | + | |
| 997 | + | |
| 998 | + | |
| 999 | + | |
| 1000 | + | |
| 1001 | + | |
| 1002 | + | |
| 1003 | + | |
| 1004 | + | |
| 1005 | + | |
| 1006 | + | |
| 1007 | + | |
| 1008 | + | |
| 1009 | + | |
| 1010 | + | |
| 1011 | + | |
| 1012 | + | |
| 1013 | + | |
| 1014 | + | |
| 1015 | + | |
| 1016 | + | |
| 1017 | + | |
| 1018 | + | |
| 1019 | + | |
| 1020 | + | |
| 1021 | + | |
| 1022 | + | |
| 1023 | + | |
| 1024 | + | |
| 1025 | + | |
994 | 1026 |
| |
995 | 1027 |
| |
996 | 1028 |
| |
| |||
1008 | 1040 |
| |
1009 | 1041 |
| |
1010 | 1042 |
| |
1011 |
| - | |
| 1043 | + | |
1012 | 1044 |
| |
1013 | 1045 |
| |
1014 | 1046 |
| |
1015 |
| - | |
1016 |
| - | |
1017 |
| - | |
1018 |
| - | |
1019 |
| - | |
1020 |
| - | |
1021 |
| - | |
1022 |
| - | |
1023 |
| - | |
1024 |
| - | |
1025 |
| - | |
1026 | 1047 |
| |
1027 | 1048 |
| |
1028 | 1049 |
| |
|
Lines changed: 5 additions & 2 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
9 | 9 |
| |
10 | 10 |
| |
11 | 11 |
| |
12 |
| - | |
| 12 | + | |
13 | 13 |
| |
14 | 14 |
| |
15 | 15 |
| |
| |||
129 | 129 |
| |
130 | 130 |
| |
131 | 131 |
| |
132 |
| - | |
| 132 | + | |
133 | 133 |
| |
134 | 134 |
| |
135 | 135 |
| |
| |||
1290 | 1290 |
| |
1291 | 1291 |
| |
1292 | 1292 |
| |
| 1293 | + | |
| 1294 | + | |
| 1295 | + | |
1293 | 1296 |
| |
1294 | 1297 |
| |
1295 | 1298 |
| |
|
Lines changed: 39 additions & 98 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
8 | 8 |
| |
9 | 9 |
| |
10 | 10 |
| |
11 |
| - | |
| 11 | + | |
12 | 12 |
| |
13 | 13 |
| |
14 | 14 |
| |
| |||
35 | 35 |
| |
36 | 36 |
| |
37 | 37 |
| |
38 |
| - | |
39 |
| - | |
40 |
| - | |
| 38 | + | |
| 39 | + | |
41 | 40 |
| |
42 | 41 |
| |
43 | 42 |
| |
| |||
118 | 117 |
| |
119 | 118 |
| |
120 | 119 |
| |
121 |
| - | |
122 |
| - | |
123 |
| - | |
124 |
| - | |
125 |
| - | |
126 |
| - | |
127 |
| - | |
128 | 120 |
| |
129 | 121 |
| |
130 | 122 |
| |
| |||
405 | 397 |
| |
406 | 398 |
| |
407 | 399 |
| |
408 |
| - | |
409 |
| - | |
| 400 | + | |
| 401 | + | |
| 402 | + | |
| 403 | + | |
| 404 | + | |
| 405 | + | |
| 406 | + | |
| 407 | + | |
| 408 | + | |
| 409 | + | |
| 410 | + | |
410 | 411 |
| |
411 | 412 |
| |
412 | 413 |
| |
| |||
788 | 789 |
| |
789 | 790 |
| |
790 | 791 |
| |
791 |
| - | |
792 |
| - | |
793 |
| - | |
794 |
| - | |
795 |
| - | |
796 |
| - | |
797 |
| - | |
798 |
| - | |
799 |
| - | |
800 |
| - | |
801 |
| - | |
802 |
| - | |
803 |
| - | |
804 |
| - | |
805 |
| - | |
806 |
| - | |
807 |
| - | |
808 |
| - | |
809 |
| - | |
810 |
| - | |
811 |
| - | |
| 792 | + | |
| 793 | + | |
| 794 | + | |
| 795 | + | |
| 796 | + | |
812 | 797 |
| |
813 |
| - | |
814 |
| - | |
815 |
| - | |
816 |
| - | |
817 |
| - | |
818 |
| - | |
| 798 | + | |
| 799 | + | |
| 800 | + | |
819 | 801 |
| |
820 |
| - | |
821 |
| - | |
| 802 | + | |
822 | 803 |
| |
| 804 | + | |
823 | 805 |
| |
824 | 806 |
| |
825 |
| - | |
826 |
| - | |
827 |
| - | |
828 |
| - | |
829 |
| - | |
830 |
| - | |
831 |
| - | |
832 |
| - | |
833 |
| - | |
834 |
| - | |
835 |
| - | |
836 |
| - | |
837 |
| - | |
838 |
| - | |
839 |
| - | |
840 |
| - | |
841 |
| - | |
842 |
| - | |
843 |
| - | |
844 |
| - | |
845 |
| - | |
846 |
| - | |
847 |
| - | |
848 |
| - | |
849 |
| - | |
850 |
| - | |
851 |
| - | |
852 | 807 |
| |
853 | 808 |
| |
854 | 809 |
| |
855 | 810 |
| |
856 | 811 |
| |
857 | 812 |
| |
858 |
| - | |
859 |
| - | |
860 | 813 |
| |
861 | 814 |
| |
862 | 815 |
| |
| |||
876 | 829 |
| |
877 | 830 |
| |
878 | 831 |
| |
879 |
| - | |
| 832 | + | |
880 | 833 |
| |
881 | 834 |
| |
882 |
| - | |
| 835 | + | |
| 836 | + | |
883 | 837 |
| |
884 | 838 |
| |
885 |
| - | |
886 |
| - | |
887 |
| - | |
| 839 | + | |
| 840 | + | |
| 841 | + | |
888 | 842 |
| |
889 |
| - | |
| 843 | + | |
| 844 | + | |
| 845 | + | |
890 | 846 |
| |
891 | 847 |
| |
892 |
| - | |
893 |
| - | |
894 |
| - | |
895 |
| - | |
896 |
| - | |
897 |
| - | |
898 |
| - | |
899 |
| - | |
900 |
| - | |
901 |
| - | |
902 |
| - | |
903 |
| - | |
904 |
| - | |
905 |
| - | |
906 |
| - | |
907 |
| - | |
908 |
| - | |
909 |
| - | |
910 |
| - | |
| 848 | + | |
911 | 849 |
| |
912 | 850 |
| |
913 |
| - | |
914 |
| - | |
| 851 | + | |
| 852 | + | |
| 853 | + | |
| 854 | + | |
| 855 | + | |
915 | 856 |
| |
916 | 857 |
| |
917 | 858 |
| |
|
Lines changed: 20 additions & 3 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
9 | 9 |
| |
10 | 10 |
| |
11 | 11 |
| |
12 |
| - | |
| 12 | + | |
13 | 13 |
| |
14 | 14 |
| |
15 | 15 |
| |
| |||
769 | 769 |
| |
770 | 770 |
| |
771 | 771 |
| |
772 |
| - | |
773 |
| - | |
| 772 | + | |
| 773 | + | |
| 774 | + | |
774 | 775 |
| |
775 | 776 |
| |
776 | 777 |
| |
| |||
910 | 911 |
| |
911 | 912 |
| |
912 | 913 |
| |
| 914 | + | |
| 915 | + | |
| 916 | + | |
| 917 | + | |
| 918 | + | |
| 919 | + | |
| 920 | + | |
| 921 | + | |
| 922 | + | |
| 923 | + | |
| 924 | + | |
| 925 | + | |
| 926 | + | |
| 927 | + | |
| 928 | + | |
| 929 | + | |
913 | 930 |
| |
914 | 931 |
| |
915 | 932 |
| |
|
0 commit comments
Comments
(0)