Merge 003bf8d0805db346d4aad20fb29319df113f2eee into a405f08f3a81601cf7b77c3c394f7da5881ff0d3

This commit is contained in:
Joel Feinstein 2014-11-15 00:08:13 +00:00
commit b1d8dc394a

22
main.go
View File

@ -35,7 +35,7 @@ type DB struct {
values map[string]interface{} values map[string]interface{}
} }
func Open(dialect string, drivesources ...string) (DB, error) { func makeDB(dialect string, drivesources ...string) (*DB, string, string, error) {
var db DB var db DB
var err error var err error
var driver = dialect var driver = dialect
@ -54,10 +54,26 @@ func Open(dialect string, drivesources ...string) (DB, error) {
db = DB{dialect: NewDialect(dialect), tagIdentifier: "sql", db = DB{dialect: NewDialect(dialect), tagIdentifier: "sql",
logger: defaultLogger, callback: DefaultCallback, source: source, logger: defaultLogger, callback: DefaultCallback, source: source,
values: map[string]interface{}{}} values: map[string]interface{}{}}
db.db, err = sql.Open(driver, source)
db.parent = &db db.parent = &db
} }
return db, err
return &db, driver, source, err
}
func Open(dialect string, drivesources ...string) (DB, error) {
db, driver, source, err := makeDB(dialect, drivesources...)
if err == nil {
db.db, err = sql.Open(driver, source)
}
return *db, err
}
func Wrap(wrapDb sqlCommon, dialect string, drivesources ...string) (DB, error) {
db, _, _, err := makeDB(dialect, drivesources...)
if err == nil {
db.db = wrapDb
}
return *db, err
} }
func (s *DB) Close() error { func (s *DB) Close() error {