summaryrefslogtreecommitdiffstats
path: root/vendor/gopkg.in/testfixtures.v2/helper.go
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/gopkg.in/testfixtures.v2/helper.go')
-rw-r--r--vendor/gopkg.in/testfixtures.v2/helper.go43
1 files changed, 39 insertions, 4 deletions
diff --git a/vendor/gopkg.in/testfixtures.v2/helper.go b/vendor/gopkg.in/testfixtures.v2/helper.go
index f1c19f29d4..bd1ebba62e 100644
--- a/vendor/gopkg.in/testfixtures.v2/helper.go
+++ b/vendor/gopkg.in/testfixtures.v2/helper.go
@@ -18,21 +18,56 @@ type Helper interface {
init(*sql.DB) error
disableReferentialIntegrity(*sql.DB, loadFunction) error
paramType() int
- databaseName(*sql.DB) string
+ databaseName(queryable) (string, error)
+ tableNames(queryable) ([]string, error)
+ isTableModified(queryable, string) (bool, error)
+ afterLoad(queryable) error
quoteKeyword(string) string
whileInsertOnTable(*sql.Tx, string, func() error) error
}
+type queryable interface {
+ Exec(string, ...interface{}) (sql.Result, error)
+ Query(string, ...interface{}) (*sql.Rows, error)
+ QueryRow(string, ...interface{}) *sql.Row
+}
+
+// batchSplitter is an interface with method which returns byte slice for
+// splitting SQL batches. This need to split sql statements and run its
+// separately.
+//
+// For Microsoft SQL Server batch splitter is "GO". For details see
+// https://docs.microsoft.com/en-us/sql/t-sql/language-elements/sql-server-utilities-statements-go
+type batchSplitter interface {
+ splitter() []byte
+}
+
+var (
+ _ Helper = &MySQL{}
+ _ Helper = &PostgreSQL{}
+ _ Helper = &SQLite{}
+ _ Helper = &Oracle{}
+ _ Helper = &SQLServer{}
+)
+
type baseHelper struct{}
-func (*baseHelper) init(_ *sql.DB) error {
+func (baseHelper) init(_ *sql.DB) error {
return nil
}
-func (*baseHelper) quoteKeyword(str string) string {
+func (baseHelper) quoteKeyword(str string) string {
return fmt.Sprintf(`"%s"`, str)
}
-func (*baseHelper) whileInsertOnTable(_ *sql.Tx, _ string, fn func() error) error {
+func (baseHelper) whileInsertOnTable(_ *sql.Tx, _ string, fn func() error) error {
return fn()
}
+
+func (baseHelper) isTableModified(_ queryable, _ string) (bool, error) {
+ return true, nil
+}
+
+func (baseHelper) afterLoad(_ queryable) error {
+ return nil
+}