Re: BUG #6232: hstore operator ? no longer uses indexes

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: "Pierre Ducroquet" <p(dot)psql(at)pinaraf(dot)info>
Cc: pgsql-bugs(at)postgresql(dot)org, Peter Eisentraut <peter_e(at)gmx(dot)net>
Subject: Re: BUG #6232: hstore operator ? no longer uses indexes
Date: 2011-09-29 02:42:55
Message-ID: 13745.1317264175@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

"Pierre Ducroquet" <p(dot)psql(at)pinaraf(dot)info> writes:
> [ the "hstore ? text" operator no longer matches an hstore GIST index ]

Hmm ... this doesn't seem to be specific to either hstore or GIST; it's
a collation problem. The index is marked as having no collation, which
is reasonable since hstore is a collation-less type. However, the ?
OpExpr gets marked as having "default" collation because it has one
collatable input, namely the text constant. And then,
match_clause_to_indexcol decides the clause doesn't match the index.

Not sure what to do about this. Is it okay to suppose that collation
can be ignored when matching to a collation-less index? If not, what's
the correct rule? I don't like the idea of concluding that hstore has
to be forcibly assigned a collation just because it has some operators
that accept text ...

regards, tom lane

In response to

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message Peter Eisentraut 2011-09-29 03:22:48 Re: BUG #6232: hstore operator ? no longer uses indexes
Previous Message Vikas Mehta 2011-09-28 22:22:12 BUG #6234: Memory leak from PQexec