mirror of
https://codeberg.org/forgejo/forgejo.git
synced 2025-08-01 17:38:33 +00:00
Upgrade xorm to v1.1.0 (#15869)
This commit is contained in:
parent
e2f39c2b64
commit
f6be429781
55 changed files with 1309 additions and 438 deletions
36
vendor/xorm.io/xorm/session_schema.go
generated
vendored
36
vendor/xorm.io/xorm/session_schema.go
generated
vendored
|
@ -448,27 +448,43 @@ func (session *Session) ImportFile(ddlPath string) ([]sql.Result, error) {
|
|||
|
||||
// Import SQL DDL from io.Reader
|
||||
func (session *Session) Import(r io.Reader) ([]sql.Result, error) {
|
||||
var results []sql.Result
|
||||
var lastError error
|
||||
scanner := bufio.NewScanner(r)
|
||||
var (
|
||||
results []sql.Result
|
||||
lastError error
|
||||
inSingleQuote bool
|
||||
startComment bool
|
||||
)
|
||||
|
||||
var inSingleQuote bool
|
||||
scanner := bufio.NewScanner(r)
|
||||
semiColSpliter := func(data []byte, atEOF bool) (advance int, token []byte, err error) {
|
||||
if atEOF && len(data) == 0 {
|
||||
return 0, nil, nil
|
||||
}
|
||||
var oriInSingleQuote = inSingleQuote
|
||||
for i, b := range data {
|
||||
if b == '\'' {
|
||||
inSingleQuote = !inSingleQuote
|
||||
}
|
||||
if !inSingleQuote && b == ';' {
|
||||
return i + 1, data[0:i], nil
|
||||
if startComment {
|
||||
if b == '\n' {
|
||||
startComment = false
|
||||
}
|
||||
} else {
|
||||
if i > 0 && data[i-1] == '-' && data[i] == '-' {
|
||||
startComment = true
|
||||
continue
|
||||
}
|
||||
|
||||
if b == '\'' {
|
||||
inSingleQuote = !inSingleQuote
|
||||
}
|
||||
if !inSingleQuote && b == ';' {
|
||||
return i + 1, data[0:i], nil
|
||||
}
|
||||
}
|
||||
}
|
||||
// If we're at EOF, we have a final, non-terminated line. Return it.
|
||||
if atEOF {
|
||||
return len(data), data, nil
|
||||
}
|
||||
inSingleQuote = oriInSingleQuote
|
||||
// Request more data.
|
||||
return 0, nil, nil
|
||||
}
|
||||
|
@ -479,10 +495,10 @@ func (session *Session) Import(r io.Reader) ([]sql.Result, error) {
|
|||
query := strings.Trim(scanner.Text(), " \t\n\r")
|
||||
if len(query) > 0 {
|
||||
result, err := session.Exec(query)
|
||||
results = append(results, result)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
results = append(results, result)
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue