1
0
Fork 0

fmt and lint fixes

master
Philip O Toole 9 years ago
parent 51c977fb2e
commit 170a916dd5

@ -10,7 +10,7 @@ import (
// Config represents the configuration of the SQLite database.
type Config struct {
DSN string
DSN string
Memory bool
}
@ -19,7 +19,7 @@ func NewConfig() *Config {
return &Config{}
}
// DSN returns the fully-qualified datasource name.
// FQDSN returns the fully-qualified datasource name.
func (c *Config) FQDSN(path string) string {
if c.DSN != "" {
return fmt.Sprintf("file:%s?%s", path, c.DSN)
@ -32,6 +32,7 @@ type DB struct {
conn *sql.DB
}
// Result represents the result of a execution operation.
type Result struct {
LastInsertID int64 `json:"last_insert_id,omitempty"`
RowsAffected int64 `json:"rows_affected,omitempty"`
@ -39,6 +40,7 @@ type Result struct {
Time string `json:"time,omitempty"`
}
// Rows represents the result of a query operation.
type Rows struct {
Columns []string `json:"columns,omitempty"`
Values [][]interface{} `json:"values,omitempty"`

@ -51,7 +51,7 @@ func Test_TableCreation(t *testing.T) {
if err != nil {
t.Fatalf("failed to query empty table: %s", err.Error())
}
if exp, got := `[{"columns":["id","name"]}]`, asJson(r); exp != got {
if exp, got := `[{"columns":["id","name"]}]`, asJSON(r); exp != got {
t.Fatalf("unexpected results for query, expected %s, got %s", exp, got)
}
}
@ -75,7 +75,7 @@ func Test_SimpleSingleStatements(t *testing.T) {
if err != nil {
t.Fatalf("failed to query empty table: %s", err.Error())
}
if exp, got := `[{"columns":["id","name"],"values":[[1,"fiona"]]}]`, asJson(r); exp != got {
if exp, got := `[{"columns":["id","name"],"values":[[1,"fiona"]]}]`, asJSON(r); exp != got {
t.Fatalf("unexpected results for query, expected %s, got %s", exp, got)
}
@ -88,7 +88,7 @@ func Test_SimpleSingleStatements(t *testing.T) {
if err != nil {
t.Fatalf("failed to query empty table: %s", err.Error())
}
if exp, got := `[{"columns":["id","name"],"values":[[1,"fiona"],[2,"aoife"]]}]`, asJson(r); exp != got {
if exp, got := `[{"columns":["id","name"],"values":[[1,"fiona"],[2,"aoife"]]}]`, asJSON(r); exp != got {
t.Fatalf("unexpected results for query\nexp: %s\ngot: %s", exp, got)
}
@ -96,7 +96,7 @@ func Test_SimpleSingleStatements(t *testing.T) {
if err != nil {
t.Fatalf("failed to query empty table: %s", err.Error())
}
if exp, got := `[{"columns":["id","name"],"values":[[2,"aoife"]]}]`, asJson(r); exp != got {
if exp, got := `[{"columns":["id","name"],"values":[[2,"aoife"]]}]`, asJSON(r); exp != got {
t.Fatalf("unexpected results for query\nexp: %s\ngot: %s", exp, got)
}
@ -104,7 +104,7 @@ func Test_SimpleSingleStatements(t *testing.T) {
if err != nil {
t.Fatalf("failed to query empty table: %s", err.Error())
}
if exp, got := `[{"columns":["id","name"]}]`, asJson(r); exp != got {
if exp, got := `[{"columns":["id","name"]}]`, asJSON(r); exp != got {
t.Fatalf("unexpected results for query\nexp: %s\ngot: %s", exp, got)
}
@ -112,7 +112,7 @@ func Test_SimpleSingleStatements(t *testing.T) {
if err != nil {
t.Fatalf("failed to query empty table: %s", err.Error())
}
if exp, got := `[{"columns":["id","name"],"values":[[2,"aoife"],[1,"fiona"]]}]`, asJson(r); exp != got {
if exp, got := `[{"columns":["id","name"],"values":[[2,"aoife"],[1,"fiona"]]}]`, asJSON(r); exp != got {
t.Fatalf("unexpected results for query\nexp: %s\ngot: %s", exp, got)
}
@ -120,7 +120,7 @@ func Test_SimpleSingleStatements(t *testing.T) {
if err != nil {
t.Fatalf("failed to query empty table: %s", err.Error())
}
if exp, got := `[{"columns":["id","name","name"],"values":[[1,"fiona","fiona"],[2,"aoife","aoife"]]}]`, asJson(r); exp != got {
if exp, got := `[{"columns":["id","name","name"],"values":[[1,"fiona","fiona"],[2,"aoife","aoife"]]}]`, asJSON(r); exp != got {
t.Fatalf("unexpected results for query\nexp: %s\ngot: %s", exp, got)
}
}
@ -139,7 +139,7 @@ func Test_SimpleMultiStatements(t *testing.T) {
if err != nil {
t.Fatalf("failed to insert record: %s", err.Error())
}
if exp, got := `[{"last_insert_id":1,"rows_affected":1},{"last_insert_id":2,"rows_affected":1}]`, asJson(re); exp != got {
if exp, got := `[{"last_insert_id":1,"rows_affected":1},{"last_insert_id":2,"rows_affected":1}]`, asJSON(re); exp != got {
t.Fatalf("unexpected results for query\nexp: %s\ngot: %s", exp, got)
}
@ -147,7 +147,7 @@ func Test_SimpleMultiStatements(t *testing.T) {
if err != nil {
t.Fatalf("failed to query empty table: %s", err.Error())
}
if exp, got := `[{"columns":["id","name"],"values":[[1,"fiona"],[2,"dana"]]},{"columns":["id","name"],"values":[[1,"fiona"],[2,"dana"]]}]`, asJson(ro); exp != got {
if exp, got := `[{"columns":["id","name"],"values":[[1,"fiona"],[2,"dana"]]},{"columns":["id","name"],"values":[[1,"fiona"],[2,"dana"]]}]`, asJSON(ro); exp != got {
t.Fatalf("unexpected results for query\nexp: %s\ngot: %s", exp, got)
}
}
@ -161,7 +161,7 @@ func Test_SimpleFailingStatements(t *testing.T) {
if err != nil {
t.Fatalf("error executing insertion into non-existent table: %s", err.Error())
}
if exp, got := `[{"error":"no such table: foo"}]`, asJson(r); exp != got {
if exp, got := `[{"error":"no such table: foo"}]`, asJSON(r); exp != got {
t.Fatalf("unexpected results for query\nexp: %s\ngot: %s", exp, got)
}
@ -169,14 +169,14 @@ func Test_SimpleFailingStatements(t *testing.T) {
if err != nil {
t.Fatalf("failed to create table: %s", err.Error())
}
if exp, got := `[{}]`, asJson(r); exp != got {
if exp, got := `[{}]`, asJSON(r); exp != got {
t.Fatalf("unexpected results for query\nexp: %s\ngot: %s", exp, got)
}
r, err = db.Execute([]string{`CREATE TABLE foo (id INTEGER NOT NULL PRIMARY KEY, name TEXT)`}, false, false)
if err != nil {
t.Fatalf("failed to attempt creation of duplicate table: %s", err.Error())
}
if exp, got := `[{"error":"table foo already exists"}]`, asJson(r); exp != got {
if exp, got := `[{"error":"table foo already exists"}]`, asJSON(r); exp != got {
t.Fatalf("unexpected results for query\nexp: %s\ngot: %s", exp, got)
}
@ -184,14 +184,14 @@ func Test_SimpleFailingStatements(t *testing.T) {
if err != nil {
t.Fatalf("failed to insert record: %s", err.Error())
}
if exp, got := `[{"last_insert_id":11,"rows_affected":1}]`, asJson(r); exp != got {
if exp, got := `[{"last_insert_id":11,"rows_affected":1}]`, asJSON(r); exp != got {
t.Fatalf("unexpected results for query\nexp: %s\ngot: %s", exp, got)
}
r, err = db.Execute([]string{`INSERT INTO foo(id, name) VALUES(11, "fiona")`}, false, false)
if err != nil {
t.Fatalf("failed to attempt duplicate record insertion: %s", err.Error())
}
if exp, got := `[{"error":"UNIQUE constraint failed: foo.id"}]`, asJson(r); exp != got {
if exp, got := `[{"error":"UNIQUE constraint failed: foo.id"}]`, asJSON(r); exp != got {
t.Fatalf("unexpected results for query\nexp: %s\ngot: %s", exp, got)
}
@ -199,7 +199,7 @@ func Test_SimpleFailingStatements(t *testing.T) {
if err != nil {
t.Fatalf("failed to attempt query of non-existant table: %s", err.Error())
}
if exp, got := `[{"error":"no such table: bar"}]`, asJson(ro); exp != got {
if exp, got := `[{"error":"no such table: bar"}]`, asJSON(ro); exp != got {
t.Fatalf("unexpected results for query\nexp: %s\ngot: %s", exp, got)
}
@ -207,14 +207,14 @@ func Test_SimpleFailingStatements(t *testing.T) {
if err != nil {
t.Fatalf("failed to attempt nonsense query: %s", err.Error())
}
if exp, got := `[{"error":"near \"SELECTxx\": syntax error"}]`, asJson(ro); exp != got {
if exp, got := `[{"error":"near \"SELECTxx\": syntax error"}]`, asJSON(ro); exp != got {
t.Fatalf("unexpected results for query\nexp: %s\ngot: %s", exp, got)
}
r, err = db.Execute([]string{`utter nonsense`}, false, false)
if err != nil {
t.Fatalf("failed to attempt nonsense execution: %s", err.Error())
}
if exp, got := `[{"error":"near \"utter\": syntax error"}]`, asJson(r); exp != got {
if exp, got := `[{"error":"near \"utter\": syntax error"}]`, asJSON(r); exp != got {
t.Fatalf("unexpected results for query\nexp: %s\ngot: %s", exp, got)
}
}
@ -239,14 +239,14 @@ func Test_PartialFail(t *testing.T) {
if err != nil {
t.Fatalf("failed to insert records: %s", err.Error())
}
if exp, got := `[{"last_insert_id":1,"rows_affected":1},{"last_insert_id":2,"rows_affected":1},{"error":"UNIQUE constraint failed: foo.id"},{"last_insert_id":4,"rows_affected":1}]`, asJson(r); exp != got {
if exp, got := `[{"last_insert_id":1,"rows_affected":1},{"last_insert_id":2,"rows_affected":1},{"error":"UNIQUE constraint failed: foo.id"},{"last_insert_id":4,"rows_affected":1}]`, asJSON(r); exp != got {
t.Fatalf("unexpected results for query\nexp: %s\ngot: %s", exp, got)
}
ro, err := db.Query([]string{`SELECT * FROM foo`}, false, false)
if err != nil {
t.Fatalf("failed to query table: %s", err.Error())
}
if exp, got := `[{"columns":["id","name"],"values":[[1,"fiona"],[2,"fiona"],[4,"fiona"]]}]`, asJson(ro); exp != got {
if exp, got := `[{"columns":["id","name"],"values":[[1,"fiona"],[2,"fiona"],[4,"fiona"]]}]`, asJSON(ro); exp != got {
t.Fatalf("unexpected results for query\nexp: %s\ngot: %s", exp, got)
}
}
@ -271,14 +271,14 @@ func Test_SimpleTransaction(t *testing.T) {
if err != nil {
t.Fatalf("failed to insert records: %s", err.Error())
}
if exp, got := `[{"last_insert_id":1,"rows_affected":1},{"last_insert_id":2,"rows_affected":1},{"last_insert_id":3,"rows_affected":1},{"last_insert_id":4,"rows_affected":1}]`, asJson(r); exp != got {
if exp, got := `[{"last_insert_id":1,"rows_affected":1},{"last_insert_id":2,"rows_affected":1},{"last_insert_id":3,"rows_affected":1},{"last_insert_id":4,"rows_affected":1}]`, asJSON(r); exp != got {
t.Fatalf("unexpected results for query\nexp: %s\ngot: %s", exp, got)
}
ro, err := db.Query([]string{`SELECT * FROM foo`}, false, false)
if err != nil {
t.Fatalf("failed to query table: %s", err.Error())
}
if exp, got := `[{"columns":["id","name"],"values":[[1,"fiona"],[2,"fiona"],[3,"fiona"],[4,"fiona"]]}]`, asJson(ro); exp != got {
if exp, got := `[{"columns":["id","name"],"values":[[1,"fiona"],[2,"fiona"],[3,"fiona"],[4,"fiona"]]}]`, asJSON(ro); exp != got {
t.Fatalf("unexpected results for query\nexp: %s\ngot: %s", exp, got)
}
}
@ -303,14 +303,14 @@ func Test_PartialFailTransaction(t *testing.T) {
if err != nil {
t.Fatalf("failed to insert records: %s", err.Error())
}
if exp, got := `[{"last_insert_id":1,"rows_affected":1},{"last_insert_id":2,"rows_affected":1},{"error":"UNIQUE constraint failed: foo.id"}]`, asJson(r); exp != got {
if exp, got := `[{"last_insert_id":1,"rows_affected":1},{"last_insert_id":2,"rows_affected":1},{"error":"UNIQUE constraint failed: foo.id"}]`, asJSON(r); exp != got {
t.Fatalf("unexpected results for query\nexp: %s\ngot: %s", exp, got)
}
ro, err := db.Query([]string{`SELECT * FROM foo`}, false, false)
if err != nil {
t.Fatalf("failed to query table: %s", err.Error())
}
if exp, got := `[{"columns":["id","name"]}]`, asJson(ro); exp != got {
if exp, got := `[{"columns":["id","name"]}]`, asJSON(ro); exp != got {
t.Fatalf("unexpected results for query\nexp: %s\ngot: %s", exp, got)
}
}
@ -331,7 +331,7 @@ func mustCreateDatabase() (*DB, string) {
return db, f.Name()
}
func asJson(v interface{}) string {
func asJSON(v interface{}) string {
b, err := json.Marshal(v)
if err != nil {
panic("failed to JSON marshal value")

@ -21,6 +21,6 @@
// SOFTWARE.
/*
rqlite is a distributed system that provides a replicated SQLite database. rqlite uses Raft to achieve consensus across all the cluster of the SQLite databases. It ensures that every change made to the database is made to a majority of underlying SQLite files, or none at all.
Package rqlite is a distributed system that provides a replicated SQLite database. rqlite uses Raft to achieve consensus across all the cluster of the SQLite databases. It ensures that every change made to the database is made to a majority of underlying SQLite files, or none at all.
*/
package rqlite

@ -140,6 +140,7 @@ func (s *Store) Close() error {
return s.db.Close()
}
// Stats returns stats for the store.
func (s *Store) Stats() (map[string]interface{}, error) {
return map[string]interface{}{"raft": s.raft.Stats()}, nil
}

Loading…
Cancel
Save