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>