Re: SP-GiST support for inet datatypes
От | Tom Lane |
---|---|
Тема | Re: SP-GiST support for inet datatypes |
Дата | |
Msg-id | 17074.1471797554@sss.pgh.pa.us обсуждение исходный текст |
Ответ на | Re: SP-GiST support for inet datatypes (Emre Hasegeli <emre@hasegeli.com>) |
Список | pgsql-hackers |
Emre Hasegeli <emre@hasegeli.com> writes: >> ... Several of the existing opclasses use fixed numbers of >> child nodes, so why does this need something they don't? > Currently, SP-GiST framework supports fixed number of child nodes, if > the index is growing by page splits, not by prefix splits. This is > not a fair API. Hm, I see your point: the spgSplitTuple action only supports forming a new upper tuple with a single, labeled child node. That is pretty bogus. You could imagine doing repeated spgAddNode actions to enlarge the new upper tuple; but that's ridiculously inefficient, and it's also unclear how you'd avoid confusing searches that descend through a partially-split upper tuple (either concurrently, or after a crash that prevented finishing the split). > SP-GiST is not widely adopted in my experience. Breaking this part of > the API would affect prefix tree implementations. I don't think there > are much of them. Supporting the new interface is easy for them. We > can try to support the old interface by side of the new one, but this > wouldn't be very clean either. We could imagine defining a "spgSplitTupleMulti" action alongside the existing one, but I agree it's a bit of a wart --- nobody would have designed it that way in a green field. On the other hand, index AM-to- opclass APIs are things we don't like to break. We went out of our way to make past GiST and GIN API changes upward-compatible. Oleg, Teodor, do you have any idea how many people are using custom SPGiST opclasses that might be affected by an API break here? regards, tom lane
В списке pgsql-hackers по дате отправления: