Files
zeekayandHanzo Dev cfdd3f5fc3 the dialect states the three comparisons that differ
A value is compared the same way on both engines only if the engine is asked
how to spell it. Three spellings were being written as SQLite's:

Like   — only SQLite's LIKE folds case, so Postgres needs ILIKE. Not the
         nocase collation, which PG17 refuses for LIKE outright.
Bool   — 1 and 0 are not booleans outside SQLite. Quoted on Postgres, so one
         literal reads as a boolean beside a boolean column and as text
         beside a value read out of a JSON document.
Number — a value read out of a JSON document is text wherever columns are
         typed. The cast is guarded, so a value that is not a numeral fails
         to match rather than raising: SQLite answers "no match" for the same
         data, and an engine difference should not become an error.

Co-authored-by: Hanzo Dev <[email protected]>
2026-08-13 12:24:18 -07:00
..