Add PostgreSQL 17 compatibility #44
Merged
+96
−41
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Postgres 17 changed some of the lexer token numbering, so introduce a new pgsp_token_types.h file to force the declaration of the needed token per major version and avoid using wrong values.
The JsonLexContext structure changed again and added extra ability to free part of the struct, which leads to wrong parsing results if not setup correctly. Fortunately upstream makeJsonLexContextCstringLen() has been changed to handle stack-allocated structs so we can now rely on this function from now on to avoid misbehavior in case of further changes to JsonLexContext.
blk_read_time and blk_write_time BufferUsage fields have been renamed to include a "shared" prefix, so handle it.
Finally, enable test on pg17 in the CI.