Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 16 additions & 0 deletions sync/advanced/compatibility.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -99,6 +99,7 @@ This table lists all fixes currently supported:
| `versioned_bucket_ids` | [Link](#versioned-bucket-ids) | 1.15.0 | 2 |
| `fixed_json_extract` | [Link](#fixed-json-extract) | 1.15.0 | 2 |
| `custom_postgres_types` | [Link](#custom-postgres-types). | 1.15.3 | 2 |
| `unstable_sqlite_expression_engine` | [Link](#unstable_sqlite_expression_engine). | 1.22.0 | None (unstable) |

### `timestamps_iso8601`

Expand Down Expand Up @@ -190,3 +191,18 @@ With this fix applied:
| 'empty';
```
- Multi-ranges sync as an array of ranges.

### `unstable_sqlite_expression_engine`

<Danger>
This option is experimental: When enabled, updates to the PowerSync Service might change how rows are processed
and this option may be removed in a future version of the Service.
</Danger>

Sync Streams support scalar SQL operators (like `+`, `-` and `||`) and [functions](/sync/supported-sql#functions).
SQL in Sync Streams should behave exactly as it would in SQLite, but the Service uses a custom implementation which differs
from SQLite for some edge cases.

To perfectly align the behavior of the Service and SQLite, enabling this option makes the Service use an actual
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's not clear what this means practically? can we mention an example?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We've fixed most of the issues that are unlikely to break users. I've added a remaining example.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this still true? Enabling unstable_sqlite_expression_engine requires fixed_json_extract (fro mthe original PR). If so would be good to add here too.

SQLite database to evaluate Sync Streams.
For example, the expression `NOT NULL` evaluates to `TRUE` without this option, enabling it yields `NULL`.