/
exec.go
31 lines (23 loc) · 890 Bytes
/
exec.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
package dblib
import (
"net/http"
"github.com/alrusov/misc"
)
//----------------------------------------------------------------------------------------------------------------------------//
// Exec -- execute stored procedure or other
func (me *DBext) Exec(id uint64, secured bool, name string, params ...interface{}) (result interface{}, code int, err error) {
t0 := misc.NowUnixNano()
defer func() {
misc.LogProcessingTime(me.db.logFacility.Name(), "", id, "db.call", "", t0)
}()
query, err := me.getQuery(name)
if err != nil {
return nil, http.StatusInternalServerError, err
}
result, err = me.db.Exec(query, secured, params...)
if err != nil {
return nil, http.StatusInternalServerError, err
}
return result, http.StatusOK, nil
}
//----------------------------------------------------------------------------------------------------------------------------//