Skip to content

Conversation

Z-Xiao-M
Copy link
Contributor

@Z-Xiao-M Z-Xiao-M commented Nov 6, 2024

Support postgresql 14

@Z-Xiao-M Z-Xiao-M requested a review from JelteF November 7, 2024 12:48
@Z-Xiao-M
Copy link
Contributor Author

Z-Xiao-M commented Nov 7, 2024

I am not sure if I need to make other modifications and whether it meets the requirements. If there is, guide me, hey hey 😀

@JelteF JelteF force-pushed the pg14 branch 2 times, most recently from 922ab0d to 54e6ab6 Compare November 12, 2024 13:37
This vendors in the PG14 version of the ruleutils.c file from Postgres.
We've done the same already for PG15, PG16, and PG17, but now in
preparation of PG14 support we also include the PG14 version.
PG14 support needs fairly minimal changes. Notable changes are:

`\getenv` does not exist in psql for PG14, so we replace it's usages
with `\set` commands.

`ALTER TABLE ... SET ACCESS METHOD` does not exist in PG14, so we move
the `ALTER TABLE` tests to `pycheck`.

The PG14 ruleutils file misses some functions that exist in more recent
versions. So we backport `GET_PRETTY_FLAGS` (which we changed) and
`pg_get_querydef` (which we used).
Copy link
Collaborator

@Y-- Y-- left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, bulk of the change is:

  • bringing pg_ruleutils and tweaking it for compatibility
  • moving temp table tests to python to conditionally test supported syntax
  • updating other tests with backward-compatible syntax

Thanks!

@JelteF JelteF merged commit 9c7c6ef into duckdb:main Nov 12, 2024
5 checks passed
@JelteF
Copy link
Collaborator

JelteF commented Nov 12, 2024

Thanks @Leo-XM-Zeng I pushed this now as two separate commits to main.

@Z-Xiao-M Z-Xiao-M deleted the pg14 branch June 18, 2025 08:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants