Unique identifiers are implemented in all slots in taxlist. Most of those IDs are managed as integer/numeric and appending new elements will be solved arithmetically (max(ID) + 1).
An exception is provided by the function backup_object(), which uses timestamp and suffixes.
Previous to implement character IDs and solve #23, we require two functions keeping consistency on IDs:
id_generator() creates new IDs:
uses arithmetic for integer/numeric IDs
uses random strings for character values
possible arguments:
length of ID vector
mode (character or numeric)
number of characters, only for the character mode.
minvalue only for numeric IDs
id_solver() compare IDs of appended elements with the recipient object and re-assign IDs, when the are already in use.
assigns new ID's to numeric and character values, only if they are used in recipient.
optional for character values, appends a suffix instead of creating a new ID
possible arguments:
vector with IDs of appended object
vector with IDs of recipient object (these IDs are meant to be preserved after merging)
suffix_mode: either an integer or a letter, working only for character IDs
separator: used between ID and suffix
fill only for numeric values, whether the new IDs start by max(recipient_id) + 1 or by 1 filling missing IDs in the sequence at recipient.
Unique identifiers are implemented in all slots in
taxlist
. Most of those IDs are managed as integer/numeric and appending new elements will be solved arithmetically (max(ID) + 1
).An exception is provided by the function
backup_object()
, which uses timestamp and suffixes.Previous to implement character IDs and solve #23, we require two functions keeping consistency on IDs:
id_generator()
creates new IDs:id_solver()
compare IDs of appended elements with the recipient object and re-assign IDs, when the are already in use.