- Notifications
You must be signed in to change notification settings - Fork28
Commit2dfc126
committed
Ensure that a tsquery like '!foo' matches empty tsvectors.
!foo means "the tsvector does not contain foo", and therefore it shouldmatch an empty tsvector. ts_match_vq() overenthusiastically supposedthat an empty tsvector could never match any query, so it forciblyreturned FALSE, the wrong answer. Remove the premature optimization.Our behavior on this point was inconsistent, because while seqscans andGIST index searches both failed to match empty tsvectors, GIN indexsearches would find them, since GIN scans don't rely on ts_match_vq().That makes this certainly a bug, not a debatable definition disagreement,so back-patch to all supported branches.Report and diagnosis by Tom Dunstan (bug #14515); added test cases by me.Discussion:https://postgr.es/m/20170126025524.1434.97828@wrigleys.postgresql.org1 parente4e5ea6 commit2dfc126
File tree
5 files changed
+186
-1
lines changed- src
- backend/utils/adt
- test/regress
- expected
- sql
5 files changed
+186
-1
lines changedLines changed: 2 additions & 1 deletion
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
1926 | 1926 |
| |
1927 | 1927 |
| |
1928 | 1928 |
| |
1929 |
| - | |
| 1929 | + | |
| 1930 | + | |
1930 | 1931 |
| |
1931 | 1932 |
| |
1932 | 1933 |
| |
|
Lines changed: 137 additions & 0 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
98 | 98 |
| |
99 | 99 |
| |
100 | 100 |
| |
| 101 | + | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
| 111 | + | |
| 112 | + | |
| 113 | + | |
| 114 | + | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
101 | 119 |
| |
102 | 120 |
| |
| 121 | + | |
| 122 | + | |
| 123 | + | |
| 124 | + | |
| 125 | + | |
| 126 | + | |
| 127 | + | |
| 128 | + | |
| 129 | + | |
| 130 | + | |
| 131 | + | |
| 132 | + | |
| 133 | + | |
| 134 | + | |
| 135 | + | |
| 136 | + | |
| 137 | + | |
| 138 | + | |
| 139 | + | |
| 140 | + | |
| 141 | + | |
| 142 | + | |
| 143 | + | |
| 144 | + | |
| 145 | + | |
| 146 | + | |
| 147 | + | |
| 148 | + | |
| 149 | + | |
| 150 | + | |
| 151 | + | |
| 152 | + | |
| 153 | + | |
| 154 | + | |
| 155 | + | |
| 156 | + | |
| 157 | + | |
| 158 | + | |
| 159 | + | |
| 160 | + | |
| 161 | + | |
| 162 | + | |
| 163 | + | |
| 164 | + | |
| 165 | + | |
| 166 | + | |
| 167 | + | |
| 168 | + | |
| 169 | + | |
| 170 | + | |
| 171 | + | |
| 172 | + | |
| 173 | + | |
| 174 | + | |
| 175 | + | |
| 176 | + | |
| 177 | + | |
| 178 | + | |
| 179 | + | |
| 180 | + | |
| 181 | + | |
| 182 | + | |
| 183 | + | |
| 184 | + | |
| 185 | + | |
| 186 | + | |
| 187 | + | |
| 188 | + | |
| 189 | + | |
| 190 | + | |
| 191 | + | |
| 192 | + | |
| 193 | + | |
| 194 | + | |
| 195 | + | |
| 196 | + | |
| 197 | + | |
| 198 | + | |
| 199 | + | |
| 200 | + | |
| 201 | + | |
| 202 | + | |
103 | 203 |
| |
104 | 204 |
| |
105 | 205 |
| |
| |||
148 | 248 |
| |
149 | 249 |
| |
150 | 250 |
| |
| 251 | + | |
| 252 | + | |
| 253 | + | |
| 254 | + | |
| 255 | + | |
| 256 | + | |
| 257 | + | |
| 258 | + | |
| 259 | + | |
| 260 | + | |
| 261 | + | |
| 262 | + | |
151 | 263 |
| |
| 264 | + | |
| 265 | + | |
152 | 266 |
| |
153 | 267 |
| |
154 | 268 |
| |
| 269 | + | |
| 270 | + | |
| 271 | + | |
| 272 | + | |
| 273 | + | |
| 274 | + | |
| 275 | + | |
| 276 | + | |
| 277 | + | |
| 278 | + | |
| 279 | + | |
155 | 280 |
| |
156 | 281 |
| |
157 | 282 |
| |
| |||
200 | 325 |
| |
201 | 326 |
| |
202 | 327 |
| |
| 328 | + | |
| 329 | + | |
| 330 | + | |
| 331 | + | |
| 332 | + | |
| 333 | + | |
| 334 | + | |
| 335 | + | |
| 336 | + | |
| 337 | + | |
| 338 | + | |
| 339 | + | |
203 | 340 |
| |
204 | 341 |
| |
205 | 342 |
| |
|
Lines changed: 12 additions & 0 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
773 | 773 |
| |
774 | 774 |
| |
775 | 775 |
| |
| 776 | + | |
| 777 | + | |
| 778 | + | |
| 779 | + | |
| 780 | + | |
| 781 | + | |
| 782 | + | |
| 783 | + | |
| 784 | + | |
| 785 | + | |
| 786 | + | |
| 787 | + | |
776 | 788 |
| |
777 | 789 |
| |
778 | 790 |
| |
|
Lines changed: 33 additions & 0 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
48 | 48 |
| |
49 | 49 |
| |
50 | 50 |
| |
| 51 | + | |
| 52 | + | |
| 53 | + | |
51 | 54 |
| |
52 | 55 |
| |
53 | 56 |
| |
54 | 57 |
| |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
55 | 62 |
| |
56 | 63 |
| |
57 | 64 |
| |
| |||
61 | 68 |
| |
62 | 69 |
| |
63 | 70 |
| |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
64 | 89 |
| |
65 | 90 |
| |
| 91 | + | |
| 92 | + | |
66 | 93 |
| |
67 | 94 |
| |
68 | 95 |
| |
69 | 96 |
| |
70 | 97 |
| |
71 | 98 |
| |
| 99 | + | |
| 100 | + | |
| 101 | + | |
72 | 102 |
| |
73 | 103 |
| |
74 | 104 |
| |
| |||
78 | 108 |
| |
79 | 109 |
| |
80 | 110 |
| |
| 111 | + | |
| 112 | + | |
81 | 113 |
| |
82 | 114 |
| |
| 115 | + | |
83 | 116 |
| |
84 | 117 |
| |
85 | 118 |
| |
|
Lines changed: 2 additions & 0 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
145 | 145 |
| |
146 | 146 |
| |
147 | 147 |
| |
| 148 | + | |
| 149 | + | |
148 | 150 |
| |
149 | 151 |
| |
150 | 152 |
| |
|
0 commit comments
Comments
(0)