Merge pull request #9183 from Gustry/save_comments

keep comments when saving query, fix single line comment
This commit is contained in:
Alessandro Pasotti 2019-02-20 22:36:24 +01:00 committed by GitHub
commit dd7a5f5b1e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -351,7 +351,7 @@ class DlgSqlWindow(QWidget, Ui_Dialog):
def executeSql(self):
sql = self._getSqlQuery()
sql = self._getExecutableSqlQuery()
if sql == "":
return
@ -393,7 +393,7 @@ class DlgSqlWindow(QWidget, Ui_Dialog):
else:
geomFieldName = None
query = self._getSqlQuery()
query = self._getSqlExecutableQuery()
if query == "":
return None
@ -438,7 +438,7 @@ class DlgSqlWindow(QWidget, Ui_Dialog):
QgsProject.instance().addMapLayers([layer], True)
def fillColumnCombos(self):
query = self._getSqlQuery()
query = self._getExecutableSqlQuery()
if query == "":
return
@ -588,16 +588,27 @@ class DlgSqlWindow(QWidget, Ui_Dialog):
name, ok = QInputDialog.getText(None, self.tr("View Name"), self.tr("View name"))
if ok:
try:
self.db.connector.createSpatialView(name, self._getSqlQuery())
self.db.connector.createSpatialView(name, self._getExecutableSqlQuery())
except BaseError as e:
DlgDbError.showError(e, self)
def _getSqlQuery(self):
sql = self.editSql.selectedText()
if len(sql) == 0:
sql = self.editSql.text().replace('\n', ' ').strip()
sql = self.editSql.text()
return sql
def _getExecutableSqlQuery(self):
sql = self._getSqlQuery()
# Clean it up!
lines = []
for line in sql.split('\n'):
if not line.strip().startswith('--'):
lines.append(line)
sql = ' '.join(lines)
return sql.strip()
def uniqueChanged(self):
# when an item is (un)checked, simply trigger an update of the combobox text
self.uniqueTextChanged(None)