[postgis-tickets] [PostGIS] #3739: ST_Within Not using index

PostGIS trac at osgeo.org
Tue Apr 18 06:39:29 PDT 2017


#3739: ST_Within Not using index
--------------------------+---------------------------
  Reporter:  postgispaul  |      Owner:  pramsey
      Type:  defect       |     Status:  new
  Priority:  medium       |  Milestone:  PostGIS 2.3.3
 Component:  postgis      |    Version:  2.3.x
Resolution:               |   Keywords:
--------------------------+---------------------------

Comment (by robe):

 Looking at difference between && and ~.  Looks like for && we are using
 our own selectivity functions (gserialized_gist_sel_2d and
 gserialized_gist_joinsel_2d.



 {{{
 CREATE OPERATOR &&(
   PROCEDURE = geometry_overlaps,
   LEFTARG = geometry,
   RIGHTARG = geometry,
   COMMUTATOR = &&,
   RESTRICT = gserialized_gist_sel_2d,
   JOIN = gserialized_gist_joinsel_2d);

 }}}


 but for ~ we are using the PostgreSQL packaged containment selectivity
 contsel and contjoinsel functions.


 {{{

 CREATE OPERATOR ~(
   PROCEDURE = geometry_contains,
   LEFTARG = geometry,
   RIGHTARG = geometry,
   COMMUTATOR = @,
   RESTRICT = contsel,
   JOIN = contjoinsel);

 }}}

 I'm not sure if that is the culprit thought that would make it more
 sensitive to changes upstream.  I still need to test on my 9.3 to see if
 it exhibits the same issue.

 I thought there was a time ago when && used use the built-in ones as well.

 strk, pramsey is there a reason why we decided to reimplement the ones
 used for && and not for containment?

--
Ticket URL: <https://trac.osgeo.org/postgis/ticket/3739#comment:8>
PostGIS <http://trac.osgeo.org/postgis/>
The PostGIS Trac is used for bug, enhancement & task tracking, a user and developer wiki, and a view into the subversion code repository of PostGIS project.


More information about the postgis-tickets mailing list