Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This adds support for raw tables which, instead of being views over JSON data, are meant to be created by users as regular tables.
This prepares the core extension with support for that, but there are still a lot of uncertainties around the exact interface to use. As an experiment here, we:
raw_tables
array in additon to the array of JSON-backed tables. Raw tables are not created by the core extension.PUT
andPATCH
operations) and deletes.powersync_control
invocation.For local writes, clients would typically install triggers on raw tables. These triggers need to be able to distinguish between actual local writes from the app and writes made to apply sync operations. For that, this introduces the
powersync_in_sync_operation()
function which returnsTRUE
when a sync is active on the connection (soWHEN NOT powersync_in_sync_operation()
can be used as a guard on the trigger).