On Wed, Mar 14, 2018 at 2:10 AM, Andres Freund <andres@anarazel.de> wrote:
On 2018-03-14 07:54:35 +0900, Michael Paquier wrote: > On Tue, Mar 13, 2018 at 04:08:01PM +0300, Oleg Bartunov wrote: > > The docs are here > > https://github.com/obartunov/sqljsondoc/blob/master/README.jsonpath.md > > > > It's not easy to write docs for SQL/JSON in xml, so I decided to write in more > > friendly way. We'll have time to convert it to postgres format. > > If you aim at getting a feature committed first without its > documentation, and getting the docs written after the feature freeze > using a dedicated open item or such, this is much acceptable in my > opinion and the CF is running short in time.
Given that this patch still uses PG_TRY/CATCH around as wide paths of code as a whole ExecEvalExpr() invocation,
I agree that we should either use PG_TRY/CATCH over some small and safe
codepaths or surround PG_TRY/CATCH with subtransactions. PG_TRY/CATCH over
ExecEvalExpr() looks really unacceptable.
basically has gotten no review, I don't see this going anywhere for v11.
I wouldn't be co categorical at this point. Patchset is there for about year.
Some parts of code received more of review while some parts receives less.
We can surround all dangerous PG_TRY/CATCH pairs with subtransactions,
tolerate performance penalty and leave further optimizations for future releases.
In worst case, we can remove codepaths which use PG_TRY/CATCH and
leave only ERROR ON ERROR behavior of SQL/JSON.
I am thinking so using subtransactions on few places are acceptable. PLpgSQL uses it years, and it is working good enough.