diff --git a/src/gui/attributetable/qgsattributetablemodel.cpp b/src/gui/attributetable/qgsattributetablemodel.cpp index 114523721bba..6fe20a712172 100644 --- a/src/gui/attributetable/qgsattributetablemodel.cpp +++ b/src/gui/attributetable/qgsattributetablemodel.cpp @@ -36,6 +36,11 @@ QgsAttributeTableModel::QgsAttributeTableModel( QgsVectorLayerCache *layerCache, { QgsDebugMsg( "entered." ); + if ( layerCache->layer()->geometryType() == QGis::NoGeometry ) + { + mFeatureRequest.setFlags( QgsFeatureRequest::NoGeometry ); + } + mFeat.setFeatureId( std::numeric_limits::min() ); loadAttributes(); @@ -302,7 +307,7 @@ void QgsAttributeTableModel::loadLayer() removeRows( 0, rowCount() ); endRemoveRows(); - QgsFeatureIterator features = layer()->getFeatures( mFeatureRequest ); + QgsFeatureIterator features = mLayerCache->getFeatures( mFeatureRequest ); int i = 0; diff --git a/src/providers/postgres/qgspostgresfeatureiterator.cpp b/src/providers/postgres/qgspostgresfeatureiterator.cpp index 60457a544e3f..accfd2b334ed 100644 --- a/src/providers/postgres/qgspostgresfeatureiterator.cpp +++ b/src/providers/postgres/qgspostgresfeatureiterator.cpp @@ -296,6 +296,7 @@ bool QgsPostgresFeatureIterator::declareCursor( const QString& whereClause ) bool fetchGeometry = !( mRequest.flags() & QgsFeatureRequest::NoGeometry ); if ( fetchGeometry && P->mGeometryColumn.isNull() ) { + QgsMessageLog::logMessage( QObject::tr( "Trying to fetch geometry on a layer without geometry." ), QObject::tr( "PostgreSQL" ) ); return false; }