Merge pull request #182 from martinsumner/mas-i180-dollarbucketregex
Mas i180 dollarbucketregex
This commit is contained in:
commit
bcda272fb9
1 changed files with 78 additions and 10 deletions
|
@ -3,10 +3,10 @@
|
||||||
-include("include/leveled.hrl").
|
-include("include/leveled.hrl").
|
||||||
-export([all/0]).
|
-export([all/0]).
|
||||||
-export([
|
-export([
|
||||||
crossbucket_aae/1,
|
crossbucket_aae/1,
|
||||||
handoff/1,
|
handoff/1,
|
||||||
dollar_bucket_index/1,
|
dollar_bucket_index/1,
|
||||||
dollar_key_index/1
|
dollar_key_index/1
|
||||||
]).
|
]).
|
||||||
|
|
||||||
all() -> [
|
all() -> [
|
||||||
|
@ -524,7 +524,6 @@ dollar_key_index(_Config) ->
|
||||||
StartKey = testutil:fixed_bin_key(123),
|
StartKey = testutil:fixed_bin_key(123),
|
||||||
EndKey = testutil:fixed_bin_key(779),
|
EndKey = testutil:fixed_bin_key(779),
|
||||||
|
|
||||||
|
|
||||||
{async, Folder} =
|
{async, Folder} =
|
||||||
leveled_bookie:book_keylist(Bookie1,
|
leveled_bookie:book_keylist(Bookie1,
|
||||||
?RIAK_TAG,
|
?RIAK_TAG,
|
||||||
|
@ -557,6 +556,42 @@ dollar_key_index(_Config) ->
|
||||||
true = 657 == length(FolderREMatch()),
|
true = 657 == length(FolderREMatch()),
|
||||||
true = 0 == length(FolderREMiss()),
|
true = 0 == length(FolderREMiss()),
|
||||||
|
|
||||||
|
% Delete an object - and check that it does not show in
|
||||||
|
% $key index query
|
||||||
|
DeleteFun =
|
||||||
|
fun(KeyID) ->
|
||||||
|
ok = leveled_bookie:book_put(Bookie1,
|
||||||
|
<<"Bucket1">>,
|
||||||
|
testutil:fixed_bin_key(KeyID),
|
||||||
|
delete, [],
|
||||||
|
?RIAK_TAG)
|
||||||
|
end,
|
||||||
|
DelList = [200, 400, 600, 800, 1200],
|
||||||
|
lists:foreach(DeleteFun, DelList),
|
||||||
|
|
||||||
|
{async, DeleteFolder0} =
|
||||||
|
leveled_bookie:book_keylist(Bookie1,
|
||||||
|
?RIAK_TAG,
|
||||||
|
<<"Bucket1">>,
|
||||||
|
{StartKey, EndKey},
|
||||||
|
{FoldKeysFun, []}
|
||||||
|
),
|
||||||
|
ResultsDeleteFolder0 = length(DeleteFolder0()),
|
||||||
|
io:format("Length of Result of folder ~w~n", [ResultsDeleteFolder0]),
|
||||||
|
true = 657 - 3 == ResultsDeleteFolder0,
|
||||||
|
|
||||||
|
{async, DeleteFolder1} =
|
||||||
|
leveled_bookie:book_keylist(Bookie1,
|
||||||
|
?RIAK_TAG,
|
||||||
|
<<"Bucket1">>,
|
||||||
|
{testutil:fixed_bin_key(1151),
|
||||||
|
testutil:fixed_bin_key(1250)},
|
||||||
|
{FoldKeysFun, []}
|
||||||
|
),
|
||||||
|
ResultsDeleteFolder1 = length(DeleteFolder1()),
|
||||||
|
io:format("Length of Result of folder ~w~n", [ResultsDeleteFolder1]),
|
||||||
|
true = 100 -1 == ResultsDeleteFolder1,
|
||||||
|
|
||||||
ok = leveled_bookie:book_close(Bookie1),
|
ok = leveled_bookie:book_close(Bookie1),
|
||||||
testutil:reset_filestructure().
|
testutil:reset_filestructure().
|
||||||
|
|
||||||
|
@ -598,12 +633,45 @@ dollar_bucket_index(_Config) ->
|
||||||
end,
|
end,
|
||||||
FoldAccT = {FoldKeysFun, []},
|
FoldAccT = {FoldKeysFun, []},
|
||||||
|
|
||||||
{async, Folder} = leveled_bookie:book_keylist(Bookie1, ?RIAK_TAG, <<"Bucket2">>, FoldAccT),
|
{async, Folder} =
|
||||||
ResLen = length(Folder()),
|
leveled_bookie:book_keylist(Bookie1,
|
||||||
|
?RIAK_TAG,
|
||||||
|
<<"Bucket2">>,
|
||||||
|
FoldAccT),
|
||||||
|
Results = Folder(),
|
||||||
|
true = 1700 == length(Results),
|
||||||
|
|
||||||
|
{<<"Bucket2">>, SampleKey} = lists:nth(100, Results),
|
||||||
|
UUID = "[a-z0-9]{8}-[a-z0-9]{4}-[a-z0-9]{4}-[a-z0-9]{4}-[a-z0-9]{12}",
|
||||||
|
{ok, RESingleMatch} = re:compile(SampleKey),
|
||||||
|
{ok, REAllMatch} = re:compile(UUID),
|
||||||
|
{ok, REMiss} = re:compile("no_key"),
|
||||||
|
|
||||||
io:format("Length of Result of folder ~w~n", [ResLen]),
|
{async, FolderREMiss} =
|
||||||
|
leveled_bookie:book_keylist(Bookie1,
|
||||||
true = 1700 == ResLen,
|
?RIAK_TAG,
|
||||||
|
<<"Bucket2">>,
|
||||||
|
{null, null},
|
||||||
|
{FoldKeysFun, []},
|
||||||
|
REMiss),
|
||||||
|
{async, FolderRESingleMatch} =
|
||||||
|
leveled_bookie:book_keylist(Bookie1,
|
||||||
|
?RIAK_TAG,
|
||||||
|
<<"Bucket2">>,
|
||||||
|
{null, null},
|
||||||
|
{FoldKeysFun, []},
|
||||||
|
RESingleMatch),
|
||||||
|
{async, FolderREAllMatch} =
|
||||||
|
leveled_bookie:book_keylist(Bookie1,
|
||||||
|
?RIAK_TAG,
|
||||||
|
<<"Bucket2">>,
|
||||||
|
{null, null},
|
||||||
|
{FoldKeysFun, []},
|
||||||
|
REAllMatch),
|
||||||
|
|
||||||
|
true = 0 == length(FolderREMiss()),
|
||||||
|
true = 1 == length(FolderRESingleMatch()),
|
||||||
|
true = 1700 == length(FolderREAllMatch()),
|
||||||
|
|
||||||
ok = leveled_bookie:book_close(Bookie1),
|
ok = leveled_bookie:book_close(Bookie1),
|
||||||
testutil:reset_filestructure().
|
testutil:reset_filestructure().
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue