Skip site navigation (1) Skip section navigation (2)

Re: GIN overlap vs empty arrays

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Jeff <threshar(at)threshar(dot)is-a-geek(dot)com>
Cc: pgsql-bugs(at)postgresql(dot)org
Subject: Re: GIN overlap vs empty arrays
Date: 2010-03-25 15:44:19
Message-ID: 18820.1269531859@sss.pgh.pa.us (view raw or flat)
Thread:
Lists: pgsql-bugs
Jeff <threshar(at)threshar(dot)is-a-geek(dot)com> writes:
> 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

Hmm, that case is supposed to work, in 8.3 and later ... but it doesn't
because of a stupid typo in contrib/intarray.


Index: _int_gin.c
===================================================================
RCS file: /cvsroot/pgsql/contrib/intarray/_int_gin.c,v
retrieving revision 1.10
diff -c -r1.10 _int_gin.c
*** _int_gin.c	11 Jun 2009 14:48:51 -0000	1.10
--- _int_gin.c	25 Mar 2010 15:37:56 -0000
***************
*** 65,71 ****
  		}
  	}
  
! 	if (nentries == 0)
  	{
  		switch (strategy)
  		{
--- 65,71 ----
  		}
  	}
  
! 	if (*nentries == 0)
  	{
  		switch (strategy)
  		{


Sometimes C is not the most helpful language to work in.

			regards, tom lane

In response to

Responses

pgsql-bugs by date

Next:From: Hiroshi SaitoDate: 2010-03-25 16:23:30
Subject: Re: UTF-8 encoding failure
Previous:From: bortdagosDate: 2010-03-25 15:13:34
Subject: BUG #5388: bortdagos

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group