Skip to content

Commit

Permalink
Fix more Cursor execution functions (rename table)
Browse files Browse the repository at this point in the history
  • Loading branch information
strk committed Jan 9, 2020
1 parent 18c51c4 commit 7acbc36
Showing 1 changed file with 18 additions and 14 deletions.
32 changes: 18 additions & 14 deletions python/plugins/db_manager/db_plugins/postgis/connector.py
Expand Up @@ -52,16 +52,23 @@ def classFactory():


class CursorProxy():
def __init__(self, connection, sql):
def __init__(self, connection, sql=None):
self.connection = connection
self.sql = sql
self.result = None
self.closed = False
self.description = None
self._execute()
print ("XXX CursorProxy initialized with sql " + sql)
if (self.sql != None):
self._execute()

def _execute(self):
if self.result != None:
def _execute(self, sql=None):
if self.sql == sql and self.result != None:
print ("XXX CursorProxy execute called with sql " + sql)
return
if (sql != None):
self.sql = sql
if (self.sql == None):
return
self.result = self.connection._executeSql(self.sql)
self.description = []
Expand All @@ -79,7 +86,9 @@ def _execute(self):

def fetchone(self):
self._execute()
return self.result[0]
if len(self.result):
return self.result[0]
return None

def fetchall(self):
self._execute()
Expand Down Expand Up @@ -768,19 +777,15 @@ def renameTable(self, table, new_table):
if new_table == tablename:
return

c = self._get_cursor()

sql = u"ALTER TABLE %s RENAME TO %s" % (self.quoteId(table), self.quoteId(new_table))
self._execute(c, sql)
self._executeSql(sql)

# update geometry_columns if PostGIS is enabled
if self.has_geometry_columns and not self.is_geometry_columns_view:
schema_where = u" AND f_table_schema=%s " % self.quoteString(schema) if schema is not None else ""
sql = u"UPDATE geometry_columns SET f_table_name=%s WHERE f_table_name=%s %s" % (
self.quoteString(new_table), self.quoteString(tablename), schema_where)
self._execute(c, sql)

self._commit()
self._executeSql(sql)

def commentTable(self, schema, tablename, comment=None):
if comment is None:
Expand Down Expand Up @@ -1056,9 +1061,8 @@ def _execute(self, cursor, sql):
def _executeSql(self, sql):
return self.core_connection.executeSql(sql)

# moved into the parent class: DbConnector._get_cursor()
# def _get_cursor(self, name=None):
# pass
def _get_cursor(self, name=None):
return CursorProxy(self)

def _commit(self):
pass
Expand Down

0 comments on commit 7acbc36

Please sign in to comment.