Recently I've been using a Kotlin library SQLDelight which is great but has some issues with PostgreSQL support. In particular, for null parameters it converts `=` to `IS` - and it treats `IS` as a binary operator (rather than `IS NULL` unary operator), which Postgres doesn't like wrt prepared statements
prepare test(text) as (SELECT*FROM test WHERE nullable_col IS $1);
ERROR: syntax error at or near "$1"LINE1: ...epare test(text) as (SELECT*FROM test WHERE nullable_col IS $1);
full details at [1]
I’ve been working on a PR to use `IS NOT DISTINCT FROM` as the `=` substitution for nullable parameters rather than `IS`, however unfortunately that’s not universally supported either (MySQL).
Just wondering if anyone has other ideas? I guess there’s no interest in adding support for `IS` as basically an alias for `IS NOT DISTINCT FROM`? (and `IS NOT` for `IS DISTINCT FROM`)