[postgis-devel] [PostGIS] #253: Gist causes wrong result from ~=

PostGIS trac at osgeo.org
Fri Oct 2 18:14:47 PDT 2009


#253: Gist causes wrong result from ~=
----------------------+-----------------------------------------------------
  Reporter:  nicklas  |       Owner:  pramsey      
      Type:  defect   |      Status:  new          
  Priority:  medium   |   Milestone:  postgis 1.4.1
 Component:  postgis  |     Version:  1.3.X        
Resolution:           |    Keywords:               
----------------------+-----------------------------------------------------
Comment (by robe):

 The reason why its different in the WHERE from the SELECT part is that the
 indexed calculation is only used in WHERE (the index doesn't kick in on
 the SELECT)

 Since GIST is lossy (basically only works against the bbox) and ~= was not
 meant to be, the GIST answer is just bbox compare.  What the RECHECK does
 is say if the index answer returns true, check the real value.  Without
 the RECHECK, it would accept the answer of the index which in this case is
 wrong.  So the compare based on index would just be checking the 4 numbers
 of the bbox.

 the float4, float8 issue I haven't thought of, but that would cause the
 situation where the index answer is wrong even for a bbox case I guess.

-- 
Ticket URL: <http://trac.osgeo.org/postgis/ticket/253#comment:27>
PostGIS <http://trac.osgeo.org/postgis/>
PostGIS


More information about the postgis-devel mailing list