From d1483e75727afccc251f70f5a58e756efaff8b9e Mon Sep 17 00:00:00 2001 From: Paul Duncan Date: Fri, 18 Feb 2022 20:57:40 -0500 Subject: dbstore: refactor sqlfs and tx, add tx tests --- dbstore/sqlfs.go | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 dbstore/sqlfs.go (limited to 'dbstore/sqlfs.go') diff --git a/dbstore/sqlfs.go b/dbstore/sqlfs.go new file mode 100644 index 0000000..99626a2 --- /dev/null +++ b/dbstore/sqlfs.go @@ -0,0 +1,38 @@ +package dbstore + +import ( + "embed" + "fmt" +) + +//go:embed sql +var sqlFs embed.FS + +// Get single query from embedded sqlFs. +func getQuery(id string) (string, error) { + // read query + if data, err := sqlFs.ReadFile(fmt.Sprintf("sql/%s.sql", id)); err != nil { + return "", err + } else { + // return query + return string(data), nil + } +} + +// Return queries from embedded sqlFs and return map of query ID to SQL. +func getQueries(ids []string) (map[string]string, error) { + r := make(map[string]string) + + for _, id := range(ids) { + // read query + if sql, err := getQuery(id); err != nil { + return r, fmt.Errorf("%s: %s", id, err.Error()) + } else { + // save query + r[id] = sql + } + } + + // return success + return r, nil +} -- cgit v1.2.3