Re: PG 15 (and to a smaller degree 14) regression due to ExprEvalStep size
Andrew Dunstan <andrew@dunslane.net>
On 2022-08-09 Tu 15:50, Jonathan S. Katz wrote: > On 8/9/22 3:22 PM, Andres Freund wrote: >> Hi, >> >> On 2022-08-09 15:17:44 -0400, Tom Lane wrote: >>> We have delayed releases for $COOL_FEATURE in the past, and I think >>> our batting average on that is still .000: not once has it worked out >>> well. >> >> I think it semi worked when jsonb (?) first went in - it took a while >> and a >> lot of effort from a lot of people, but in the end we made it work, >> and it was >> a success from our user's perspectives, I think. > > Yeah, this was the example I was thinking of. To continue with the > baseball analogy, it was a home-run from a PR perspective, and I can > say as a power user at the time, the 9.4 JSONB representation worked > well for my use case. Certainly newer functionality has made JSON > easier to work with in PG. > > (I can't remember what the 9.5 hold up was). > > The cases where we either delayed/punted on $COOL_FEATURE that cause > me concern are the ones where we say "OK, well fix this in the next > release" and we are then waiting, 2, 3, 4 releases for the work to be > completed. And to be clear, I'm thinking of this as "known issues" vs. > "iterating towards the whole solution". Where we ended up with jsonb was a long way from where we started, but technical difficulties were largely confined because it didn't involve anything like the parser or the expression evaluation code. Here the SQL Standards Committee has imposed a pretty substantial technical burden on us and the code that Andres complains of is attempting to deal with that. > >> OTOH, it's not a great sign this is around json again... > > Yeah, I was thinking about that too. Ouch :-( I think after 10 years of being involved with our JSON features, I'm going to take a substantial break on that front. cheers andrew -- Andrew Dunstan EDB: https://www.enterprisedb.com
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