Commit 5f33f44
kongfanshen
backport: Fix right-semi-joins in HashJoin rescans (PG18 5668a857d)
Cherry-pick of upstream PostgreSQL commit 5668a857d (Richard Guo).
When resetting a HashJoin node for rescan, a single-batch join with no
inner parameter changes reuses the existing hash table. Join types that
depend on inner-tuple match flags must reset those flags first. The
original aa86129e1 patch missed JOIN_RIGHT_SEMI here (HJ_FILL_INNER is
false for right-semi joins), which could produce incorrect results on
rescan. Reset the match flags for JOIN_RIGHT_SEMI as well.
Cherry picked from commit 5668a857de4f3f12066b2bbc626b77be4fc95ee5.1 parent 804c0c4 commit 5f33f44
3 files changed
Lines changed: 97 additions & 3 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1801 | 1801 | | |
1802 | 1802 | | |
1803 | 1803 | | |
1804 | | - | |
1805 | | - | |
| 1804 | + | |
| 1805 | + | |
| 1806 | + | |
1806 | 1807 | | |
1807 | | - | |
| 1808 | + | |
1808 | 1809 | | |
1809 | 1810 | | |
1810 | 1811 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
3100 | 3100 | | |
3101 | 3101 | | |
3102 | 3102 | | |
| 3103 | + | |
| 3104 | + | |
| 3105 | + | |
| 3106 | + | |
| 3107 | + | |
| 3108 | + | |
| 3109 | + | |
| 3110 | + | |
| 3111 | + | |
| 3112 | + | |
| 3113 | + | |
| 3114 | + | |
| 3115 | + | |
| 3116 | + | |
| 3117 | + | |
| 3118 | + | |
| 3119 | + | |
| 3120 | + | |
| 3121 | + | |
| 3122 | + | |
| 3123 | + | |
| 3124 | + | |
| 3125 | + | |
| 3126 | + | |
| 3127 | + | |
| 3128 | + | |
| 3129 | + | |
| 3130 | + | |
| 3131 | + | |
| 3132 | + | |
| 3133 | + | |
| 3134 | + | |
| 3135 | + | |
| 3136 | + | |
| 3137 | + | |
| 3138 | + | |
| 3139 | + | |
| 3140 | + | |
| 3141 | + | |
| 3142 | + | |
| 3143 | + | |
| 3144 | + | |
| 3145 | + | |
| 3146 | + | |
| 3147 | + | |
| 3148 | + | |
| 3149 | + | |
| 3150 | + | |
| 3151 | + | |
| 3152 | + | |
| 3153 | + | |
| 3154 | + | |
| 3155 | + | |
| 3156 | + | |
| 3157 | + | |
| 3158 | + | |
| 3159 | + | |
| 3160 | + | |
| 3161 | + | |
| 3162 | + | |
| 3163 | + | |
| 3164 | + | |
| 3165 | + | |
3103 | 3166 | | |
3104 | 3167 | | |
3105 | 3168 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
731 | 731 | | |
732 | 732 | | |
733 | 733 | | |
| 734 | + | |
| 735 | + | |
| 736 | + | |
| 737 | + | |
| 738 | + | |
| 739 | + | |
| 740 | + | |
| 741 | + | |
| 742 | + | |
| 743 | + | |
| 744 | + | |
| 745 | + | |
| 746 | + | |
| 747 | + | |
| 748 | + | |
| 749 | + | |
| 750 | + | |
| 751 | + | |
| 752 | + | |
| 753 | + | |
| 754 | + | |
| 755 | + | |
| 756 | + | |
| 757 | + | |
| 758 | + | |
| 759 | + | |
| 760 | + | |
| 761 | + | |
| 762 | + | |
| 763 | + | |
734 | 764 | | |
735 | 765 | | |
736 | 766 | | |
| |||
0 commit comments