feat: add SQLConnector

This commit is contained in:
Lev Zakharov 2023-05-31 14:35:32 +03:00
parent 740f2be453
commit 8c92f70527
2 changed files with 10 additions and 0 deletions

View File

@ -375,6 +375,10 @@ func (db *DB) AddError(err error) error {
func (db *DB) DB() (*sql.DB, error) {
connPool := db.ConnPool
if connector, ok := connPool.(SQLConnector); ok && connector != nil {
return connector.GetSQLConn(db)
}
if dbConnector, ok := connPool.(GetDBConnector); ok && dbConnector != nil {
return dbConnector.GetDBConn()
}

View File

@ -77,6 +77,12 @@ type GetDBConnector interface {
GetDBConn() (*sql.DB, error)
}
// SQLConnector represents SQL db connector which takes into account the current
// database context
type SQLConnector interface {
GetSQLConn(db *DB) (*sql.DB, error)
}
// Rows rows interface
type Rows interface {
Columns() ([]string, error)