IS as a binary operator

Поиск
Список
Период
Сортировка
От david wheeler
Тема IS as a binary operator
Дата
Msg-id 4996BD98-0349-4871-B952-AFD8261920D0@gmail.com
обсуждение исходный текст
Ответы Re: IS as a binary operator  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-general
Heya folks, 

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"
LINE 1: ...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`)

TIA

David Wheeler


В списке pgsql-general по дате отправления:

Предыдущее
От: Stephen Frost
Дата:
Сообщение: Re: can't get psql authentication against Active Directory working
Следующее
От: Tom Lane
Дата:
Сообщение: Re: IS as a binary operator