GIN overlap vs empty arrays
От | Jeff |
---|---|
Тема | GIN overlap vs empty arrays |
Дата | |
Msg-id | 89D6FDB3-A100-43DA-A88E-0504C5B791C8@torgo.978.org обсуждение исходный текст |
Ответы |
Re: GIN overlap vs empty arrays
|
Список | pgsql-bugs |
Ran into this and I'm trying to decide if this is functioning as designed or if this is a bug that should be fixed: (PG 8.4.2) create table gintest ( idList int[], foo text ); create index gintest_gin_idx on gintest using gin(idList gin__int_ops); insert into gintest(idlist, foo) values (array[1,2,3], 'bar'); select * from gintest where idList && array[]::int[]; CREATE TABLE CREATE INDEX INSERT 0 1 psql:ginproblem.sql:11: ERROR: GIN indexes do not support whole-index scans I came across this in a production setting and widdled it down to this. In a nutshell using overlap with an empty (not null) array causes this error. Should there be a short circuit to bail on zero- length input to overlap since you can't overlap with nothing. (if you pass in a plain null it works fine). In the production setting it is tickled by the array being produced by a subselect that uses array_accum to gather a list of ids to pull up. If this is the proper behavior I'll deal with it (in the end the result is the same - no rows). Just a bit surprised by it. -- Jeff Trout <jeff@jefftrout.com> http://www.stuarthamm.net/ http://www.dellsmartexitin.com/
В списке pgsql-bugs по дате отправления: