Skip to content

Commit 893a364

Browse files
authored
Merge branch 'main' into cherry-pick-pg_dump
2 parents fb38794 + 1cbab9b commit 893a364

2,461 files changed

Lines changed: 1938326 additions & 1046 deletions

File tree

Some content is hidden

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

.asf.yaml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,10 @@ github:
9090
- RPM Install Test Apache Cloudberry
9191
- ic-good-opt-off
9292
- ic-good-opt-on
93+
- pax-ic-good-opt-off
94+
- pax-ic-good-opt-on
95+
- pax-ic-isolation2-opt-off
96+
- pax-ic-isolation2-opt-on
9397
- ic-expandshrink
9498
- ic-singlenode
9599
- ic-resgroup-v2

.github/workflows/build-cloudberry.yml

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -230,6 +230,42 @@ jobs:
230230
"make_configs":["src/test/regress:installcheck-good"],
231231
"pg_settings":{"optimizer":"on"}
232232
},
233+
{"test":"pax-ic-good-opt-off",
234+
"make_configs":[
235+
"contrib/pax_storage/:pax-test",
236+
"contrib/pax_storage/:regress_test"
237+
],
238+
"pg_settings":{
239+
"optimizer":"off",
240+
"default_table_access_method":"pax"
241+
}
242+
},
243+
{"test":"pax-ic-good-opt-on",
244+
"make_configs":[
245+
"contrib/pax_storage/:pax-test",
246+
"contrib/pax_storage/:regress_test"
247+
],
248+
"pg_settings":{
249+
"optimizer":"on",
250+
"default_table_access_method":"pax"
251+
}
252+
},
253+
{"test":"pax-ic-isolation2-opt-off",
254+
"make_configs":["contrib/pax_storage/:isolation2_test"],
255+
"pg_settings":{
256+
"optimizer":"off",
257+
"default_table_access_method":"pax"
258+
},
259+
"enable_core_check":false
260+
},
261+
{"test":"pax-ic-isolation2-opt-on",
262+
"make_configs":["contrib/pax_storage/:isolation2_test"],
263+
"pg_settings":{
264+
"optimizer":"on",
265+
"default_table_access_method":"pax"
266+
},
267+
"enable_core_check":false
268+
},
233269
{"test":"ic-expandshrink",
234270
"make_configs":["src/test/isolation2:installcheck-expandshrink"]
235271
},
@@ -482,6 +518,11 @@ jobs:
482518
run: |
483519
set -eo pipefail
484520
521+
if ! time su - gpadmin -c "cd ${SRC_DIR} && git submodule update --init"; then
522+
echo "::error::Fail to pull submodule."
523+
exit 1
524+
fi
525+
485526
chmod +x "${SRC_DIR}"/../cloudberry-devops-release/build_automation/cloudberry/scripts/build-cloudberry.sh
486527
if ! time su - gpadmin -c "cd ${SRC_DIR} && SRC_DIR=${SRC_DIR} ${SRC_DIR}/../cloudberry-devops-release/build_automation/cloudberry/scripts/build-cloudberry.sh"; then
487528
echo "::error::Build script failed"
@@ -1267,6 +1308,10 @@ jobs:
12671308
PG_OPTS="$PG_OPTS -c optimizer=${{ matrix.pg_settings.optimizer }}"
12681309
fi
12691310
1311+
if [[ "${{ matrix.pg_settings.default_table_access_method != '' }}" == "true" ]]; then
1312+
PG_OPTS="$PG_OPTS -c default_table_access_method=${{ matrix.pg_settings.default_table_access_method }}"
1313+
fi
1314+
12701315
# Read configs into array
12711316
IFS=' ' read -r -a configs <<< "${{ join(matrix.make_configs, ' ') }}"
12721317

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

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -427,6 +427,11 @@ jobs:
427427
run: |
428428
set -eo pipefail
429429
430+
if ! time su - gpadmin -c "cd ${SRC_DIR} && git submodule update --init"; then
431+
echo "::error::Fail to pull submodule."
432+
exit 1
433+
fi
434+
430435
chmod +x "${SRC_DIR}"/../cloudberry-devops-release/build_automation/cloudberry/scripts/build-cloudberry.sh
431436
if ! time su - gpadmin -c "cd ${SRC_DIR} && SRC_DIR=${SRC_DIR} ${SRC_DIR}/../cloudberry-devops-release/build_automation/cloudberry/scripts/build-cloudberry.sh"; then
432437
echo "::error::Build script failed"

.github/workflows/coverity.yml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -90,12 +90,14 @@ jobs:
9090
su - gpadmin -c "cd $WORKSPACE"
9191
export LD_LIBRARY_PATH=/usr/local/cloudberry-db/lib:LD_LIBRARY_PATH
9292
export PATH=$WORKSPACE/coverity_tool/bin:$PATH
93+
git submodule update --init
9394
./configure --prefix=/usr/local/cloudberry-db \
9495
--disable-external-fts \
9596
--enable-gpcloud \
9697
--enable-ic-proxy \
9798
--enable-orafce \
9899
--enable-orca \
100+
--enable-pax \
99101
--enable-pxf \
100102
--enable-tap-tests \
101103
--with-gssapi \
@@ -122,4 +124,4 @@ jobs:
122124
--form file=@cov.tar.gz \
123125
--form version="Commit $GITHUB_SHA" \
124126
--form description="Build submitted via CI" \
125-
https://scan.coverity.com/builds?project=apache%2Fcloudberry
127+
https://scan.coverity.com/builds?project=apache%2Fcloudberry

.gitmodules

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,20 @@
11
[submodule "gpcontrib/gpcloud/test/googletest"]
22
path = gpcontrib/gpcloud/test/googletest
33
url = https://github.com/google/googletest.git
4+
[submodule "contrib/pax_storage/src/cpp/contrib/googletest"]
5+
path = contrib/pax_storage/src/cpp/contrib/googletest
6+
url = https://github.com/google/googletest.git
7+
branch = v1.15.x
8+
[submodule "contrib/pax_storage/src/cpp/contrib/tabulate"]
9+
path = contrib/pax_storage/src/cpp/contrib/tabulate
10+
url = https://github.com/p-ranav/tabulate.git
11+
[submodule "contrib/pax_storage/src/cpp/contrib/googlebench"]
12+
path = contrib/pax_storage/src/cpp/contrib/googlebench
13+
url = https://github.com/google/benchmark.git
14+
[submodule "contrib/pax_storage/src/cpp/contrib/cpp-stub"]
15+
path = contrib/pax_storage/src/cpp/contrib/cpp-stub
16+
url = https://github.com/coolxv/cpp-stub.git
17+
[submodule "dependency/yyjson"]
18+
path = dependency/yyjson
19+
url = https://github.com/ibireme/yyjson.git
20+

GNUmakefile.in

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,9 @@ all:
3131
$(MAKE) -C contrib/pg_buffercache all
3232
ifeq ($(with_openssl), yes)
3333
$(MAKE) -C contrib/sslinfo all
34+
endif
35+
ifeq ($(enable_pax), yes)
36+
$(MAKE) -C contrib/pax_storage all
3437
endif
3538
$(MAKE) -C gpMgmt all
3639
$(MAKE) -C gpcontrib all
@@ -73,6 +76,9 @@ install:
7376
$(MAKE) -C contrib/tablefunc $@
7477
$(MAKE) -C contrib/passwordcheck $@
7578
$(MAKE) -C contrib/pg_buffercache $@
79+
ifeq ($(enable_pax), yes)
80+
$(MAKE) -C contrib/pax_storage $@
81+
endif
7682
ifeq ($(with_openssl), yes)
7783
$(MAKE) -C contrib/sslinfo $@
7884
endif
@@ -180,6 +186,9 @@ ICW_TARGETS += contrib/extprotocol contrib/dblink contrib/pg_trgm
180186
ICW_TARGETS += contrib/indexscan contrib/hstore contrib/pgcrypto
181187
ICW_TARGETS += contrib/tablefunc contrib/passwordcheck
182188
ICW_TARGETS += contrib/pg_buffercache
189+
ifeq ($(enable_pax), yes)
190+
ICW_TARGETS += contrib/pax_storage
191+
endif
183192
# sslinfo depends on openssl
184193
ifeq ($(with_openssl), yes)
185194
ICW_TARGETS += contrib/sslinfo

configure

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -751,6 +751,7 @@ ICU_CFLAGS
751751
with_icu
752752
enable_thread_safety
753753
INCLUDES
754+
enable_pax
754755
enable_preload_ic_module
755756
enable_ic_proxy
756757
enable_external_fts
@@ -901,6 +902,7 @@ enable_gpcloud
901902
enable_external_fts
902903
enable_ic_proxy
903904
enable_preload_ic_module
905+
enable_pax
904906
enable_thread_safety
905907
with_icu
906908
with_tcl
@@ -1616,6 +1618,7 @@ Optional Features:
16161618
library)
16171619
--disable-preload-ic-module
16181620
disable preload interconnect module
1621+
--enable-pax enable pax support
16191622
--disable-thread-safety disable thread-safety in client libraries
16201623
--enable-openssl-redirect
16211624
enable redirect openssl interface to internal
@@ -9098,6 +9101,36 @@ fi
90989101
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: checking whether to build with preload ic module ... $enable_preload_ic_module" >&5
90999102
$as_echo "checking whether to build with preload ic module ... $enable_preload_ic_module" >&6; }
91009103

9104+
#
9105+
# pax support
9106+
#
9107+
9108+
9109+
# Check whether --enable-pax was given.
9110+
if test "${enable_pax+set}" = set; then :
9111+
enableval=$enable_pax;
9112+
case $enableval in
9113+
yes)
9114+
9115+
$as_echo "#define USE_PAX_STORAGE 1" >>confdefs.h
9116+
9117+
;;
9118+
no)
9119+
:
9120+
;;
9121+
*)
9122+
as_fn_error $? "no argument expected for --enable-pax option" "$LINENO" 5
9123+
;;
9124+
esac
9125+
9126+
else
9127+
enable_pax=yes
9128+
9129+
$as_echo "#define USE_PAX_STORAGE 1" >>confdefs.h
9130+
fi
9131+
9132+
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: checking whether to build with pax support ... $enable_pax" >&5
9133+
$as_echo "checking whether to build with pax support ... $enable_pax" >&6; }
91019134

91029135
#
91039136
# Include directories

configure.ac

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -925,6 +925,16 @@ PGAC_ARG_BOOL(enable, preload-ic-module, yes,
925925
AC_MSG_RESULT([checking whether to build with preload ic module ... $enable_preload_ic_module])
926926
AC_SUBST(enable_preload_ic_module)
927927

928+
#
929+
# pax support
930+
#
931+
PGAC_ARG_BOOL(enable, pax, yes,
932+
[disable PAX support],
933+
[AC_DEFINE(USE_PAX_STORAGE, 1,
934+
[Define to 1 to support PAX])])
935+
AC_MSG_RESULT([checking whether to build with PAX support ... $enable_pax])
936+
AC_SUBST(enable_pax)
937+
928938
#
929939
# Include directories
930940
#

contrib/Makefile

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,12 @@ else
9898
ALWAYS_SUBDIRS += hstore_plpython jsonb_plpython ltree_plpython
9999
endif
100100

101+
ifeq ($(enable_pax),yes)
102+
SUBDIRS += pax_storage
103+
else
104+
ALWAYS_SUBDIRS += pax_storage
105+
endif
106+
101107
# Missing:
102108
# start-scripts \ (does not have a makefile)
103109

0 commit comments

Comments
 (0)