[QGIS-Developer] DBManager TopoViewer silently fails to load edge/node layers

Paolo Cavallini cavallini at faunalia.it
Fri Aug 23 23:48:01 PDT 2019


Hi all,
any news about this? I believe it's a bad regression.
Sandro, did you open a ticket? Any idea about when this popped up?
Cheers.

On 21/08/19 15:32, Sandro Santilli wrote:
> It's been a long time but I just clean-built QGIS from master branch
> (commit 8145f8f9276bb0b71ffb076e9b4115d800c41747) to find that the
> TopoViewer of DBManager is failing to provide proper layers.
> 
> The TopoViewer creates a layer tree composed by a top group
> named after the target topology and 3 sub-groups:
> 
>    - Faces
>      - face_mbr
>      - face
>      - face_seed
>    - Nodes
>      - node
>      - node_id
>    - Edges
>      - edge
>      - directed_edge
>      - edge_id
> 
> Of the 8 layers, only the ones under "Faces" work, while the others
> not only don't show anything but do not even present the user with
> a right-click->Properties (or double-click) menu to inspect
> properties. The right-click menu shows only a few entries
> (copy layer, rename layer, duplicate layer) and show no geometry type.
> 
> Do you have any idea what could cause this ?
> 
> The logs, for one of the layers, report:
> 
> 	src/providers/postgres/qgspostgresprovider.cpp:100 : (QgsPostgresProvider) [3ms] URI: dbname='p' port=5432 key='edge_id' estimatedmetadata=true srid=4167 type=LineString checkPrimaryKeyUnicity='1' table="test0"."edge_data" (geom) sql=
> 	src/providers/postgres/qgspostgresprovider.cpp:149 : (QgsPostgresProvider) [0ms] Connection info is dbname='p' port=5432
> 	src/providers/postgres/qgspostgresprovider.cpp:150 : (QgsPostgresProvider) [0ms] Geometry column is: geom
> 	src/providers/postgres/qgspostgresprovider.cpp:151 : (QgsPostgresProvider) [0ms] Schema is: test0
> 	src/providers/postgres/qgspostgresprovider.cpp:152 : (QgsPostgresProvider) [0ms] Table name is: edge_data
> 	src/providers/postgres/qgspostgresprovider.cpp:153 : (QgsPostgresProvider) [1ms] Query is: "test0"."edge_data"
> 	src/providers/postgres/qgspostgresprovider.cpp:154 : (QgsPostgresProvider) [0ms] Where clause is:
> 	src/providers/postgres/qgspostgresconn.cpp:168 : (connectDb) [0ms] Using cached connection for dbname='p' port=5432
> 	src/providers/postgres/qgspostgresprovider.cpp:1145 : (hasSufficientPermsAndCapabilities) [0ms] Checking for permissions on the relation
> 	src/providers/postgres/qgspostgresprovider.cpp:3526 : (getGeometryDetails) [0ms] Getting geometry column: SELECT upper(type),srid,coord_dimension FROM geometry_columns WHERE f_table_name='edge_data' AND f_geometry_column='geom' AND f_table_schema='test0'
> 	src/providers/postgres/qgspostgresprovider.cpp:3528 : (getGeometryDetails) [1ms] Geometry column query returned 1 rows
> 	src/providers/postgres/qgspostgresprovider.cpp:3769 : (getGeometryDetails) [1ms] Detected SRID is 4167
> 	src/providers/postgres/qgspostgresprovider.cpp:3770 : (getGeometryDetails) [0ms] Requested SRID is 4167
> 	src/providers/postgres/qgspostgresprovider.cpp:3771 : (getGeometryDetails) [0ms] Detected type is 2
> 	src/providers/postgres/qgspostgresprovider.cpp:3772 : (getGeometryDetails) [0ms] Requested type is 2
> 	src/providers/postgres/qgspostgresprovider.cpp:3780 : (getGeometryDetails) [0ms] Spatial column type is Geometry
> 	src/providers/postgres/qgspostgresprovider.cpp:747 : (loadFields) [0ms] Loading fields for table edge_data
> 	src/providers/postgres/qgspostgresprovider.cpp:1344 : (determinePrimaryKey) [2ms] Checking whether SELECT count(*) FROM pg_inherits WHERE inhparent='"test0"."edge_data"'::regclass is a parent table
> 	src/providers/postgres/qgspostgresprovider.cpp:1349 : (determinePrimaryKey) [0ms] Retrieving first primary or unique index: SELECT indexrelid FROM pg_index WHERE indrelid='"test0"."edge_data"'::regclass AND (indisprimary OR indisunique) ORDER BY CASE WHEN indisprimary THEN 1 ELSE 2 END LIMIT 1
> 	src/providers/postgres/qgspostgresprovider.cpp:1352 : (determinePrimaryKey) [1ms] Got 1 rows.
> 	src/providers/postgres/qgspostgresprovider.cpp:1442 : (determinePrimaryKey) [0ms] Retrieving key columns: SELECT attname,attnotnull FROM pg_index,pg_attribute WHERE indexrelid=14313569 AND indrelid=attrelid AND pg_attribute.attnum=any(pg_index.indkey)
> 	src/providers/postgres/qgspostgresprovider.cpp:1444 : (determinePrimaryKey) [0ms] Got 1 rows.
> 
> 
> --strk; 
> 
>   ()   Free GIS & Flash consultant/developer
>   /\   https://strk.kbt.io/services.html
> _______________________________________________
> QGIS-Developer mailing list
> QGIS-Developer at lists.osgeo.org
> List info: https://lists.osgeo.org/mailman/listinfo/qgis-developer
> Unsubscribe: https://lists.osgeo.org/mailman/listinfo/qgis-developer
> 

-- 
Paolo Cavallini - www.faunalia.eu
QGIS.ORG Chair:
http://planet.qgis.org/planet/user/28/tag/qgis%20board/


More information about the QGIS-Developer mailing list