Commit 9bac660
committed
Fix core dump in jsonb #> operator, and add regression test cases.
jsonb's #> operator segfaulted (dereferencing a null pointer) if the RHS
was a zero-length array, as reported in bug #11207 from Justin Van Winkle.
json's #> operator returns NULL in such cases, so for the moment let's
make jsonb act likewise.
Also add a bunch of regression test queries memorializing the -> and #>
operators' behavior for this and other corner cases.
There is a good argument for changing some of these behaviors, as they
are not very consistent with each other, and throwing an error isn't
necessarily a desirable behavior for operators that are likely to be
used in indexes. However, everybody can agree that a core dump is the
Wrong Thing, and we need test cases even if we decide to change their
expected output later.1 parent 7567d94 commit 9bac660
File tree
7 files changed
+711
-119
lines changed- src
- backend/utils/adt
- test/regress
- expected
- sql
7 files changed
+711
-119
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
726 | 726 | | |
727 | 727 | | |
728 | 728 | | |
| 729 | + | |
| 730 | + | |
| 731 | + | |
| 732 | + | |
| 733 | + | |
| 734 | + | |
| 735 | + | |
729 | 736 | | |
730 | 737 | | |
731 | 738 | | |
| |||
1100 | 1107 | | |
1101 | 1108 | | |
1102 | 1109 | | |
| 1110 | + | |
1103 | 1111 | | |
1104 | 1112 | | |
1105 | 1113 | | |
1106 | 1114 | | |
1107 | | - | |
1108 | 1115 | | |
1109 | 1116 | | |
1110 | 1117 | | |
| |||
1120 | 1127 | | |
1121 | 1128 | | |
1122 | 1129 | | |
| 1130 | + | |
| 1131 | + | |
| 1132 | + | |
| 1133 | + | |
| 1134 | + | |
| 1135 | + | |
| 1136 | + | |
1123 | 1137 | | |
1124 | 1138 | | |
1125 | 1139 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
653 | 653 | | |
654 | 654 | | |
655 | 655 | | |
| 656 | + | |
| 657 | + | |
| 658 | + | |
| 659 | + | |
| 660 | + | |
| 661 | + | |
| 662 | + | |
| 663 | + | |
| 664 | + | |
| 665 | + | |
| 666 | + | |
| 667 | + | |
| 668 | + | |
| 669 | + | |
| 670 | + | |
| 671 | + | |
| 672 | + | |
| 673 | + | |
| 674 | + | |
| 675 | + | |
| 676 | + | |
| 677 | + | |
| 678 | + | |
| 679 | + | |
| 680 | + | |
| 681 | + | |
| 682 | + | |
| 683 | + | |
| 684 | + | |
| 685 | + | |
| 686 | + | |
| 687 | + | |
| 688 | + | |
| 689 | + | |
| 690 | + | |
| 691 | + | |
| 692 | + | |
| 693 | + | |
| 694 | + | |
656 | 695 | | |
657 | 696 | | |
658 | 697 | | |
| |||
831 | 870 | | |
832 | 871 | | |
833 | 872 | | |
834 | | - | |
835 | | - | |
836 | | - | |
837 | | - | |
838 | | - | |
| 873 | + | |
| 874 | + | |
| 875 | + | |
| 876 | + | |
| 877 | + | |
| 878 | + | |
| 879 | + | |
| 880 | + | |
| 881 | + | |
| 882 | + | |
| 883 | + | |
| 884 | + | |
| 885 | + | |
| 886 | + | |
| 887 | + | |
| 888 | + | |
| 889 | + | |
839 | 890 | | |
840 | 891 | | |
841 | | - | |
| 892 | + | |
842 | 893 | | |
843 | 894 | | |
844 | | - | |
| 895 | + | |
845 | 896 | | |
846 | 897 | | |
847 | | - | |
| 898 | + | |
848 | 899 | | |
849 | 900 | | |
850 | | - | |
| 901 | + | |
851 | 902 | | |
852 | 903 | | |
853 | | - | |
| 904 | + | |
854 | 905 | | |
855 | 906 | | |
856 | | - | |
| 907 | + | |
857 | 908 | | |
858 | 909 | | |
859 | | - | |
| 910 | + | |
860 | 911 | | |
861 | 912 | | |
862 | | - | |
| 913 | + | |
863 | 914 | | |
864 | 915 | | |
865 | | - | |
| 916 | + | |
866 | 917 | | |
867 | 918 | | |
868 | | - | |
| 919 | + | |
869 | 920 | | |
870 | 921 | | |
871 | | - | |
| 922 | + | |
872 | 923 | | |
873 | 924 | | |
874 | | - | |
| 925 | + | |
875 | 926 | | |
876 | 927 | | |
877 | | - | |
| 928 | + | |
878 | 929 | | |
879 | 930 | | |
880 | | - | |
| 931 | + | |
| 932 | + | |
| 933 | + | |
| 934 | + | |
| 935 | + | |
| 936 | + | |
| 937 | + | |
| 938 | + | |
| 939 | + | |
| 940 | + | |
| 941 | + | |
| 942 | + | |
| 943 | + | |
| 944 | + | |
| 945 | + | |
| 946 | + | |
| 947 | + | |
| 948 | + | |
| 949 | + | |
| 950 | + | |
| 951 | + | |
| 952 | + | |
| 953 | + | |
| 954 | + | |
| 955 | + | |
| 956 | + | |
| 957 | + | |
| 958 | + | |
| 959 | + | |
| 960 | + | |
| 961 | + | |
| 962 | + | |
| 963 | + | |
| 964 | + | |
| 965 | + | |
| 966 | + | |
| 967 | + | |
| 968 | + | |
| 969 | + | |
| 970 | + | |
| 971 | + | |
| 972 | + | |
| 973 | + | |
| 974 | + | |
| 975 | + | |
| 976 | + | |
| 977 | + | |
| 978 | + | |
| 979 | + | |
| 980 | + | |
| 981 | + | |
| 982 | + | |
| 983 | + | |
| 984 | + | |
| 985 | + | |
| 986 | + | |
| 987 | + | |
| 988 | + | |
| 989 | + | |
| 990 | + | |
| 991 | + | |
| 992 | + | |
| 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 | + | |
| 1026 | + | |
| 1027 | + | |
881 | 1028 | | |
882 | 1029 | | |
883 | 1030 | | |
| |||
0 commit comments