Re: PG 15 (and to a smaller degree 14) regression due to ExprEvalStep size
Michael Paquier <michael@paquier.xyz>
On Tue, Jun 21, 2022 at 05:41:07PM -0400, Andrew Dunstan wrote: > On 2022-06-21 Tu 17:25, Andres Freund wrote: >> On 2022-06-21 17:11:33 -0400, Andrew Dunstan wrote: >>> I and a couple of colleagues have looked it over. As far as it goes the >>> json fix looks kosher to me. I'll play with it some more. >> >> Cool. >> >> Any chance you could look at fixing the "structure" of the generated >> expression "program". The recursive ExecEvalExpr() calls are really not ok... By how much does the size of ExprEvalStep go down once you don't inline the JSON structures as of 0004 in [1]? And what of 0003? The JSON portions seem like the largest portion of the cake, though both are must-fixes. > Yes, but I don't guarantee to have a fix in time for Beta2. IMHO, it would be nice to get something done for beta2. Now the thread is rather fresh and I guess that more performance study is required even for 0004, so.. Waiting for beta3 would a better move at this stage. Is somebody confident enough in the patches proposed? 0004 looks rather sane, seen from here, at least. [1]: https://www.postgresql.org/message-id/20220617200605.3moq7dtxua5cxemv@alap3.anarazel.de -- Michael
Commits
-
JSON_TABLE: Add support for NESTED paths and columns
- bb766cde63b4 17.0 landed
-
Add basic JSON_TABLE() functionality
- de3600452b61 17.0 landed
-
Add SQL/JSON query functions
- 6185c9737cf4 17.0 landed
-
Add soft error handling to some expression nodes
- aaaf9449ec6b 17.0 landed
-
Adjust populate_record_field() to handle errors softly
- 1edb3b491bee 17.0 landed
-
Refactor code used by jsonpath executor to fetch variables
- faa2b953ba3b 17.0 landed
-
Add more SQL/JSON constructor functions
- 03734a7fed7d 17.0 landed
-
SQL/JSON: support the IS JSON predicate
- 6ee30209a6f1 16.0 landed
-
SQL/JSON: add standard JSON constructor functions
- 7081ac46ace8 16.0 landed
-
Add static assertion ensuring sizeof(ExprEvalStep) <= 64 bytes
- 78be04e4c672 16.0 landed
-
Remove size increase in ExprEvalStep caused by hashed saops
- 30efc3b5a364 15.0 landed
- fe3caa143937 16.0 landed
-
pgstat: reduce timer overhead by leaving timer running.
- 4a37527fde3c 15.0 landed
- 056cc366fafa 16.0 landed
-
expression eval: Fix EEOP_JSON_CONSTRUCTOR and EEOP_JSONEXPR size.
- 5a1ab894f758 15.0 landed
- 67b26703b415 16.0 landed
-
SQL/JSON query functions
- 1a36bc9dba8e 15.0 cited
-
Speedup ScalarArrayOpExpr evaluation
- 50e17ad281b8 14.0 cited