Re: Wrong Results from SP-GiST with Collations

Peter Geoghegan <pg@bowt.ie>

From: Peter Geoghegan <pg@bowt.ie>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: Emre Hasegeli <emre@hasegeli.com>, Teodor Sigaev <teodor@sigaev.ru>, PostgreSQL Bugs <pgsql-bugs@postgresql.org>
Date: 2018-04-16T19:39:54Z
Lists: pgsql-bugs
On Mon, Apr 16, 2018 at 12:28 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
>> Right. Alternatively, you could actually call varstr_cmp() within the
>> "non-collation-aware" branch.
>
> True.  This way saves a few cycles, but maybe it's not worth the extra
> code.  I think the only case where you could really notice the difference
> is for an equality search operator, which might end up doing a lot more
> work in non-C collations (full-blown strcoll vs memcmp).

I don't have a full understanding of this particular problem, but it
sounds to me that that would be a non-issue due to the equality
fast-path added to varstr_cmp() several years ago. I microbenchmarked
it quite extensively at the time, and concluded that it was all but
free in cases where it didn't work out.

-- 
Peter Geoghegan


Commits

  1. Fix broken collation-aware searches in SP-GiST text opclass.

  2. Add prefix operator for TEXT type.