Hi Juergen On Tue, Apr 9, 2013 at 6:10 PM, Jürgen E. <j...@norbit.de> wrote: >> if I do >> feat = QgsFeature() >> iter = myLayer.getFeatures(QgsFeatureRequest().setFilterFid(myFid)) >> iter.nextFeature(feat) >> returns False and I get a message in the PostgreSQL message tab stating >> "Trying to fetch geometry on layer without geometry." >> >> Can anybody confirm? >> Do I miss anything or is this a bug? > > You request geometry (by not saying you don't want any) - and get refused > because there's none. > > myLayer.getFeatures(QgsFeatureRequest().setFilterFid(myFid).setFlags( > QgsFeatureRequest.NoGeometry ) ) > > should work. Not really a bug, but inconvienent.
I have a feeling that we should call that a bug: the NoGeometry flag tells that it is not necessary to fetch geometry... so even if the flag is not set, the feature should be fetched. Btw. there is one slightly related thing: "enableGeometrylessFeatures(bool)" function of QgsVectorDataProvider. It works only with OGR provider and I believe there is not justification for keeping it around in v2.0. If I remember correctly we have added it long time ago when all geometryless features were automatically rejected because other parts of QGIS were not expecting QgsFeature with NULL geometry - however the situation has changed in meanwhile. I will remove it. Martin _______________________________________________ Qgis-developer mailing list Qgis-developer@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/qgis-developer