Changeset 384
- Timestamp:
- 01/09/07 18:48:19
- Files:
-
- trunk/storage/db.py (modified) (1 diff)
- trunk/storage/storefirebird.py (modified) (2 diffs)
- trunk/test/zoo_fixture.py (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/storage/db.py
r383 r384 834 834 for cname, c in table.iteritems(): 835 835 ptype = self.db.python_type(c.dbtype) 836 if ptype == int and c.hints.get('bytes') in ( 1, '1'):836 if ptype == int and c.hints.get('bytes') in (0, '0', 1, '1'): 837 837 # This is probably a bool 838 838 ptype = bool trunk/storage/storefirebird.py
r383 r384 122 122 123 123 def coerce_bool(self, col): 124 return " INTEGER"124 return "SMALLINT" 125 125 126 126 def int_type(self, bytes): … … 277 277 for name, dbtype, fieldlen, default, prec, scale in data: 278 278 hints = {} 279 hints['precision'] = prec 280 hints['scale'] = abs(scale) 279 if prec: 280 hints['precision'] = prec 281 if scale: 282 hints['scale'] = abs(scale) 283 hints['bytes'] = fieldlen 281 284 282 285 # FB pads name and type values to 31 chars. trunk/test/zoo_fixture.py
r383 r384 1116 1116 raise self.failureException, (msg or '%r not in %r' % (second, first)) 1117 1117 1118 def test_discovery(self): 1118 def setUp(self): 1119 self.modeler = None 1120 1119 1121 s = arena.stores.values()[0] 1120 1122 if not hasattr(s, "db"): 1121 print "not a db (skipped) ",1122 1123 return 1123 1124 … … 1128 1129 from dejavu.storage import db 1129 1130 self.modeler = db.Modeler(s.db) 1130 1131 self.make_classes() 1132 self.make_source() 1133 1134 def make_classes(self): 1131 1132 def test_make_classes(self): 1133 if not self.modeler: 1134 print "not a db (skipped) ", 1135 return 1136 1135 1137 for cls in (Zoo, Animal): 1136 1138 tkey = self.modeler.db.table_name(cls.__name__) … … 1168 1170 self.assertEqual(copy.hints[k], v) 1169 1171 1170 def make_source(self): 1172 def test_make_source(self): 1173 if not self.modeler: 1174 print "not a db (skipped) ", 1175 return 1176 1171 1177 tkey = self.modeler.db.table_name('Exhibit') 1172 1178 source = self.modeler.make_source(tkey, 'Exhibit')
