forked from mirror/ledisdb
kv some functions add error check
This commit is contained in:
parent
5a5081c34e
commit
b0d93f5842
|
@ -49,14 +49,16 @@ func (a *App) kv_set(key []byte, value []byte) error {
|
||||||
|
|
||||||
func (a *App) kv_getset(key []byte, value []byte) ([]byte, error) {
|
func (a *App) kv_getset(key []byte, value []byte) ([]byte, error) {
|
||||||
key = encode_kv_key(key)
|
key = encode_kv_key(key)
|
||||||
var err error
|
|
||||||
|
|
||||||
t := a.kvTx
|
t := a.kvTx
|
||||||
|
|
||||||
t.Lock()
|
t.Lock()
|
||||||
defer t.Unlock()
|
defer t.Unlock()
|
||||||
|
|
||||||
oldValue, _ := a.db.Get(key)
|
oldValue, err := a.db.Get(key)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
t.Put(key, value)
|
t.Put(key, value)
|
||||||
//todo, binlog
|
//todo, binlog
|
||||||
|
@ -77,7 +79,9 @@ func (a *App) kv_setnx(key []byte, value []byte) (int64, error) {
|
||||||
t.Lock()
|
t.Lock()
|
||||||
defer t.Unlock()
|
defer t.Unlock()
|
||||||
|
|
||||||
if v, _ := a.db.Get(key); v != nil {
|
if v, err := a.db.Get(key); err != nil {
|
||||||
|
return 0, err
|
||||||
|
} else if v != nil {
|
||||||
n = 0
|
n = 0
|
||||||
} else {
|
} else {
|
||||||
t.Put(key, value)
|
t.Put(key, value)
|
||||||
|
|
Loading…
Reference in New Issue