forked frompostgres/postgres
- Notifications
You must be signed in to change notification settings - Fork6
Commitd685814
committed
Fix bug with whole-row references to append subplans.
ExecEvalWholeRowVar incorrectly supposed that it could "bless" the sourceTupleTableSlot just once per query. But if the input is coming from anAppend (or, perhaps, other cases?) more than one slot might be returnedover the query run. This led to "record type has not been registered"errors when a composite datum was extracted from a non-blessed slot.This bug has been there a long time; I guess it escaped notice because whendealing with subqueries the planner tends to expand whole-row Vars intoRowExprs, which don't have the same problem. It is possible to triggerthe problem in all active branches, though, as illustrated by the addedregression test.1 parent80ddd04 commitd685814
File tree
3 files changed
+47
-14
lines changed- src
- backend/executor
- test/regress
- expected
- sql
3 files changed
+47
-14
lines changedLines changed: 19 additions & 14 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
712 | 712 |
| |
713 | 713 |
| |
714 | 714 |
| |
715 |
| - | |
716 | 715 |
| |
717 | 716 |
| |
718 | 717 |
| |
| |||
804 | 803 |
| |
805 | 804 |
| |
806 | 805 |
| |
807 |
| - | |
808 |
| - | |
809 | 806 |
| |
810 |
| - | |
811 |
| - | |
812 |
| - | |
813 |
| - | |
814 | 807 |
| |
815 | 808 |
| |
816 | 809 |
| |
817 |
| - | |
818 |
| - | |
819 |
| - | |
820 |
| - | |
821 |
| - | |
822 |
| - | |
823 |
| - | |
| 810 | + | |
824 | 811 |
| |
825 | 812 |
| |
| 813 | + | |
826 | 814 |
| |
827 | 815 |
| |
828 | 816 |
| |
| |||
839 | 827 |
| |
840 | 828 |
| |
841 | 829 |
| |
| 830 | + | |
| 831 | + | |
842 | 832 |
| |
843 | 833 |
| |
844 | 834 |
| |
| |||
896 | 886 |
| |
897 | 887 |
| |
898 | 888 |
| |
| 889 | + | |
899 | 890 |
| |
900 | 891 |
| |
901 | 892 |
| |
| |||
925 | 916 |
| |
926 | 917 |
| |
927 | 918 |
| |
| 919 | + | |
| 920 | + | |
| 921 | + | |
| 922 | + | |
| 923 | + | |
| 924 | + | |
| 925 | + | |
| 926 | + | |
| 927 | + | |
| 928 | + | |
| 929 | + | |
| 930 | + | |
| 931 | + | |
| 932 | + | |
928 | 933 |
| |
929 | 934 |
| |
930 | 935 |
| |
|
Lines changed: 18 additions & 0 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
774 | 774 |
| |
775 | 775 |
| |
776 | 776 |
| |
| 777 | + | |
| 778 | + | |
| 779 | + | |
| 780 | + | |
| 781 | + | |
| 782 | + | |
| 783 | + | |
| 784 | + | |
| 785 | + | |
| 786 | + | |
| 787 | + | |
| 788 | + | |
| 789 | + | |
| 790 | + | |
| 791 | + | |
| 792 | + | |
| 793 | + | |
| 794 | + | |
777 | 795 |
| |
778 | 796 |
| |
779 | 797 |
| |
|
Lines changed: 10 additions & 0 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
432 | 432 |
| |
433 | 433 |
| |
434 | 434 |
| |
| 435 | + | |
| 436 | + | |
| 437 | + | |
| 438 | + | |
| 439 | + | |
| 440 | + | |
| 441 | + | |
| 442 | + | |
| 443 | + | |
| 444 | + | |
435 | 445 |
| |
436 | 446 |
| |
437 | 447 |
| |
|
0 commit comments
Comments
(0)