diff options
| author | Matthias Radestock <matthias@rabbitmq.com> | 2012-04-05 17:17:38 +0100 |
|---|---|---|
| committer | Matthias Radestock <matthias@rabbitmq.com> | 2012-04-05 17:17:38 +0100 |
| commit | 8b41e2695a7450186ad0848662d895095775c657 (patch) | |
| tree | 6bc6fcb57ee4359569eecf84ac3b7209b46c654e | |
| parent | b25b3af939f9a98d3dcbd77b9349f51b36df2514 (diff) | |
| download | rabbitmq-server-git-8b41e2695a7450186ad0848662d895095775c657.tar.gz | |
dtree API cleanup: handle 'insert' w empty secondary key list correctly
| -rw-r--r-- | src/dtree.erl | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/dtree.erl b/src/dtree.erl index 473b4283e3..e88ad96322 100644 --- a/src/dtree.erl +++ b/src/dtree.erl @@ -65,7 +65,11 @@ empty() -> {gb_trees:empty(), gb_trees:empty()}. %% Insert an entry. Fails if there already is an entry with the given -%% primary key. The list of secondary keys should be non-empty. +%% primary key. +insert(PK, [], V, {P, S}) -> + %% dummy insert to force error if PK exists + gb_trees:insert(PK, {gb_sets:empty(), V}, P), + {P, S}; insert(PK, SKs, V, {P, S}) -> {gb_trees:insert(PK, {gb_sets:from_list(SKs), V}, P), lists:foldl(fun (SK, S0) -> |
