Re: btree_gin, bigint and number literals - Mailing list pgsql-novice

From Tom Lane
Subject Re: btree_gin, bigint and number literals
Date
Msg-id 4037726.1738356169@sss.pgh.pa.us
Whole thread Raw
In response to btree_gin, bigint and number literals  ("Quentin de Metz" <quentin@de.me.tz>)
List pgsql-novice
"Quentin de Metz" <quentin@de.me.tz> writes:
> On a multi-column GIN index over a bigint column and a text column, the query planner does not filter the index on
thebigint column when a condition on this column is specified with a number literal. 

Yeah, because "owner_id = 12" will use int84eq, which as you observe
is not supported by btree_gin's opclass.

> Would you be open to considering a patch to include the ALTER OPERATOR snippet in the btree_gin install script, so
thatthis works out of the box? 

I'd be quite surprised if that "just works" without any corresponding
changes in the C code, because btree_gin.c only knows about applying
same-type-on-both-sides comparison functions.  (int8 vs int4 might
appear to work as long as you don't try very hard, but for example
it'd fail on 32-bit or big-endian hardware.)  If you feel like writing
a patch that actually takes care of the matter fully, step right up.

            regards, tom lane



pgsql-novice by date:

Previous
From: "Quentin de Metz"
Date:
Subject: btree_gin, bigint and number literals
Next
From: Laurenz Albe
Date:
Subject: Re: Regarding setClob and getclobval methods in PostgreSQL