Skip to content

Commit

Permalink
ENH: AssetWriter now writes one Asset per insert statement
Browse files Browse the repository at this point in the history
  • Loading branch information
jfkirk committed Aug 17, 2015
1 parent 30a6c11 commit bef731b
Showing 1 changed file with 8 additions and 8 deletions.
16 changes: 8 additions & 8 deletions zipline/assets/asset_writer.py
Expand Up @@ -147,10 +147,10 @@ def _write_futures(self, futures, bind=None):
{'index': 'sid'},
1,
).to_dict('records')
if recs:
self.futures_contracts.insert().values(recs).execute(bind=bind)
ar_recs = [(rec['sid'], 'future') for rec in recs]
self.asset_router.insert().values(ar_recs).execute(bind=bind)
for record in recs:
self.futures_contracts.insert().values([record]).execute(bind=bind)
self.asset_router.insert().values([(record['sid'], 'future')])\
.execute(bind=bind)

def _write_equities(self, equities, fuzzy_char, bind=None):
# Apply fuzzy matching.
Expand All @@ -161,10 +161,10 @@ def _write_equities(self, equities, fuzzy_char, bind=None):
{'index': 'sid'},
1,
).to_dict('records')
if recs:
self.equities.insert().values(recs).execute(bind=bind)
ar_recs = [(rec['sid'], 'equity') for rec in recs]
self.asset_router.insert().values(ar_recs).execute(bind=bind)
for record in recs:
self.equities.insert().values([record]).execute(bind=bind)
self.asset_router.insert().values((record['sid'], 'equity'))\
.execute(bind=bind)

def init_db(self, engine, constraints=True):
"""Connect to database and create tables.
Expand Down

0 comments on commit bef731b

Please sign in to comment.