|
31 | 31 | from qgis.PyQt.Qsci import QsciAPIs
|
32 | 32 | from qgis.PyQt.QtXml import QDomDocument
|
33 | 33 |
|
34 |
| -from qgis.core import QgsProject, QgsDataSourceUri |
| 34 | +from qgis.core import QgsProject, QgsDataSourceUri, QgsReadWriteContext |
35 | 35 | from qgis.utils import OverrideCursor
|
36 | 36 |
|
37 | 37 | from .db_plugins import createDbPlugin
|
@@ -151,6 +151,12 @@ def __init__(self, iface, layer, parent=None):
|
151 | 151 | match = re.search('^\((SELECT .+ FROM .+)\)$', sql, re.S)
|
152 | 152 | if match:
|
153 | 153 | sql = match.group(1)
|
| 154 | + if not sql.startswith('(') and not sql.endswith(')'): |
| 155 | + schema = uri.schema() |
| 156 | + if schema and schema.upper() != 'PUBLIC': |
| 157 | + sql = 'SELECT * FROM ' + schema + '.' + sql |
| 158 | + else |
| 159 | + sql = 'SELECT * FROM ' + sql |
154 | 160 | self.editSql.setText(sql)
|
155 | 161 | self.executeSql()
|
156 | 162 |
|
@@ -328,11 +334,11 @@ def updateSqlLayer(self):
|
328 | 334 | XMLDocument = QDomDocument("style")
|
329 | 335 | XMLMapLayers = XMLDocument.createElement("maplayers")
|
330 | 336 | XMLMapLayer = XMLDocument.createElement("maplayer")
|
331 |
| - self.layer.writeLayerXML(XMLMapLayer, XMLDocument) |
| 337 | + self.layer.writeLayerXml(XMLMapLayer, XMLDocument, QgsReadWriteContext()) |
332 | 338 | XMLMapLayer.firstChildElement("datasource").firstChild().setNodeValue(layer.source())
|
333 | 339 | XMLMapLayers.appendChild(XMLMapLayer)
|
334 | 340 | XMLDocument.appendChild(XMLMapLayers)
|
335 |
| - self.layer.readLayerXML(XMLMapLayer) |
| 341 | + self.layer.readLayerXml(XMLMapLayer, QgsReadWriteContext()) |
336 | 342 | self.layer.reload()
|
337 | 343 | self.iface.actionDraw().trigger()
|
338 | 344 | self.iface.mapCanvas().refresh()
|
|
0 commit comments