Re: remaining sql/json patches
От | Amit Langote |
---|---|
Тема | Re: remaining sql/json patches |
Дата | |
Msg-id | CA+HiwqE6im2+Hg9MNHHinXqgw8Uwotc4dcaVjj4m3_WJk5a1zQ@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: remaining sql/json patches ("Anton A. Melnikov" <a.melnikov@postgrespro.ru>) |
Список | pgsql-hackers |
Hi Anton, On Tue, Oct 17, 2023 at 4:11 PM Anton A. Melnikov <a.melnikov@postgrespro.ru> wrote: > On 17.10.2023 07:02, Amit Langote wrote: > > > One thing jian he missed during the debugging is that > > ExecEvalJsonExprCoersion() receives the EMPTY ARRAY value via > > *op->resvalue/resnull, set by ExecEvalJsonExprBehavior(), because > > that's the ON EMPTY behavior specified in the constraint. The bug was > > that the code in ExecEvalJsonExprCoercion() failed to set val_string > > to that value ("[]") before passing to InputFunctionCallSafe(), so the > > latter would assume the input is NULL. > > > Thank a lot for this remark! > > I tried to dig to the transformJsonOutput() to fix it earlier at the analyze stage, > but it looks like a rather hard way. Indeed. As I said, the problem was a bug in ExecEvalJsonExprCoercion(). > > Maybe simple in accordance with you note remove the second condition from this line: > if (jb && JB_ROOT_IS_SCALAR(jb)) ? Yeah, that's how I would fix it. -- Thanks, Amit Langote EDB: http://www.enterprisedb.com
В списке pgsql-hackers по дате отправления: