summaryrefslogtreecommitdiff
path: root/modules/cache/sqlitestore.go
diff options
context:
space:
mode:
authorPhilipp Tanlak <philipp.tanlak@gmail.com>2024-11-24 23:16:31 +0100
committerPhilipp Tanlak <philipp.tanlak@gmail.com>2024-11-24 23:16:31 +0100
commit175cb0700b86134d3b04eab23d100dce2c3b6d56 (patch)
treea48b69aafeaf4a8690fba9b3d0bbe4ac9e64ecf3 /modules/cache/sqlitestore.go
parent653be4548b0883532665997a4624e56fdf7c02a6 (diff)
Change cache backend from sqlite to bbolt
Diffstat (limited to 'modules/cache/sqlitestore.go')
-rw-r--r--modules/cache/sqlitestore.go60
1 files changed, 0 insertions, 60 deletions
diff --git a/modules/cache/sqlitestore.go b/modules/cache/sqlitestore.go
deleted file mode 100644
index 778699b..0000000
--- a/modules/cache/sqlitestore.go
+++ /dev/null
@@ -1,60 +0,0 @@
-// This Source Code Form is subject to the terms of the Mozilla Public
-// License, v. 2.0. If a copy of the MPL was not distributed with this
-// file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-package cache
-
-import (
- "database/sql"
- "fmt"
- "log"
- "os"
-
- _ "github.com/mattn/go-sqlite3"
-)
-
-func NewSQLiteStore(file string) *SQLiteStore {
- db, err := sql.Open("sqlite3", fmt.Sprintf("file:%s?_timeout=5000&_journal=WAL", file))
- if err != nil {
- log.Printf("cache: failed to create database file %q: %v\n", file, err)
- os.Exit(1)
- }
-
- c := &SQLiteStore{db: db}
- c.migrate()
-
- return c
-}
-
-type SQLiteStore struct {
- db *sql.DB
-}
-
-func (s *SQLiteStore) Get(key string) ([]byte, bool) {
- var value []byte
- if err := s.db.QueryRow(`SELECT value FROM cache WHERE key = ? LIMIT 1`, key).Scan(&value); err != nil {
- return nil, false
- }
- return value, true
-}
-
-func (s *SQLiteStore) Set(key string, value []byte) {
- if _, err := s.db.Exec(`INSERT INTO cache (key, value) VALUES (?, ?)`, key, value); err != nil {
- log.Printf("cache: failed to insert cache key %q: %v\n", key, err)
- }
-}
-
-func (s *SQLiteStore) Close() {
- s.db.Close()
-}
-
-func (s *SQLiteStore) migrate() {
- if _, err := s.db.Exec(`CREATE TABLE IF NOT EXISTS cache (key TEXT, value BLOB)`); err != nil {
- log.Printf("cache: failed to create cache table: %v\n", err)
- os.Exit(1)
- }
- if _, err := s.db.Exec(`CREATE UNIQUE INDEX IF NOT EXISTS cache_key_idx ON cache(key)`); err != nil {
- log.Printf("cache: failed to create cache index: %v\n", err)
- os.Exit(1)
- }
-}