A logical delete is the action of flagging a row as deleted without physically remove it on the system. You have then a background process that run during maintenance period that will physically remove these rows after a specific amount of days (can be often 3 months).
A logical delete can be used for different purpose but at Odyssee, it is used mainly to optimize the integration with third party system.
Because a logical delete updates the
modified_dateutc field, retrieving all the data created/updated or deleted is done using one single call : Retrieve all where modified_dateutc GreaterThan %lastValue%.
Logical delete is not introduced on all tables but only on heavy ones. To know if it’s there, just verify if you have a field named
sys_logical_delete bool. If you see it, then logical delete is available on this table.