1package issues
2
3import (
4 "database/sql"
5
6 _ "github.com/mattn/go-sqlite3"
7)
8
9func OpenForTesting() (*Store, error) {
10 db, err := sql.Open("sqlite3", ":memory:")
11 if err != nil {
12 return nil, err
13 }
14 db.SetMaxOpenConns(1)
15 _, err = db.Exec(`
16CREATE TABLE issue_events (
17 event_id TEXT PRIMARY KEY,
18 issue_id TEXT NOT NULL,
19 hlc_ms INTEGER NOT NULL,
20 hlc_seq INTEGER NOT NULL,
21 kind TEXT NOT NULL,
22 payload TEXT NOT NULL,
23 author TEXT NOT NULL DEFAULT '',
24 created INTEGER NOT NULL
25);
26CREATE INDEX idx_ie_issue ON issue_events(issue_id);
27`)
28 if err != nil {
29 db.Close()
30 return nil, err
31 }
32 return &Store{db: db}, nil
33}
34
35func (s *Store) Close() error { return s.db.Close() }