regress/legacy_invalid.sql regress/sqlmm.sql \
regress/legacy_query.sql regress/addnode.sql \
regress/addedge.sql regress/addface.sql \
+ regress/addface2.5d.sql \
regress/st_getfacegeometry.sql \
regress/topoelement.sql \
regress/topoelementarray_agg.sql \
regress/gml.sql \
regress/getnodebypoint.sql \
regress/getedgebypoint.sql \
- regress/getfacebypoint.sql
+ regress/getfacebypoint.sql
check: topo_predicates.sql load_topology.sql load_topology-4326.sql
$(MAKE) -C ../../regress postgis.sql staged-install
--- /dev/null
+set client_min_messages to ERROR;
+
+-- Test with zero tolerance
+
+SELECT topology.CreateTopology('tt3d', -1, 0, true) > 0;
+
+-- Create 4 edges
+
+SELECT 'e1', topology.addEdge('tt3d', 'LINESTRING(0 0 10, 10 0 20)');
+SELECT 'e2', topology.addEdge('tt3d', 'LINESTRING(10 0 20, 10 10 30)');
+SELECT 'e3', topology.addEdge('tt3d', 'LINESTRING(0 10 20, 10 10 30)');
+SELECT 'e4', topology.addEdge('tt3d', 'LINESTRING(0 0 10, 0 10 20)');
+
+-- Register a face with no holes
+SELECT 'f1', topology.addFace('tt3d', 'POLYGON((0 0, 0 10, 10 10, 10 0, 0 0))');
+
+-- Check added faces
+SELECT face_id, st_asewkt(mbr) from tt3d.face ORDER by face_id;
+
+-- Check linking
+SELECT edge_id, left_face, right_face from tt3d.edge ORDER by edge_id;
+
+SELECT topology.DropTopology('tt3d');
+
EXECUTE
'SELECT AddGeometryColumn('||quote_literal(atopology)
||',''face'',''mbr'','||quote_literal(srid)
- ||',''POLYGON'',' || ndims || ')';
+ ||',''POLYGON'',2)'; -- 2d only mbr is good enough
-------------} END OF face CREATION