src/ande_ban/events.py:42:            INSERT INTO events (
src/ande_ban/events.py:85:                INSERT INTO permanent_blacklist (
src/ande_ban/events.py:92:                ON CONFLICT(ip) DO UPDATE SET
src/ande_ban/metrics.py:41:        'events': conn.execute('SELECT COUNT(*) FROM events').fetchone()[0],
src/ande_ban/metrics.py:42:        'active_bans': conn.execute('SELECT COUNT(*) FROM active_bans').fetchone()[0],
src/ande_ban/metrics.py:44:            'SELECT COUNT(DISTINCT country) FROM events WHERE country IS NOT NULL'
src/ande_ban/metrics.py:47:            'SELECT COUNT(DISTINCT asn) FROM events WHERE asn IS NOT NULL'
src/ande_ban/metrics.py:49:        'jails': conn.execute('SELECT COUNT(*) FROM jail_status').fetchone()[0],
src/ande_ban/metrics.py:50:        'sync_runs': conn.execute('SELECT COUNT(*) FROM sync_runs').fetchone()[0],
src/ande_ban/metrics.py:53:        "SELECT started_at,status,duration_ms,active_bans,events_added FROM sync_runs ORDER BY id DESC LIMIT 1"
src/ande_ban/diagnostics.py:90:                "SELECT value FROM metadata WHERE key='last_successful_sync'"
src/ande_ban/diagnostics.py:137:                integrity = conn.execute("PRAGMA quick_check").fetchone()[0]
src/ande_ban/diagnostics.py:138:                event_count = conn.execute("SELECT COUNT(*) FROM events").fetchone()[0]
src/ande_ban/cli.py:169:                "events": conn.execute("SELECT COUNT(*) FROM events").fetchone()[0],
src/ande_ban/cli.py:170:                "bans": conn.execute("SELECT COUNT(*) FROM events WHERE event_type='ban'").fetchone()[0],
src/ande_ban/cli.py:171:                "permanent": conn.execute("SELECT COUNT(*) FROM permanent_blacklist").fetchone()[0],
src/ande_ban/cli.py:177:                rows = conn.execute("SELECT * FROM events WHERE ip=? ORDER BY id DESC LIMIT ?", (args.ip, args.limit))
src/ande_ban/cli.py:179:                rows = conn.execute("SELECT * FROM events ORDER BY id DESC LIMIT ?", (args.limit,))
src/ande_ban/database.py:8:PRAGMA journal_mode=WAL;
src/ande_ban/database.py:9:PRAGMA foreign_keys=ON;
src/ande_ban/database.py:10:CREATE TABLE IF NOT EXISTS events (
src/ande_ban/database.py:28:CREATE INDEX IF NOT EXISTS idx_events_ip ON events(ip);
src/ande_ban/database.py:29:CREATE INDEX IF NOT EXISTS idx_events_time ON events(occurred_at);
src/ande_ban/database.py:30:CREATE INDEX IF NOT EXISTS idx_events_country ON events(country);
src/ande_ban/database.py:31:CREATE INDEX IF NOT EXISTS idx_events_type_time
src/ande_ban/database.py:33:CREATE INDEX IF NOT EXISTS idx_events_ip_type
src/ande_ban/database.py:35:CREATE INDEX IF NOT EXISTS idx_events_jail_type
src/ande_ban/database.py:37:CREATE INDEX IF NOT EXISTS idx_events_country_type
src/ande_ban/database.py:39:CREATE TABLE IF NOT EXISTS active_bans (
src/ande_ban/database.py:51:CREATE INDEX IF NOT EXISTS idx_active_country ON active_bans(country);
src/ande_ban/database.py:52:CREATE TABLE IF NOT EXISTS jail_status (
src/ande_ban/database.py:60:CREATE TABLE IF NOT EXISTS permanent_blacklist (
src/ande_ban/database.py:67:CREATE TABLE IF NOT EXISTS metadata (
src/ande_ban/database.py:71:CREATE TABLE IF NOT EXISTS sync_runs (
src/ande_ban/database.py:82:CREATE INDEX IF NOT EXISTS idx_sync_runs_started
src/ande_ban/database.py:84:CREATE INDEX IF NOT EXISTS idx_sync_runs_status_started
src/ande_ban/database.py:90:    return {row[1] for row in conn.execute(f"PRAGMA table_info({table})")}
src/ande_ban/database.py:103:                f"ALTER TABLE {table} ADD COLUMN {name} {sql_type}"
src/ande_ban/database.py:130:        "CREATE INDEX IF NOT EXISTS idx_active_asn "
src/ande_ban/database.py:134:        "CREATE INDEX IF NOT EXISTS idx_events_asn_type "
src/ande_ban/database.py:138:        "CREATE INDEX IF NOT EXISTS idx_events_org_type "
src/ande_ban/database.py:169:        "SELECT COUNT(*) AS n FROM events WHERE ip=? AND event_type='ban'", (ip,)
src/ande_ban/webapp.py:141:                            "SELECT value FROM metadata WHERE key='last_successful_sync'"
src/ande_ban/webapp.py:194:                        """SELECT COUNT(*) n, COUNT(DISTINCT ip) u,
src/ande_ban/webapp.py:199:                        "active_bans": conn.execute("SELECT COUNT(*) FROM active_bans").fetchone()[0],
src/ande_ban/webapp.py:202:                        "countries": conn.execute("SELECT COUNT(DISTINCT country) FROM active_bans WHERE country IS NOT NULL").fetchone()[0],
src/ande_ban/webapp.py:203:                        "permanent": conn.execute("SELECT COUNT(*) FROM permanent_blacklist").fetchone()[0],
src/ande_ban/webapp.py:204:                        "jails": conn.execute("SELECT COUNT(*) FROM jail_status").fetchone()[0],
src/ande_ban/webapp.py:222:                            "SELECT * FROM sync_runs ORDER BY id DESC LIMIT ?",
src/ande_ban/webapp.py:246:                    "/api/jails": "SELECT * FROM jail_status ORDER BY jail",
src/ande_ban/webapp.py:247:                    "/api/active": "SELECT * FROM active_bans ORDER BY last_seen DESC LIMIT 1000",
src/ande_ban/webapp.py:248:                    "/api/countries": """SELECT country,country_name,COUNT(*) count
src/ande_ban/webapp.py:251:                    "/api/events": "SELECT * FROM events ORDER BY id DESC LIMIT 250",
src/ande_ban/enrich_history.py:128:                    UPDATE events
src/ande_ban/administration.py:33:        page_count = int(conn.execute("PRAGMA page_count").fetchone()[0])
src/ande_ban/administration.py:34:        page_size = int(conn.execute("PRAGMA page_size").fetchone()[0])
src/ande_ban/administration.py:35:        freelist = int(conn.execute("PRAGMA freelist_count").fetchone()[0])
src/ande_ban/administration.py:36:        quick_check = str(conn.execute("PRAGMA quick_check").fetchone()[0])
src/ande_ban/administration.py:39:            counts[table] = int(conn.execute(f"SELECT COUNT(*) FROM {table}").fetchone()[0])
src/ande_ban/administration.py:40:        indexes = int(conn.execute("SELECT COUNT(*) FROM sqlite_master WHERE type='index'").fetchone()[0])
src/ande_ban/sync.py:65:            """INSERT INTO sync_runs(
src/ande_ban/sync.py:81:            """DELETE FROM sync_runs
src/ande_ban/sync.py:83:                   SELECT id FROM sync_runs ORDER BY id DESC LIMIT ?
src/ande_ban/sync.py:104:                "SELECT COUNT(*) FROM events"
src/ande_ban/sync.py:116:                    """INSERT INTO jail_status(
src/ande_ban/sync.py:120:                       ON CONFLICT(jail) DO UPDATE SET
src/ande_ban/sync.py:156:                        """INSERT INTO active_bans(
src/ande_ban/sync.py:160:                           ON CONFLICT(jail,ip) DO UPDATE SET
src/ande_ban/sync.py:179:                "SELECT jail,ip FROM active_bans WHERE source='fail2ban-sync'"
src/ande_ban/sync.py:184:                        "DELETE FROM active_bans WHERE jail=? AND ip=?",
src/ande_ban/sync.py:191:                    f"DELETE FROM jail_status WHERE jail NOT IN ({placeholders})",
src/ande_ban/sync.py:195:                conn.execute("DELETE FROM jail_status")
src/ande_ban/sync.py:198:                """INSERT INTO metadata(key,value) VALUES('last_successful_sync',?)
src/ande_ban/sync.py:199:                   ON CONFLICT(key) DO UPDATE SET value=excluded.value""",
src/ande_ban/sync.py:203:                "SELECT COUNT(*) FROM events"
src/ande_ban/maintenance.py:103:            integrity = conn.execute("PRAGMA quick_check").fetchone()[0]
src/ande_ban/maintenance.py:106:            events = conn.execute("SELECT COUNT(*) FROM events").fetchone()[0]
src/ande_ban/maintenance.py:136:            integrity = conn.execute("PRAGMA quick_check").fetchone()[0]
src/ande_ban/maintenance.py:137:            sync_runs = conn.execute("SELECT COUNT(*) FROM sync_runs").fetchone()[0]
src/ande_ban/events.py.before-storage:41:            INSERT INTO events (
src/ande_ban/events.py.before-storage:84:                INSERT INTO permanent_blacklist (
src/ande_ban/events.py.before-storage:91:                ON CONFLICT(ip) DO UPDATE SET
src/ande_ban/analytics.py:10:    CREATE INDEX IF NOT EXISTS idx_events_type_time
src/ande_ban/analytics.py:14:    CREATE INDEX IF NOT EXISTS idx_events_ip_type
src/ande_ban/analytics.py:18:    CREATE INDEX IF NOT EXISTS idx_events_jail_type
src/ande_ban/analytics.py:22:    CREATE INDEX IF NOT EXISTS idx_events_country_type
src/ande_ban/analytics.py:26:    CREATE INDEX IF NOT EXISTS idx_events_asn_type
src/ande_ban/analytics.py:156:            SELECT COUNT(*)
src/ande_ban/analytics.py:158:                SELECT ip
src/ande_ban/analytics.py:167:            "SELECT COUNT(*) FROM permanent_blacklist"
src/ande_ban/analytics.py:325:        SELECT COUNT(*)
src/ande_ban/analytics.py:327:            SELECT ip
src/ande_ban/analytics.py:338:        SELECT COUNT(DISTINCT asn)
src/ande_ban/analytics.py:391:        SELECT COUNT(*) AS bans,
src/ande_ban/analytics.py:409:            SELECT {dimension} AS key,
src/ande_ban/analytics.py:445:            SELECT strftime('{bucket_format}', occurred_at) AS bucket,
src/ande_ban/analytics.py:475:        SELECT COUNT(*) AS runs,
