@@ -543,7 +543,7 @@ bool QgsPostgresConn::getTableInfo( bool searchGeometryColumnsOnly, bool searchP
543
543
" AND a.attnum>0"
544
544
" AND n.oid=c.relnamespace"
545
545
" AND has_schema_privilege(n.nspname,'usage')"
546
- " AND has_table_privilege(' \" '||n.nspname||' \" . \" '||c.relname||' \" ' ,'select')" // user has select privilege
546
+ " AND has_table_privilege(c.oid ,'select')" // user has select privilege
547
547
)
548
548
.arg ( tableName, schemaName, columnName, typeName, sridName, dimName, gtableName )
549
549
.arg ( 1 )
@@ -662,7 +662,7 @@ bool QgsPostgresConn::getTableInfo( bool searchGeometryColumnsOnly, bool searchP
662
662
// search for geometry columns in tables that are not in the geometry_columns metatable
663
663
if ( !searchGeometryColumnsOnly )
664
664
{
665
- // Now have a look for geometry columns that aren't in the geometry_columns table.
665
+ // Now have a look for spatial columns that aren't in the geometry_columns table.
666
666
QString sql = " SELECT"
667
667
" c.relname"
668
668
" ,n.nspname"
@@ -677,7 +677,7 @@ bool QgsPostgresConn::getTableInfo( bool searchGeometryColumnsOnly, bool searchP
677
677
" LEFT JOIN pg_type b ON b.oid=t.typbasetype"
678
678
" WHERE c.relkind IN ('v','r','m','p')"
679
679
" AND has_schema_privilege( n.nspname, 'usage' )"
680
- " AND has_table_privilege( QUOTE_IDENT(n.nspname) || '.' || QUOTE_IDENT(c.relname) , 'select' )"
680
+ " AND has_table_privilege( c.oid , 'select' )"
681
681
" AND (t.typname IN ('geometry','geography','topogeometry') OR b.typname IN ('geometry','geography','topogeometry','pcpatch','raster'))" ;
682
682
683
683
// user has select privilege
@@ -806,7 +806,7 @@ bool QgsPostgresConn::getTableInfo( bool searchGeometryColumnsOnly, bool searchP
806
806
" ,pg_attribute a"
807
807
" WHERE pg_namespace.oid=pg_class.relnamespace"
808
808
" AND has_schema_privilege(pg_namespace.nspname,'usage')"
809
- " AND has_table_privilege(' \" ' || pg_namespace.nspname || ' \" . \" ' || pg_class.relname || ' \" ' ,'select')"
809
+ " AND has_table_privilege(pg_class.oid ,'select')"
810
810
" AND pg_class.relkind IN ('v','r','m','p')"
811
811
" AND pg_class.oid = a.attrelid"
812
812
" AND NOT a.attisdropped"
0 commit comments