SQL/JSON revisited

From: Amit Langote <amitlangote09(at)gmail(dot)com>
To: PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>
Cc: Andrew Dunstan <andrew(at)dunslane(dot)net>
Subject: SQL/JSON revisited
Date: 2022-12-28 07:28:29
Message-ID: CA+HiwqHROpf9e644D8BRqYvaAPmgBZVup-xKMDPk-nd4EpgzHw@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Hi,

Rebased the SQL/JSON patches over the latest HEAD. I've decided to
keep the same division of code into individual commits as that
mentioned in the revert commit 2f2b18bd3f, squashing fixup commits in
that list into the appropriate feature commits.

The main difference from the patches as they were committed into v15
is that JsonExpr evaluation no longer needs to use sub-transactions,
thanks to the work done recently to handle type errors softly. I've
made the new code pass an ErrorSaveContext into the type-conversion
related functions as needed and also added an ExecEvalExprSafe() to
evaluate sub-expressions of JsonExpr that might contain expressions
that call type-conversion functions, such as CoerceViaIO contained in
JsonCoercion nodes. ExecExprEvalSafe() is based on one of the patches
that Nikita Glukhov had submitted in a previous discussion about
redesigning SQL/JSON expression evaluation [1]. Though, I think that
new interface will become unnecessary after I have finished rebasing
my patches to remove subsidiary ExprStates of JsonExprState that we
had also discussed back in [2].

Adding this to January CF.

--
Thanks, Amit Langote
EDB: http://www.enterprisedb.com

[1] https://www.postgresql.org/message-id/c3b315b6-1e9f-6aa4-8708-daa19cf3f1a3%40postgrespro.ru
[2] https://postgr.es/m/20220616233130.rparivafipt6doj3@alap3.anarazel.de

Attachment Content-Type Size
v1-0007-JSON_TABLE.patch application/octet-stream 99.1 KB
v1-0010-Claim-SQL-standard-compliance-for-SQL-JSON-featur.patch application/octet-stream 2.8 KB
v1-0009-Documentation-for-SQL-JSON-features.patch application/octet-stream 47.7 KB
v1-0008-PLAN-clauses-for-JSON_TABLE.patch application/octet-stream 70.7 KB
v1-0006-RETURNING-clause-for-JSON-and-JSON_SCALAR.patch application/octet-stream 10.2 KB
v1-0005-SQL-JSON-functions.patch application/octet-stream 52.0 KB
v1-0004-SQL-JSON-query-functions.patch application/octet-stream 177.4 KB
v1-0001-Common-SQL-JSON-clauses.patch application/octet-stream 24.9 KB
v1-0003-IS-JSON-predicate.patch application/octet-stream 43.6 KB
v1-0002-SQL-JSON-constructors.patch application/octet-stream 147.4 KB

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Amit Langote 2022-12-28 07:31:23 Re: SQL/JSON revisited
Previous Message Amul Sul 2022-12-28 06:00:34 Re: Error-safe user functions