- Notifications
You must be signed in to change notification settings - Fork5
Commit94f565d
committed
Fix erroneous range-union logic for varlena types in contrib/btree_gist.
gbt_var_bin_union() failed to do the right thing when the existing rangeneeded to be widened at both ends rather than just one end. This couldresult in an invalid index in which keys that are present would not befound by searches, because the searches would not think they need todescend to the relevant leaf pages. This error affected all the varlenadatatypes supported by btree_gist (text, bytea, bit, numeric).Per investigation of a trouble report from Tomas Vondra. (There is alsoan issue in gbt_var_penalty(), but that should only result in inefficiencynot wrong answers. I'm committing this separately so that we have a gitstate in which it can be tested that bad penalty results don't produceinvalid indexes.) Back-patch to all supported branches.1 parent166d534 commit94f565d
1 file changed
+11
-10
lines changedLines changed: 11 additions & 10 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
225 | 225 |
| |
226 | 226 |
| |
227 | 227 |
| |
228 |
| - | |
229 |
| - | |
230 |
| - | |
231 | 228 |
| |
| 229 | + | |
232 | 230 |
| |
233 | 231 |
| |
234 | 232 |
| |
| 233 | + | |
| 234 | + | |
235 | 235 |
| |
236 | 236 |
| |
237 | 237 |
| |
238 | 238 |
| |
239 | 239 |
| |
240 | 240 |
| |
241 | 241 |
| |
242 |
| - | |
243 | 242 |
| |
| 243 | + | |
| 244 | + | |
| 245 | + | |
| 246 | + | |
244 | 247 |
| |
245 | 248 |
| |
246 | 249 |
| |
247 | 250 |
| |
248 |
| - | |
249 |
| - | |
| 251 | + | |
250 | 252 |
| |
251 | 253 |
| |
252 | 254 |
| |
253 | 255 |
| |
254 | 256 |
| |
255 |
| - | |
256 |
| - | |
| 257 | + | |
257 | 258 |
| |
258 | 259 |
| |
259 |
| - | |
260 |
| - | |
| 260 | + | |
| 261 | + | |
261 | 262 |
| |
262 | 263 |
| |
263 | 264 |
| |
|
0 commit comments
Comments
(0)