Обсуждение: 16beta2 SQL parser: different defaults on absent_on_null

Поиск
Список
Период
Сортировка

16beta2 SQL parser: different defaults on absent_on_null

От
Martin Butter
Дата:
While adapting a Java implementation of the SQL parser, I noticed that 
in structures JsonArrayAgg, JsonArrayConstructor, 
JsonArrayQueryConstructor and JsonObjectConstrutor, the absent_on_null 
field defaults to TRUE.
But in JsonObjectAgg, absent_on_null defaults to FALSE.
Is that intentionally?

Regards,
Martin.




Re: 16beta2 SQL parser: different defaults on absent_on_null

От
Daniel Gustafsson
Дата:
> On 14 Jul 2023, at 07:53, Martin Butter <martin.butter@splendiddata.com> wrote:

> While adapting a Java implementation of the SQL parser, I noticed that in structures JsonArrayAgg,
JsonArrayConstructor,JsonArrayQueryConstructor and JsonObjectConstrutor, the absent_on_null field defaults to TRUE. 
> But in JsonObjectAgg, absent_on_null defaults to FALSE.
> Is that intentionally?

I would say so, an empty NULL|ABSENT ON NULL clause for arrays is defined as
true, while for objects it's defined as false (which is shared between both
json_object() and json_objectagg()).

--
Daniel Gustafsson




Re: 16beta2 SQL parser: different defaults on absent_on_null

От
Martin Butter
Дата:

Hello Daniel,

Thanks for the explanation, it sounds reasonable. I'm glad it is not a bug.

Regards,
Martin.

On 14/07/2023 10:29, Daniel Gustafsson wrote:
On 14 Jul 2023, at 07:53, Martin Butter <martin.butter@splendiddata.com> wrote:
While adapting a Java implementation of the SQL parser, I noticed that in structures JsonArrayAgg, JsonArrayConstructor, JsonArrayQueryConstructor and JsonObjectConstrutor, the absent_on_null field defaults to TRUE.
But in JsonObjectAgg, absent_on_null defaults to FALSE.
Is that intentionally?
I would say so, an empty NULL|ABSENT ON NULL clause for arrays is defined as
true, while for objects it's defined as false (which is shared between both
json_object() and json_objectagg()).

--
Daniel Gustafsson

--
Martin Butter
Developer

Splendid Data Nederland B.V.
Binnenhof 62A
1412 LC  NAARDEN

T: +31 (0)85 773 19 99
M: +31 (0)6 226 946 62
E: martin.butter@splendiddata.com

http://www.splendiddata.com/