chore: ⬆️ Vendor for new deps
This commit is contained in:
59
vendor/github.com/golang-sql/sqlexp/namer.go
generated
vendored
Normal file
59
vendor/github.com/golang-sql/sqlexp/namer.go
generated
vendored
Normal file
@@ -0,0 +1,59 @@
|
||||
// Copyright 2017 The Go 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 sqlexp
|
||||
|
||||
import (
|
||||
"context"
|
||||
"database/sql/driver"
|
||||
"errors"
|
||||
"reflect"
|
||||
)
|
||||
|
||||
const (
|
||||
DialectPostgres = "postgres"
|
||||
DialectTSQL = "tsql"
|
||||
DialectMySQL = "mysql"
|
||||
DialectSQLite = "sqlite"
|
||||
DialectOracle = "oracle"
|
||||
)
|
||||
|
||||
// Namer returns the name of the database and the SQL dialect it
|
||||
// uses.
|
||||
type Namer interface {
|
||||
// Name of the database management system.
|
||||
//
|
||||
// Examples:
|
||||
// "posgresql-9.6"
|
||||
// "sqlserver-10.54.32"
|
||||
// "cockroachdb-1.0"
|
||||
Name() string
|
||||
|
||||
// Dialect of SQL used in the database.
|
||||
Dialect() string
|
||||
}
|
||||
|
||||
// DriverNamer may be implemented on the driver.Driver interface.
|
||||
// It may need to request information from the server to return
|
||||
// the correct information.
|
||||
type DriverNamer interface {
|
||||
Namer(ctx context.Context) (Namer, error)
|
||||
}
|
||||
|
||||
// NamerFromDriver returns the DriverNamer from the DB if
|
||||
// it is implemented.
|
||||
func NamerFromDriver(d driver.Driver, ctx context.Context) (Namer, error) {
|
||||
if q, is := d.(DriverNamer); is {
|
||||
return q.Namer(ctx)
|
||||
}
|
||||
dv := reflect.ValueOf(d)
|
||||
|
||||
d, found := internalDrivers[dv.Type().String()]
|
||||
if found {
|
||||
if q, is := d.(DriverNamer); is {
|
||||
return q.Namer(ctx)
|
||||
}
|
||||
}
|
||||
return nil, errors.New("namer not found")
|
||||
}
|
||||
Reference in New Issue
Block a user