- for
get
,update
,search
,bulk
: All items are now stored in thelocal_db
, with the following logic:
if item.id not in local_db:
local_db.add(item)
else:
local_item = local_db[item.id]
merge(local_item, item, merge_priority)
- add
requires_client_ref
to ItemBase to keep compatible withDataset
-
ItemBase
has anensure_id
method, that creates a new ID if the item doesnt have one. -
ItemBase
now has an_in_pod
property, which tracks if the item already exists in pod. -
ItemBase
now tracks which properties are updated by keeping a record oforiginal_properties
anddate_local_modified
. Each changed property gets recorded in both, which enableslocal
,remote
andnewest
merge strategies -
ItemBase
now has anon_sync()
method, which resets these tracking variables to the appropriate values after syncing.