You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Author Name: Steven Mizuno (Steven Mizuno)
Original Redmine Issue: 1021
Redmine category:data_provider
Assignee: Jürgen Fischer
Have found this problem in 0.9.1: when a table in the public schema has symbology set up or a where clause set, the schema portion of the table disappears from the "Source for this layer" item in properties/metadata. When a project is saved, then loaded, that layer won't load.
HEAD has the same behavior as far as the schema being cleared, but the project layer will load.
I believe that this would affect any table whose schema is the current schema in the database.
Have found in qgspostgresprovider.cpp: in the constructor, about line 160 when the current schema is tested and equals the table's schema, mUri.clearSchema() is called. Then setDataSourceUri(mUri) is called.
Several lines in this area are unnecessary as mCurrentSchema is tested/set here and never used anywhere else.
I believe the table's schema should be preserved throughout all operations; I don't see any particular advantage other than a slightly shorter query string being sent to the database.
summary of patch submitted:
qgspostgresprovider.cpp : in the constructor, removed "current_schema()" from the sql command that retrieves table privileges; removed the various tests and setting of variables relating to current_schema / mCurrentSchema; retained the setDataSourceUri() call
qgspostgresprovider.h : removed mCurrentSchema from the header
Author Name: Steven Mizuno (Steven Mizuno)
Original Redmine Issue: 1021
Redmine category:data_provider
Assignee: Jürgen Fischer
Have found this problem in 0.9.1: when a table in the public schema has symbology set up or a where clause set, the schema portion of the table disappears from the "Source for this layer" item in properties/metadata. When a project is saved, then loaded, that layer won't load.
HEAD has the same behavior as far as the schema being cleared, but the project layer will load.
I believe that this would affect any table whose schema is the current schema in the database.
Have found in qgspostgresprovider.cpp: in the constructor, about line 160 when the current schema is tested and equals the table's schema, mUri.clearSchema() is called. Then setDataSourceUri(mUri) is called.
Several lines in this area are unnecessary as mCurrentSchema is tested/set here and never used anywhere else.
I believe the table's schema should be preserved throughout all operations; I don't see any particular advantage other than a slightly shorter query string being sent to the database.
summary of patch submitted:
qgspostgresprovider.cpp : in the constructor, removed "current_schema()" from the sql command that retrieves table privileges; removed the various tests and setting of variables relating to current_schema / mCurrentSchema; retained the setDataSourceUri() call
qgspostgresprovider.h : removed mCurrentSchema from the header
The text was updated successfully, but these errors were encountered: