283 |
283 |
284 def rename(self, oldname, newname): |
284 def rename(self, oldname, newname): |
285 self.session.vreg.schema.rename_entity_type(oldname, newname) |
285 self.session.vreg.schema.rename_entity_type(oldname, newname) |
286 # we need sql to operate physical changes on the system database |
286 # we need sql to operate physical changes on the system database |
287 sqlexec = self.session.system_sql |
287 sqlexec = self.session.system_sql |
288 sqlexec('ALTER TABLE %s%s RENAME TO %s%s' % (SQL_PREFIX, oldname, |
288 dbhelper= self.session.pool.source('system').dbhelper |
289 SQL_PREFIX, newname)) |
289 sql = dbhelper.sql_rename_table(SQL_PREFIX+oldname, |
|
290 SQL_PREFIX+newname) |
|
291 sqlexec(sql) |
290 self.info('renamed table %s to %s', oldname, newname) |
292 self.info('renamed table %s to %s', oldname, newname) |
291 sqlexec('UPDATE entities SET type=%s WHERE type=%s', |
293 sqlexec('UPDATE entities SET type=%(newname)s WHERE type=%(oldname)s', |
292 (newname, oldname)) |
294 {'newname': newname, 'oldname': oldname}) |
293 sqlexec('UPDATE deleted_entities SET type=%s WHERE type=%s', |
295 sqlexec('UPDATE deleted_entities SET type=%(newname)s WHERE type=%(oldname)s', |
294 (newname, oldname)) |
296 {'newname': newname, 'oldname': oldname}) |
295 # XXX transaction records |
297 # XXX transaction records |
296 |
298 |
297 def precommit_event(self): |
299 def precommit_event(self): |
298 self.rename(self.oldname, self.newname) |
300 self.rename(self.oldname, self.newname) |
299 |
301 |