| 248 | } |
| 249 | |
| 250 | func initSystemKV(db *database.DB, key string, val string) error { |
| 251 | var count int |
| 252 | if err := db.QueryRow("SELECT count(*) FROM system WHERE key = ?", key).Scan(&count); err != nil { |
| 253 | return errors.Wrapf(err, "counting %s", key) |
| 254 | } |
| 255 | |
| 256 | if count > 0 { |
| 257 | return nil |
| 258 | } |
| 259 | |
| 260 | if _, err := db.Exec("INSERT INTO system (key, value) VALUES (?, ?)", key, val); err != nil { |
| 261 | db.Rollback() |
| 262 | return errors.Wrapf(err, "inserting %s %s", key, val) |
| 263 | } |
| 264 | |
| 265 | return nil |
| 266 | } |
| 267 | |
| 268 | // InitSystem inserts system data if missing |
| 269 | func InitSystem(ctx context.DnoteCtx) error { |