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