From 189691e8f2af6a43cbab006948538984f8b6cd6c Mon Sep 17 00:00:00 2001 From: ramseshk <45832522+ramseshk@users.noreply.github.com> Date: Tue, 11 Aug 2026 12:41:16 +0800 Subject: [PATCH] fix: duckdb_load stats requires init_schema before querying tables --- data/duckdb_load.py | 30 +++++++++++++++++++++--------- 1 file changed, 21 insertions(+), 9 deletions(-) diff --git a/data/duckdb_load.py b/data/duckdb_load.py index 1016cbb..2df4844 100644 --- a/data/duckdb_load.py +++ b/data/duckdb_load.py @@ -434,16 +434,28 @@ class DuckDBLoader: def stats(self) -> dict: """Get current database statistics.""" + self.init_schema() + l2_count = self.conn.execute( + "SELECT COUNT(*) FROM l2_snapshots" + ).fetchone()[0] + trade_count = self.conn.execute( + "SELECT COUNT(*) FROM trades" + ).fetchone()[0] + funding_count = self.conn.execute( + "SELECT COUNT(*) FROM funding" + ).fetchone()[0] + coins_result = self.conn.execute( + "SELECT DISTINCT coin FROM l2_snapshots" + ).fetchall() + date_result = self.conn.execute( + "SELECT MIN(exchange_ts_ms), MAX(exchange_ts_ms) FROM l2_snapshots" + ).fetchone() return { - "l2_snapshots": self.conn.execute("SELECT COUNT(*) FROM l2_snapshots").fetchone()[0], - "trades": self.conn.execute("SELECT COUNT(*) FROM trades").fetchone()[0], - "funding": self.conn.execute("SELECT COUNT(*) FROM funding").fetchone()[0], - "coins": [r[0] for r in self.conn.execute( - "SELECT DISTINCT coin FROM l2_snapshots" - ).fetchall()], - "date_range": self.conn.execute( - "SELECT MIN(exchange_ts_ms), MAX(exchange_ts_ms) FROM l2_snapshots" - ).fetchone(), + "l2_snapshots": l2_count, + "trades": trade_count, + "funding": funding_count, + "coins": [r[0] for r in coins_result], + "date_range": date_result, } def close(self):