···2626 pragma auto_vacuum = incremental;2727 pragma busy_timeout = 5000;28282929+ create table if not exists _jetstream (3030+ id integer primary key autoincrement,3131+ last_time_us integer not null3232+ );3333+2934 create table if not exists known_dids (3035 did text primary key3136 );
+44
spindle/db/known_dids.go
···11+package db22+33+func (d *DB) AddDid(did string) error {44+ _, err := d.Exec(`insert or ignore into known_dids (did) values (?)`, did)55+ return err66+}77+88+func (d *DB) RemoveDid(did string) error {99+ _, err := d.Exec(`delete from known_dids where did = ?`, did)1010+ return err1111+}1212+1313+func (d *DB) GetAllDids() ([]string, error) {1414+ var dids []string1515+1616+ rows, err := d.Query(`select did from known_dids`)1717+ if err != nil {1818+ return nil, err1919+ }2020+ defer rows.Close()2121+2222+ for rows.Next() {2323+ var did string2424+ if err := rows.Scan(&did); err != nil {2525+ return nil, err2626+ }2727+ dids = append(dids, did)2828+ }2929+3030+ if err := rows.Err(); err != nil {3131+ return nil, err3232+ }3333+3434+ return dids, nil3535+}3636+3737+func (d *DB) HasKnownDids() bool {3838+ var count int3939+ err := d.QueryRow(`select count(*) from known_dids`).Scan(&count)4040+ if err != nil {4141+ return false4242+ }4343+ return count > 04444+}