Lightweight & Compitable wrapper of database/sql
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
This repo is archived. You can view files and clone it, but cannot push or open issues/pull-requests.

31 lines
673 B

// Copyright 2019 The Xorm Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
package core
type Driver interface {
Parse(string, string) (*Uri, error)
var (
drivers = map[string]Driver{}
func RegisterDriver(driverName string, driver Driver) {
if driver == nil {
panic("core: Register driver is nil")
if _, dup := drivers[driverName]; dup {
panic("core: Register called twice for driver " + driverName)
drivers[driverName] = driver
func QueryDriver(driverName string) Driver {
return drivers[driverName]
func RegisteredDriverSize() int {
return len(drivers)