Changeset 192
- Timestamp:
- 03/13/06 11:27:08
- Files:
-
- trunk/arenas.py (modified) (1 diff)
- trunk/storage/db.py (modified) (1 diff)
- trunk/storage/storeado.py (modified) (7 diffs)
- trunk/units.py (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/arenas.py
r191 r192 319 319 for id in keys: 320 320 unit = cache.get(id) 321 if unit and ( expr is None) or expr.evaluate(unit):321 if unit and ((expr is None) or expr.evaluate(unit)): 322 322 # Do NOT call on_recall here. That should be called 323 323 # only at the Sandbox-SM boundary. trunk/storage/db.py
r191 r192 1474 1474 1475 1475 def has_index(self, cls, name): 1476 return name in [i.name for i in self.get_indices(cls.__name__)] 1476 tablename = self.table_name(cls.__name__, quoted=False) 1477 indices = [i.colname for i in self.get_indices(tablename)] 1478 return (name in indices) 1477 1479 1478 1480 def drop_index(self, cls, name): trunk/storage/storeado.py
r191 r192 137 137 return datetime.datetime(int(value[0:4]), int(value[4:6]), 138 138 int(value[6:8])) 139 except Exception , x:139 except Exception: 140 140 raise ValueError("'%s' %s" % (value, type(value))) 141 141 else: … … 153 153 return datetime.date(int(value[0:4]), int(value[4:6]), 154 154 int(value[6:8])) 155 except Exception , x:155 except Exception: 156 156 raise ValueError("'%s' %s" % (value, type(value))) 157 157 else: … … 436 436 return "ADO Version: %s" % adoconn.Version 437 437 438 # Schemas # 439 438 440 def has_storage(self, cls): 439 441 names = [t.name for t in self.get_tables()] 440 442 return self.table_name(cls.__name__, quoted=False) in names 443 444 def rename_storage(self, oldname, newname): 445 oldname = self.table_name(oldname, quoted=False) 446 newname = self.table_name(newname, quoted=False) 447 self.arena.log("rename table %s to %s" % (oldname, newname), 448 dejavu.LOGSQL) 449 450 conn = self.connection() 451 try: 452 cat = win32com.client.Dispatch(r'ADOX.Catalog') 453 cat.ActiveConnection = conn 454 cat.Tables(oldname).Name = newname 455 except pywintypes.com_error: 456 conn = None 457 cat = None 458 raise 441 459 442 460 def rename_property(self, cls, oldname, newname): … … 445 463 oldname = self.column_name(clsname, oldname, quoted=False) 446 464 newname = self.column_name(clsname, newname, quoted=False) 465 self.arena.log("rename %s column %s to %s" % 466 (tblname, oldname, newname), 467 dejavu.LOGSQL) 447 468 448 469 conn = self.connection() … … 451 472 cat.ActiveConnection = conn 452 473 cat.Tables(tblname).Columns(oldname).Name = newname 453 except pywintypes.com_error , x:474 except pywintypes.com_error: 454 475 conn = None 455 476 cat = None … … 462 483 colname = self.column_name(clsname, name, quoted=False) 463 484 464 for i in self.get_indices( ):465 if i. tablename == tablename and i.colname == colname:485 for i in self.get_indices(tablename): 486 if i.colname == colname: 466 487 # The INDEX_NAME may include a trailing " ASC" or other data 467 488 self.execute('DROP INDEX [%s] ON %s;' % (i.name, qtablename)) … … 938 959 939 960 940 941 961 def gen_py(): 942 962 # Auto generate .py support for ADO 2.7+ trunk/units.py
r191 r192 386 386 # but not back up to superclasses. 387 387 if hasattr(cls, "properties"): 388 props = cls.properties[:]388 props = list(cls.properties) 389 389 else: 390 390 props = []
