>
> I've had trouble making JSON_QUERY work too,
> so I suspect that although my tests pass,
> there may be something I'm missing in the executor side of things.
>

"For those curious, I found the issue: in ExecEvalJsonExprPath, I
 had misplaced the check for jsexpr->on_mismatch.
I wasn't setting jsestate->escontext.details_wanted = true early enough.
 Without this, the soft error context wasn't capturing the specific SQL
error code needed to identify the mismatch.

Attaching a v2 that implements ON MISMATCH for JSON_QUERY and JSON_TABLE
too.

That said, the semantics of ON ERROR / MISMATCH / EMPTY are complex.
I expect someone with access to and detailed knowledge of the standard
might be able to poke holes in certain edge cases, particularly regarding
precedence.

Attachment: v2-0001-Add-SQL-JSON-ON-MISMATCH-clause-to-JSON_VALUE-JSO.patch
Description: Binary data

Reply via email to