Fix build against PG16 headers: Value node removal and missing htonl decl - #123
Fix build against PG16 headers: Value node removal and missing htonl decl#123chenjinbao1989 wants to merge 2 commits into
Conversation
|
Compilation with cloudberry 2.x got broken. e.g. in Test PXF - fdw |
|
I see external-table/test/pxfprotocol_test.c file still use |
|
Besides the cloudberry-pxf/.github/workflows/pxf-ci.yml Lines 38 to 44 in 75cf1f6 Then we can verify if the changes work, right? |
|
I think that we can support cloudberry 2.x and 3.x in a single cloudberry-pxf codebase with some |
Use Node pointers for makeString results so the same source compiles with both the legacy Value return type and the newer String return type. Include arpa/inet.h for the byte-order helpers.
Build Rocky 9 RPMs for both Cloudberry branches using ref- and commit-scoped caches. Record package provenance, verify the installed PostgreSQL major version, and force clean native builds in copied test workspaces.
e4a6c8f to
e9bbed1
Compare
|
Updated the PR:
Verified in CI run 33731109264:
Both native-extension build jobs passed. |
Summary
Node *formakeString()results so the same source works before and after PostgreSQL split theValuenode types.<arpa/inet.h>forhtonl(),ntohl(),htons(), andntohs()declarations.REL_2_STABLEandmain.Why
PostgreSQL 15 replaced the generic
Valuestring node withString. Cloudberry 2.x still uses the older API, while Cloudberry main uses the newer API. Using the commonNodebase type keeps one PXF source tree compatible with both.Cloudberry CI packages currently use the synthetic package version
99.0.0, so the package version alone cannot identify the source branch. The build ref, commit, and expected PostgreSQL major version are now carried with the RPM artifact and checked during installation.Validation
external-tableandfdwbuild successfully against a local Cloudberry 3.0.0-devel / PostgreSQL 16.9 installation.REL_2_STABLEandmainRPMs independently.