mirror of
https://github.com/go-gitea/gitea
synced 2025-07-22 18:28:37 +00:00
Upgrade xorm to v1.2.2 (#16663)
* Upgrade xorm to v1.2.2 * Change the Engine interface to match xorm v1.2.2
This commit is contained in:
72
vendor/xorm.io/xorm/dialects/sqlite3.go
generated
vendored
72
vendor/xorm.io/xorm/dialects/sqlite3.go
generated
vendored
@@ -169,7 +169,10 @@ func (db *sqlite3) Version(ctx context.Context, queryer core.Queryer) (*schemas.
|
||||
|
||||
var version string
|
||||
if !rows.Next() {
|
||||
return nil, errors.New("Unknow version")
|
||||
if rows.Err() != nil {
|
||||
return nil, rows.Err()
|
||||
}
|
||||
return nil, errors.New("unknow version")
|
||||
}
|
||||
|
||||
if err := rows.Scan(&version); err != nil {
|
||||
@@ -214,8 +217,9 @@ func (db *sqlite3) SQLType(c *schemas.Column) string {
|
||||
case schemas.Char, schemas.Varchar, schemas.NVarchar, schemas.TinyText,
|
||||
schemas.Text, schemas.MediumText, schemas.LongText, schemas.Json:
|
||||
return schemas.Text
|
||||
case schemas.Bit, schemas.TinyInt, schemas.SmallInt, schemas.MediumInt, schemas.Int, schemas.Integer, schemas.BigInt,
|
||||
schemas.UnsignedBigInt, schemas.UnsignedInt:
|
||||
case schemas.Bit, schemas.TinyInt, schemas.UnsignedTinyInt, schemas.SmallInt,
|
||||
schemas.UnsignedSmallInt, schemas.MediumInt, schemas.Int, schemas.UnsignedInt,
|
||||
schemas.BigInt, schemas.UnsignedBigInt, schemas.Integer:
|
||||
return schemas.Integer
|
||||
case schemas.Float, schemas.Double, schemas.Real:
|
||||
return schemas.Real
|
||||
@@ -233,8 +237,19 @@ func (db *sqlite3) SQLType(c *schemas.Column) string {
|
||||
}
|
||||
}
|
||||
|
||||
func (db *sqlite3) FormatBytes(bs []byte) string {
|
||||
return fmt.Sprintf("X'%x'", bs)
|
||||
func (db *sqlite3) ColumnTypeKind(t string) int {
|
||||
switch strings.ToUpper(t) {
|
||||
case "DATETIME":
|
||||
return schemas.TIME_TYPE
|
||||
case "TEXT":
|
||||
return schemas.TEXT_TYPE
|
||||
case "INTEGER", "REAL", "NUMERIC", "DECIMAL":
|
||||
return schemas.NUMERIC_TYPE
|
||||
case "BLOB":
|
||||
return schemas.BLOB_TYPE
|
||||
default:
|
||||
return schemas.UNKNOW_TYPE
|
||||
}
|
||||
}
|
||||
|
||||
func (db *sqlite3) IsReserved(name string) bool {
|
||||
@@ -404,12 +419,14 @@ func (db *sqlite3) GetColumns(queryer core.Queryer, ctx context.Context, tableNa
|
||||
defer rows.Close()
|
||||
|
||||
var name string
|
||||
for rows.Next() {
|
||||
if rows.Next() {
|
||||
err = rows.Scan(&name)
|
||||
if err != nil {
|
||||
return nil, nil, err
|
||||
}
|
||||
break
|
||||
}
|
||||
if rows.Err() != nil {
|
||||
return nil, nil, rows.Err()
|
||||
}
|
||||
|
||||
if name == "" {
|
||||
@@ -472,6 +489,9 @@ func (db *sqlite3) GetTables(queryer core.Queryer, ctx context.Context) ([]*sche
|
||||
}
|
||||
tables = append(tables, table)
|
||||
}
|
||||
if rows.Err() != nil {
|
||||
return nil, rows.Err()
|
||||
}
|
||||
return tables, nil
|
||||
}
|
||||
|
||||
@@ -485,7 +505,7 @@ func (db *sqlite3) GetIndexes(queryer core.Queryer, ctx context.Context, tableNa
|
||||
}
|
||||
defer rows.Close()
|
||||
|
||||
indexes := make(map[string]*schemas.Index, 0)
|
||||
indexes := make(map[string]*schemas.Index)
|
||||
for rows.Next() {
|
||||
var tmpSQL sql.NullString
|
||||
err = rows.Scan(&tmpSQL)
|
||||
@@ -531,6 +551,9 @@ func (db *sqlite3) GetIndexes(queryer core.Queryer, ctx context.Context, tableNa
|
||||
index.IsRegular = isRegular
|
||||
indexes[index.Name] = index
|
||||
}
|
||||
if rows.Err() != nil {
|
||||
return nil, rows.Err()
|
||||
}
|
||||
|
||||
return indexes, nil
|
||||
}
|
||||
@@ -540,6 +563,13 @@ func (db *sqlite3) Filters() []Filter {
|
||||
}
|
||||
|
||||
type sqlite3Driver struct {
|
||||
baseDriver
|
||||
}
|
||||
|
||||
func (p *sqlite3Driver) Features() *DriverFeatures {
|
||||
return &DriverFeatures{
|
||||
SupportReturnInsertedID: true,
|
||||
}
|
||||
}
|
||||
|
||||
func (p *sqlite3Driver) Parse(driverName, dataSourceName string) (*URI, error) {
|
||||
@@ -549,3 +579,29 @@ func (p *sqlite3Driver) Parse(driverName, dataSourceName string) (*URI, error) {
|
||||
|
||||
return &URI{DBType: schemas.SQLITE, DBName: dataSourceName}, nil
|
||||
}
|
||||
|
||||
func (p *sqlite3Driver) GenScanResult(colType string) (interface{}, error) {
|
||||
switch colType {
|
||||
case "TEXT":
|
||||
var s sql.NullString
|
||||
return &s, nil
|
||||
case "INTEGER":
|
||||
var s sql.NullInt64
|
||||
return &s, nil
|
||||
case "DATETIME":
|
||||
var s sql.NullTime
|
||||
return &s, nil
|
||||
case "REAL":
|
||||
var s sql.NullFloat64
|
||||
return &s, nil
|
||||
case "NUMERIC", "DECIMAL":
|
||||
var s sql.NullString
|
||||
return &s, nil
|
||||
case "BLOB":
|
||||
var s sql.RawBytes
|
||||
return &s, nil
|
||||
default:
|
||||
var r sql.NullString
|
||||
return &r, nil
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user