dump_cache.py 715 B

123456789101112131415161718192021
  1. import sys, sqlite3, pickle
  2. from tinygrad.helpers import CACHEDB
  3. if __name__ == "__main__":
  4. fn = sys.argv[1] if len(sys.argv) > 1 else CACHEDB
  5. conn = sqlite3.connect(fn)
  6. cur = conn.cursor()
  7. cur.execute("SELECT name FROM sqlite_master WHERE type='table'")
  8. for f in cur.fetchall():
  9. table = f[0]
  10. cur2 = conn.cursor()
  11. cur2.execute(f"SELECT COUNT(*) FROM {table}")
  12. cnt = cur2.fetchone()[0]
  13. print(f"{table:20s} : {cnt}")
  14. cur3 = conn.cursor()
  15. cur3.execute(f"SELECT * FROM {table} LIMIT 10")
  16. for f in cur3.fetchall():
  17. v = pickle.loads(f[-1])
  18. print(" ", len(f[0]) if isinstance(f[0], str) else f[0], f[1:-1], str(v)[0:50])
  19. #print(f"{len(k):10d}, {sk} -> {v}")