File tree
3 files changed
+57
-42
lines changed- src
- backend/access/gist
- include/access
3 files changed
+57
-42
lines changedLines changed: 8 additions & 2 deletions
@@ -8,7 +8,7 @@
8
8
* Portions Copyright (c) 1994, Regents of the University of California
9
9
*
10
10
* IDENTIFICATION
11
- * $PostgreSQL: pgsql/src/backend/access/gist/gist.c,v 1.137 2006/05/24 11:01:39 teodor Exp $
11
+ * $PostgreSQL: pgsql/src/backend/access/gist/gist.c,v 1.138 2006/05/29 12:50:06 teodor Exp $
12
12
*
13
13
*-------------------------------------------------------------------------
14
14
*/
@@ -1033,7 +1033,13 @@ gistSplitByKey(Relation r, Page page, IndexTuple *itup, int len, GISTSTATE *gist
1033
1033
/*
1034
1034
* all keys are not-null
1035
1035
*/
1036
- gistUserPicksplit(r, entryvec, attno, v, itup, len, giststate);
1036
+ if ( gistUserPicksplit(r, entryvec, attno, v, itup, len, giststate) && attno+1 != r->rd_att->natts )
1037
+ /*
1038
+ * Splitting on attno column is not optimized: unions of left and right
1039
+ * page are the same, we will try to split page by
1040
+ * following columns
1041
+ */
1042
+ gistSplitByKey(r, page, itup, len, giststate, v, entryvec, attno+1);
1037
1043
}
1038
1044
}
1039
1045
Lines changed: 47 additions & 38 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 |
| |
| |||
262 | 262 |
| |
263 | 263 |
| |
264 | 264 |
| |
| 265 | + | |
| 266 | + | |
| 267 | + | |
| 268 | + | |
| 269 | + | |
| 270 | + | |
| 271 | + | |
| 272 | + | |
| 273 | + | |
| 274 | + | |
265 | 275 |
| |
266 | 276 |
| |
267 | 277 |
| |
| |||
300 | 310 |
| |
301 | 311 |
| |
302 | 312 |
| |
303 |
| - | |
| 313 | + | |
304 | 314 |
| |
305 |
| - | |
306 |
| - | |
307 |
| - | |
308 |
| - | |
309 |
| - | |
310 |
| - | |
311 |
| - | |
312 |
| - | |
313 |
| - | |
314 |
| - | |
315 |
| - | |
316 | 315 |
| |
317 | 316 |
| |
318 | 317 |
| |
| |||
395 | 394 |
| |
396 | 395 |
| |
397 | 396 |
| |
398 |
| - | |
399 | 397 |
| |
400 | 398 |
| |
401 | 399 |
| |
| |||
405 | 403 |
| |
406 | 404 |
| |
407 | 405 |
| |
408 |
| - | |
409 |
| - | |
410 |
| - | |
411 |
| - | |
412 |
| - | |
| 406 | + | |
413 | 407 |
| |
414 | 408 |
| |
415 | 409 |
| |
| |||
425 | 419 |
| |
426 | 420 |
| |
427 | 421 |
| |
428 |
| - | |
429 |
| - | |
430 |
| - | |
431 |
| - | |
432 |
| - | |
| 422 | + | |
433 | 423 |
| |
434 | 424 |
| |
435 | 425 |
| |
| |||
758 | 748 |
| |
759 | 749 |
| |
760 | 750 |
| |
761 |
| - | |
| 751 | + | |
| 752 | + | |
| 753 | + | |
| 754 | + | |
| 755 | + | |
| 756 | + | |
| 757 | + | |
| 758 | + | |
762 | 759 |
| |
763 | 760 |
| |
764 | 761 |
| |
| |||
787 | 784 |
| |
788 | 785 |
| |
789 | 786 |
| |
790 |
| - | |
| 787 | + | |
| 788 | + | |
| 789 | + | |
| 790 | + | |
| 791 | + | |
| 792 | + | |
| 793 | + | |
| 794 | + | |
| 795 | + | |
| 796 | + | |
791 | 797 |
| |
792 |
| - | |
793 |
| - | |
794 |
| - | |
| 798 | + | |
| 799 | + | |
| 800 | + | |
795 | 801 |
| |
796 |
| - | |
| 802 | + | |
797 | 803 |
| |
798 |
| - | |
799 |
| - | |
| 804 | + | |
| 805 | + | |
800 | 806 |
| |
801 |
| - | |
802 |
| - | |
803 |
| - | |
804 |
| - | |
805 |
| - | |
806 |
| - | |
| 807 | + | |
| 808 | + | |
| 809 | + | |
| 810 | + | |
| 811 | + | |
| 812 | + | |
| 813 | + | |
807 | 814 |
| |
| 815 | + | |
| 816 | + | |
808 | 817 |
| |
809 | 818 |
| |
810 | 819 |
| |
|
Lines changed: 2 additions & 2 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
7 | 7 |
| |
8 | 8 |
| |
9 | 9 |
| |
10 |
| - | |
| 10 | + | |
11 | 11 |
| |
12 | 12 |
| |
13 | 13 |
| |
| |||
312 | 312 |
| |
313 | 313 |
| |
314 | 314 |
| |
315 |
| - | |
| 315 | + | |
316 | 316 |
| |
317 | 317 |
| |
318 | 318 |
| |
|
0 commit comments