Yes, the thing is that we change behavior of existing ~> operator.  In general, this is not good idea because it could affect existing users whose already use this operator.  Typically in such situation, we could leave existing operator as is, and invent new operator with new behavior.  However, in this particular case, I think there are reasons to make an exception to the rules.  The reasons are following:
1) The ~> operator was designed especially for knn gist.
2) Knn gist support for current behavior is broken by design and can't be fixed.  Most we can do to fix existing ~> operator behavior as is to drop knn gist support.  But then ~> operator would be left useless. 3) It doesn't seems that ~> operator have many users yet, because an error wasn't reported during whole release cycle.

I hope these reasons justify altering behavior of existing operator as an exception to the rules.  Another question is whether we should backpatch it. But I think we could leave this decision to committer.

    I think that this patch is ready for committer.
I'm agree with changing behavior of existing ~> operator, but is any objection here? Current implementation is not fixable and I hope that users which use this operator will understand why we change it. Fortunately, the fix doesn't require changes in system catalog.

The single question here is about index over expression with this operator, they will need to reindex, which should be noted in release notes.

--
Teodor Sigaev                                   E-mail: teo...@sigaev.ru
                                                   WWW: http://www.sigaev.ru/

Reply via email to