Re: minor doc issue in 9.16.2.1.1. Boolean Predicate Check Expressions
От | jian he |
---|---|
Тема | Re: minor doc issue in 9.16.2.1.1. Boolean Predicate Check Expressions |
Дата | |
Msg-id | CACJufxFLT=pTsGhXXQo3WHGzWLZxGu1y=-6b5zoukgew1mdCSw@mail.gmail.com обсуждение исходный текст |
Ответ на | minor doc issue in 9.16.2.1.1. Boolean Predicate Check Expressions (jian he <jian.universality@gmail.com>) |
Список | pgsql-hackers |
On Thu, Oct 17, 2024 at 9:59 PM Bruce Momjian <bruce@momjian.us> wrote: > > > > > > >> the predicate: true, false, or unknown." > > > > >> "unknown" is wrong, because `select 'unknown'::jsonb;` will fail. > > > > >> here "unknown" should be "null"? see jsonb_path_query doc entry also. > > > > >> > > > > doc (https://www.postgresql.org/docs/devel/functions-json.html#FUNCTIONS-SQLJSON-CHECK-EXPRESSIONS) > > <<QUOTE>> > > While SQL-standard path expressions return the relevant element(s) of > > the queried JSON value, predicate check expressions return the single > > three-valued result of the predicate: true, false, or unknown. > > <<END OF QUOTE>> > > > > https://www.postgresql.org/docs/current/datatype-boolean.html > > says > > "The boolean type can have several states: “true”, “false”, and a > > third state, “unknown”, which is represented by the SQL null value." > > > > but here > > select jsonb_path_query('1', '$ == "a"'); > > return JSON null value, not SQL null value. > > > > however. > > select jsonb_path_match('1', '$ == "a"'); > > return SQL null value. > > > > > > maybe we can change to > > "predicate check expressions return the single three-valued result of > > the predicate: true, false, or null" > > Yes, done in the attached patch. > - <literal>false</literal>, or <literal>unknown</literal>. + <literal>false</literal>, or <literal>NULL</literal>. nearby are all examples related to jsonb_path_query. As mentioned before, jsonb_path_query returns JSON null. so change to + <literal>false</literal>, or <literal>null</literal> would be better. since we can select 'null'::jsonb; but cannot select 'NULL'::jsonb;
В списке pgsql-hackers по дате отправления: