When does a local database cleanup happen in Pulsar?

About the local database

Pulsar stores Salesforce data in a local database, to allow you to access your data while offline.

When you sync, Pulsar first checks the Salesforce server for deleted records. Then these records are removed from the local database. Next, Pulsar downloads changed and added records from Salesforce to the local database. Finally, Pulsar checks the local database and uploads changes or additions to the Salesforce server.

How much data is stored in the local database?

Two factors determine the amount of data stored in the local database:

  1. The specific objects and amount of data that will sync are determined by the sync settings. Learn more about the sync settings here: Data Sync Settings

  2. The user permissions in Salesforce also determine the amount of data stored in the local database. The user can only download data they have permission to access into Pulsar's local database.

When are records removed from the local database?

Pulsar removes records in the local database during sync in the following scenarios:

  1. Records have been deleted on the Salesforce server.

  2. Access to the records have been removed for the user in Salesforce and you have the Record Reachability data sync setting enabled. There are four record reachability settings, which allow you to specify when stale records should be removed during the sync process. Stale records are identified as existing records that exist on the client device but do not have a corresponding server record. For instance, records which have been deleted from the Salesforce server or for which user access has been removed. For information refer to Data Sync Settings.

    1. pulsar.sync.recordReachability.objects - This setting allows you to specify which objects are available for stale record removal during the sync process.

    2. pulsar.sync.recordReachability.invervalDays. This setting allows you to set the interval in number of days for stale record cleanup to happen.

    3. pulsar.sync.recordReachability.frequency - This setting allows you to set the interval of stale record cleanup in number of syncs.

    4. pulsar.sync.recordReachability.runOnNextSync - This setting forces stale record cleanup on the user's next sync. The intervalDays or frequency record reachability setting needs to be enabled for this setting to work.

  3. The user has been blocked by the admin (using pulsar.blockedUsernames in PulsarSettings). For more information, refer to Security Settings.

  4. The app is uninstalled from the user's device.

  5. The device has been wiped (such as in a factory reset).

If the user is deleted from Salesforce, and offline, the user’s access to the records will be removed upon the next sync. The data will remain on the device, and will not be removed until the user account is deleted from Pulsar or the app is deleted from the device. Refer to How do I remove user accounts? for more information about removing a user account from Pulsar.