Skip to content

CI: run the PL/pgSQL regression tests - #2240

Open
tuhaihe wants to merge 2 commits into
apache:mainfrom
tuhaihe:ci-plpgsql
Open

tuhaihe wants to merge 2 commits into
apache:mainfrom
tuhaihe:ci-plpgsql

Conversation

@tuhaihe

@tuhaihe tuhaihe commented Nov 4, 2026

Copy link
Copy Markdown
Member

CI does not run the regression tests in src/pl/plpgsql/src, so nobody sees when they break.

Add an ic-plpgsql test job that runs them on Rocky 8, 9 and 10.

Assisted-by: Claude Code

Fixes #ISSUE_Number

What does this PR do?

Type of Change

  • Bug fix (non-breaking change)
  • New feature (non-breaking change)
  • Breaking change (fix or feature with breaking changes)
  • Documentation update

Breaking Changes

Test Plan

  • Unit tests added/updated
  • Integration tests added/updated
  • Passed make installcheck
  • Passed make -C src/test installcheck-cbdb-parallel

Impact

Performance:

User-facing changes:

Dependencies:

Checklist

Additional Context

CI Skip Instructions


CI does not run the regression tests in src/pl/plpgsql/src, so nobody
sees when they break.

Add an ic-plpgsql test job that runs them on Rocky 8, 9 and 10.

Assisted-by: Claude Code
PostgreSQL 16 does not allow RESET of the transaction isolation level
(commit 3853664), so the test now sets SERIALIZABLE as the third
level instead.  The REL_16_9 merge took the new test and its expected
output.  Cloudberry does not support serializable and uses repeatable
read instead (see check_transaction_isolation()), so the test reports:

  -INFO:  serializable
  +INFO:  repeatable read

Expect "repeatable read".  The test still shows that SET TRANSACTION
after COMMIT has an effect, because the new transaction otherwise uses
read committed.  Now the suite passes 13 of 13 on Rocky 8, 9 and 10,
instead of 12.

Assisted-by: Claude Code
@tuhaihe

tuhaihe commented Nov 4, 2026 •

Copy link
Copy Markdown
Member Author
diff -I HINT: -I CONTEXT: -I GP_IGNORE: -U3 /__w/cloudberry/cloudberry/src/pl/plpgsql/src/expected/plpgsql_transaction.out /__w/cloudberry/cloudberry/src/pl/plpgsql/src/results/plpgsql_transaction.out
--- /__w/cloudberry/cloudberry/src/pl/plpgsql/src/expected/plpgsql_transaction.out	2026-11-04 00:34:47.308907779 -0800
+++ /__w/cloudberry/cloudberry/src/pl/plpgsql/src/results/plpgsql_transaction.out	2026-11-04 00:34:47.313907825 -0800
@@ -581,7 +581,7 @@
 $$;
 INFO:  read committed
 INFO:  repeatable read
-INFO:  serializable
+INFO:  repeatable read
 -- error cases
 DO LANGUAGE plpgsql $$
 BEGIN

Let us add commits to fix the failed test.

@yjhjstz

yjhjstz commented Nov 4, 2026

Copy link
Copy Markdown
Member

We need to gather those small tests into one pipeline.

@tuhaihe

tuhaihe commented Nov 5, 2026

Copy link
Copy Markdown
Member Author

We need to gather those small tests into one pipeline.

Will do. These separate PRs target the failing tests; once all are fixed, I’ll consolidate them into one.

@tuhaihe

tuhaihe commented Nov 5, 2026

Copy link
Copy Markdown
Member Author

Note: This separate PR addresses the failing test and is easy to review; once fixed, I’ll consolidate the similar tests into one.

@leborchuk leborchuk left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

LGTM

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: In Progress

Development

Successfully merging this pull request may close these issues.

3 participants