1
0
Fork 0

Initialize SQLite store

master
Philip O'Toole 9 years ago
parent 2573360320
commit 4537ed2841

@ -19,20 +19,20 @@ type RowResult map[string]string
type RowResults []map[string]string
// New creates a new database. Deletes any existing database.
func New(dbPath string) *DB {
func New(dbPath string) (*DB, error) {
_ = os.Remove(dbPath)
return Open(dbPath)
}
// Open an existing database, creating it if it does not exist.
func Open(dbPath string) *DB {
func Open(dbPath string) (*DB, error) {
dbc, err := sql.Open("sqlite3", dbPath)
if err != nil {
return nil
return nil, err
}
return &DB{
dbConn: dbc,
}
}, nil
}
// Close closes the underlying database connection.

@ -26,7 +26,7 @@ func (s *DbSuite) Test_DbFileCreation(c *C) {
dir, err := ioutil.TempDir("", "rqlite-test-")
defer os.RemoveAll(dir)
db := New(path.Join(dir, "test_db"))
db, err := New(path.Join(dir, "test_db"))
c.Assert(db, NotNil)
err = db.Close()
c.Assert(err, IsNil)

@ -18,7 +18,7 @@ import (
"github.com/hashicorp/raft"
"github.com/hashicorp/raft-boltdb"
"github.com/otoolep/rqlite/db"
sql "github.com/otoolep/rqlite/db"
)
const (
@ -34,6 +34,7 @@ type Store struct {
mu sync.Mutex
raft *raft.Raft // The consensus mechanism
db *sql.DB // The underlying SQLite store
logger *log.Logger
}
@ -100,7 +101,12 @@ func (s *Store) Open(enableSingle bool) error {
s.raft = ra
// Setup the SQLite database.
_ = db.Open(filepath.Join(s.raftDir, "db.sqlite"))
db, err := sql.Open(filepath.Join(s.raftDir, "db.sqlite"))
if err != nil {
return err
}
s.db = db
return nil
}

Loading…
Cancel
Save