31 lines
896 B
Go
31 lines
896 B
Go
package postgresql
|
|
|
|
import (
|
|
"database/sql"
|
|
|
|
"git.hexq.cn/tiglog/mydb"
|
|
"git.hexq.cn/tiglog/mydb/internal/sqladapter"
|
|
"git.hexq.cn/tiglog/mydb/internal/sqlbuilder"
|
|
)
|
|
|
|
// Adapter is the internal name of the adapter.
|
|
const Adapter = "postgresql"
|
|
|
|
var registeredAdapter = sqladapter.RegisterAdapter(Adapter, &database{})
|
|
|
|
// Open establishes a connection to the database server and returns a
|
|
// sqlbuilder.Session instance (which is compatible with mydb.Session).
|
|
func Open(connURL mydb.ConnectionURL) (mydb.Session, error) {
|
|
return registeredAdapter.OpenDSN(connURL)
|
|
}
|
|
|
|
// NewTx creates a sqlbuilder.Tx instance by wrapping a *sql.Tx value.
|
|
func NewTx(sqlTx *sql.Tx) (sqlbuilder.Tx, error) {
|
|
return registeredAdapter.NewTx(sqlTx)
|
|
}
|
|
|
|
// New creates a sqlbuilder.Sesion instance by wrapping a *sql.DB value.
|
|
func New(sqlDB *sql.DB) (mydb.Session, error) {
|
|
return registeredAdapter.New(sqlDB)
|
|
}
|