Платформа ЦРНП "Мирокод" для разработки проектов
https://git.mirocod.ru
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
38 lines
743 B
38 lines
743 B
package testfixtures |
|
|
|
import ( |
|
"database/sql" |
|
"fmt" |
|
) |
|
|
|
const ( |
|
paramTypeDollar = iota + 1 |
|
paramTypeQuestion |
|
paramTypeColon |
|
) |
|
|
|
type loadFunction func(tx *sql.Tx) error |
|
|
|
// Helper is the generic interface for the database helper |
|
type Helper interface { |
|
init(*sql.DB) error |
|
disableReferentialIntegrity(*sql.DB, loadFunction) error |
|
paramType() int |
|
databaseName(*sql.DB) string |
|
quoteKeyword(string) string |
|
whileInsertOnTable(*sql.Tx, string, func() error) error |
|
} |
|
|
|
type baseHelper struct{} |
|
|
|
func (*baseHelper) init(_ *sql.DB) error { |
|
return nil |
|
} |
|
|
|
func (*baseHelper) quoteKeyword(str string) string { |
|
return fmt.Sprintf(`"%s"`, str) |
|
} |
|
|
|
func (*baseHelper) whileInsertOnTable(_ *sql.Tx, _ string, fn func() error) error { |
|
return fn() |
|
}
|
|
|