*_many operations errors have operation_data field to help identify which exact records had errors. This info is used to automatize these processes: for example, in tt-ee tt crud import.
But matching input and error output is complicated:
for *_object_many, operation data will be a tuple in the most cases, so one must either flatten the object or unflatten the tuple manually;
operation data will have bucket_id filled in the most cases, so it needs to be manually stripped;
empty maps may transform to empty arrays and vice versa while working with net.box.
Matching input and success output is also can be complicated, if triggers or sequences are used on the storage.
On the other hand, if response had the structure similar to the following one:
with explicit "input row N has been successfully inserted, result after inserting is X" and "input row M has failed due to the following reason", it would simplify things like tt crud import.
*_many
operations errors haveoperation_data
field to help identify which exact records had errors. This info is used to automatize these processes: for example, in tt-eett crud import
.But matching input and error output is complicated:
*_object_many
, operation data will be a tuple in the most cases, so one must either flatten the object or unflatten the tuple manually;bucket_id
filled in the most cases, so it needs to be manually stripped;Matching input and success output is also can be complicated, if triggers or sequences are used on the storage.
On the other hand, if response had the structure similar to the following one:
with explicit "input row N has been successfully inserted, result after inserting is X" and "input row M has failed due to the following reason", it would simplify things like
tt crud import
.