forked frompostgres/postgres
- Notifications
You must be signed in to change notification settings - Fork6
Commite8b6ae2
committed
Fix handling of opclauses in extended statistics
We expect opclauses to have exactly one Var and one Const, but the codewas checking the Const by calling is_pseudo_constant_clause() which isincorrect - we need a proper constant.Fixed by using plain IsA(x,Const) to check type of the node. We need todo these checks in two places, so move it into a separate function thatcan be called in both places.Reported by Andreas Seltenreich, based on crash reported by sqlsmith.Backpatch to v12, where this code was introduced.Discussion:https://postgr.es/m/8736jdhbhc.fsf%40ansel.ydns.euBackpatch-to: 121 parenta4303a0 commite8b6ae2
File tree
3 files changed
+73
-32
lines changed- src
- backend/statistics
- include/statistics
3 files changed
+73
-32
lines changedLines changed: 64 additions & 12 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
796 | 796 |
| |
797 | 797 |
| |
798 | 798 |
| |
799 |
| - | |
800 |
| - | |
801 | 799 |
| |
802 | 800 |
| |
803 | 801 |
| |
804 | 802 |
| |
805 | 803 |
| |
806 |
| - | |
807 |
| - | |
808 |
| - | |
809 |
| - | |
810 |
| - | |
811 |
| - | |
812 |
| - | |
813 |
| - | |
| 804 | + | |
| 805 | + | |
814 | 806 |
| |
815 | 807 |
| |
816 | 808 |
| |
| |||
850 | 842 |
| |
851 | 843 |
| |
852 | 844 |
| |
853 |
| - | |
854 |
| - | |
855 | 845 |
| |
856 | 846 |
| |
857 | 847 |
| |
| |||
1196 | 1186 |
| |
1197 | 1187 |
| |
1198 | 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 | + |
Lines changed: 7 additions & 20 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
1561 | 1561 |
| |
1562 | 1562 |
| |
1563 | 1563 |
| |
1564 |
| - | |
1565 |
| - | |
1566 | 1564 |
| |
1567 | 1565 |
| |
1568 | 1566 |
| |
1569 | 1567 |
| |
1570 | 1568 |
| |
1571 |
| - | |
| 1569 | + | |
| 1570 | + | |
| 1571 | + | |
| 1572 | + | |
1572 | 1573 |
| |
1573 |
| - | |
1574 |
| - | |
1575 |
| - | |
1576 |
| - | |
| 1574 | + | |
1577 | 1575 |
| |
1578 |
| - | |
| 1576 | + | |
| 1577 | + | |
1579 | 1578 |
| |
1580 |
| - | |
1581 |
| - | |
1582 |
| - | |
1583 | 1579 |
| |
1584 | 1580 |
| |
1585 |
| - | |
1586 |
| - | |
1587 |
| - | |
1588 |
| - | |
1589 |
| - | |
1590 |
| - | |
1591 |
| - | |
1592 |
| - | |
1593 |
| - | |
1594 | 1581 |
| |
1595 | 1582 |
| |
1596 | 1583 |
| |
|
Lines changed: 2 additions & 0 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
97 | 97 |
| |
98 | 98 |
| |
99 | 99 |
| |
| 100 | + | |
| 101 | + | |
100 | 102 |
| |
101 | 103 |
| |
102 | 104 |
| |
|
0 commit comments
Comments
(0)