升级异常机制
This commit is contained in:
parent
480250c04c
commit
2cbe41587e
71
db.go
71
db.go
@ -97,7 +97,10 @@ func makeDBObject(conn *db.DB, tx *db.Tx) map[string]any {
|
||||
if r.Error == nil {
|
||||
return vm.ToValue(makeQueryResult(r, r.MapResults()))
|
||||
} else {
|
||||
panic(vm.NewGoError(r.Error))
|
||||
// panic(vm.NewGoError(r.Error))
|
||||
vm.SetData("_lastError", r.Error)
|
||||
gojs.GetLogger(vm).Error(r.Error.Error())
|
||||
return nil
|
||||
}
|
||||
},
|
||||
"querya": func(argsIn goja.FunctionCall, vm *goja.Runtime) goja.Value {
|
||||
@ -111,7 +114,10 @@ func makeDBObject(conn *db.DB, tx *db.Tx) map[string]any {
|
||||
if r.Error == nil {
|
||||
return vm.ToValue(makeQueryResult(r, r.SliceResults()))
|
||||
} else {
|
||||
panic(vm.NewGoError(r.Error))
|
||||
// panic(vm.NewGoError(r.Error))
|
||||
vm.SetData("_lastError", r.Error)
|
||||
gojs.GetLogger(vm).Error(r.Error.Error())
|
||||
return nil
|
||||
}
|
||||
},
|
||||
"query1": func(argsIn goja.FunctionCall, vm *goja.Runtime) goja.Value {
|
||||
@ -125,7 +131,10 @@ func makeDBObject(conn *db.DB, tx *db.Tx) map[string]any {
|
||||
if r.Error == nil {
|
||||
return vm.ToValue(makeQueryResult(r, r.MapOnR1()))
|
||||
} else {
|
||||
panic(vm.NewGoError(r.Error))
|
||||
// panic(vm.NewGoError(r.Error))
|
||||
vm.SetData("_lastError", r.Error)
|
||||
gojs.GetLogger(vm).Error(r.Error.Error())
|
||||
return nil
|
||||
}
|
||||
},
|
||||
"query1a": func(argsIn goja.FunctionCall, vm *goja.Runtime) goja.Value {
|
||||
@ -147,7 +156,10 @@ func makeDBObject(conn *db.DB, tx *db.Tx) map[string]any {
|
||||
}
|
||||
return vm.ToValue(makeQueryResult(r, nil))
|
||||
} else {
|
||||
panic(vm.NewGoError(r.Error))
|
||||
// panic(vm.NewGoError(r.Error))
|
||||
vm.SetData("_lastError", r.Error)
|
||||
gojs.GetLogger(vm).Error(r.Error.Error())
|
||||
return nil
|
||||
}
|
||||
},
|
||||
"query11": func(argsIn goja.FunctionCall, vm *goja.Runtime) goja.Value {
|
||||
@ -165,7 +177,10 @@ func makeDBObject(conn *db.DB, tx *db.Tx) map[string]any {
|
||||
}
|
||||
return vm.ToValue(makeQueryResult(r, nil))
|
||||
} else {
|
||||
panic(vm.NewGoError(r.Error))
|
||||
// panic(vm.NewGoError(r.Error))
|
||||
vm.SetData("_lastError", r.Error)
|
||||
gojs.GetLogger(vm).Error(r.Error.Error())
|
||||
return nil
|
||||
}
|
||||
},
|
||||
"exec": func(argsIn goja.FunctionCall, vm *goja.Runtime) goja.Value {
|
||||
@ -179,7 +194,10 @@ func makeDBObject(conn *db.DB, tx *db.Tx) map[string]any {
|
||||
if r.Error == nil {
|
||||
return vm.ToValue(makeExecResult(r))
|
||||
} else {
|
||||
panic(vm.NewGoError(r.Error))
|
||||
// panic(vm.NewGoError(r.Error))
|
||||
vm.SetData("_lastError", r.Error)
|
||||
gojs.GetLogger(vm).Error(r.Error.Error())
|
||||
return vm.ToValue(false)
|
||||
}
|
||||
},
|
||||
"insert": func(argsIn goja.FunctionCall, vm *goja.Runtime) goja.Value {
|
||||
@ -193,7 +211,10 @@ func makeDBObject(conn *db.DB, tx *db.Tx) map[string]any {
|
||||
if r.Error == nil {
|
||||
return vm.ToValue(makeExecResult(r))
|
||||
} else {
|
||||
panic(vm.NewGoError(r.Error))
|
||||
// panic(vm.NewGoError(r.Error))
|
||||
vm.SetData("_lastError", r.Error)
|
||||
gojs.GetLogger(vm).Error(r.Error.Error())
|
||||
return vm.ToValue(false)
|
||||
}
|
||||
},
|
||||
"replace": func(argsIn goja.FunctionCall, vm *goja.Runtime) goja.Value {
|
||||
@ -207,7 +228,10 @@ func makeDBObject(conn *db.DB, tx *db.Tx) map[string]any {
|
||||
if r.Error == nil {
|
||||
return vm.ToValue(makeExecResult(r))
|
||||
} else {
|
||||
panic(vm.NewGoError(r.Error))
|
||||
// panic(vm.NewGoError(r.Error))
|
||||
vm.SetData("_lastError", r.Error)
|
||||
gojs.GetLogger(vm).Error(r.Error.Error())
|
||||
return vm.ToValue(false)
|
||||
}
|
||||
},
|
||||
"update": func(argsIn goja.FunctionCall, vm *goja.Runtime) goja.Value {
|
||||
@ -221,7 +245,10 @@ func makeDBObject(conn *db.DB, tx *db.Tx) map[string]any {
|
||||
if r.Error == nil {
|
||||
return vm.ToValue(makeExecResult(r))
|
||||
} else {
|
||||
panic(vm.NewGoError(r.Error))
|
||||
// panic(vm.NewGoError(r.Error))
|
||||
vm.SetData("_lastError", r.Error)
|
||||
gojs.GetLogger(vm).Error(r.Error.Error())
|
||||
return vm.ToValue(false)
|
||||
}
|
||||
},
|
||||
"delete": func(argsIn goja.FunctionCall, vm *goja.Runtime) goja.Value {
|
||||
@ -235,7 +262,10 @@ func makeDBObject(conn *db.DB, tx *db.Tx) map[string]any {
|
||||
if r.Error == nil {
|
||||
return vm.ToValue(makeExecResult(r))
|
||||
} else {
|
||||
panic(vm.NewGoError(r.Error))
|
||||
// panic(vm.NewGoError(r.Error))
|
||||
vm.SetData("_lastError", r.Error)
|
||||
gojs.GetLogger(vm).Error(r.Error.Error())
|
||||
return vm.ToValue(false)
|
||||
}
|
||||
},
|
||||
"makeInKeys": func(argsIn goja.FunctionCall, vm *goja.Runtime) goja.Value {
|
||||
@ -263,7 +293,10 @@ data t
|
||||
`, logger); err == nil {
|
||||
return nil
|
||||
} else {
|
||||
panic(vm.NewGoError(err))
|
||||
// panic(vm.NewGoError(err))
|
||||
vm.SetData("_lastError", err)
|
||||
gojs.GetLogger(vm).Error(err.Error())
|
||||
return vm.ToValue(false)
|
||||
}
|
||||
}
|
||||
|
||||
@ -280,15 +313,18 @@ data t
|
||||
erDesc = u.ReadFileN(tryFile)
|
||||
}
|
||||
dao.MakeERFile(dbType, erDesc, "", outputFile, logger)
|
||||
return nil
|
||||
return vm.ToValue(true)
|
||||
}
|
||||
|
||||
obj["destroy"] = func(argsIn goja.FunctionCall, vm *goja.Runtime) goja.Value {
|
||||
_, conn, _, _ := initDBArgs(argsIn, vm, 0)
|
||||
if err := conn.Destroy(); err == nil {
|
||||
return nil
|
||||
return vm.ToValue(true)
|
||||
} else {
|
||||
panic(vm.NewGoError(err))
|
||||
// panic(vm.NewGoError(err))
|
||||
vm.SetData("_lastError", err)
|
||||
gojs.GetLogger(vm).Error(err.Error())
|
||||
return vm.ToValue(false)
|
||||
}
|
||||
}
|
||||
|
||||
@ -302,9 +338,12 @@ data t
|
||||
obj["end"] = func(argsIn goja.FunctionCall, vm *goja.Runtime) goja.Value {
|
||||
args, _, tx, _ := initDBArgs(argsIn, vm, 1)
|
||||
if err := tx.Finish(args.Bool(0)); err != nil {
|
||||
panic(vm.NewGoError(err))
|
||||
// panic(vm.NewGoError(err))
|
||||
vm.SetData("_lastError", err)
|
||||
gojs.GetLogger(vm).Error(err.Error())
|
||||
return vm.ToValue(false)
|
||||
}
|
||||
return nil
|
||||
return vm.ToValue(true)
|
||||
}
|
||||
}
|
||||
return obj
|
||||
|
||||
10
go.mod
10
go.mod
@ -3,13 +3,13 @@ module apigo.cc/gojs/db
|
||||
go 1.24.0
|
||||
|
||||
require (
|
||||
apigo.cc/gojs v0.0.30
|
||||
apigo.cc/gojs v0.0.32
|
||||
apigo.cc/gojs/console v0.0.4
|
||||
github.com/go-sql-driver/mysql v1.9.3
|
||||
github.com/jackc/pgx/v5 v5.7.6
|
||||
github.com/ssgo/dao v0.1.13
|
||||
github.com/ssgo/db v1.7.13
|
||||
github.com/ssgo/log v1.7.9
|
||||
github.com/ssgo/log v1.7.10
|
||||
github.com/ssgo/u v1.7.23
|
||||
modernc.org/sqlite v1.40.1
|
||||
)
|
||||
@ -35,9 +35,9 @@ require (
|
||||
github.com/ssgo/tool v0.4.29 // indirect
|
||||
golang.org/x/crypto v0.37.0 // indirect
|
||||
golang.org/x/exp v0.0.0-20250711185948-6ae5c78190dc // indirect
|
||||
golang.org/x/sync v0.18.0 // indirect
|
||||
golang.org/x/sys v0.38.0 // indirect
|
||||
golang.org/x/text v0.31.0 // indirect
|
||||
golang.org/x/sync v0.19.0 // indirect
|
||||
golang.org/x/sys v0.39.0 // indirect
|
||||
golang.org/x/text v0.32.0 // indirect
|
||||
gopkg.in/yaml.v3 v3.0.1 // indirect
|
||||
modernc.org/libc v1.66.10 // indirect
|
||||
modernc.org/mathutil v1.7.1 // indirect
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user