Name
dict_dec_or_remove — Decrement a counter in a dictionary of counters or deletes it if it becomes zero or negative.
Synopsis
dict_dec_or_remove ( |
inout dict dictionary , |
in key any , | |
in value_decrement integer
) ; |
Description
The function checks whether dict
contains key
. If it isn't so then the
function checks the datatype of the value associated with the key.
An error 42000 is signalled in case of non-integer value or a
negative integer value. If the value is positive and greater than
value_decrement
then
value_decrement
is
subtracted from it and the result become the new value associated
with key
in dict
. If the value is positive and
less than or equal to value_decrement
then key
is removed from dict
. If key is not in the
dictionary then the dictionary remains unchanged.
Informally, the function reverts the effect of dict_inc_or_add
.
Parameters
dict
Dictionary of counters. The NULL value is equivalent to an empty dictionary.
key
Key of a dictionary item to process.
value decrement
A nonnegative integer (typically 1) that is subtracted from the
value associated with key
.
Return Types
The function returns the changed value associated with the
key
, or zero in any other
case.