v0.1.0
RustBox CI / rustbox (push) Canceled after 0s

This commit is contained in:
Mateusz Gruszczyński committed 2026-10-30 17:22:17 +01:00
1 parent 0421994fe6
commit 425ea7449b
138 files changed
+5705 -1012

No files matched your search

@@ -0,0 +1,34 @@
-- Denormalized table of known email addresses extracted from message headers.
-- Avoids expensive json_each() scanning of to_addresses/cc_addresses columns.
CREATE TABLE IF NOT EXISTS known_addresses (
email TEXT NOT NULL,
name TEXT NOT NULL DEFAULT '',
PRIMARY KEY (email)
);
CREATE INDEX IF NOT EXISTS idx_known_addresses_name ON known_addresses(name);
-- Backfill from existing messages: from_address
INSERT INTO known_addresses (email, name)
SELECT from_address, COALESCE(from_name, '')
FROM messages
WHERE from_address != ''
ON CONFLICT(email) DO UPDATE SET name = excluded.name WHERE excluded.name != '';
-- Backfill from existing messages: to_addresses (JSON array)
INSERT INTO known_addresses (email, name)
SELECT value->>'address', COALESCE(value->>'name', '')
FROM messages, json_each(to_addresses)
WHERE json_valid(to_addresses)
AND value->>'address' IS NOT NULL
AND value->>'address' != ''
ON CONFLICT(email) DO UPDATE SET name = excluded.name WHERE excluded.name != '';
-- Backfill from existing messages: cc_addresses (JSON array)
INSERT INTO known_addresses (email, name)
SELECT value->>'address', COALESCE(value->>'name', '')
FROM messages, json_each(cc_addresses)
WHERE json_valid(cc_addresses)
AND value->>'address' IS NOT NULL
AND value->>'address' != ''
ON CONFLICT(email) DO UPDATE SET name = excluded.name WHERE excluded.name != '';