Skip to content

Commit 1dc75f3

Browse files
committed
fix #6800 (introduced with 0dc01f5)
1 parent c85b952 commit 1dc75f3

File tree

7 files changed

+27
-22
lines changed

7 files changed

+27
-22
lines changed

python/plugins/sextante/admintools/geoserver/resource.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
"""
44
***************************************************************************
5-
layergroup.py
5+
resource.py
66
---------------------
77
Date : November 2012
88
Copyright : (C) 2012 by David Winslow

python/plugins/sextante/admintools/geoserver/store.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
"""
44
***************************************************************************
5-
layergroup.py
5+
store.py
66
---------------------
77
Date : November 2012
88
Copyright : (C) 2012 by David Winslow

python/plugins/sextante/admintools/geoserver/style.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
"""
44
***************************************************************************
5-
layergroup.py
5+
style.py
66
---------------------
77
Date : November 2012
88
Copyright : (C) 2012 by David Winslow

python/plugins/sextante/admintools/geoserver/support.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
"""
44
***************************************************************************
5-
layergroup.py
5+
support.py
66
---------------------
77
Date : November 2012
88
Copyright : (C) 2012 by David Winslow

python/plugins/sextante/admintools/geoserver/util.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
"""
44
***************************************************************************
5-
layergroup.py
5+
util.py
66
---------------------
77
Date : November 2012
88
Copyright : (C) 2012 by David Winslow

python/plugins/sextante/admintools/geoserver/workspace.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
"""
44
***************************************************************************
5-
layergroup.py
5+
workspace.py
66
---------------------
77
Date : November 2012
88
Copyright : (C) 2012 by David Winslow

src/providers/postgres/qgspostgresprovider.cpp

+21-16
Original file line numberDiff line numberDiff line change
@@ -1233,7 +1233,8 @@ bool QgsPostgresProvider::hasSufficientPermsAndCapabilities()
12331233
"has_table_privilege(%1,'DELETE'),"
12341234
"has_any_column_privilege(%1,'UPDATE'),"
12351235
"%2"
1236-
"has_table_privilege(%1,'INSERT')" )
1236+
"has_table_privilege(%1,'INSERT'),"
1237+
"current_schema()" )
12371238
.arg( quotedValue( mQuery ) )
12381239
.arg( mGeometryColumn.isNull()
12391240
? QString( "'f'," )
@@ -1248,7 +1249,8 @@ bool QgsPostgresProvider::hasSufficientPermsAndCapabilities()
12481249
"has_table_privilege(%1,'DELETE'),"
12491250
"has_table_privilege(%1,'UPDATE'),"
12501251
"has_table_privilege(%1,'UPDATE'),"
1251-
"has_table_privilege(%1,'INSERT')" )
1252+
"has_table_privilege(%1,'INSERT'),"
1253+
"current_schema()" )
12521254
.arg( quotedValue( mQuery ) );
12531255
}
12541256

@@ -1288,6 +1290,9 @@ bool QgsPostgresProvider::hasSufficientPermsAndCapabilities()
12881290
mEnabledCapabilities |= QgsVectorDataProvider::AddFeatures;
12891291
}
12901292

1293+
if ( mSchemaName.isEmpty() )
1294+
mSchemaName = testAccess.PQgetvalue( 0, 4 );
1295+
12911296
sql = QString( "SELECT 1 FROM pg_class,pg_namespace WHERE "
12921297
"pg_class.relnamespace=pg_namespace.oid AND "
12931298
"pg_get_userbyid(relowner)=current_user AND "
@@ -1814,33 +1819,33 @@ QString QgsPostgresProvider::paramValue( QString fieldValue, const QString &defa
18141819

18151820
QString QgsPostgresProvider::geomParam( int offset ) const
18161821
{
1817-
// TODO: retrive these at construction time
1822+
// TODO: retrieve these at construction time
18181823
QString toponame;
18191824
long layer_id;
18201825

18211826
if ( mSpatialColType == sctTopoGeometry )
18221827
{
18231828
QString sql = QString( "SELECT t.name, l.layer_id FROM topology.layer l, topology.topology t "
1824-
"WHERE l.topology_id = t.id AND l.schema_name=%1 "
1825-
"AND l.table_name=%2 AND l.feature_column=%3" )
1826-
.arg( quotedValue( mSchemaName ) )
1827-
.arg( quotedValue( mTableName ) )
1828-
.arg( quotedValue( mGeometryColumn ) );
1829+
"WHERE l.topology_id = t.id AND l.schema_name=%1 "
1830+
"AND l.table_name=%2 AND l.feature_column=%3" )
1831+
.arg( quotedValue( mSchemaName ) )
1832+
.arg( quotedValue( mTableName ) )
1833+
.arg( quotedValue( mGeometryColumn ) );
18291834
QgsPostgresResult result = mConnectionRO->PQexec( sql );
18301835
if ( result.PQresultStatus() != PGRES_TUPLES_OK )
18311836
{
18321837
throw PGException( result ); // we should probably not do this
18331838
}
18341839
if ( result.PQntuples() < 1 )
18351840
{
1836-
QgsMessageLog::logMessage( tr( "Could not find topology of layer %1.%2.%3" )
1837-
.arg( quotedValue( mSchemaName ) )
1838-
.arg( quotedValue( mTableName ) )
1839-
.arg( quotedValue( mGeometryColumn ) ),
1840-
tr( "PostGIS" ) );
1841+
QgsMessageLog::logMessage( tr( "Could not find topology of layer %1.%2.%3" )
1842+
.arg( quotedValue( mSchemaName ) )
1843+
.arg( quotedValue( mTableName ) )
1844+
.arg( quotedValue( mGeometryColumn ) ),
1845+
tr( "PostGIS" ) );
18411846
}
1842-
toponame = result.PQgetvalue( 0, 0 );
1843-
layer_id = result.PQgetvalue( 0, 1 ).toLong();
1847+
toponame = result.PQgetvalue( 0, 0 );
1848+
layer_id = result.PQgetvalue( 0, 1 ).toLong();
18441849

18451850
}
18461851

@@ -1898,7 +1903,7 @@ QString QgsPostgresProvider::geomParam( int offset ) const
18981903
if ( mSpatialColType == sctTopoGeometry )
18991904
{
19001905
geometry += QString( ",%1,%2)" )
1901-
.arg( quotedValue(toponame) )
1906+
.arg( quotedValue( toponame ) )
19021907
.arg( layer_id );
19031908
}
19041909

0 commit comments

Comments
 (0)