import sqlite3,hashlib,json,sys
p=sys.argv[1]; c=sqlite3.connect('file:'+p+'?mode=ro&immutable=1',uri=True); c.row_factory=sqlite3.Row
v=c.execute('pragma foreign_key_check').fetchall(); fp=hashlib.sha256(json.dumps([(x[0],x[1],x[2],x[3]) for x in v],sort_keys=True).encode()).hexdigest()
print('copy_integrity',c.execute('pragma integrity_check').fetchone()[0]); print('copy_fk',len(v),'fp',fp)
print('legacy_marked',c.execute("select count(*) from knowledge_units where legacy_placeholder=1").fetchone()[0]); print('legacy_rejected_none',c.execute("select count(*) from knowledge_units where review_state=? and gold_state=?",('REJECTED','NONE')).fetchone()[0])
for t in ['knowledge_unit_provenance','knowledge_unit_review_audit']: print('new_table',t,c.execute('select count(*) from '+t).fetchone()[0],'fk',len(c.execute('pragma foreign_key_check('+t+')').fetchall()))
print('columns',[r[1] for r in c.execute('pragma table_info(knowledge_units)')]); c.close()