diff options
author | Paul J. Davis <paul.joseph.davis@gmail.com> | 2020-09-03 12:44:24 -0500 |
---|---|---|
committer | Paul J. Davis <paul.joseph.davis@gmail.com> | 2020-09-09 09:46:03 -0500 |
commit | 0ccd2f9f3a377c3d00977b9db7d0300178ae1094 (patch) | |
tree | 078d79b2a5ea53d07da6fd71d70361f6b7b35d4c | |
parent | 5eb9be05e5d9bd7c5f56ebce0ad8651365201176 (diff) | |
download | couchdb-0ccd2f9f3a377c3d00977b9db7d0300178ae1094.tar.gz |
Disable node validation in production
This keeps validation during tests but disables the validation during
production to avoid the overhead of collation.
-rw-r--r-- | src/ebtree.erl | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/ebtree.erl b/src/ebtree.erl index ea445eada..3cfb82030 100644 --- a/src/ebtree.erl +++ b/src/ebtree.erl @@ -63,6 +63,12 @@ -define(at_min(Tree, Node), Tree#tree.min == length(Node#node.members)). -define(is_full(Tree, Node), Tree#tree.max == length(Node#node.members)). +-ifdef(TEST). +-define(validate_node(Tree, Node), validate_node(Tree, Node)). +-else. +-define(validate_node(Tree, Node), ignore). +-endif. + %% two special 1-bit bitstrings that cannot appear in valid keys. -define(MIN, <<0:1>>). -define(MAX, <<1:1>>). @@ -1020,7 +1026,7 @@ set_node(Tx, #tree{} = Tree, #node{} = _From, #node{} = To) -> set_node(Tx, #tree{} = Tree, #node{} = Node) -> - validate_node(Tree, Node), + ?validate_node(Tree, Node), Key = node_key(Tree#tree.prefix, Node#node.id), Value = encode_node(Tree, Key, Node), cache(Tree, set, [Node#node.id, Node]), |