The `Prefer: odata.track-changes` header is pretty useful to synchronize entire entities.
However this seems to work only if the user has a Global level prvRead<Entity> priviledge.
Otherwise it's returning this kind of error:
GET /api/data/v9.2/accounts?$select=name
Prefer: odata.track-changes
SecLib::CheckPrivilege failed. User: xxxxxxxxxxxxxxxxxxxxxxxxxxx, PrivilegeName: prvReadAccount, PrivilegeId: xxxxxxxxxxxxxxxxxxxxxxxxxxx, Required Depth: Global, BusinessUnitId: xxxxxxxxxxxxxxxxxxxxxxxxxxx, MetadataCache Privileges Count: 7356, User Privileges Count: 586
I'm guessing this is also why query options are not allowed in a "track-changes" request.
In another hand this seems to be based on the native SQLServer Change Tracking feature, which seems to me that could allow filtering.
Couldn't we "simply" join the result of CHANGETABLE() internally ?
So my final question is: How can I track the changes of data accessible by a user for a specific entity for which he does not have the global level privilege ?
Maybe I should not use track-changes