Skip to content

Commit 925d317

Browse files
committed
postgres provider fixes:
- allow selection of rows with srid 0 (fixes #7889) - fix geometry type assignment of geometry less tables - filter out geometry columns with srids < 0 in browser
1 parent a84f3a4 commit 925d317

File tree

3 files changed

+4
-3
lines changed

3 files changed

+4
-3
lines changed

src/providers/postgres/qgspgtablemodel.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ void QgsPgTableModel::addTableEntry( QgsPostgresLayerProperty layerProperty )
5656
wkbType = QGis::WKBNoGeometry;
5757
}
5858

59-
bool selectable = wkbType == QGis::WKBNoGeometry || ( wkbType != QGis::WKBUnknown && srid > 0 );
59+
bool selectable = wkbType == QGis::WKBNoGeometry || ( wkbType != QGis::WKBUnknown && srid >= 0 );
6060

6161
QStandardItem *schemaNameItem = new QStandardItem( layerProperty.schemaName );
6262
QStandardItem *typeItem = new QStandardItem( iconForWkbType( wkbType ), wkbType == QGis::WKBUnknown ? tr( "Select..." ) : QgsPostgresConn::displayStringForWkbType( wkbType ) );

src/providers/postgres/qgspostgresconn.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -571,7 +571,7 @@ bool QgsPostgresConn::getTableInfo( bool searchGeometryColumnsOnly, bool searchP
571571

572572
QgsDebugMsg( QString( "%1.%2: %3" ).arg( schema ).arg( table ).arg( relkind ) );
573573

574-
layerProperty.types = QList<QGis::WkbType>() << QGis::WKBUnknown;
574+
layerProperty.types = QList<QGis::WkbType>() << QGis::WKBNoGeometry;
575575
layerProperty.srids = QList<int>() << -1;
576576
layerProperty.schemaName = schema;
577577
layerProperty.tableName = table;

src/providers/postgres/qgspostgresdataitems.cpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -123,7 +123,8 @@ void QgsPGConnectionItem::setLayerType( QgsPostgresLayerProperty layerProperties
123123
{
124124
QgsPostgresLayerProperty layerProperty = layerProperties.at( i );
125125

126-
if ( layerProperty.types[0] == QGis::WKBUnknown && !layerProperty.geometryColName.isEmpty() )
126+
if ( layerProperty.types[0] == QGis::WKBUnknown ||
127+
(!layerProperty.geometryColName.isEmpty() && layerProperty.srids[0] < 0 ) )
127128
continue;
128129

129130
if ( !schemaItem )

0 commit comments

Comments
 (0)