Skip to content

Commit 1de8c76

Browse files
committedApr 2, 2013
[FIX] Show attribute table for layers without geometry
And add a message to the message log when an iterator is closed due to missing geometry
1 parent 45b931b commit 1de8c76

File tree

2 files changed

+7
-1
lines changed

2 files changed

+7
-1
lines changed
 

‎src/gui/attributetable/qgsattributetablemodel.cpp

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,11 @@ QgsAttributeTableModel::QgsAttributeTableModel( QgsVectorLayerCache *layerCache,
3636
{
3737
QgsDebugMsg( "entered." );
3838

39+
if ( layerCache->layer()->geometryType() == QGis::NoGeometry )
40+
{
41+
mFeatureRequest.setFlags( QgsFeatureRequest::NoGeometry );
42+
}
43+
3944
mFeat.setFeatureId( std::numeric_limits<int>::min() );
4045

4146
loadAttributes();
@@ -302,7 +307,7 @@ void QgsAttributeTableModel::loadLayer()
302307
removeRows( 0, rowCount() );
303308
endRemoveRows();
304309

305-
QgsFeatureIterator features = layer()->getFeatures( mFeatureRequest );
310+
QgsFeatureIterator features = mLayerCache->getFeatures( mFeatureRequest );
306311

307312
int i = 0;
308313

‎src/providers/postgres/qgspostgresfeatureiterator.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -296,6 +296,7 @@ bool QgsPostgresFeatureIterator::declareCursor( const QString& whereClause )
296296
bool fetchGeometry = !( mRequest.flags() & QgsFeatureRequest::NoGeometry );
297297
if ( fetchGeometry && P->mGeometryColumn.isNull() )
298298
{
299+
QgsMessageLog::logMessage( QObject::tr( "Trying to fetch geometry on a layer without geometry." ), QObject::tr( "PostgreSQL" ) );
299300
return false;
300301
}
301302

0 commit comments

Comments
 (0)
Please sign in to comment.