PRAGMA journal_mode=WAL; PRAGMA synchronous=NORMAL; PRAGMA foreign_keys=ON; CREATE TABLE IF NOT EXISTS sessions ( session_id TEXT PRIMARY KEY, start_ts REAL NOT NULL, end_ts REAL, device_id TEXT, note TEXT ); CREATE TABLE IF NOT EXISTS gnss_pvt ( id INTEGER PRIMARY KEY AUTOINCREMENT, session_id TEXT NOT NULL, ts_utc TEXT, unix_ts REAL NOT NULL, iTOW_ms INTEGER, lat REAL, lon REAL, height_m REAL, hmsl_m REAL, hacc_m REAL, vacc_m REAL, fix_type INTEGER, carr_soln INTEGER, diff_soln INTEGER, gnss_ok INTEGER, num_sats INTEGER, source TEXT, synced INTEGER DEFAULT 0, FOREIGN KEY(session_id) REFERENCES sessions(session_id) ); CREATE INDEX IF NOT EXISTS idx_gnss_session_time ON gnss_pvt(session_id, unix_ts); CREATE INDEX IF NOT EXISTS idx_gnss_unsynced ON gnss_pvt(synced) WHERE synced=0;