OSDN Git Service

Merge pull request #201 from Bytom/v0.1
[bytom/vapor.git] / vendor / github.com / btcsuite / btcd / database / driver.go
diff --git a/vendor/github.com/btcsuite/btcd/database/driver.go b/vendor/github.com/btcsuite/btcd/database/driver.go
deleted file mode 100644 (file)
index 2999b61..0000000
+++ /dev/null
@@ -1,89 +0,0 @@
-// Copyright (c) 2015-2016 The btcsuite developers
-// Use of this source code is governed by an ISC
-// license that can be found in the LICENSE file.
-
-package database
-
-import (
-       "fmt"
-
-       "github.com/btcsuite/btclog"
-)
-
-// Driver defines a structure for backend drivers to use when they registered
-// themselves as a backend which implements the DB interface.
-type Driver struct {
-       // DbType is the identifier used to uniquely identify a specific
-       // database driver.  There can be only one driver with the same name.
-       DbType string
-
-       // Create is the function that will be invoked with all user-specified
-       // arguments to create the database.  This function must return
-       // ErrDbExists if the database already exists.
-       Create func(args ...interface{}) (DB, error)
-
-       // Open is the function that will be invoked with all user-specified
-       // arguments to open the database.  This function must return
-       // ErrDbDoesNotExist if the database has not already been created.
-       Open func(args ...interface{}) (DB, error)
-
-       // UseLogger uses a specified Logger to output package logging info.
-       UseLogger func(logger btclog.Logger)
-}
-
-// driverList holds all of the registered database backends.
-var drivers = make(map[string]*Driver)
-
-// RegisterDriver adds a backend database driver to available interfaces.
-// ErrDbTypeRegistered will be returned if the database type for the driver has
-// already been registered.
-func RegisterDriver(driver Driver) error {
-       if _, exists := drivers[driver.DbType]; exists {
-               str := fmt.Sprintf("driver %q is already registered",
-                       driver.DbType)
-               return makeError(ErrDbTypeRegistered, str, nil)
-       }
-
-       drivers[driver.DbType] = &driver
-       return nil
-}
-
-// SupportedDrivers returns a slice of strings that represent the database
-// drivers that have been registered and are therefore supported.
-func SupportedDrivers() []string {
-       supportedDBs := make([]string, 0, len(drivers))
-       for _, drv := range drivers {
-               supportedDBs = append(supportedDBs, drv.DbType)
-       }
-       return supportedDBs
-}
-
-// Create initializes and opens a database for the specified type.  The
-// arguments are specific to the database type driver.  See the documentation
-// for the database driver for further details.
-//
-// ErrDbUnknownType will be returned if the the database type is not registered.
-func Create(dbType string, args ...interface{}) (DB, error) {
-       drv, exists := drivers[dbType]
-       if !exists {
-               str := fmt.Sprintf("driver %q is not registered", dbType)
-               return nil, makeError(ErrDbUnknownType, str, nil)
-       }
-
-       return drv.Create(args...)
-}
-
-// Open opens an existing database for the specified type.  The arguments are
-// specific to the database type driver.  See the documentation for the database
-// driver for further details.
-//
-// ErrDbUnknownType will be returned if the the database type is not registered.
-func Open(dbType string, args ...interface{}) (DB, error) {
-       drv, exists := drivers[dbType]
-       if !exists {
-               str := fmt.Sprintf("driver %q is not registered", dbType)
-               return nil, makeError(ErrDbUnknownType, str, nil)
-       }
-
-       return drv.Open(args...)
-}