mirror of
https://github.com/zeek/zeek.git
synced 2025-10-02 06:38:20 +00:00
Redis: Handle other errors from requests, fix KEY_EXISTS for put operations
This commit is contained in:
parent
3d7fcfb428
commit
855c530b64
4 changed files with 67 additions and 44 deletions
|
@ -29,28 +29,42 @@ event zeek_init()
|
|||
|
||||
local key = "key1234";
|
||||
local value = "value1234";
|
||||
local value2 = "value2345";
|
||||
|
||||
local open_res = Storage::Sync::open_backend(Storage::REDIS, opts, string, string);
|
||||
print "open_result", open_res;
|
||||
local res = Storage::Sync::open_backend(Storage::REDIS, opts, string, string);
|
||||
print "open_result", res;
|
||||
|
||||
local b = open_res$value;
|
||||
local b = res$value;
|
||||
|
||||
local res = Storage::Sync::put(b, [ $key=key, $value=value ]);
|
||||
# Put a first value. This should return Storage::SUCCESS.
|
||||
res = Storage::Sync::put(b, [$key=key, $value=value]);
|
||||
print "put result", res;
|
||||
|
||||
local res2 = Storage::Sync::get(b, key);
|
||||
print "get result", res2;
|
||||
if ( res2$code == Storage::SUCCESS && res2?$value )
|
||||
print "get result same as inserted", value == ( res2$value as string );
|
||||
# Get the first value, validate that it's what we inserted.
|
||||
res = Storage::Sync::get(b, key);
|
||||
print "get result", res;
|
||||
if ( res$code == Storage::SUCCESS && res?$value )
|
||||
print "get result same as inserted", value == (res$value as string);
|
||||
|
||||
local value2 = "value5678";
|
||||
res = Storage::Sync::put(b, [ $key=key, $value=value2, $overwrite=T ]);
|
||||
print "overwrite put result", res;
|
||||
# This will return a Storage::KEY_EXISTS since we don't want overwriting.
|
||||
res = Storage::Sync::put(b, [$key=key, $value=value2, $overwrite=F]);
|
||||
print "put result", res;
|
||||
|
||||
res2 = Storage::Sync::get(b, key);
|
||||
print "get result", res2;
|
||||
if ( res2$code == Storage::SUCCESS && res2?$value )
|
||||
print "get result same as inserted", value2 == ( res2$value as string );
|
||||
# Verify that the overwrite didn't actually happen.
|
||||
res = Storage::Sync::get(b, key);
|
||||
print "get result", res;
|
||||
if ( res$code == Storage::SUCCESS && res?$value )
|
||||
print "get result same as originally inserted", value == (res$value as string);
|
||||
|
||||
# This will return a Storage::SUCESSS since we're asking for an overwrite.
|
||||
res = Storage::Sync::put(b, [$key=key, $value=value2, $overwrite=T]);
|
||||
print "put result", res;
|
||||
|
||||
# Verify that the overwrite happened.
|
||||
res = Storage::Sync::get(b, key);
|
||||
print "get result", res;
|
||||
if ( res$code == Storage::SUCCESS && res?$value )
|
||||
print "get result same as overwritten", value2 == (res$value as string);
|
||||
|
||||
Storage::Sync::close_backend(b);
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue