diff --git a/src/backend/access/gist/gistsplit.c b/src/backend/access/gist/gistsplit.c index 0c1d5339ab38e808cbc6a837c7f127ce04034ad6..f4c5999fcbc1e3469725f3e549f1945406f419e4 100644 --- a/src/backend/access/gist/gistsplit.c +++ b/src/backend/access/gist/gistsplit.c @@ -460,11 +460,6 @@ gistUserPicksplit(Relation r, GistEntryVector *entryvec, int attno, GistSplitVec /* Do a generic split */ genericPickSplit(giststate, entryvec, sv, attno); - - /* Clean up if we're in a secondary split */ - if (sv->spl_ldatum_exists || sv->spl_rdatum_exists) - supportSecondarySplit(r, giststate, attno, sv, - v->spl_lattr[attno], v->spl_rattr[attno]); } else { @@ -473,18 +468,13 @@ gistUserPicksplit(Relation r, GistEntryVector *entryvec, int attno, GistSplitVec sv->spl_left[sv->spl_nleft - 1] = (OffsetNumber) (entryvec->n - 1); if (sv->spl_right[sv->spl_nright - 1] == InvalidOffsetNumber) sv->spl_right[sv->spl_nright - 1] = (OffsetNumber) (entryvec->n - 1); - - /* Clean up if we're in a secondary split */ - if (sv->spl_ldatum_exists || sv->spl_rdatum_exists) - { - elog(LOG, "picksplit method for column %d of index \"%s\" doesn't support secondary split", - attno + 1, RelationGetRelationName(r)); - - supportSecondarySplit(r, giststate, attno, sv, - v->spl_lattr[attno], v->spl_rattr[attno]); - } } + /* Clean up if PickSplit didn't take care of a secondary split */ + if (sv->spl_ldatum_exists || sv->spl_rdatum_exists) + supportSecondarySplit(r, giststate, attno, sv, + v->spl_lattr[attno], v->spl_rattr[attno]); + /* emit union datums computed by PickSplit back to v arrays */ v->spl_lattr[attno] = sv->spl_ldatum; v->spl_rattr[attno] = sv->spl_rdatum;