Re: [PATCH] Remove redundant path_nulls checks in setPathObject/Array

Поиск
Список
Период
Сортировка
Искать
От
Chao Li
Тема
Re: [PATCH] Remove redundant path_nulls checks in setPathObject/Array
Дата
в 10:22:53
Msg-id
56F71416-E3C3-4758-81B7-BA9FA32D3A98@gmail.com
Список


> On Aug 26, 2026, at 20:03, Ilya Gladyshev  wrote:
> 
> Hi all,
> 
> I noticed redundant path_nulls checks in setPathObject and setPathArray,
> so here's a small refactoring patch to remove them.
> 
> - Both checks were introduced in c694701 (12 May 2015, "Additional
>  functions and operators for jsonb") with the functions' initial code.
> 
> - Both functions always had a single call site, `setPath`, as they are
>  internal implementations for the two cases (array/object) in a generic
>  function.
> 
> - Later, in 1edd4ec (4 Oct 2015, "Disallow invalid path elements in
>  jsonb_set"), the path_nulls check was propagated into setPath itself.
> 
> If desired, those conditions can be transformed into Assert()s with a
> comment about setPath() validation.
> 
> ---
> Ilya Gladyshev // foxido.dev<0001-Remove-redundant-NULL-checks-in-setPathObject-Array.patch>

Looks reasonable to me, since setPath() already checks path_nulls[level] and raises an error for a NULL path element.

I think this patch does more than just remove a redundant check, it also eliminates a potential source of confusion. setPath() treats path_nulls[level] being true as an error, while setPathObject() currently treats the same condition as an indication of done.

Best regards,
--
Chao Li (Evan)
HighGo Software Co., Ltd.
https://www.highgo.com/






В списке pgsql-hackers по дате отправления
От: Yuhang Qiu
Дата:
От: Jelte Fennema-Nio
Дата:
FAQ