Re: Who is a maintainer of GiST code ? - Mailing list pgsql-hackers

From Oleg Bartunov
Subject Re: Who is a maintainer of GiST code ?
Date
Msg-id Pine.GSO.3.96.SK.1001219222315.19999H-100000@ra
Whole thread Raw
In response to Re: Who is a maintainer of GiST code ?  (Hannu Krosing <hannu@tm.ee>)
Responses Re: Who is a maintainer of GiST code ?  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-hackers
On Tue, 19 Dec 2000, Hannu Krosing wrote:

> Date: Tue, 19 Dec 2000 02:04:02 +0200
> From: Hannu Krosing <hannu@tm.ee>
> To: Tom Lane <tgl@sss.pgh.pa.us>
> Cc: Oleg Bartunov <oleg@sai.msu.su>,
>     Bruce Momjian <pgman@candle.pha.pa.us>,
>     PostgreSQL-development <pgsql-hackers@postgresql.org>
> Subject: Re: [HACKERS] Who is a maintainer of GiST code ?
> 
> Tom Lane wrote:
> > 
> > Oleg Bartunov <oleg@sai.msu.su> writes:
> > > We have a problem with
> > > handling NULL values in GiST. Any thought how NULL values
> > > are handle in Rtree.
> > 
> > AFAIR, none of the index access methods except btree handle NULLs at
> > all --- they just ignore NULL values and don't store them in the index.
> > Feel free to improve on that ;-).  The physical representation of index
> > tuples can handle NULLs, the problem is teaching the index logic where
> > they should go in the index.
> > 
> >                         regards, tom lane
> 
> 
> and I can't see why btree stores them (as it seems to do judging by the 
> index file size) - at least it does not use it for searching for "IS
> NULL"


and what does this error means ?

create table rtree_test ( r box );
copy rtree_test from stdin;
\N
\N
\N
\N
........ total 10,000 NULLS
\.

create index rtree_test_idx on rtree_test using rtree ( r );
--ERROR:  floating point exception! The last floating point operation either exceeded legal ranges or was a divide by
zero

seems rtree doesn't ignore NULL ?

Regards,    Oleg


> 
> --8<--------8<--------8<--------8<--------8<--------8<--------8<--------8<------
> 
> hannu=# explain select * from nulltest where i is null;
> NOTICE:  QUERY PLAN:
> 
> Seq Scan on nulltest  (cost=0.00..293.80 rows=5461 width=8)
> 
> EXPLAIN
> hannu=# explain select * from nulltest where i =1;
> NOTICE:  QUERY PLAN:
> 
> Index Scan using nulltest_i_ndx on nulltest  (cost=0.00..96.95 rows=164
> width=8)
> 
> --8<--------8<--------8<--------8<--------8<--------8<--------8<--------8<------
> 
> nulltest is a 16k record table with numbers 1 to 16384 in field i
> 
> If it just ignored them we would have a nice way to fake partial indexes
> - 
> just define a function that returns field value or null and then index
> on that ;)
> 
> -----------
> Hannu
> 

_____________________________________________________________
Oleg Bartunov, sci.researcher, hostmaster of AstroNet,
Sternberg Astronomical Institute, Moscow University (Russia)
Internet: oleg@sai.msu.su, http://www.sai.msu.su/~megera/
phone: +007(095)939-16-83, +007(095)939-23-83



pgsql-hackers by date:

Previous
From: Stephan Szabo
Date:
Subject: Re: Three types of functions, ala function redux.
Next
From: Jeff Hoffmann
Date:
Subject: Re: Sample databases?