You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I find a problem in this repo when I use orchestrator.
file: golib/sqlutils/sqlutils.go
code:
// QueryRowsMap is a convenience function allowing querying a result set while poviding a callback
// function activated per read row.
func QueryRowsMap(db *sql.DB, query string, on_row func(RowMap) error, args ...interface{}) error {
var err error
defer func() {
if derr := recover(); derr != nil {
err = errors.New(fmt.Sprintf("QueryRowsMap unexpected error: %+v", derr))
}
}()
... ...
return err
}
The err modified in defer will not return to the caller.
For example:
package main
import (
"fmt"
)
func main(){
i := test()
fmt.Println("main i:", i)
}
func test() int {
var a int
defer func () {
a = 2
}()
a = 1
return a
}
output: main i: 1
The right usage like this:
package main
import (
"fmt"
)
func main(){
i := test()
fmt.Println("main i:", i)
}
func test() (a int) {
defer func () {
a = 2
}()
a = 1
return a
}
output: main i: 2
Please check it.
The text was updated successfully, but these errors were encountered:
I find a problem in this repo when I use
orchestrator
.file:
golib/sqlutils/sqlutils.go
code:
The
err
modified indefer
will not return to the caller.For example:
output:
main i: 1
The right usage like this:
output:
main i: 2
Please check it.
The text was updated successfully, but these errors were encountered: