SQL-Query-Env / inspect_schema.py
laterabhi's picture
Sync from GitHub: serving-only image deps, app_port, discoverability tags, buildable package
60dfa24 verified
Raw
History Blame Contribute Delete
1.42 kB
import sys
sys.path.insert(0, '.')
from executor import get_executor
ex = get_executor()
print("=== Schema check ===")
# Task 3 - check what session_id LIKE 'sess_%' matches
r = ex.conn.execute("SELECT COUNT(*) FROM events WHERE session_id LIKE 'sess_%'").fetchone()
print(f"Task3: session_id LIKE 'sess_%' matches: {r[0]} / 1,000,000")
r2 = ex.conn.execute("SELECT COUNT(*) FROM events WHERE event_type = 'purchase'").fetchone()
print(f"Task3: event_type = 'purchase': {r2[0]}")
print()
# Task 4 original result shape
r3 = ex.conn.execute("""
SELECT u.region, u.plan, COUNT(*) AS total_orders, SUM(o.total) AS revenue,
(SELECT AVG(total) FROM orders) AS global_avg,
(SELECT MAX(total) FROM orders WHERE status = 'completed') AS max_deal
FROM users u, orders o
WHERE u.id = o.customer_id
AND o.status IN ('completed', 'shipped')
GROUP BY u.region, u.plan
""").fetchall()
print(f"Task4 original rows: {len(r3)}")
print(f"Task4 sample row: {r3[0]}")
print()
# Task 5 original - just check row count
r4 = ex.conn.execute("SELECT COUNT(*) FROM events").fetchone()
print(f"Task5 original returns: {r4[0]} rows (all events, no WHERE)")
print()
# Check exact columns in events
r5 = ex.conn.execute("DESCRIBE events").fetchall()
print(f"events columns: {r5}")
r6 = ex.conn.execute("DESCRIBE users").fetchall()
print(f"users columns: {r6}")
r7 = ex.conn.execute("DESCRIBE orders").fetchall()
print(f"orders columns: {r7}")