[postgis-devel] [PostGIS] #1014: GEOMETRY type is not "hashable"

PostGIS trac at osgeo.org
Thu Jun 9 14:15:53 PDT 2011


#1014: GEOMETRY type is not "hashable"
---------------------------------+------------------------------------------
 Reporter:  vince                |       Owner:  pramsey      
     Type:  defect               |      Status:  new          
 Priority:  medium               |   Milestone:  PostGIS 2.0.0
Component:  postgis              |     Version:  1.5.X        
 Keywords:  GEOMETRY hash UNION  |  
---------------------------------+------------------------------------------
 It seems the GEOMETRY type is not hashable, which prevents recursive WITH
 clauses to work with the UNION keyword:

 {{{
 WITH RECURSIVE path (id, the_geom, z) AS (SELECT id, the_geom, z_min AS z
 FROM "bâti" WHERE z_min = (SELECT MAX(z_min) FROM "bâti") UNION SELECT
 "bâti".id, "bâti".the_geom, z FROM path, "bâti" WHERE ST_Distance
 ("bâti".the_geom, path.the_geom) < 20 AND "bâti".z_min > path.z - 10)
 SELECT * FROM path;
 ERROR:  could not implement recursive UNION
 DETAIL:  All column datatypes must be hashable.
 }}}

 Using UNION ALL instead of UNION works, but produces duplicates.

 I have no clue on how to make the GEOMETRY type hashable, but if it is
 just providing a hash function, it might maybe worth it?

-- 
Ticket URL: <http://trac.osgeo.org/postgis/ticket/1014>
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-devel mailing list