[HACKERS] Re: [HACKERS] 答复: GiST API Adancement

2017-06-16 Thread Andrew Borodin
2017-06-16 17:06 GMT+03:00 Tom Lane :
> Yuan Dong  writes:
>> ·¢¼þÈË: Andrew Borodin 
>>> I think there is one more aspect of development: backward
>>> compatibility: it's impossible to update all existing extensions. This
>>> is not that major feature to ignore them.
>
>> I should still maintain original API of GiST after modification.
>
> To put a little context on that: we have always felt that it's okay
> to require extension authors to make small adjustments when going to
> a new major release.

Then maybe it worth to consider more general API advancement at once?
Here's my wish list:
1. Choose subtree function as an alternative for penalty
2. Bulk load support
3. Better split framework: now many extensions peek two seeds and
spread split candidates among them, some with subtle but noisy
mistakes
4. Better way of key compares (this thread, actually)
5. Split in many portions

Best regards, Andrey Borodin.


-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [HACKERS] 答复: GiST API Adancement

2017-06-16 Thread Tom Lane
Yuan Dong  writes:
> ·¢¼þÈË: Andrew Borodin 
>> I think there is one more aspect of development: backward
>> compatibility: it's impossible to update all existing extensions. This
>> is not that major feature to ignore them.

> I should still maintain original API of GiST after modification.

To put a little context on that: we have always felt that it's okay
to require extension authors to make small adjustments when going to
a new major release.  For instance, adding a new parameter to a
globally visible function is fine, especially if callers can just
pass NULL or some such to get the old behavior.  So in the context
here, you shouldn't feel compelled to come up with a bizarre API
design just to preserve exact compatibility of old code.  You should
indeed think about reducing the amount of work that extension
authors have to do to update, but that doesn't have to mean "zero".
Also, it's wise to make sure that any places where code changes
have to be made will result in compile errors if the change isn't
made.

regards, tom lane


-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers