Re: WIP Incremental JSON Parser
Jacob Champion <jacob.champion@enterprisedb.com>
From: Jacob Champion <jacob.champion@enterprisedb.com>
To: Andrew Dunstan <andrew@dunslane.net>
Cc: Robert Haas <robertmhaas@gmail.com>, Peter Smith <smithpb2250@gmail.com>, PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2024-03-25T23:21:40Z
Lists: pgsql-hackers
On Mon, Mar 25, 2024 at 4:12 PM Jacob Champion <jacob.champion@enterprisedb.com> wrote: > Stack size should be pretty limited, at least on the platforms I'm > familiar with. So yeah, the recursive descent will segfault pretty > quickly, but it won't repalloc() an unbounded amount of heap space. > The alternative would just be to go back to a hardcoded limit in the > short term, I think. And I should mention that there are other ways to consume a bunch of memory, but I think they're bounded by the size of the JSON file. Looks like the repalloc()s amplify the JSON size by a factor of ~20 (JS_MAX_PROD_LEN + sizeof(char*) + sizeof(bool)). That may or may not be enough to be concerned about in the end, since I think it's still linear, but I wanted to make sure it was known. --Jacob
Commits
-
Post review fixes for test_json_parser test module
- ba3e6e2bca97 17.0 landed
-
Shrink test file for test_json_parser module
- b8a7bfa33324 17.0 landed
-
Add support for incrementally parsing backup manifests
- ea7b4e9a2a7c 17.0 landed
-
Introduce a non-recursive JSON parser
- 3311ea86edc7 17.0 landed
-
Use incremental parsing of backup manifests.
- 222e11a10ae9 17.0 landed