forked frompostgres/postgres
- Notifications
You must be signed in to change notification settings - Fork6
Commit68d9fbe

Thomas G. Lockhart
Implement the IS DISTINCT FROM operator per SQL99.
Reused the Expr node to hold DISTINCT which strongly resembles the existing OP info. Define DISTINCT_EXPR which strongly resembles the existing OPER_EXPR opType, but with handling for NULLs required by SQL99.We have explicit support for single-element DISTINCT comparisons all the way through to the executor. But, multi-element DISTINCTs are handled by expanding into a comparison tree in gram.y as is done for other row comparisons. Per discussions, it might be desirable to move this into one or more purpose-built nodes to be handled in the backend.Define the optional ROW keyword and token per SQL99. This allows single-element row constructs, which were formerly disallowed due to shift/reduce conflicts with parenthesized a_expr clauses.Define the SQL99 TREAT() function. Currently, use as a synonym for CAST().1 parentc7eea66 commit68d9fbe
File tree
10 files changed
+438
-100
lines changed- src
- backend
- executor
- nodes
- optimizer
- path
- util
- parser
- utils/adt
- include/nodes
10 files changed
+438
-100
lines changedLines changed: 82 additions & 1 deletion
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
8 | 8 |
| |
9 | 9 |
| |
10 | 10 |
| |
11 |
| - | |
| 11 | + | |
12 | 12 |
| |
13 | 13 |
| |
14 | 14 |
| |
| |||
51 | 51 |
| |
52 | 52 |
| |
53 | 53 |
| |
| 54 | + | |
| 55 | + | |
54 | 56 |
| |
55 | 57 |
| |
56 | 58 |
| |
| |||
832 | 834 |
| |
833 | 835 |
| |
834 | 836 |
| |
| 837 | + | |
835 | 838 |
| |
836 | 839 |
| |
837 | 840 |
| |
| |||
878 | 881 |
| |
879 | 882 |
| |
880 | 883 |
| |
| 884 | + | |
| 885 | + | |
| 886 | + | |
| 887 | + | |
| 888 | + | |
| 889 | + | |
| 890 | + | |
| 891 | + | |
| 892 | + | |
| 893 | + | |
| 894 | + | |
| 895 | + | |
| 896 | + | |
| 897 | + | |
| 898 | + | |
| 899 | + | |
| 900 | + | |
| 901 | + | |
| 902 | + | |
| 903 | + | |
| 904 | + | |
| 905 | + | |
| 906 | + | |
| 907 | + | |
| 908 | + | |
| 909 | + | |
| 910 | + | |
| 911 | + | |
| 912 | + | |
| 913 | + | |
| 914 | + | |
| 915 | + | |
| 916 | + | |
| 917 | + | |
| 918 | + | |
| 919 | + | |
| 920 | + | |
| 921 | + | |
| 922 | + | |
| 923 | + | |
| 924 | + | |
| 925 | + | |
| 926 | + | |
| 927 | + | |
| 928 | + | |
| 929 | + | |
| 930 | + | |
| 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 | + | |
881 | 958 |
| |
882 | 959 |
| |
883 | 960 |
| |
| |||
1367 | 1444 |
| |
1368 | 1445 |
| |
1369 | 1446 |
| |
| 1447 | + | |
| 1448 | + | |
| 1449 | + | |
| 1450 | + | |
1370 | 1451 |
| |
1371 | 1452 |
| |
1372 | 1453 |
| |
|
Lines changed: 4 additions & 1 deletion
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
5 | 5 |
| |
6 | 6 |
| |
7 | 7 |
| |
8 |
| - | |
| 8 | + | |
9 | 9 |
| |
10 | 10 |
| |
11 | 11 |
| |
| |||
719 | 719 |
| |
720 | 720 |
| |
721 | 721 |
| |
| 722 | + | |
| 723 | + | |
| 724 | + | |
722 | 725 |
| |
723 | 726 |
| |
724 | 727 |
| |
|
Lines changed: 3 additions & 1 deletion
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
8 | 8 |
| |
9 | 9 |
| |
10 | 10 |
| |
11 |
| - | |
| 11 | + | |
12 | 12 |
| |
13 | 13 |
| |
14 | 14 |
| |
| |||
804 | 804 |
| |
805 | 805 |
| |
806 | 806 |
| |
| 807 | + | |
| 808 | + | |
807 | 809 |
| |
808 | 810 |
| |
809 | 811 |
| |
|
Lines changed: 2 additions & 1 deletion
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
42 | 42 |
| |
43 | 43 |
| |
44 | 44 |
| |
45 |
| - | |
| 45 | + | |
46 | 46 |
| |
47 | 47 |
| |
48 | 48 |
| |
| |||
1092 | 1092 |
| |
1093 | 1093 |
| |
1094 | 1094 |
| |
| 1095 | + | |
1095 | 1096 |
| |
1096 | 1097 |
| |
1097 | 1098 |
| |
|
Lines changed: 100 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 |
| |
| |||
71 | 71 |
| |
72 | 72 |
| |
73 | 73 |
| |
| 74 | + | |
74 | 75 |
| |
75 | 76 |
| |
76 | 77 |
| |
| |||
107 | 108 |
| |
108 | 109 |
| |
109 | 110 |
| |
110 |
| - | |
| 111 | + | |
| 112 | + | |
111 | 113 |
| |
112 | 114 |
| |
113 | 115 |
| |
| |||
458 | 460 |
| |
459 | 461 |
| |
460 | 462 |
| |
461 |
| - | |
| 463 | + | |
462 | 464 |
| |
463 | 465 |
| |
464 | 466 |
| |
| |||
482 | 484 |
| |
483 | 485 |
| |
484 | 486 |
| |
| 487 | + | |
485 | 488 |
| |
486 | 489 |
| |
487 | 490 |
| |
| |||
757 | 760 |
| |
758 | 761 |
| |
759 | 762 |
| |
| 763 | + | |
760 | 764 |
| |
761 | 765 |
| |
762 | 766 |
| |
| |||
806 | 810 |
| |
807 | 811 |
| |
808 | 812 |
| |
| 813 | + | |
809 | 814 |
| |
810 | 815 |
| |
811 | 816 |
| |
| |||
1138 | 1143 |
| |
1139 | 1144 |
| |
1140 | 1145 |
| |
1141 |
| - | |
| 1146 | + | |
1142 | 1147 |
| |
1143 | 1148 |
| |
1144 | 1149 |
| |
| |||
1159 | 1164 |
| |
1160 | 1165 |
| |
1161 | 1166 |
| |
| 1167 | + | |
| 1168 | + | |
| 1169 | + | |
| 1170 | + | |
| 1171 | + | |
| 1172 | + | |
| 1173 | + | |
| 1174 | + | |
| 1175 | + | |
| 1176 | + | |
| 1177 | + | |
| 1178 | + | |
| 1179 | + | |
| 1180 | + | |
| 1181 | + | |
| 1182 | + | |
| 1183 | + | |
| 1184 | + | |
| 1185 | + | |
| 1186 | + | |
| 1187 | + | |
| 1188 | + | |
| 1189 | + | |
| 1190 | + | |
| 1191 | + | |
| 1192 | + | |
| 1193 | + | |
| 1194 | + | |
| 1195 | + | |
| 1196 | + | |
| 1197 | + | |
| 1198 | + | |
| 1199 | + | |
| 1200 | + | |
| 1201 | + | |
| 1202 | + | |
| 1203 | + | |
| 1204 | + | |
| 1205 | + | |
| 1206 | + | |
| 1207 | + | |
| 1208 | + | |
| 1209 | + | |
| 1210 | + | |
| 1211 | + | |
| 1212 | + | |
| 1213 | + | |
| 1214 | + | |
| 1215 | + | |
| 1216 | + | |
| 1217 | + | |
| 1218 | + | |
| 1219 | + | |
| 1220 | + | |
| 1221 | + | |
| 1222 | + | |
| 1223 | + | |
| 1224 | + | |
| 1225 | + | |
| 1226 | + | |
| 1227 | + | |
| 1228 | + | |
| 1229 | + | |
| 1230 | + | |
| 1231 | + | |
| 1232 | + | |
| 1233 | + | |
| 1234 | + | |
| 1235 | + | |
| 1236 | + | |
| 1237 | + | |
| 1238 | + | |
| 1239 | + | |
| 1240 | + | |
| 1241 | + | |
| 1242 | + | |
| 1243 | + | |
| 1244 | + | |
| 1245 | + | |
| 1246 | + | |
| 1247 | + | |
| 1248 | + | |
| 1249 | + | |
| 1250 | + | |
| 1251 | + | |
| 1252 | + | |
| 1253 | + | |
| 1254 | + | |
| 1255 | + | |
| 1256 | + | |
| 1257 | + | |
1162 | 1258 |
| |
1163 | 1259 |
| |
1164 | 1260 |
| |
|
0 commit comments
Comments
(0)