Re: More new SQL/JSON item methods
Peter Eisentraut <peter@eisentraut.org>
From: Peter Eisentraut <peter@eisentraut.org>
To: Jeevan Chalke <jeevan.chalke@enterprisedb.com>
Cc: Andrew Dunstan <andrew@dunslane.net>,
PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2024-01-15T14:10:57Z
Lists: pgsql-hackers
Commits
Same data as JSON:
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
Rationalize and improve error messages for some jsonpath items
- 92d2ab7554f9 17.0 landed
-
Clean up a bug in sql/json items commit 66ea94e8e6
- 06a66d87dbc7 17.0 landed
-
Implement various jsonpath methods
- 66ea94e8e606 17.0 cited
-
Reorganise jsonpath operators and methods
- 283a95da9236 17.0 landed
-
Add numeric_int8_opt_error() to optionally suppress errors
- c1b9e1e56d8c 17.0 landed
Attachments
Attached are two small fixup patches for your patch set. In the first one, I simplified the grammar for the .decimal() method. It seemed a bit overkill to build a whole list structure when all we need are 0, 1, or 2 arguments. Per SQL standard, the precision and scale arguments are unsigned integers, so unary plus and minus signs are not supported. So my patch removes that support, but I didn't adjust the regression tests for that. Also note that in your 0002 patch, the datetime precision is similarly unsigned, so that's consistent. By the way, in your 0002 patch, don't see the need for the separate datetime_method grammar rule. You can fold that into accessor_op. Overall, I think it would be better if you combined all three of these patches into one. Right now, you have arranged these as incremental features, and as a result of that, the additions to the JsonPathItemType enum and the grammar keywords etc. are ordered in the way you worked on these features, I guess. It would be good to maintain a bit of sanity to put all of this together and order all the enums and everything else for example in the order they are in the sql_features.txt file (which is alphabetical, I suppose). At this point I suspect we'll end up committing this whole feature set together anyway, so we might as well organize it that way.