Re: GiST index performance

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Matthew Wakeling <matthew@xxxxxxxxxxx> writes:
> I have found a bug in the contrib package seg, which has been copied into 
> the bioseg data type as well. It causes the index to be created with 
> horribly bad unselective trees, so that when a search is performed many of 
> the branches of the tree need to be followed. This explanation does not 
> extend to btree_gist, so I will have to further investigate that. Apply 
> the following patch to contrib/seg/seg.c:

> *** seg.c	2006-09-10 18:36:51.000000000 +0100
> --- seg.c_new	2009-04-20 15:02:52.000000000 +0100
> ***************
> *** 426,432 ****
>    		else
>    		{
>    			datum_r = union_dr;
> ! 			size_r = size_alpha;
>    			*right++ = i;
>    			v->spl_nright++;
>    		}
> --- 426,432 ----
>    		else
>    		{
>    			datum_r = union_dr;
> ! 			size_r = size_beta;
>    			*right++ = i;
>    			v->spl_nright++;
>    		}

Looks like contrib/cube has the same error.  I don't see a similar code
pattern elsewhere though.  Oleg, Teodor, do you concur that this is a
correct patch?  Is it safe to back-patch (I think it should be)?

			regards, tom lane

-- 
Sent via pgsql-performance mailing list (pgsql-performance@xxxxxxxxxxxxxx)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-performance

[Postgresql General]     [Postgresql PHP]     [PHP Users]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Yosemite]

  Powered by Linux