forked from forgejo/forgejo
Update github.com/lafriks/xormstore and tidy up mod.go (#8020)
This commit is contained in:
parent
dd3ba9bb6b
commit
cedb285e25
20 changed files with 286 additions and 165 deletions
13
vendor/github.com/denisenkom/go-mssqldb/README.md
generated
vendored
13
vendor/github.com/denisenkom/go-mssqldb/README.md
generated
vendored
|
@ -187,6 +187,19 @@ _, err := db.ExecContext(ctx, "theproc", &rs)
|
|||
log.Printf("status=%d", rs)
|
||||
```
|
||||
|
||||
or
|
||||
|
||||
```
|
||||
var rs mssql.ReturnStatus
|
||||
_, err := db.QueryContext(ctx, "theproc", &rs)
|
||||
for rows.Next() {
|
||||
err = rows.Scan(&val)
|
||||
}
|
||||
log.Printf("status=%d", rs)
|
||||
```
|
||||
|
||||
Limitation: ReturnStatus cannot be retrieved using `QueryRow`.
|
||||
|
||||
## Parameters
|
||||
|
||||
The `sqlserver` driver uses normal MS SQL Server syntax and expects parameters in
|
||||
|
|
25
vendor/github.com/denisenkom/go-mssqldb/mssql.go
generated
vendored
25
vendor/github.com/denisenkom/go-mssqldb/mssql.go
generated
vendored
|
@ -716,6 +716,8 @@ func (rc *Rows) Next(dest []driver.Value) error {
|
|||
if tokdata.isError() {
|
||||
return rc.stmt.c.checkBadConn(tokdata.getError())
|
||||
}
|
||||
case ReturnStatus:
|
||||
rc.stmt.c.setReturnStatus(tokdata)
|
||||
case error:
|
||||
return rc.stmt.c.checkBadConn(tokdata)
|
||||
}
|
||||
|
@ -874,29 +876,6 @@ func (r *Result) RowsAffected() (int64, error) {
|
|||
return r.rowsAffected, nil
|
||||
}
|
||||
|
||||
func (r *Result) LastInsertId() (int64, error) {
|
||||
s, err := r.c.Prepare("select cast(@@identity as bigint)")
|
||||
if err != nil {
|
||||
return 0, err
|
||||
}
|
||||
defer s.Close()
|
||||
rows, err := s.Query(nil)
|
||||
if err != nil {
|
||||
return 0, err
|
||||
}
|
||||
defer rows.Close()
|
||||
dest := make([]driver.Value, 1)
|
||||
err = rows.Next(dest)
|
||||
if err != nil {
|
||||
return 0, err
|
||||
}
|
||||
if dest[0] == nil {
|
||||
return -1, errors.New("There is no generated identity value")
|
||||
}
|
||||
lastInsertId := dest[0].(int64)
|
||||
return lastInsertId, nil
|
||||
}
|
||||
|
||||
var _ driver.Pinger = &Conn{}
|
||||
|
||||
// Ping is used to check if the remote server is available and satisfies the Pinger interface.
|
||||
|
|
5
vendor/github.com/denisenkom/go-mssqldb/mssql_go110.go
generated
vendored
5
vendor/github.com/denisenkom/go-mssqldb/mssql_go110.go
generated
vendored
|
@ -5,6 +5,7 @@ package mssql
|
|||
import (
|
||||
"context"
|
||||
"database/sql/driver"
|
||||
"errors"
|
||||
)
|
||||
|
||||
var _ driver.Connector = &Connector{}
|
||||
|
@ -45,3 +46,7 @@ func (c *Connector) Connect(ctx context.Context) (driver.Conn, error) {
|
|||
func (c *Connector) Driver() driver.Driver {
|
||||
return c.driver
|
||||
}
|
||||
|
||||
func (r *Result) LastInsertId() (int64, error) {
|
||||
return -1, errors.New("LastInsertId is not supported. Please use the OUTPUT clause or add `select ID = convert(bigint, SCOPE_IDENTITY())` to the end of your query.")
|
||||
}
|
||||
|
|
31
vendor/github.com/denisenkom/go-mssqldb/mssql_go110pre.go
generated
vendored
Normal file
31
vendor/github.com/denisenkom/go-mssqldb/mssql_go110pre.go
generated
vendored
Normal file
|
@ -0,0 +1,31 @@
|
|||
// +build !go1.10
|
||||
|
||||
package mssql
|
||||
|
||||
import (
|
||||
"database/sql/driver"
|
||||
"errors"
|
||||
)
|
||||
|
||||
func (r *Result) LastInsertId() (int64, error) {
|
||||
s, err := r.c.Prepare("select cast(@@identity as bigint)")
|
||||
if err != nil {
|
||||
return 0, err
|
||||
}
|
||||
defer s.Close()
|
||||
rows, err := s.Query(nil)
|
||||
if err != nil {
|
||||
return 0, err
|
||||
}
|
||||
defer rows.Close()
|
||||
dest := make([]driver.Value, 1)
|
||||
err = rows.Next(dest)
|
||||
if err != nil {
|
||||
return 0, err
|
||||
}
|
||||
if dest[0] == nil {
|
||||
return -1, errors.New("There is no generated identity value")
|
||||
}
|
||||
lastInsertId := dest[0].(int64)
|
||||
return lastInsertId, nil
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue