feat: orm suppert SetConnMaxIdleTime (#5580)
This commit is contained in:
parent
426aad68dc
commit
30278539a6
@ -289,6 +289,7 @@ type alias struct {
|
||||
MaxIdleConns int
|
||||
MaxOpenConns int
|
||||
ConnMaxLifetime time.Duration
|
||||
ConnMaxIdletime time.Duration
|
||||
StmtCacheSize int
|
||||
DB *DB
|
||||
DbBaser dbBaser
|
||||
@ -447,6 +448,11 @@ func (al *alias) SetConnMaxLifetime(lifeTime time.Duration) {
|
||||
al.DB.DB.SetConnMaxLifetime(lifeTime)
|
||||
}
|
||||
|
||||
func (al *alias) SetConnMaxIdleTime(idleTime time.Duration) {
|
||||
al.ConnMaxIdletime = idleTime
|
||||
al.DB.DB.SetConnMaxIdleTime(idleTime)
|
||||
}
|
||||
|
||||
// AddAliasWthDB add a aliasName for the drivename
|
||||
func AddAliasWthDB(aliasName, driverName string, db *sql.DB, params ...DBOption) error {
|
||||
_, err := addAliasWthDB(aliasName, driverName, db, params...)
|
||||
@ -591,6 +597,13 @@ func ConnMaxLifetime(v time.Duration) DBOption {
|
||||
}
|
||||
}
|
||||
|
||||
// ConnMaxIdletime return a hint about ConnMaxIdletime
|
||||
func ConnMaxIdletime(v time.Duration) DBOption {
|
||||
return func(al *alias) {
|
||||
al.SetConnMaxIdleTime(v)
|
||||
}
|
||||
}
|
||||
|
||||
// MaxStmtCacheSize return a hint about MaxStmtCacheSize
|
||||
func MaxStmtCacheSize(v int) DBOption {
|
||||
return func(al *alias) {
|
||||
|
||||
@ -25,7 +25,8 @@ func TestRegisterDataBase(t *testing.T) {
|
||||
err := RegisterDataBase("test-params", DBARGS.Driver, DBARGS.Source,
|
||||
MaxIdleConnections(20),
|
||||
MaxOpenConnections(300),
|
||||
ConnMaxLifetime(time.Minute))
|
||||
ConnMaxLifetime(time.Minute),
|
||||
ConnMaxIdletime(time.Minute))
|
||||
assert.Nil(t, err)
|
||||
|
||||
al := getDbAlias("test-params")
|
||||
@ -33,6 +34,7 @@ func TestRegisterDataBase(t *testing.T) {
|
||||
assert.Equal(t, al.MaxIdleConns, 20)
|
||||
assert.Equal(t, al.MaxOpenConns, 300)
|
||||
assert.Equal(t, al.ConnMaxLifetime, time.Minute)
|
||||
assert.Equal(t, al.ConnMaxIdletime, time.Minute)
|
||||
}
|
||||
|
||||
func TestRegisterDataBaseMaxStmtCacheSizeNegative1(t *testing.T) {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user