Skip to content

Commit ebe8489

Browse files
authored
Merge branch 'main' into pgupgrade_fixes
2 parents 608dcda + da9a5ae commit ebe8489

File tree

569 files changed

+46291
-1506
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

569 files changed

+46291
-1506
lines changed

.github/workflows/build-cloudberry-rocky8.yml

Lines changed: 1942 additions & 0 deletions
Large diffs are not rendered by default.

.github/workflows/build-cloudberry.yml

Lines changed: 44 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -271,6 +271,10 @@ jobs:
271271
},
272272
"enable_core_check":false
273273
},
274+
{"test":"gpcontrib-gp-stats-collector",
275+
"make_configs":["gpcontrib/gp_stats_collector:installcheck"],
276+
"extension":"gp_stats_collector"
277+
},
274278
{"test":"ic-expandshrink",
275279
"make_configs":["src/test/isolation2:installcheck-expandshrink"]
276280
},
@@ -309,11 +313,15 @@ jobs:
309313
},
310314
{"test":"ic-gpcontrib",
311315
"make_configs":["gpcontrib/orafce:installcheck",
312-
"gpcontrib/pxf_fdw:installcheck",
313316
"gpcontrib/zstd:installcheck",
314317
"gpcontrib/gp_sparse_vector:installcheck",
315318
"gpcontrib/gp_toolkit:installcheck",
316-
"gpcontrib/gp_exttable_fdw:installcheck"]
319+
"gpcontrib/gp_exttable_fdw:installcheck",
320+
"gpcontrib/gp_internal_tools:installcheck"]
321+
},
322+
{"test":"ic-diskquota",
323+
"make_configs":["gpcontrib/diskquota:installcheck"],
324+
"shared_preload_libraries":"diskquota-2.3"
317325
},
318326
{"test":"ic-fixme",
319327
"make_configs":["src/test/regress:installcheck-fixme"],
@@ -1380,7 +1388,15 @@ jobs:
13801388
13811389
{
13821390
chmod +x "${SRC_DIR}"/devops/build/automation/cloudberry/scripts/create-cloudberry-demo-cluster.sh
1383-
if ! time su - gpadmin -c "cd ${SRC_DIR} && NUM_PRIMARY_MIRROR_PAIRS='${{ matrix.num_primary_mirror_pairs }}' SRC_DIR=${SRC_DIR} ${SRC_DIR}/devops/build/automation/cloudberry/scripts/create-cloudberry-demo-cluster.sh"; then
1391+
1392+
# Build BLDWRAP_POSTGRES_CONF_ADDONS for shared_preload_libraries if specified
1393+
EXTRA_CONF=""
1394+
if [[ -n "${{ matrix.shared_preload_libraries }}" ]]; then
1395+
EXTRA_CONF="shared_preload_libraries='${{ matrix.shared_preload_libraries }}'"
1396+
echo "Adding shared_preload_libraries: ${{ matrix.shared_preload_libraries }}"
1397+
fi
1398+
1399+
if ! time su - gpadmin -c "cd ${SRC_DIR} && NUM_PRIMARY_MIRROR_PAIRS='${{ matrix.num_primary_mirror_pairs }}' BLDWRAP_POSTGRES_CONF_ADDONS=\"${EXTRA_CONF}\" SRC_DIR=${SRC_DIR} ${SRC_DIR}/devops/build/automation/cloudberry/scripts/create-cloudberry-demo-cluster.sh"; then
13841400
echo "::error::Demo cluster creation failed"
13851401
exit 1
13861402
fi
@@ -1391,6 +1407,7 @@ jobs:
13911407
if: success() && needs.check-skip.outputs.should_skip != 'true'
13921408
env:
13931409
SRC_DIR: ${{ github.workspace }}
1410+
BUILD_DESTINATION: /usr/local/cloudberry-db
13941411
shell: bash {0}
13951412
run: |
13961413
set -o pipefail
@@ -1420,6 +1437,30 @@ jobs:
14201437
PG_OPTS="$PG_OPTS -c optimizer=${{ matrix.pg_settings.optimizer }}"
14211438
fi
14221439
1440+
# Create extension if required
1441+
if [[ "${{ matrix.extension != '' }}" == "true" ]]; then
1442+
case "${{ matrix.extension }}" in
1443+
gp_stats_collector)
1444+
if ! su - gpadmin -c "source ${BUILD_DESTINATION}/cloudberry-env.sh && \
1445+
source ${SRC_DIR}/gpAux/gpdemo/gpdemo-env.sh && \
1446+
gpconfig -c shared_preload_libraries -v 'gp_stats_collector' && \
1447+
gpstop -ra && \
1448+
echo 'CREATE EXTENSION IF NOT EXISTS gp_stats_collector; \
1449+
SHOW shared_preload_libraries; \
1450+
TABLE pg_extension;' | \
1451+
psql postgres"
1452+
then
1453+
echo "Error creating gp_stats_collector extension"
1454+
exit 1
1455+
fi
1456+
;;
1457+
*)
1458+
echo "Unknown extension: ${{ matrix.extension }}"
1459+
exit 1
1460+
;;
1461+
esac
1462+
fi
1463+
14231464
if [[ "${{ matrix.pg_settings.default_table_access_method != '' }}" == "true" ]]; then
14241465
PG_OPTS="$PG_OPTS -c default_table_access_method=${{ matrix.pg_settings.default_table_access_method }}"
14251466
fi

.github/workflows/build-deb-cloudberry.yml

Lines changed: 47 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -248,11 +248,14 @@ jobs:
248248
},
249249
{"test":"ic-deb-gpcontrib",
250250
"make_configs":["gpcontrib/orafce:installcheck",
251-
"gpcontrib/pxf_fdw:installcheck",
252251
"gpcontrib/zstd:installcheck",
253252
"gpcontrib/gp_sparse_vector:installcheck",
254253
"gpcontrib/gp_toolkit:installcheck"]
255254
},
255+
{"test":"gpcontrib-gp-stats-collector",
256+
"make_configs":["gpcontrib/gp_stats_collector:installcheck"],
257+
"extension":"gp_stats_collector"
258+
},
256259
{"test":"ic-cbdb-parallel",
257260
"make_configs":["src/test/regress:installcheck-cbdb-parallel"]
258261
}
@@ -555,8 +558,15 @@ jobs:
555558
exit 1
556559
fi
557560
558-
ARCH="amd64"
559-
CBDB_PKG_VERSION=${CBDB_VERSION}-${BUILD_NUMBER}-$(git --git-dir=.git rev-list HEAD --count).$(git --git-dir=.git rev-parse --short HEAD)
561+
ARCH=$(dpkg --print-architecture)
562+
# Detect OS distribution (e.g., ubuntu22.04, debian12)
563+
if [ -f /etc/os-release ]; then
564+
. /etc/os-release
565+
OS_DISTRO=$(echo "${ID}${VERSION_ID}" | tr '[:upper:]' '[:lower:]')
566+
else
567+
OS_DISTRO="unknown"
568+
fi
569+
CBDB_PKG_VERSION=${CBDB_VERSION}-${BUILD_NUMBER}-${OS_DISTRO}
560570
561571
echo "Produced artifacts"
562572
ls -l ../
@@ -1316,7 +1326,15 @@ jobs:
13161326
13171327
{
13181328
chmod +x "${SRC_DIR}"/devops/build/automation/cloudberry/scripts/create-cloudberry-demo-cluster.sh
1319-
if ! time su - gpadmin -c "cd ${SRC_DIR} && NUM_PRIMARY_MIRROR_PAIRS='${{ matrix.num_primary_mirror_pairs }}' SRC_DIR=${SRC_DIR} ${SRC_DIR}/devops/build/automation/cloudberry/scripts/create-cloudberry-demo-cluster.sh"; then
1329+
1330+
# Build BLDWRAP_POSTGRES_CONF_ADDONS for shared_preload_libraries if specified
1331+
EXTRA_CONF=""
1332+
if [[ -n "${{ matrix.shared_preload_libraries }}" ]]; then
1333+
EXTRA_CONF="shared_preload_libraries='${{ matrix.shared_preload_libraries }}'"
1334+
echo "Adding shared_preload_libraries: ${{ matrix.shared_preload_libraries }}"
1335+
fi
1336+
1337+
if ! time su - gpadmin -c "cd ${SRC_DIR} && NUM_PRIMARY_MIRROR_PAIRS='${{ matrix.num_primary_mirror_pairs }}' BLDWRAP_POSTGRES_CONF_ADDONS=\"${EXTRA_CONF}\" SRC_DIR=${SRC_DIR} ${SRC_DIR}/devops/build/automation/cloudberry/scripts/create-cloudberry-demo-cluster.sh"; then
13201338
echo "::error::Demo cluster creation failed"
13211339
exit 1
13221340
fi
@@ -1327,6 +1345,7 @@ jobs:
13271345
if: success() && needs.check-skip.outputs.should_skip != 'true'
13281346
env:
13291347
SRC_DIR: ${{ github.workspace }}
1348+
BUILD_DESTINATION: ${{ github.workspace }}/debian/build
13301349
shell: bash {0}
13311350
run: |
13321351
set -o pipefail
@@ -1351,6 +1370,30 @@ jobs:
13511370
# 3. Update matrix entries to include the new setting
13521371
13531372
1373+
# Create extension if required
1374+
if [[ "${{ matrix.extension != '' }}" == "true" ]]; then
1375+
case "${{ matrix.extension }}" in
1376+
gp_stats_collector)
1377+
if ! su - gpadmin -c "source ${BUILD_DESTINATION}/cloudberry-env.sh && \
1378+
source ${SRC_DIR}/gpAux/gpdemo/gpdemo-env.sh && \
1379+
gpconfig -c shared_preload_libraries -v 'gp_stats_collector' && \
1380+
gpstop -ra && \
1381+
echo 'CREATE EXTENSION IF NOT EXISTS gp_stats_collector; \
1382+
SHOW shared_preload_libraries; \
1383+
TABLE pg_extension;' | \
1384+
psql postgres"
1385+
then
1386+
echo "Error creating gp_stats_collector extension"
1387+
exit 1
1388+
fi
1389+
;;
1390+
*)
1391+
echo "Unknown extension: ${{ matrix.extension }}"
1392+
exit 1
1393+
;;
1394+
esac
1395+
fi
1396+
13541397
# Set PostgreSQL options if defined
13551398
PG_OPTS=""
13561399
if [[ "${{ matrix.pg_settings.optimizer != '' }}" == "true" ]]; then

.github/workflows/coverity.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@ jobs:
9090
/usr/local/cloudberry-db/lib
9191
sudo chown -R gpadmin:gpadmin /usr/local/cloudberry-db
9292
su - gpadmin -c "cd $WORKSPACE"
93-
export LD_LIBRARY_PATH=/usr/local/cloudberry-db/lib:LD_LIBRARY_PATH
93+
export LD_LIBRARY_PATH=/usr/local/cloudberry-db/lib:${LD_LIBRARY_PATH:-""}
9494
export PATH=$WORKSPACE/coverity_tool/bin:$PATH
9595
./configure --prefix=/usr/local/cloudberry-db \
9696
--disable-external-fts \

.github/workflows/docker-cbdb-build-containers.yml

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,7 @@ on:
6161
- 'devops/deploy/docker/build/rocky8/**'
6262
- 'devops/deploy/docker/build/rocky9/**'
6363
- 'devops/deploy/docker/build/ubuntu22.04/**'
64+
- 'devops/deploy/docker/build/ubuntu24.04/**'
6465
pull_request:
6566
paths:
6667
- 'devops/deploy/docker/build/**'
@@ -77,10 +78,10 @@ jobs:
7778
timeout-minutes: 60
7879
runs-on: ubuntu-latest
7980

80-
# Matrix strategy to build for both Rocky Linux 8 and 9, Ubuntu 22.04
81+
# Matrix strategy to build for both Rocky Linux 8 and 9, Ubuntu 22.04 and 24.04
8182
strategy:
8283
matrix:
83-
platform: ['rocky8', 'rocky9', 'ubuntu22.04']
84+
platform: ['rocky8', 'rocky9', 'ubuntu22.04', 'ubuntu24.04']
8485

8586
steps:
8687
# Checkout repository code with full history
@@ -109,6 +110,8 @@ jobs:
109110
- 'devops/deploy/docker/build/rocky9/**'
110111
ubuntu22.04:
111112
- 'devops/deploy/docker/build/ubuntu22.04/**'
113+
ubuntu24.04:
114+
- 'devops/deploy/docker/build/ubuntu24.04/**'
112115
113116
# Set up QEMU for multi-architecture support
114117
# This allows building ARM64 images on AMD64 infrastructure and vice versa

.github/workflows/docker-cbdb-test-containers.yml

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,7 @@ on:
5050
- 'devops/deploy/docker/test/rocky8/**'
5151
- 'devops/deploy/docker/test/rocky9/**'
5252
- 'devops/deploy/docker/test/ubuntu22.04/**'
53+
- 'devops/deploy/docker/test/ubuntu24.04/**'
5354
pull_request:
5455
paths:
5556
- 'devops/deploy/docker/test/**'
@@ -66,8 +67,8 @@ jobs:
6667
runs-on: ubuntu-latest
6768
strategy:
6869
matrix:
69-
# Build for both Rocky Linux 8 and 9, Ubuntu 22.04
70-
platform: ['rocky8', 'rocky9', 'ubuntu22.04']
70+
# Build for Rocky Linux 8 and 9, Ubuntu 22.04 and 24.04
71+
platform: ['rocky8', 'rocky9', 'ubuntu22.04', 'ubuntu24.04']
7172

7273
steps:
7374
# Checkout repository code
@@ -93,6 +94,8 @@ jobs:
9394
- 'devops/deploy/docker/test/rocky9/**'
9495
ubuntu22.04:
9596
- 'devops/deploy/docker/test/ubuntu22.04/**'
97+
ubuntu24.04:
98+
- 'devops/deploy/docker/test/ubuntu24.04/**'
9699
97100
# Skip if no changes for current platform
98101
- name: Skip if not relevant

.github/workflows/sonarqube.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,7 @@ jobs:
9494
/usr/local/xerces-c/lib/libxerces-c-3.3.so \
9595
/usr/local/cloudberry-db/lib
9696
sudo chown -R gpadmin:gpadmin /usr/local/cloudberry-db
97-
export LD_LIBRARY_PATH=/usr/local/cloudberry-db/lib:LD_LIBRARY_PATH
97+
export LD_LIBRARY_PATH=/usr/local/cloudberry-db/lib:${LD_LIBRARY_PATH:-""}
9898
./configure --prefix=/usr/local/cloudberry-db \
9999
--disable-external-fts \
100100
--enable-gpcloud \

.gitignore

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,6 @@ config.status.lineno
4545
autom4te.cache
4646
configure.lineno
4747
Debug
48-
Release
4948
pgsql.sln
5049
cscope.*
5150
build.sh

LICENSE

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -246,7 +246,7 @@ The PostgreSQL software includes:
246246

247247
src/backend/utils/adt/inet_cidr_ntop.c
248248
src/backend/utils/adt/inet_net_pton.c
249-
see licenses/licenses/LICENSE-isc.txt
249+
see licenses/LICENSE-isc.txt
250250

251251
----------------------------
252252
Perl Artistic License 2.0 (exception)
@@ -311,12 +311,18 @@ The Greenplum Database software includes:
311311
gpcontrib/orafce/*
312312
see licenses/LICENSE-orafce.txt
313313

314-
----------------------------
314+
----------------------------
315315
BSD 3 Clause License
316316

317317
gpcontrib/gpcloud/test/googletest
318318
see licenses/LICENSE-googletest.txt
319319

320+
----------------------------
321+
PostgreSQL License
322+
323+
gpcontrib/diskquota/*
324+
see licenses/LICENSE-diskquota.txt
325+
320326
================================================================================
321327
Apache Cloudberry includes codes from
322328

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,7 @@ feedback, and chat:
9494
| New ideas / Feature Requests | Share ideas for new features, visit [GitHub Discussions - Ideas](https://github.com/apache/cloudberry/discussions/categories/ideas-feature-requests). |
9595
| Report bugs | Problems and issues in Apache Cloudberry core. If you find bugs, welcome to submit them [here](https://github.com/apache/cloudberry/issues). |
9696
| Report a security vulnerability | View our [security policy](https://github.com/apache/cloudberry/security/policy) to learn how to report and contact us. |
97-
| Community events | Including meetups, webinars, conferences, and more events, visit the [Events page](https://cloudberry.apache.org/community/events) and subscribe events calendar. |
97+
| Community events | Including meetups, webinars, conferences, and more events, visit the [Events page](https://cloudberry.apache.org/community/events) and subscribe to the events calendar. |
9898
| Documentation | [Official documentation](https://cloudberry.apache.org/docs/) for Cloudberry. You can explore it to discover more details about us. |
9999

100100
## Contribution

0 commit comments

Comments
 (0)