Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add support for upgrade_adapt.sql in cross-version upgrade tests #23

Closed
wants to merge 1 commit into from
Closed

Add support for upgrade_adapt.sql in cross-version upgrade tests #23

wants to merge 1 commit into from

Conversation

michaelpq
Copy link
Contributor

PostgreSQL upstream commit 0df9641d has moved from pg_upgrade's test.sh
to a SQL file the set of SQL commands that are used to clean up a
cluster to-be-upgraded to the latest version on the branch where the
script is located.

Moving to this script in the buildfarm code has two advantages:

  1. It makes possible the deletion of some of the buildfarm client code
    that was previously duplicated with pg_upgrade/test.sh for the same
    cleanup.
  2. Upstream committers could push changes directly to the new SQL file
    pg_upgrade/upgrade_adapt.sql to do any object manipulation in the main
    "regression" database, so as there is no need to change the buildfarm
    code at all.

Nothing is done for the contrib/ modules, and upstream does not have any
test coverage for these with pg_upgrade, contrary to the buildfarm.
Hence, the code cleaned up relates to the database "regression", on
which the main regression suite is run in the case of Postgres.

Note: I think that the code is correct as it stands, including the fact
that $self in test_upgrade() refers to the node on the newer version,
but I have not been able to directly test it with a buildfarm animal.

PostgreSQL upstream commit 0df9641d has moved from pg_upgrade's test.sh
to a SQL file the set of SQL commands that are used to clean up a
cluster to-be-upgraded to the latest version on the branch where the
script is located.

Moving to this script in the buildfarm code has two advantages:
1) It makes possible the deletion of some of the buildfarm client code
that was previously duplicated with pg_upgrade/test.sh for the same
cleanup.
2) Upstream committers could push changes directly to the new SQL file
pg_upgrade/upgrade_adapt.sql to do any object manipulation in the main
"regression" database, so as there is no need to change the buildfarm
code at all.

Nothing is done for the contrib/ modules, and upstream does not have any
test coverage for these with pg_upgrade, contrary to the buildfarm.
Hence, the code cleaned up relates to the database "regression", on
which the main regression suite is run in the case of Postgres.

Note: I think that the code is correct as it stands, including the fact
that $self in test_upgrade() refers to the node on the newer version,
but I have not been able to directly test it with a buildfarm animal.
@michaelpq michaelpq closed this by deleting the head repository Mar 5, 2023
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.

None yet

1 participant