SqliteConnectionSyncExtensions

Classes > Sync.SQLite > SqliteConnectionSyncExtensions

Extension methods for SQLite sync operations. FP-style static methods on SqliteConnection.

public static class SqliteConnectionSyncExtensions

Methods

GetAllSubscriptions(SqliteConnection)

public static Result<IReadOnlyList<SyncSubscription>, SyncError> GetAllSubscriptions(this SqliteConnection connection)

Gets all subscriptions from _sync_subscriptions.

Parameters:

Name Type Description
connection SqliteConnection

Returns: SyncError>

GetSubscriptionsByTable(SqliteConnection, string)

public static Result<IReadOnlyList<SyncSubscription>, SyncError> GetSubscriptionsByTable(this SqliteConnection connection, string tableName)

Gets subscriptions for a specific table.

Parameters:

Name Type Description
connection SqliteConnection
tableName String

Returns: SyncError>

InsertSubscription(SqliteConnection, SyncSubscription)

public static Result<bool, SyncError> InsertSubscription(this SqliteConnection connection, SyncSubscription subscription)

Inserts a subscription into _sync_subscriptions.

Parameters:

Name Type Description
connection SqliteConnection
subscription SyncSubscription

Returns: SyncError>

DeleteSubscription(SqliteConnection, string)

public static Result<bool, SyncError> DeleteSubscription(this SqliteConnection connection, string subscriptionId)

Deletes a subscription by ID.

Parameters:

Name Type Description
connection SqliteConnection
subscriptionId String

Returns: SyncError>

DeleteSubscriptionsByOrigin(SqliteConnection, string)

public static Result<int, SyncError> DeleteSubscriptionsByOrigin(this SqliteConnection connection, string originId)

Deletes all subscriptions for an origin.

Parameters:

Name Type Description
connection SqliteConnection
originId String

Returns: SyncError>

DeleteExpiredSubscriptions(SqliteConnection, string)

public static Result<int, SyncError> DeleteExpiredSubscriptions(this SqliteConnection connection, string currentTimestamp)

Deletes expired subscriptions.

Parameters:

Name Type Description
connection SqliteConnection
currentTimestamp String

Returns: SyncError>

GetOldestSyncLogVersion(SqliteConnection)

public static Result<long, SyncError> GetOldestSyncLogVersion(this SqliteConnection connection)

Gets the oldest version in the sync log. Used to detect if a client has fallen behind.

Parameters:

Name Type Description
connection SqliteConnection

Returns: SyncError>

PurgeTombstones(SqliteConnection, long)

public static Result<int, SyncError> PurgeTombstones(this SqliteConnection connection, long belowVersion)

Purges tombstones (delete entries) below a given version.

Parameters:

Name Type Description
connection SqliteConnection
belowVersion Int64

Returns: SyncError>

PurgeSyncLog(SqliteConnection, long)

public static Result<int, SyncError> PurgeSyncLog(this SqliteConnection connection, long belowVersion)

Purges all sync log entries below a given version. Use with caution - only after all clients have synced past this version.

Parameters:

Name Type Description
connection SqliteConnection
belowVersion Int64

Returns: SyncError>

GetAllSyncClients(SqliteConnection)

public static Result<IReadOnlyList<SyncClient>, SyncError> GetAllSyncClients(this SqliteConnection connection)

Gets all tracked sync clients.

Parameters:

Name Type Description
connection SqliteConnection

Returns: SyncError>

UpsertSyncClient(SqliteConnection, SyncClient)

public static Result<bool, SyncError> UpsertSyncClient(this SqliteConnection connection, SyncClient client)

Upserts a sync client record.

Parameters:

Name Type Description
connection SqliteConnection
client SyncClient

Returns: SyncError>

DeleteStaleSyncClients(SqliteConnection, IEnumerable<string>)

public static Result<int, SyncError> DeleteStaleSyncClients(this SqliteConnection connection, IEnumerable<string> originIds)

Deletes stale sync clients.

Parameters:

Name Type Description
connection SqliteConnection
originIds String>

Returns: SyncError>