Albirew/nyaa-pantsu
Albirew
/
nyaa-pantsu
Archivé
1
0
Bifurcation 0
Ce dépôt a été archivé le 2022-05-07. Vous pouvez voir ses fichiers ou le cloner, mais pas ouvrir de ticket ou de demandes d'ajout, ni soumettre de changements.
nyaa-pantsu/database/sqlite/sqlite.go

33 lignes
650 B
Go

package sqlite
import (
"database/sql"
_ "github.com/mattn/go-sqlite3" // Need for sqlite
)
// queryEvent is a queued event to be executed in a pipeline to ensure that sqlite access is done from 1 goroutine
type queryEvent struct {
query string
param []interface{}
handleResult func(*sql.Rows, error)
}
// New : Create a new database
func New(param string) (db *Database, err error) {
db = new(Database)
db.conn, err = sql.Open("sqlite3", param)
if err == nil {
db.query = make(chan *queryEvent, 128)
} else {
db = nil
}
return
}
// Database structure
type Database struct {
conn *sql.DB
query chan *queryEvent
}