View Source Counter Merge Operator

The counter operator allows you to maintain a counter. You can increase or decrease the counter with an integer value

Ex:


{ok, Db} = rocksdb:open("/tmp/rocksdb_merge_db.test",
                        [{create_if_missing, true},
                         {merge_operator, counter_merge_operator}]),

ok = rocksdb:merge(Db, <<"c">>, << "1" >>, []),
{ok, << "1" >>} = rocksdb:get(Db, <<"c">>, []),

ok = rocksdb:merge(Db, <<"c">>, << "2" >>, []),
{ok, << "3" >>} = rocksdb:get(Db, <<"c">>, []),

ok = rocksdb:merge(Db, <<"c">>, <<"-1">> , []),
{ok, <<"2">>} = rocksdb:get(Db, <<"c">>, []),

ok = rocksdb:put(Db, <<"c">>, <<"0">>, []),
{ok, <<"0">>} = rocksdb:get(Db, <<"c">>, []),


ok = rocksdb:close(Db),