From eeb435b593ed96104fdab1e22db99f2f9640d95e Mon Sep 17 00:00:00 2001 From: Simon Binder Date: Mon, 1 Jun 2026 12:35:50 +0200 Subject: [PATCH 1/3] Document `unstable_sqlite_expression_engine` --- sync/advanced/compatibility.mdx | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/sync/advanced/compatibility.mdx b/sync/advanced/compatibility.mdx index 0a122fea..688438b3 100644 --- a/sync/advanced/compatibility.mdx +++ b/sync/advanced/compatibility.mdx @@ -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](#custom-postgres-types). | 1.22.0 | None (unstable) | ### `timestamps_iso8601` @@ -190,3 +191,17 @@ With this fix applied: | 'empty'; ``` - Multi-ranges sync as an array of ranges. + +### `unstable_sqlite_expression_engine` + + +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. + + +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 inputs. + +To perfectly align the behavior of the Service and SQLite, enabling this option makes the Service use an actual +SQLite database to evaluate Sync Streams. From b4606a62268298402e63b9e54ed4fdd675b039b8 Mon Sep 17 00:00:00 2001 From: Simon Binder Date: Thu, 4 Jun 2026 15:21:37 +0200 Subject: [PATCH 2/3] Review feedback --- sync/advanced/compatibility.mdx | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/sync/advanced/compatibility.mdx b/sync/advanced/compatibility.mdx index 688438b3..696814a3 100644 --- a/sync/advanced/compatibility.mdx +++ b/sync/advanced/compatibility.mdx @@ -99,7 +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](#custom-postgres-types). | 1.22.0 | None (unstable) | +| `unstable_sqlite_expression_engine` | [Link](#unstable_sqlite_expression_engine). | 1.22.0 | None (unstable) | ### `timestamps_iso8601` @@ -201,7 +201,8 @@ and this option may be removed in a future version of the service. 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 inputs. +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 SQLite database to evaluate Sync Streams. +For example, the expression `NOT NULL` evaluates to `TRUE` without this option, enabling it yields `NULL`. From 6a50afea3022b72ecf3516b1374d05eb3ff8c203 Mon Sep 17 00:00:00 2001 From: benitav Date: Thu, 4 Jun 2026 16:26:02 +0200 Subject: [PATCH 3/3] Apply suggestion from @benitav --- sync/advanced/compatibility.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sync/advanced/compatibility.mdx b/sync/advanced/compatibility.mdx index 696814a3..3e323b40 100644 --- a/sync/advanced/compatibility.mdx +++ b/sync/advanced/compatibility.mdx @@ -196,7 +196,7 @@ With this fix applied: 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. +and this option may be removed in a future version of the Service. Sync Streams support scalar SQL operators (like `+`, `-` and `||`) and [functions](/sync/supported-sql#functions).