...
Source file
src/tawesoft.co.uk/go/queue/queueSqliteService.go
Documentation:
src/tawesoft.co.uk/go/queue/queueSqliteService.go
1 package queue
2
3 import (
4 "database/sql"
5 "fmt"
6
7 "tawesoft.co.uk/go/sqlp/sqlite3"
8 )
9
10 type queueSqliteService struct {
11 db *sql.DB
12 uuidSvc UUIDService
13 }
14
15
16
17
18
19
20
21
22
23
24
25 func NewQueueSqliteService() (QueueService, error) {
26
27 db, err := sqlite3.Open("sqlite3", ":memory:", sqlite3.Config{
28 ForeignKeys: true,
29 SecureDelete: true,
30 JournalMode: sqlite3.JournalModeWAL,
31 })
32 if err != nil {
33 return nil, fmt.Errorf("error opening main database: %+v", err)
34 }
35
36 return queueSqliteService{
37 db: db,
38 }, nil
39 }
40
41 func (s queueSqliteService) OpenQueue(name string, path string) (Queue, error) {
42 return newItemSqliteService(s.db, name, path)
43 }
44
45 func (s queueSqliteService) Close() error {
46 return s.db.Close()
47 }
48
49
View as plain text