anchor.diff:                                  db_entry:inc_readlock(db_entry:new(2, "Value2", 2)),
                                   db_entry:new(3, "Value3", 2),
                                   db_entry:new(4, "Value4", 2),
  -                                db_entry:new(5, "Value5", 2)]).
  +                                db_entry:new(5, "Value5", 2)]),
  +    prop_update_entry({239309376718523519117394992299371645018, empty_val, false, 0, -1},
  +                      <<6>>, false, 7, 4).
   
   changed_keys(_Config) ->
       DB = ?TEST_DB:new(),
  
positive.code:     DBEntry2 = create_db_entry(db_entry:get_key(DBEntry1), Value2, WriteLock2, ReadLock2, Version2),
      DB = ?TEST_DB:new(),
      DB2 = ?TEST_DB:set_entry(DB, DBEntry1),
      DB3 = ?TEST_DB:update_entry(DB2, DBEntry2),
      IsNullEntry = db_entry:is_null(DBEntry2),
      check_entry(DB3, db_entry:get_key(DBEntry2), DBEntry2,
                  {ok, db_entry:get_value(DBEntry2), db_entry:get_version(DBEntry2)},
                  not IsNullEntry, "check_entry_update_entry_1"),
      case not db_entry:is_empty(DBEntry2) andalso
               not (db_entry:get_writelock(DBEntry2) andalso db_entry:get_readlock(DBEntry2) > 0) andalso
               db_entry:get_version(DBEntry2) >= 0 of
          true -> check_db(DB3, {true, []}, 1, [DBEntry2], "check_db_update_entry_0");
          _ when IsNullEntry ->
                  check_db(DB3, {true, []}, 0, [], "check_db_update_entry_1");
          _    -> check_db(DB3, {false, [DBEntry2]}, 1, [DBEntry2], "check_db_update_entry_2")
      end,
      ?TEST_DB:close(DB3),
      true.
  
negative.code:                              end, lists:reverse(Data)),
      UpdateElement = util:randomelem(UniqueData),
      Old = ?TEST_DB:get_entry2(DB2, db_entry:get_key(UpdateElement)),
      UpdatedElement = db_entry:inc_version(db_entry:set_value(UpdateElement, UpdateVal)),
      
      case element(1, Old) of
          false -> % element does not exist, i.e. was a null entry, -> cannot update
              DB5 = DB2;
          _ ->
              DB3 = ?TEST_DB:record_changes(DB2, ChangesInterval),
              DB4 = ?TEST_DB:update_entry(DB3, UpdatedElement),
              check_changes(DB4, ChangesInterval, "changed_update_entry_1"),
              check_entry_in_changes(DB4, ChangesInterval, UpdatedElement, Old, "changed_update_entry_2"),
              
              DB5 = check_stop_record_changes(DB4, ChangesInterval, "changed_update_entry_3")
      end,
  
      ?TEST_DB:close(DB5),
      true.
  