@@ -3160,7 +3160,7 @@ bool QgsPostgresProvider::getGeometryDetails()
3160
3160
}
3161
3161
}
3162
3162
3163
- sql = QString ( " select type,srid from geometry_columns"
3163
+ sql = QString ( " select upper( type) ,srid from geometry_columns"
3164
3164
" where f_table_name=%1 and f_geometry_column=%2 and f_table_schema=%3" )
3165
3165
.arg ( quotedValue ( tableName ) )
3166
3166
.arg ( quotedValue ( geomCol ) )
@@ -3204,7 +3204,7 @@ bool QgsPostgresProvider::getGeometryDetails()
3204
3204
// Didn't find what we need in the geometry_columns table, so
3205
3205
// get stuff from the relevant column instead. This may (will?)
3206
3206
// fail if there is no data in the relevant table.
3207
- sql = QString ( " select %1(%2),geometrytype(%2) from %3" )
3207
+ sql = QString ( " select %1(%2),upper( geometrytype(%2) ) from %3" )
3208
3208
.arg ( connectionRO->majorVersion () < 2 ? " srid" : " st_srid" )
3209
3209
.arg ( quotedIdentifier ( geometryColumn ) )
3210
3210
.arg ( mQuery );
@@ -3234,9 +3234,9 @@ bool QgsPostgresProvider::getGeometryDetails()
3234
3234
// check to see if there is a unique geometry type
3235
3235
sql = QString ( " select distinct "
3236
3236
" case"
3237
- " when geometrytype(%1) IN ('POINT','MULTIPOINT') THEN 'POINT'"
3238
- " when geometrytype(%1) IN ('LINESTRING','MULTILINESTRING') THEN 'LINESTRING'"
3239
- " when geometrytype(%1) IN ('POLYGON','MULTIPOLYGON') THEN 'POLYGON'"
3237
+ " when upper( geometrytype(%1) ) IN ('POINT','MULTIPOINT') THEN 'POINT'"
3238
+ " when upper( geometrytype(%1) ) IN ('LINESTRING','MULTILINESTRING') THEN 'LINESTRING'"
3239
+ " when upper( geometrytype(%1) ) IN ('POLYGON','MULTIPOLYGON') THEN 'POLYGON'"
3240
3240
" end "
3241
3241
" from " ).arg ( quotedIdentifier ( geometryColumn ) );
3242
3242
if ( mUseEstimatedMetadata )
0 commit comments