forked frompostgres/postgres
- Notifications
You must be signed in to change notification settings - Fork6
Commitd22a09d
committed
Support GiST index support functions that want to cache data across calls.
pg_trgm was already doing this unofficially, but the implementation hadn'tbeen thought through very well and leaked memory. Restructure the coreGiST code so that it actually works, and document it. Ordinarily thiswould have required an extra memory context creation/destruction for eachGiST index search, but I was able to avoid that in the normal case of anon-rescanned search by finessing the handling of the RBTree. It used tohave its own context always, but now shares a context with thescan-lifespan data structures, unless there is more than one rescan call.This should make the added overhead unnoticeable in typical cases.1 parent79edb2b commitd22a09d
File tree
6 files changed
+206
-82
lines changed- doc/src/sgml
- src
- backend/access/gist
- include/access
6 files changed
+206
-82
lines changedLines changed: 30 additions & 16 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
86 | 86 |
| |
87 | 87 |
| |
88 | 88 |
| |
89 |
| - | |
90 |
| - | |
91 |
| - | |
92 |
| - | |
93 |
| - | |
94 | 89 |
| |
95 | 90 |
| |
96 | 91 |
| |
| |||
642 | 637 |
| |
643 | 638 |
| |
644 | 639 |
| |
| 640 | + | |
| 641 | + | |
| 642 | + | |
| 643 | + | |
| 644 | + | |
| 645 | + | |
| 646 | + | |
| 647 | + | |
| 648 | + | |
| 649 | + | |
| 650 | + | |
| 651 | + | |
| 652 | + | |
| 653 | + | |
| 654 | + | |
| 655 | + | |
| 656 | + | |
| 657 | + | |
| 658 | + | |
645 | 659 |
| |
646 | 660 |
| |
647 | 661 |
| |
648 | 662 |
| |
649 | 663 |
| |
650 | 664 |
| |
651 |
| - | |
652 |
| - | |
653 |
| - | |
654 |
| - | |
655 |
| - | |
656 |
| - | |
| 665 | + | |
| 666 | + | |
| 667 | + | |
| 668 | + | |
| 669 | + | |
| 670 | + | |
657 | 671 |
| |
658 | 672 |
| |
659 | 673 |
| |
660 | 674 |
| |
661 | 675 |
| |
662 | 676 |
| |
663 |
| - | |
664 |
| - | |
| 677 | + | |
| 678 | + | |
665 | 679 |
| |
666 |
| - | |
| 680 | + | |
667 | 681 |
| |
668 | 682 |
| |
669 | 683 |
| |
670 |
| - | |
| 684 | + | |
671 | 685 |
| |
672 | 686 |
| |
673 |
| - | |
| 687 | + | |
674 | 688 |
| |
675 | 689 |
| |
676 | 690 |
| |
|
Lines changed: 49 additions & 23 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
94 | 94 |
| |
95 | 95 |
| |
96 | 96 |
| |
97 |
| - | |
98 |
| - | |
99 |
| - | |
| 97 | + | |
| 98 | + | |
100 | 99 |
| |
101 |
| - | |
102 |
| - | |
| 100 | + | |
103 | 101 |
| |
104 |
| - | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
105 | 110 |
| |
106 |
| - | |
| 111 | + | |
107 | 112 |
| |
108 | 113 |
| |
109 | 114 |
| |
110 |
| - | |
| 115 | + | |
111 | 116 |
| |
112 | 117 |
| |
113 |
| - | |
114 |
| - | |
115 |
| - | |
| 118 | + | |
| 119 | + | |
116 | 120 |
| |
117 | 121 |
| |
118 | 122 |
| |
| |||
1213 | 1217 |
| |
1214 | 1218 |
| |
1215 | 1219 |
| |
1216 |
| - | |
| 1220 | + | |
1217 | 1221 |
| |
1218 |
| - | |
1219 |
| - | |
| 1222 | + | |
| 1223 | + | |
1220 | 1224 |
| |
| 1225 | + | |
| 1226 | + | |
| 1227 | + | |
1221 | 1228 |
| |
1222 | 1229 |
| |
| 1230 | + | |
1223 | 1231 |
| |
1224 | 1232 |
| |
1225 | 1233 |
| |
1226 | 1234 |
| |
| 1235 | + | |
| 1236 | + | |
| 1237 | + | |
| 1238 | + | |
| 1239 | + | |
| 1240 | + | |
| 1241 | + | |
| 1242 | + | |
| 1243 | + | |
| 1244 | + | |
| 1245 | + | |
| 1246 | + | |
| 1247 | + | |
1227 | 1248 |
| |
1228 | 1249 |
| |
1229 | 1250 |
| |
1230 | 1251 |
| |
1231 | 1252 |
| |
1232 | 1253 |
| |
1233 |
| - | |
| 1254 | + | |
1234 | 1255 |
| |
1235 | 1256 |
| |
1236 |
| - | |
| 1257 | + | |
1237 | 1258 |
| |
1238 | 1259 |
| |
1239 |
| - | |
| 1260 | + | |
1240 | 1261 |
| |
1241 | 1262 |
| |
1242 |
| - | |
| 1263 | + | |
1243 | 1264 |
| |
1244 | 1265 |
| |
1245 |
| - | |
| 1266 | + | |
1246 | 1267 |
| |
1247 | 1268 |
| |
1248 |
| - | |
| 1269 | + | |
1249 | 1270 |
| |
1250 | 1271 |
| |
1251 |
| - | |
| 1272 | + | |
1252 | 1273 |
| |
1253 | 1274 |
| |
1254 | 1275 |
| |
1255 | 1276 |
| |
1256 |
| - | |
| 1277 | + | |
1257 | 1278 |
| |
1258 | 1279 |
| |
1259 | 1280 |
| |
| |||
1273 | 1294 |
| |
1274 | 1295 |
| |
1275 | 1296 |
| |
| 1297 | + | |
| 1298 | + | |
| 1299 | + | |
| 1300 | + | |
1276 | 1301 |
| |
1277 | 1302 |
| |
1278 | 1303 |
| |
1279 | 1304 |
| |
1280 | 1305 |
| |
1281 |
| - | |
| 1306 | + | |
| 1307 | + | |
1282 | 1308 |
|
Lines changed: 21 additions & 21 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
54 | 54 |
| |
55 | 55 |
| |
56 | 56 |
| |
57 |
| - | |
| 57 | + | |
58 | 58 |
| |
59 | 59 |
| |
60 | 60 |
| |
| |||
63 | 63 |
| |
64 | 64 |
| |
65 | 65 |
| |
66 |
| - | |
67 | 66 |
| |
68 | 67 |
| |
69 | 68 |
| |
| |||
146 | 145 |
| |
147 | 146 |
| |
148 | 147 |
| |
149 |
| - | |
| 148 | + | |
| 149 | + | |
| 150 | + | |
| 151 | + | |
| 152 | + | |
| 153 | + | |
| 154 | + | |
| 155 | + | |
150 | 156 |
| |
151 | 157 |
| |
152 | 158 |
| |
| |||
184 | 190 |
| |
185 | 191 |
| |
186 | 192 |
| |
187 |
| - | |
188 |
| - | |
189 |
| - | |
190 |
| - | |
191 |
| - | |
192 |
| - | |
193 | 193 |
| |
194 | 194 |
| |
195 | 195 |
| |
| |||
208 | 208 |
| |
209 | 209 |
| |
210 | 210 |
| |
211 |
| - | |
| 211 | + | |
212 | 212 |
| |
213 |
| - | |
| 213 | + | |
214 | 214 |
| |
215 | 215 |
| |
216 | 216 |
| |
| |||
440 | 440 |
| |
441 | 441 |
| |
442 | 442 |
| |
443 |
| - | |
| 443 | + | |
444 | 444 |
| |
445 | 445 |
| |
446 |
| - | |
| 446 | + | |
447 | 447 |
| |
448 | 448 |
| |
449 | 449 |
| |
| |||
458 | 458 |
| |
459 | 459 |
| |
460 | 460 |
| |
461 |
| - | |
| 461 | + | |
462 | 462 |
| |
463 | 463 |
| |
464 | 464 |
| |
465 | 465 |
| |
466 | 466 |
| |
467 | 467 |
| |
468 | 468 |
| |
469 |
| - | |
| 469 | + | |
470 | 470 |
| |
471 | 471 |
| |
472 | 472 |
| |
| |||
520 | 520 |
| |
521 | 521 |
| |
522 | 522 |
| |
523 |
| - | |
| 523 | + | |
524 | 524 |
| |
525 | 525 |
| |
526 | 526 |
| |
| |||
652 | 652 |
| |
653 | 653 |
| |
654 | 654 |
| |
655 |
| - | |
| 655 | + | |
656 | 656 |
| |
657 | 657 |
| |
658 | 658 |
| |
| |||
720 | 720 |
| |
721 | 721 |
| |
722 | 722 |
| |
723 |
| - | |
| 723 | + | |
724 | 724 |
| |
725 | 725 |
| |
726 | 726 |
| |
| |||
919 | 919 |
| |
920 | 920 |
| |
921 | 921 |
| |
922 |
| - | |
| 922 | + | |
923 | 923 |
| |
924 | 924 |
| |
925 | 925 |
| |
| |||
938 | 938 |
| |
939 | 939 |
| |
940 | 940 |
| |
941 |
| - | |
| 941 | + | |
942 | 942 |
| |
943 | 943 |
| |
944 | 944 |
| |
| |||
970 | 970 |
| |
971 | 971 |
| |
972 | 972 |
| |
973 |
| - | |
| 973 | + | |
974 | 974 |
| |
975 | 975 |
| |
976 | 976 |
| |
|
Lines changed: 2 additions & 2 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
307 | 307 |
| |
308 | 308 |
| |
309 | 309 |
| |
310 |
| - | |
| 310 | + | |
311 | 311 |
| |
312 | 312 |
| |
313 | 313 |
| |
314 | 314 |
| |
315 |
| - | |
| 315 | + | |
316 | 316 |
| |
317 | 317 |
| |
318 | 318 |
| |
|
0 commit comments
Comments
(0)