diff options
Diffstat (limited to 'python/trade_dataclasses.py')
| -rw-r--r-- | python/trade_dataclasses.py | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/python/trade_dataclasses.py b/python/trade_dataclasses.py index ead0774d..ce7a519c 100644 --- a/python/trade_dataclasses.py +++ b/python/trade_dataclasses.py @@ -121,6 +121,8 @@ class Deal: _sql_insert: ClassVar[str] _sql_select: ClassVar[str] _insert_queue: ClassVar[list] = [] + _bbg_sql_insert: ClassVar[str] + _bbg_insert_queue: ClassVar[list] = [] _cache: ClassVar[LRU] = LRU(128) def __init_subclass__(cls, table_name: str): @@ -143,6 +145,7 @@ class Deal: def commit(cls): with cls._conn.cursor() as c: c.executemany(cls._sql_insert, cls._insert_queue) + c.executemany(cls._bbg_sql_insert, cls._bbg_insert_queue) cls._conn.commit() cls._insert_queue.clear() @@ -274,6 +277,5 @@ class BondDeal(Deal, table_name="bonds"): def insert_bbg_line(self, line: dict): bond_ticket_columns = ",".join(c for c in line.keys()) bond_place_holders = ",".join(["%s"] * len(line.keys())) - sql_str = f"INSERT INTO bond_tickets({bond_ticket_columns}) VALUES({bond_place_holders})" - with self._conn() as c: - c.execute(sql_str, line.values()) + self._bbg_sql_insert = f"INSERT INTO bond_tickets({bond_ticket_columns}) VALUES({bond_place_holders})" + self._bbg_insert_queue.append(line.values()) |
