@@ -378,10 +378,15 @@ bool QgsPostgresConn::getTableInfo( bool searchGeometryColumnsOnly, bool searchP
378
378
QString schemaName = result.PQgetvalue ( idx, 1 );
379
379
QString column = result.PQgetvalue ( idx, 2 );
380
380
QString type = result.PQgetvalue ( idx, 3 );
381
- QString srid = result.PQgetvalue ( idx, 4 );
381
+ QString ssrid = result.PQgetvalue ( idx, 4 );
382
382
QString relkind = result.PQgetvalue ( idx, 5 );
383
- if ( srid.isEmpty () || srid == " 0" )
384
- srid = " -1" ;
383
+
384
+ int srid = ssrid.isEmpty () ? INT_MIN : ssrid.toInt ();
385
+ if ( majorVersion () >= 2 && srid == 0 )
386
+ {
387
+ // 0 doesn't constraint => detect
388
+ srid = INT_MIN;
389
+ }
385
390
386
391
QgsDebugMsg ( QString ( " %1 : %2.%3.%4: %5 %6 %7" )
387
392
.arg ( gtableName )
@@ -396,7 +401,7 @@ bool QgsPostgresConn::getTableInfo( bool searchGeometryColumnsOnly, bool searchP
396
401
layerProperty.geometryColName = column;
397
402
layerProperty.geometryColType = columnType;
398
403
layerProperty.types = QList<QGis::WkbType>() << ( QgsPostgresConn::wkbTypeFromPostgis ( type ) );
399
- layerProperty.srids = QList<int >() << srid. toInt () ;
404
+ layerProperty.srids = QList<int >() << srid;
400
405
layerProperty.sql = " " ;
401
406
402
407
if ( relkind == " v" )
@@ -572,7 +577,7 @@ bool QgsPostgresConn::getTableInfo( bool searchGeometryColumnsOnly, bool searchP
572
577
QgsDebugMsg ( QString ( " %1.%2: %3" ).arg ( schema ).arg ( table ).arg ( relkind ) );
573
578
574
579
layerProperty.types = QList<QGis::WkbType>() << QGis::WKBNoGeometry;
575
- layerProperty.srids = QList<int >() << - 1 ;
580
+ layerProperty.srids = QList<int >() << INT_MIN ;
576
581
layerProperty.schemaName = schema;
577
582
layerProperty.tableName = table;
578
583
layerProperty.geometryColName = QString::null;
0 commit comments