MCPcopy Create free account
hub / github.com/daodst/chat / NewSqliteKeyChangesTable

Function NewSqliteKeyChangesTable

keyserver/storage/sqlite3/key_changes_table.go:53–76  ·  view source on GitHub ↗
(db *sql.DB)

Source from the content-addressed store, hash-verified

51}
52
53func NewSqliteKeyChangesTable(db *sql.DB) (tables.KeyChanges, error) {
54 s := &keyChangesStatements{
55 db: db,
56 }
57 _, err := db.Exec(keyChangesSchema)
58 if err != nil {
59 return s, err
60 }
61 // TODO: Remove when we are sure we are not having goose artefacts in the db
62 // This forces an error, which indicates the migration is already applied, since the
63 // column partition was removed from the table
64 var count int
65 err = db.QueryRow("SELECT partition FROM keyserver_key_changes LIMIT 1;").Scan(&count)
66 if err == nil {
67 m := sqlutil.NewMigrator(db)
68 m.AddMigrations(sqlutil.Migration{
69 Version: "keyserver: refactor key changes",
70 Up: deltas.UpRefactorKeyChanges,
71 })
72 return s, m.Up(context.Background())
73 }
74
75 return s, nil
76}
77
78func (s *keyChangesStatements) Prepare() (err error) {
79 if s.upsertKeyChangeStmt, err = s.db.Prepare(upsertKeyChangeSQL); err != nil {

Callers 1

NewDatabaseFunction · 0.85

Calls 2

AddMigrationsMethod · 0.95
UpMethod · 0.95

Tested by

no test coverage detected