mirror of https://github.com/gogits/gogs.git
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.
50 lines
1.3 KiB
50 lines
1.3 KiB
// Go MySQL Driver - A MySQL-Driver for Go's database/sql package |
|
// |
|
// Copyright 2017 The Go-MySQL-Driver Authors. All rights reserved. |
|
// |
|
// This Source Code Form is subject to the terms of the Mozilla Public |
|
// License, v. 2.0. If a copy of the MPL was not distributed with this file, |
|
// You can obtain one at http://mozilla.org/MPL/2.0/. |
|
|
|
// +build go1.8 |
|
|
|
package mysql |
|
|
|
import ( |
|
"crypto/tls" |
|
"database/sql" |
|
"database/sql/driver" |
|
"errors" |
|
"fmt" |
|
) |
|
|
|
func cloneTLSConfig(c *tls.Config) *tls.Config { |
|
return c.Clone() |
|
} |
|
|
|
func namedValueToValue(named []driver.NamedValue) ([]driver.Value, error) { |
|
dargs := make([]driver.Value, len(named)) |
|
for n, param := range named { |
|
if len(param.Name) > 0 { |
|
// TODO: support the use of Named Parameters #561 |
|
return nil, errors.New("mysql: driver does not support the use of Named Parameters") |
|
} |
|
dargs[n] = param.Value |
|
} |
|
return dargs, nil |
|
} |
|
|
|
func mapIsolationLevel(level driver.IsolationLevel) (string, error) { |
|
switch sql.IsolationLevel(level) { |
|
case sql.LevelRepeatableRead: |
|
return "REPEATABLE READ", nil |
|
case sql.LevelReadCommitted: |
|
return "READ COMMITTED", nil |
|
case sql.LevelReadUncommitted: |
|
return "READ UNCOMMITTED", nil |
|
case sql.LevelSerializable: |
|
return "SERIALIZABLE", nil |
|
default: |
|
return "", fmt.Errorf("mysql: unsupported isolation level: %v", level) |
|
} |
|
}
|
|
|