Changeset 3328
- Timestamp:
- 08/23/07 13:56:15 (1 year ago)
- Files:
-
- trunk/dabo/db/dbFirebird.py (modified) (5 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/dabo/db/dbFirebird.py
r3325 r3328 103 103 cursor.execute("select rdb$relation_name from rdb$relations " 104 104 "%s order by rdb$relation_name" % whereClause) 105 rs = tempCursor.getDataSet()105 rs = cursor.getDataSet() 106 106 tables = [] 107 107 for record in rs: 108 tables.append(record[ 0].strip())108 tables.append(record["rdb$relation_name"].strip()) 109 109 return tuple(tables) 110 110 … … 112 112 def getTableRecordCount(self, tableName, cursor): 113 113 cursor.execute("select count(*) as ncount from %s where 1=1" % tableName) 114 return tempCursor.getDataSet()[0][0]114 return cursor.getDataSet()[0][0] 115 115 116 116 … … 132 132 rs = cursor.getDataSet(rows=1) 133 133 try: 134 pkField = rs[0] .strip()134 pkField = rs[0]["column_name"].strip() 135 135 except: 136 136 pkField = None … … 150 150 AND a.RDB$RELATION_NAME = '%s' 151 151 ORDER BY b.RDB$FIELD_ID """ % tableName.upper() 152 152 153 153 cursor.execute(sql) 154 154 rs = cursor.getDataSet() 155 155 fields = [] 156 156 for r in rs: 157 name = r[0].strip() 158 159 ftype = r[1].strip().lower() 157 name = r["rdb$field_name"].strip() 158 ftype = r["rdb$type_name"].strip().lower() 160 159 if ftype == "text": 161 160 ft = "C" 162 161 elif ftype == "varying": 163 if r[ 2] > 64:162 if r["rdb$field_length"] > 64: 164 163 ft = "M" 165 164 else: … … 167 166 elif ftype in ("long", "short", "int64", "double"): 168 167 # Can be either integers or float types, depending on column 3 169 if r[ 3] == 0:168 if r["rdb$field_scale"] == 0: 170 169 # integer 171 170 ft = "I"
