Skip to content

Commit

Permalink
Add more methods for EngineInterface
Browse files Browse the repository at this point in the history
* add more methods for EngineInterface

* more interfaces
  • Loading branch information
xormplus committed Sep 7, 2018
1 parent 21dcd99 commit 6aa91cd
Show file tree
Hide file tree
Showing 5 changed files with 25 additions and 23 deletions.
5 changes: 5 additions & 0 deletions engine.go
Original file line number Diff line number Diff line change
Expand Up @@ -248,6 +248,11 @@ func (engine *Engine) AutoIncrStr() string {
return engine.dialect.AutoIncrStr()
}

// SetConnMaxLifetime sets the maximum amount of time a connection may be reused.
func (engine *Engine) SetConnMaxLifetime(d time.Duration) {
engine.db.SetConnMaxLifetime(d)
}

// SetMaxOpenConns is only available for go 1.2+
func (engine *Engine) SetMaxOpenConns(conns int) {
engine.db.SetMaxOpenConns(conns)
Expand Down
10 changes: 10 additions & 0 deletions engine_group.go
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,8 @@
package xorm

import (
"time"

"github.com/xormplus/core"
)

Expand Down Expand Up @@ -99,6 +101,14 @@ func (eg *EngineGroup) SetColumnMapper(mapper core.IMapper) {
}
}

// SetConnMaxLifetime sets the maximum amount of time a connection may be reused.
func (eg *EngineGroup) SetConnMaxLifetime(d time.Duration) {
eg.Engine.SetConnMaxLifetime(d)
for i := 0; i < len(eg.slaves); i++ {
eg.slaves[i].SetConnMaxLifetime(d)
}
}

// SetDefaultCacher set the default cacher
func (eg *EngineGroup) SetDefaultCacher(cacher core.Cacher) {
eg.Engine.SetDefaultCacher(cacher)
Expand Down
22 changes: 0 additions & 22 deletions engine_maxlife.go

This file was deleted.

7 changes: 7 additions & 0 deletions interface.go
Original file line number Diff line number Diff line change
Expand Up @@ -74,6 +74,7 @@ type EngineInterface interface {

Before(func(interface{})) *Session
Charset(charset string) *Session
ClearCache(...interface{}) error
CreateTables(...interface{}) error
DBMetas() ([]*core.Table, error)
Dialect() core.Dialect
Expand All @@ -85,16 +86,22 @@ type EngineInterface interface {
GetTableMapper() core.IMapper
GetTZDatabase() *time.Location
GetTZLocation() *time.Location
MapCacher(interface{}, core.Cacher) error
NewSession() *Session
NoAutoTime() *Session
Quote(string) string
SetCacher(string, core.Cacher)
SetConnMaxLifetime(time.Duration)
SetDefaultCacher(core.Cacher)
SetLogger(logger core.ILogger)
SetLogLevel(core.LogLevel)
SetMapper(core.IMapper)
SetMaxOpenConns(int)
SetMaxIdleConns(int)
SetSchema(string)
SetTZDatabase(tz *time.Location)
SetTZLocation(tz *time.Location)
ShowExecTime(...bool)
ShowSQL(show ...bool)
Sync(...interface{}) error
Sync2(...interface{}) error
Expand Down
4 changes: 3 additions & 1 deletion xorm.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.

// +build go1.8

package xorm

import (
Expand All @@ -17,7 +19,7 @@ import (

const (
// Version show the xorm's version
Version string = "0.7.0.0624"
Version string = "0.7.0.0908"
)

func regDrvsNDialects() bool {
Expand Down

0 comments on commit 6aa91cd

Please sign in to comment.