Enhancement
Major
Detail
Bugfix
Detail
If several objects of the same type are deleted (i.e. objects that are in the same database table), a batch is created for the database and the command "Update row where ID is XXX and REV.MAX=infinite" is added for each element.
This seems to be extremely inperformant with Oracle.
Deleting 15000 elements (i.e. updating 15000 rows) takes about 40s; if there are additional elements in the table that are not touched, this becomes many times slower (with about 90000 rows, updating 15000 rows takes about 1m50s). (measured on a local Oracle12 in Docker).
Improvement
Instead of adding a batch for each element a bulk query is fired: "Update the rows where REV_MAX=infinite and the ID in the set {X1,X2,X3,...}"
With this, updating 15000 elements with a total number of rows of 90000 takes about 1s.
Test
No test. Everything must still work.