def __init__(self, cursor, engine, typemap = None):
"""ResultProxy objects are constructed via the execute() method on SQLEngine."""
self.cursor = cursor
self.engine = engine
self.echo = engine.echo=="debug"
self.rowcount = engine.context.rowcount
metadata = cursor.description
self.props = {}
self.keys = []
i = 0
if metadata is not None:
for item in metadata:
# sqlite possibly prepending table name to colnames so strip
colname = item[0].split('.')[-1].lower()
if typemap is not None:
rec = (typemap.get(colname, types.NULLTYPE), i)
else:
rec = (types.NULLTYPE, i)
if rec[0] is None:
raise "None for metadata " + colname
if self.props.setdefault(colname, rec) is not rec:
self.props[colname] = (ResultProxy.AmbiguousColumn(colname), 0)
self.keys.append(colname)
self.props[i] = rec
i+=1
评论列表
文章目录