Re: Fixing r-tree semantics - Mailing list pgsql-hackers

From Bruce Momjian
Subject Re: Fixing r-tree semantics
Date
Msg-id 200506240438.j5O4cYa27904@candle.pha.pa.us
Whole thread Raw
In response to Re: Fixing r-tree semantics  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-hackers
FYI, TODO has:
* Fix incorrect rtree results due to wrong assumptions about "over"  operator semantics [rtree]


---------------------------------------------------------------------------

Tom Lane wrote:
> Hmmm ... just when you thought it was safe to go back in the water ...
> 
> I was only looking closely at the "box" case earlier today, assuming
> that the polygon code was set up identically.  Well, it isn't.  In
> particular it appears that the poly_overleft and poly_overright
> definitions are different from box's, which means that rtrees are
> still broken for polygon searches.
> 
> I'm of the opinion that this is a flat-out bug and we should just
> fix it, ie, change the operator definitions.  The polygon definitions
> aren't even self-consistent (overleft accepts equality and overright
> doesn't).
> 
> poly_left
>     result = polya->boundbox.high.x < polyb->boundbox.low.x;
> poly_overleft:
>     result = polya->boundbox.low.x <= polyb->boundbox.high.x;
> poly_right:
>     result = polya->boundbox.low.x > polyb->boundbox.high.x;
> poly_overright:
>     result = polya->boundbox.high.x > polyb->boundbox.low.x;
> 
> By analogy to the box case these should be
> 
> poly_overleft:
>     result = polya->boundbox.high.x <= polyb->boundbox.high.x;
> poly_overright:
>     result = polya->boundbox.low.x >= polyb->boundbox.low.x;
> 
>             regards, tom lane
> 
> ---------------------------(end of broadcast)---------------------------
> TIP 5: Have you checked our extensive FAQ?
> 
>                http://www.postgresql.org/docs/faq
> 

--  Bruce Momjian                        |  http://candle.pha.pa.us pgman@candle.pha.pa.us               |  (610)
359-1001+  If your life is a hard drive,     |  13 Roberts Road +  Christ can be your backup.        |  Newtown Square,
Pennsylvania19073
 


pgsql-hackers by date:

Previous
From: Robert Treat
Date:
Subject: Re: pl/pgsql: END verbosity
Next
From: Oleg Bartunov
Date:
Subject: Re: Fixing r-tree semantics