Skip to content

Commit c33f940

Browse files
committed
Restore Postgis Execute SQL alg
1 parent 38f1d9c commit c33f940

File tree

2 files changed

+19
-15
lines changed

2 files changed

+19
-15
lines changed

python/plugins/processing/algs/qgis/PostGISExecuteSQL.py

Lines changed: 16 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -26,10 +26,10 @@
2626

2727
__revision__ = '$Format:%H$'
2828

29-
from qgis.core import (QgsApplication)
29+
from qgis.core import (QgsApplication,
30+
QgsProcessingParameterString)
3031
from processing.algs.qgis.QgisAlgorithm import QgisAlgorithm
3132
from processing.core.GeoAlgorithmExecutionException import GeoAlgorithmExecutionException
32-
from processing.core.parameters import ParameterString
3333
from processing.tools import postgis
3434

3535

@@ -49,13 +49,15 @@ def group(self):
4949

5050
def __init__(self):
5151
super().__init__()
52-
self.addParameter(ParameterString(
52+
53+
db_param = QgsProcessingParameterString(
5354
self.DATABASE,
54-
self.tr('Database'),
55-
metadata={
56-
'widget_wrapper': {
57-
'class': 'processing.gui.wrappers_postgis.ConnectionWidgetWrapper'}}))
58-
self.addParameter(ParameterString(self.SQL, self.tr('SQL query'), '', True))
55+
self.tr('Database (connection name)'))
56+
db_param.setMetadata({
57+
'widget_wrapper': {
58+
'class': 'processing.gui.wrappers_postgis.ConnectionWidgetWrapper'}})
59+
self.addParameter(db_param)
60+
self.addParameter(QgsProcessingParameterString(self.SQL, self.tr('SQL query')))
5961

6062
def name(self):
6163
return 'postgisexecutesql'
@@ -64,11 +66,13 @@ def displayName(self):
6466
return self.tr('PostGIS execute SQL')
6567

6668
def processAlgorithm(self, parameters, context, feedback):
67-
connection = self.getParameterValue(self.DATABASE)
68-
self.db = postgis.GeoDB.from_name(connection)
69-
sql = self.getParameterValue(self.SQL).replace('\n', ' ')
69+
connection = self.parameterAsString(parameters, self.DATABASE, context)
70+
db = postgis.GeoDB.from_name(connection)
71+
72+
sql = self.parameterAsString(parameters, self.SQL, context).replace('\n', ' ')
7073
try:
71-
self.db._exec_sql_and_commit(str(sql))
74+
db._exec_sql_and_commit(str(sql))
7275
except postgis.DbError as e:
7376
raise GeoAlgorithmExecutionException(
7477
self.tr('Error executing SQL:\n{0}').format(str(e)))
78+
return {}

python/plugins/processing/algs/qgis/QGISAlgorithmProvider.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,7 @@
5757
from .GridPolygon import GridPolygon
5858
from .ImportIntoPostGIS import ImportIntoPostGIS
5959
from .Merge import Merge
60+
from .PostGISExecuteSQL import PostGISExecuteSQL
6061

6162
# from .RegularPoints import RegularPoints
6263
# from .SymmetricalDifference import SymmetricalDifference
@@ -122,7 +123,6 @@
122123
# from .RandomPointsAlongLines import RandomPointsAlongLines
123124
# from .PointsToPaths import PointsToPaths
124125
# from .SpatialiteExecuteSQL import SpatialiteExecuteSQL
125-
# from .PostGISExecuteSQL import PostGISExecuteSQL
126126
# from .ImportIntoSpatialite import ImportIntoSpatialite
127127
# from .SetVectorStyle import SetVectorStyle
128128
# from .SetRasterStyle import SetRasterStyle
@@ -218,7 +218,6 @@ def getAlgs(self):
218218
# RandomPointsPolygonsVariable(),
219219
# RandomPointsAlongLines(), PointsToPaths(),
220220
# SpatialiteExecuteSQL(), ImportIntoSpatialite(),
221-
# PostGISExecuteSQL(),
222221
# SetVectorStyle(), SetRasterStyle(),
223222
# SelectByExpression(), HypsometricCurves(),
224223
# SplitWithLines(), CreateConstantRaster(),
@@ -261,7 +260,8 @@ def getAlgs(self):
261260
ExtentFromLayer(),
262261
GridPolygon(),
263262
ImportIntoPostGIS(),
264-
Merge()
263+
Merge(),
264+
PostGISExecuteSQL()
265265
]
266266

267267
if hasPlotly:

0 commit comments

Comments
 (0)