mirror of
https://github.com/qgis/QGIS.git
synced 2025-02-25 00:58:06 -05:00
dbmanager/postgis: quote identifiers in urls (fixes qgis portion of #19583)
This commit is contained in:
parent
c7421c77a6
commit
f4d08eb926
@ -316,9 +316,9 @@ class PGRasterTable(PGTable, RasterTable):
|
||||
def gdalUri(self, uri=None):
|
||||
if not uri:
|
||||
uri = self.database().uri()
|
||||
service = (u'service=%s' % uri.service()) if uri.service() else ''
|
||||
schema = (u'schema=%s' % self.schemaName()) if self.schemaName() else ''
|
||||
dbname = (u'dbname=%s' % uri.database()) if uri.database() else ''
|
||||
service = (u'service=\'%s\'' % uri.service()) if uri.service() else ''
|
||||
schema = (u'schema=\'%s\'' % self.schemaName()) if self.schemaName() else ''
|
||||
dbname = (u'dbname=\'%s\'' % uri.database()) if uri.database() else ''
|
||||
host = (u'host=%s' % uri.host()) if uri.host() else ''
|
||||
user = (u'user=%s' % uri.username()) if uri.username() else ''
|
||||
passw = (u'password=%s' % uri.password()) if uri.password() else ''
|
||||
@ -330,17 +330,17 @@ class PGRasterTable(PGTable, RasterTable):
|
||||
# TODO: cache this ?
|
||||
connector = self.database().connector
|
||||
r = connector._execute(None, "SELECT current_database()")
|
||||
dbname = (u'dbname=%s' % connector._fetchone(r)[0])
|
||||
dbname = (u'dbname=\'%s\'' % connector._fetchone(r)[0])
|
||||
connector._close_cursor(r)
|
||||
|
||||
# Find first raster field
|
||||
col = ''
|
||||
for fld in self.fields():
|
||||
if fld.dataType == "raster":
|
||||
col = u'column=%s' % fld.name
|
||||
col = u'column=\'%s\'' % fld.name
|
||||
break
|
||||
|
||||
gdalUri = u'PG: %s %s %s %s %s %s mode=2 %s %s table=%s' % \
|
||||
gdalUri = u'PG: %s %s %s %s %s %s mode=2 %s %s table=\'%s\'' % \
|
||||
(service, dbname, host, user, passw, port, schema, col, self.name)
|
||||
|
||||
return gdalUri
|
||||
|
Loading…
x
Reference in New Issue
Block a user