[postgis-tickets] [PostGIS] #4739: st_dwithin : no spatial operator found

PostGIS trac at osgeo.org
Fri Oct 2 07:32:29 PDT 2020


#4739: st_dwithin : no spatial operator found
-----------------------+---------------------------
  Reporter:  grantfin  |      Owner:  pramsey
      Type:  defect    |     Status:  new
  Priority:  medium    |  Milestone:  PostGIS 3.1.0
 Component:  postgis   |    Version:  3.0.x
Resolution:            |   Keywords:
-----------------------+---------------------------

Comment (by Algunenano):

 Hi ansel, thanks a lot for the detailed explanation.

 Using that, it became pretty clear what the issue was: the index support
 function (postgis_index_supportfn) needs to know the oid of the internal
 types (they aren't constant) and to do that it uses postgis_oid.
 postgis_oid either knows the types already because we have initialized the
 internal cache or it uses TypenameGetTypid, which only look up the types
 inside the current search_path.

 The solution is to make sure we initialize the internal cache at the start
 of postgis_index_supportfn.

 The initial patch that fixes it is here:
 https://github.com/postgis/postgis/pull/581 But I'm going to review what
 other functions might end up using the cache and ensure it's always
 initialized.

-- 
Ticket URL: <https://trac.osgeo.org/postgis/ticket/4739#comment:3>
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