Re: Fixing r-tree semantics
От | Bruce Momjian |
---|---|
Тема | Re: Fixing r-tree semantics |
Дата | |
Msg-id | 200506240438.j5O4cYa27904@candle.pha.pa.us обсуждение исходный текст |
Ответ на | Re: Fixing r-tree semantics (Tom Lane <tgl@sss.pgh.pa.us>) |
Список | 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 по дате отправления: