Re: SQL/JSON revisited
От | vignesh C |
---|---|
Тема | Re: SQL/JSON revisited |
Дата | |
Msg-id | CALDaNm1b8NZgxSESw2u5GNcDbMNGnXujN7f-XxUL506hXert5g@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: SQL/JSON revisited (Amit Langote <amitlangote09@gmail.com>) |
Ответы |
Re: SQL/JSON revisited
(Amit Langote <amitlangote09@gmail.com>)
|
Список | pgsql-hackers |
On Tue, 17 Jan 2023 at 19:01, Amit Langote <amitlangote09@gmail.com> wrote: > > On Wed, Dec 28, 2022 at 4:28 PM Amit Langote <amitlangote09@gmail.com> wrote: > > > > 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]. > > And I've just finished doing that. In the attached updated 0004, > which adds the JsonExpr node, its evaluation code is now broken into > ExprEvalSteps to handle the subsidiary JsonCoercion and JsonBehavior > expression nodes that previously used ExprState for recursive > evaluation. Andres didn't like the latter as previously discussed at > [1]. > > I've also attached the patch that Elena has proposed as the patch > 0011. I haven't managed to review it yet, though once I do, I'll > merge it into the main documentation patch 0009. Thanks Elena. The patch does not apply on top of HEAD as in [1], please post a rebased patch: === Applying patches on top of PostgreSQL commit ID 37e267335068059ac9bd4ec5d06b493afb4b73e8 === === applying patch ./v2-0001-Common-SQL-JSON-clauses.patch .... can't find file to patch at input line 717 Perhaps you used the wrong -p or --strip option? The text leading up to this was: -------------------------- |diff --git a/src/backend/utils/misc/queryjumble.c b/src/backend/utils/misc/queryjumble.c |index 328995a7dc..2361845a62 100644 |--- a/src/backend/utils/misc/queryjumble.c |+++ b/src/backend/utils/misc/queryjumble.c -------------------------- No file to patch. Skipping patch. 1 out of 1 hunk ignored [1] - http://cfbot.cputube.org/patch_41_4086.log Regards, Vignesh
В списке pgsql-hackers по дате отправления: