On Tue, Dec 12, 2017 at 3:49 PM, Teodor Sigaev <teo...@sigaev.ru> wrote:
> 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. Yes. I bet only few users have built indexes over ~> operator if any. Ask them to reindex in the release notes seems OK for me. ------ Alexander Korotkov Postgres Professional: http://www.postgrespro.com The Russian Postgres Company