Data object is inserted in the database and first time the data is moved to original DataStruct, it is added to the DataStruct cache, after successful commit.
All complex and multi-join queries of the table that are for the database of inserted DO, are removed from the query caches.
For every simple query of the table (with the inserted DO's database) from query cache it is checked whether inserted DO is query result or not.
If new DO is query result, in the query cache is this query marked as "modified".
If its cached results are complete (all are in the query cache), oid of this inserted DO is added to query cached result list. If cached results are not complete oid is not added to the list.