v0.0.400 added CommentTrimmer and DBOptions to sq
All checks were successful
Build Docker and Deploy / Run goext test-suite (push) Successful in 2m16s
All checks were successful
Build Docker and Deploy / Run goext test-suite (push) Successful in 2m16s
This commit is contained in:
@@ -17,7 +17,11 @@ type DB interface {
|
||||
AddListener(listener Listener)
|
||||
Exit() error
|
||||
RegisterConverter(DBTypeConverter)
|
||||
RegisterDefaultConverter()
|
||||
}
|
||||
|
||||
type DBOptions struct {
|
||||
RegisterDefaultConverter *bool
|
||||
RegisterCommentTrimmer *bool
|
||||
}
|
||||
|
||||
type database struct {
|
||||
@@ -28,13 +32,23 @@ type database struct {
|
||||
conv []DBTypeConverter
|
||||
}
|
||||
|
||||
func NewDB(db *sqlx.DB) DB {
|
||||
return &database{
|
||||
func NewDB(db *sqlx.DB, opt DBOptions) DB {
|
||||
sqdb := &database{
|
||||
db: db,
|
||||
txctr: 0,
|
||||
lock: sync.Mutex{},
|
||||
lstr: make([]Listener, 0),
|
||||
}
|
||||
|
||||
if langext.Coalesce(opt.RegisterDefaultConverter, true) {
|
||||
sqdb.registerDefaultConverter()
|
||||
}
|
||||
|
||||
if langext.Coalesce(opt.RegisterCommentTrimmer, true) {
|
||||
sqdb.AddListener(CommentTrimmer)
|
||||
}
|
||||
|
||||
return sqdb
|
||||
}
|
||||
|
||||
func (db *database) AddListener(listener Listener) {
|
||||
@@ -141,7 +155,7 @@ func (db *database) RegisterConverter(conv DBTypeConverter) {
|
||||
db.conv = append(db.conv, conv)
|
||||
}
|
||||
|
||||
func (db *database) RegisterDefaultConverter() {
|
||||
func (db *database) registerDefaultConverter() {
|
||||
db.RegisterConverter(ConverterBoolToBit)
|
||||
|
||||
db.RegisterConverter(ConverterTimeToUnixMillis)
|
||||
|
Reference in New Issue
Block a user