[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
[or-cvs] r19613: {torctl} Fix SQLAlchemy consistency error exception. Droping tables d (torctl/trunk/python/TorCtl)
Author: mikeperry
Date: 2009-06-02 04:31:26 -0400 (Tue, 02 Jun 2009)
New Revision: 19613
Modified:
torctl/trunk/python/TorCtl/SQLSupport.py
Log:
Fix SQLAlchemy consistency error exception. Droping tables
does not automatically trigger their relations to get
dropped..
Modified: torctl/trunk/python/TorCtl/SQLSupport.py
===================================================================
--- torctl/trunk/python/TorCtl/SQLSupport.py 2009-06-02 08:30:25 UTC (rev 19612)
+++ torctl/trunk/python/TorCtl/SQLSupport.py 2009-06-02 08:31:26 UTC (rev 19613)
@@ -609,13 +609,17 @@
#################### Model Support ################
def reset_all():
# Need to keep routers around..
- #for r in Router.query.all():
- # r.bw_history = [] # XXX: Is this sufficient/correct/necessary?
- # r.circuits = []
- # r.streams = []
- # r.stats = None
- # tc_session.add(r)
+ for r in Router.query.all():
+ # This appears to be needed. the relation tables do not get dropped
+ # automatically.
+ r.circuits = []
+ r.streams = []
+ r.detached_streams = []
+ r.bw_history = []
+ r.stats = None
+ tc_session.add(r)
+ tc_session.commit()
tc_session.clear()
BwHistory.table.drop() # Will drop subclasses
@@ -632,9 +636,9 @@
tc_session.commit()
- for r in Router.query.all():
- if len(r.bw_history) or len(r.circuits) or len(r.streams) or r.stats:
- plog("WARN", "Router still has dropped data!")
+ #for r in Router.query.all():
+ # if len(r.bw_history) or len(r.circuits) or len(r.streams) or r.stats:
+ # plog("WARN", "Router still has dropped data!")
plog("NOTICE", "Reset all SQL stats")