Skip to content

CI: run the libpq_pipeline module tests - #2260

Open
tuhaihe wants to merge 3 commits into
apache:mainfrom
tuhaihe:ci-libpq-pipeline
Open

tuhaihe wants to merge 3 commits into
apache:mainfrom
tuhaihe:ci-libpq-pipeline

Conversation

@tuhaihe

@tuhaihe tuhaihe commented Nov 6, 2026

Copy link
Copy Markdown
Member

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


The test steps join make_configs with spaces and then split the result
on spaces.  An entry that contains a space, such as "dir:all
installcheck", becomes two configurations, and the second one has no
directory.

Join the entries with newlines and read one entry per line instead.
All current entries give the same configurations as before.  apache#2237
has the same change.

Assisted-by: Claude Code
CI does not run the TAP tests in src/test/modules/libpq_pipeline, so
nobody sees when the libpq pipeline mode breaks.

Add an ic-libpq-pipeline test job that runs them on Rocky 8, 9 and 10.
The test program is not installed (NO_INSTALL), and installcheck does
not build it, so run "all installcheck".

Assisted-by: Claude Code
Since the REL_16_9 merge, CREATE UNLOGGED TABLE fails when the table
has a serial or identity column:

  CREATE UNLOGGED TABLE t (id serial, b text);
  ERROR:  unlogged sequences are not supported

PostgreSQL 15 added unlogged sequences, and an identity or serial
sequence now gets the persistence of its table (upstream commit
344d62f).  The merge took that change, but kept the check in
DefineSequence() that rejects unlogged sequences, because Cloudberry
does not support them.  So an unlogged table can no longer have a
serial or identity column.  Before the merge, its sequence was logged
and the table was created.  The libpq_pipeline test fails because of
this, and several regression tests expect the error.

Create the sequence of an unlogged table as a logged sequence, as
before PostgreSQL 15.  For the same reason, ALTER TABLE ... SET
UNLOGGED does not change the owned sequences of the table any more.
An explicit UNLOGGED option for the sequence still gets the error.

Update the expected output of identity, alter_table and spgist, and of
the pax and singlenode copies, which now show the created tables and
the logged sequences.

Assisted-by: Claude Code
else if (seqpersistence == RELPERSISTENCE_UNLOGGED)
{
/*
* Cloudberry does not support unlogged sequences. So the sequence of

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.

Do we really not support unlogged sequences or it's just a rebasing mistake?

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.

2 participants