File tree Expand file tree Collapse file tree 1 file changed +14
-8
lines changed Expand file tree Collapse file tree 1 file changed +14
-8
lines changed Original file line number Diff line number Diff line change @@ -297,23 +297,29 @@ QString QgsPgSourceSelect::layerURI( const QModelIndex &index )
297
297
int a = geomColumnName.indexOf ( " AS " );
298
298
QString typeName = geomColumnName.mid ( a + 4 ); // only the type name
299
299
geomColumnName = geomColumnName.left ( a ); // only the geom column name
300
-
301
- if ( !sql.isEmpty () )
302
- {
303
- sql += " AND " ;
304
- }
300
+ QString geomFilter;
305
301
306
302
if ( typeName == " POINT" )
307
303
{
308
- sql + = QString ( " GeometryType(\" %1\" ) IN ('POINT','MULTIPOINT')" ).arg ( geomColumnName );
304
+ geomFilter = QString ( " GeometryType(\" %1\" ) IN ('POINT','MULTIPOINT')" ).arg ( geomColumnName );
309
305
}
310
306
else if ( typeName == " LINESTRING" )
311
307
{
312
- sql + = QString ( " GeometryType(\" %1\" ) IN ('LINESTRING','MULTILINESTRING')" ).arg ( geomColumnName );
308
+ geomFilter = QString ( " GeometryType(\" %1\" ) IN ('LINESTRING','MULTILINESTRING')" ).arg ( geomColumnName );
313
309
}
314
310
else if ( typeName == " POLYGON" )
315
311
{
316
- sql += QString ( " GeometryType(\" %1\" ) IN ('POLYGON','MULTIPOLYGON')" ).arg ( geomColumnName );
312
+ geomFilter = QString ( " GeometryType(\" %1\" ) IN ('POLYGON','MULTIPOLYGON')" ).arg ( geomColumnName );
313
+ }
314
+
315
+ if ( !geomFilter.isEmpty () && !sql.contains ( geomFilter ) )
316
+ {
317
+ if ( !sql.isEmpty () )
318
+ {
319
+ sql += " AND " ;
320
+ }
321
+
322
+ sql += geomFilter;
317
323
}
318
324
}
319
325
You can’t perform that action at this time.
0 commit comments