PG17 compatibility: fix diffs in create_index, privileges vanilla tests - #7766
Merged
Merged
Conversation
Colm (colm-mchugh)
force-pushed
the
cmchugh/pg17-vanilla-errormsgs
branch
from
November 25, 2024 11:05
67056aa to
bcc1b97
Compare
Colm (colm-mchugh)
requested review from
Mehmet YILMAZ (m3hm3t),
Naisila Puka (naisila) and
Onur Tirtir (onurctirtir)
November 25, 2024 11:31
45 tasks
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## release-13.0 #7766 +/- ##
===============================================
Coverage ? 89.65%
===============================================
Files ? 274
Lines ? 59583
Branches ? 7436
===============================================
Hits ? 53419
Misses ? 4032
Partials ? 2132 |
Naisila Puka (naisila)
suggested changes
Dec 2, 2024
Naisila Puka (naisila)
left a comment
Contributor
There was a problem hiding this comment.
Unfortunately we cannot disable either of these GUCs.
See #7764 (comment)
Naisila Puka (naisila)
force-pushed
the
naisila/pg17_support
branch
from
December 2, 2024 14:32
c396ce6 to
a12026b
Compare
Colm (colm-mchugh)
force-pushed
the
cmchugh/pg17-vanilla-errormsgs
branch
from
December 3, 2024 16:29
bcc1b97 to
4215663
Compare
Contributor
Author
Naisila Puka (@naisila) The updated PR has a code change to |
Naisila Puka (naisila)
force-pushed
the
naisila/pg17_support
branch
from
December 4, 2024 10:51
a12026b to
6be0649
Compare
Naisila Puka (naisila)
approved these changes
Dec 4, 2024
Naisila Puka (naisila)
left a comment
Contributor
There was a problem hiding this comment.
LGTM, nice fix!
Reminder to rebase to release-13.0 and drop the enable configure ... commit before merging.
Colm (colm-mchugh)
changed the base branch from
naisila/pg17_support
to
release-13.0
December 5, 2024 09:39
Colm (colm-mchugh)
force-pushed
the
cmchugh/pg17-vanilla-errormsgs
branch
from
December 5, 2024 09:43
4215663 to
693e7aa
Compare
Naisila Puka (naisila)
added a commit
that referenced
this pull request
Dec 24, 2024
This is the final commit that adds PG17 compatibility with Citus's current capabilities. You can use Citus community, release-13.0 branch, with PG17.1. --------- Specifically, this commit: - Enables PG17 in the configure script. - Adds PG17 tests to CI using test images that have 17.1 - Fixes an upgrade test: see below for details In `citus_prepare_upgrade()`, don't drop any_value when upgrading from PG16+, because PG16+ has its own any_value function. Attempting to do so results in the error seen in [pg16-pg17 upgrade](https://github.com/citusdata/citus/actions/runs/11768444117/job/32778340003?pr=7661): ``` ERROR: cannot drop function any_value(anyelement) because it is required by the database system CONTEXT: SQL statement "DROP AGGREGATE IF EXISTS pg_catalog.any_value(anyelement)" ``` When 16 becomes the minimum supported Postgres version, the drop statements can be removed. --------- Several PG17 Compatibility commits have been merged before this final one. All these subtasks are done #7653 See the list below: Compilation PR: #7699 Ruleutils PR: #7725 Sister PR for tests: citusdata/the-process#159 Helpful smaller PRs: - #7714 - #7726 - #7731 - #7732 - #7733 - #7738 - #7745 - #7747 - #7748 - #7749 - #7752 - #7755 - #7757 - #7759 - #7760 - #7761 - #7762 - #7765 - #7766 - #7768 - #7769 - #7771 - #7774 - #7776 - #7780 - #7781 - #7785 - #7788 - #7793 - #7796 --------- Co-authored-by: Colm <colmmchugh@microsoft.com>
Naisila Puka (naisila)
pushed a commit
that referenced
this pull request
Mar 11, 2025
…ts (#7766) PG17 regress sanity (#7653) fix; address diffs in vanilla tests `create_index` and `privileges`. There is a change from `permission denied` to `must be owner of`, seen in create_index: ``` @@ -2970,21 +2970,21 @@ REINDEX TABLE pg_toast.pg_toast_1260; ERROR: permission denied for table pg_toast_1260 REINDEX INDEX pg_toast.pg_toast_1260_index; -ERROR: permission denied for index pg_toast_1260_index +ERROR: must be owner of index pg_toast_1260_index ``` and privileges: ``` @@ -2945,41 +2945,43 @@ ERROR: permission denied for table maintain_test REINDEX INDEX maintain_test_a_idx; -ERROR: permission denied for index maintain_test_a_idx +ERROR: must be owner of index maintain_test_a_idx REINDEX SCHEMA reindex_test; REINDEX INDEX maintain_test_a_idx; +ERROR: must be owner of index maintain_test_a_idx REINDEX SCHEMA reindex_test; ``` The fix updates function `RangeVarCallbackForReindexIndex()` in `index.c` with changes made by the introduction of the [MAINTAIN privilege in PG17](https://git.postgresql.org/gitweb/?p=postgresql.git;a=commitdiff;h=ecb0fd337) to the function `RangeVarCallbackForReindexIndex()` in `indexcmds.c`. The code is under a Postgres 17 version directive, which can be removed when 17 becomes the oldest supported Postgres version.
Naisila Puka (naisila)
added a commit
that referenced
this pull request
Mar 11, 2025
This is the final commit that adds PG17 compatibility with Citus's current capabilities. You can use Citus community, release-13.0 branch, with PG17.1. --------- Specifically, this commit: - Enables PG17 in the configure script. - Adds PG17 tests to CI using test images that have 17.1 - Fixes an upgrade test: see below for details In `citus_prepare_upgrade()`, don't drop any_value when upgrading from PG16+, because PG16+ has its own any_value function. Attempting to do so results in the error seen in [pg16-pg17 upgrade](https://github.com/citusdata/citus/actions/runs/11768444117/job/32778340003?pr=7661): ``` ERROR: cannot drop function any_value(anyelement) because it is required by the database system CONTEXT: SQL statement "DROP AGGREGATE IF EXISTS pg_catalog.any_value(anyelement)" ``` When 16 becomes the minimum supported Postgres version, the drop statements can be removed. --------- Several PG17 Compatibility commits have been merged before this final one. All these subtasks are done #7653 See the list below: Compilation PR: #7699 Ruleutils PR: #7725 Sister PR for tests: citusdata/the-process#159 Helpful smaller PRs: - #7714 - #7726 - #7731 - #7732 - #7733 - #7738 - #7745 - #7747 - #7748 - #7749 - #7752 - #7755 - #7757 - #7759 - #7760 - #7761 - #7762 - #7765 - #7766 - #7768 - #7769 - #7771 - #7774 - #7776 - #7780 - #7781 - #7785 - #7788 - #7793 - #7796 --------- Co-authored-by: Colm <colmmchugh@microsoft.com>
Naisila Puka (naisila)
pushed a commit
that referenced
this pull request
Mar 12, 2025
…ts (#7766) PG17 regress sanity (#7653) fix; address diffs in vanilla tests `create_index` and `privileges`. There is a change from `permission denied` to `must be owner of`, seen in create_index: ``` @@ -2970,21 +2970,21 @@ REINDEX TABLE pg_toast.pg_toast_1260; ERROR: permission denied for table pg_toast_1260 REINDEX INDEX pg_toast.pg_toast_1260_index; -ERROR: permission denied for index pg_toast_1260_index +ERROR: must be owner of index pg_toast_1260_index ``` and privileges: ``` @@ -2945,41 +2945,43 @@ ERROR: permission denied for table maintain_test REINDEX INDEX maintain_test_a_idx; -ERROR: permission denied for index maintain_test_a_idx +ERROR: must be owner of index maintain_test_a_idx REINDEX SCHEMA reindex_test; REINDEX INDEX maintain_test_a_idx; +ERROR: must be owner of index maintain_test_a_idx REINDEX SCHEMA reindex_test; ``` The fix updates function `RangeVarCallbackForReindexIndex()` in `index.c` with changes made by the introduction of the [MAINTAIN privilege in PG17](https://git.postgresql.org/gitweb/?p=postgresql.git;a=commitdiff;h=ecb0fd337) to the function `RangeVarCallbackForReindexIndex()` in `indexcmds.c`. The code is under a Postgres 17 version directive, which can be removed when 17 becomes the oldest supported Postgres version.
Naisila Puka (naisila)
added a commit
that referenced
this pull request
Mar 12, 2025
This is the final commit that adds PG17 compatibility with Citus's current capabilities. You can use Citus community, release-13.0 branch, with PG17.1. --------- Specifically, this commit: - Enables PG17 in the configure script. - Adds PG17 tests to CI using test images that have 17.1 - Fixes an upgrade test: see below for details In `citus_prepare_upgrade()`, don't drop any_value when upgrading from PG16+, because PG16+ has its own any_value function. Attempting to do so results in the error seen in [pg16-pg17 upgrade](https://github.com/citusdata/citus/actions/runs/11768444117/job/32778340003?pr=7661): ``` ERROR: cannot drop function any_value(anyelement) because it is required by the database system CONTEXT: SQL statement "DROP AGGREGATE IF EXISTS pg_catalog.any_value(anyelement)" ``` When 16 becomes the minimum supported Postgres version, the drop statements can be removed. --------- Several PG17 Compatibility commits have been merged before this final one. All these subtasks are done #7653 See the list below: Compilation PR: #7699 Ruleutils PR: #7725 Sister PR for tests: citusdata/the-process#159 Helpful smaller PRs: - #7714 - #7726 - #7731 - #7732 - #7733 - #7738 - #7745 - #7747 - #7748 - #7749 - #7752 - #7755 - #7757 - #7759 - #7760 - #7761 - #7762 - #7765 - #7766 - #7768 - #7769 - #7771 - #7774 - #7776 - #7780 - #7781 - #7785 - #7788 - #7793 - #7796 --------- Co-authored-by: Colm <colmmchugh@microsoft.com>
Naisila Puka (naisila)
pushed a commit
that referenced
this pull request
Mar 12, 2025
…ts (#7766) PG17 regress sanity (#7653) fix; address diffs in vanilla tests `create_index` and `privileges`. There is a change from `permission denied` to `must be owner of`, seen in create_index: ``` @@ -2970,21 +2970,21 @@ REINDEX TABLE pg_toast.pg_toast_1260; ERROR: permission denied for table pg_toast_1260 REINDEX INDEX pg_toast.pg_toast_1260_index; -ERROR: permission denied for index pg_toast_1260_index +ERROR: must be owner of index pg_toast_1260_index ``` and privileges: ``` @@ -2945,41 +2945,43 @@ ERROR: permission denied for table maintain_test REINDEX INDEX maintain_test_a_idx; -ERROR: permission denied for index maintain_test_a_idx +ERROR: must be owner of index maintain_test_a_idx REINDEX SCHEMA reindex_test; REINDEX INDEX maintain_test_a_idx; +ERROR: must be owner of index maintain_test_a_idx REINDEX SCHEMA reindex_test; ``` The fix updates function `RangeVarCallbackForReindexIndex()` in `index.c` with changes made by the introduction of the [MAINTAIN privilege in PG17](https://git.postgresql.org/gitweb/?p=postgresql.git;a=commitdiff;h=ecb0fd337) to the function `RangeVarCallbackForReindexIndex()` in `indexcmds.c`. The code is under a Postgres 17 version directive, which can be removed when 17 becomes the oldest supported Postgres version.
Naisila Puka (naisila)
added a commit
that referenced
this pull request
Mar 12, 2025
This is the final commit that adds PG17 compatibility with Citus's current capabilities. You can use Citus community, release-13.0 branch, with PG17.1. --------- Specifically, this commit: - Enables PG17 in the configure script. - Adds PG17 tests to CI using test images that have 17.1 - Fixes an upgrade test: see below for details In `citus_prepare_upgrade()`, don't drop any_value when upgrading from PG16+, because PG16+ has its own any_value function. Attempting to do so results in the error seen in [pg16-pg17 upgrade](https://github.com/citusdata/citus/actions/runs/11768444117/job/32778340003?pr=7661): ``` ERROR: cannot drop function any_value(anyelement) because it is required by the database system CONTEXT: SQL statement "DROP AGGREGATE IF EXISTS pg_catalog.any_value(anyelement)" ``` When 16 becomes the minimum supported Postgres version, the drop statements can be removed. --------- Several PG17 Compatibility commits have been merged before this final one. All these subtasks are done #7653 See the list below: Compilation PR: #7699 Ruleutils PR: #7725 Sister PR for tests: citusdata/the-process#159 Helpful smaller PRs: - #7714 - #7726 - #7731 - #7732 - #7733 - #7738 - #7745 - #7747 - #7748 - #7749 - #7752 - #7755 - #7757 - #7759 - #7760 - #7761 - #7762 - #7765 - #7766 - #7768 - #7769 - #7771 - #7774 - #7776 - #7780 - #7781 - #7785 - #7788 - #7793 - #7796 --------- Co-authored-by: Colm <colmmchugh@microsoft.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
PG17 regress sanity (#7653) fix; address diffs in vanilla tests
create_indexandprivileges. There is a change frompermission deniedtomust be owner of, seen in create_index:and privileges:
The fix updates function
RangeVarCallbackForReindexIndex()inindex.cwith changes made by the introduction of the MAINTAIN privilege in PG17 to the functionRangeVarCallbackForReindexIndex()inindexcmds.c. The code is under a Postgres 17 version directive, which can be removed when 17 becomes the oldest supported Postgres version.