File size: 852 Bytes
b5567db
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
import sqlite3, os
def init_db(db_path="data/results.db"):
    os.makedirs(os.path.dirname(db_path), exist_ok=True)
    conn = sqlite3.connect(db_path)
    conn.execute("""
    CREATE TABLE IF NOT EXISTS exprs(
        expr TEXT PRIMARY KEY,
        score REAL,
        rationale TEXT,
        complexity TEXT,
        created_at TEXT
    )""")
    conn.commit()
    return conn

def add_expr(conn, expr, score, rationale="", complexity=""):
    conn.execute("INSERT OR REPLACE INTO exprs(expr, score, rationale, complexity, created_at) VALUES(?,?,?,?,datetime('now'))",
                 (expr, score, rationale, complexity))
    conn.commit()

def top_exprs(conn, k=5, min_score=0.0):
    cur = conn.cursor()
    cur.execute("SELECT expr,score,rationale FROM exprs WHERE score>=? ORDER BY score DESC LIMIT ?", (min_score,k))
    return cur.fetchall()