Scenario #1 When using 'Use Default Cache Database' or 'Automatic Cache', TDV uses the in-built Postgres data source as the caching target database which is owned by the system user and no other users have the privileges to update the permission on the cache target resources.
Resolution:One of the below suggested workarounds should help in modifying the privileges of the parent resource that should get trickled down to cache target resources. The workarounds have been arranged in the order of preference that is recommended. Please choose the one that best meets your use case.
- Toggle the cache's "Enable" check box from the Caching tab and save the changes to propagate the permissions to the cache target table. A TDV server restart is not required in this case.
- The privileges can be assigned to the resources before creating the cache.
- The privileges can be assigned to the resources after creating the cache but a TDV server service restart is required for the changes to reflect.
- The cache needs to be re-built if a new user is added to the group that has privileges to the resource.
Scenario #2 When using the 'Single Table' or 'Multi Table' cache, the cached data is stored in a user-determined structured database location where the privileges of the parent resource get trickled down to the cache target resources if the right privileges are assigned to the parent resources.
Resolution :The below steps can be followed to assign the right set of privileges to the parent resource:
1. From Studio, create caching for a resource, selecting either 'Single Table' or 'Multi Table'.
2. Right-click the cached resource, grant 'SELECT' or 'READ' privilege for the new group on this resource, and check the checkboxes 'Apply recursively to dependencies' and 'Apply recursively to dependents'.
3. Click on 'Apply' and 'OK'.
4. Verify that the privileges of the parent resource have been propagated successfully to the cache target resources.