Skip to content

Commit 98d0b09

Browse files
committed
PAX: Change the default catalog to auxiliary table and enable CI
Manifest metadata implementation in PAX is still an experimental feature. Current commit changes the default catalog implementation to the auxiliary table implementation. Also, PAX tests are added to cloudberry's CI
1 parent f0e5d01 commit 98d0b09

8 files changed

Lines changed: 66 additions & 22 deletions

File tree

.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"

configure

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9124,11 +9124,11 @@ $as_echo "#define USE_PAX_STORAGE 1" >>confdefs.h
91249124
esac
91259125

91269126
else
9127-
enable_pax=no
9128-
9127+
enable_pax=yes
9128+
9129+
$as_echo "#define USE_PAX_STORAGE 1" >>confdefs.h
91299130
fi
91309131

9131-
91329132
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: checking whether to build with pax support ... $enable_pax" >&5
91339133
$as_echo "checking whether to build with pax support ... $enable_pax" >&6; }
91349134

configure.ac

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -928,11 +928,11 @@ AC_SUBST(enable_preload_ic_module)
928928
#
929929
# pax support
930930
#
931-
PGAC_ARG_BOOL(enable, pax, no,
932-
[enable pax support],
931+
PGAC_ARG_BOOL(enable, pax, yes,
932+
[disable PAX support],
933933
[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])
934+
[Define to 1 to support PAX])])
935+
AC_MSG_RESULT([checking whether to build with PAX support ... $enable_pax])
936936
AC_SUBST(enable_pax)
937937

938938
#

contrib/pax_storage/.gitmodules

Lines changed: 0 additions & 10 deletions
This file was deleted.

contrib/pax_storage/CMakeLists.txt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,15 +8,15 @@ set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
88
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra -Werror -Wno-unused-function -Wno-redundant-move -Wno-error=redundant-move -Wno-error=ignored-qualifiers -Wuninitialized -Winit-self -Wstrict-aliasing -Wno-missing-field-initializers -Wno-unused-parameter -Wno-clobbered -Wno-sized-deallocation -g")
99
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Wno-unused-parameter -Wno-parameter-name")
1010

11-
option(USE_MANIFEST_API "Use manifest API" ON)
12-
option(USE_PAX_CATALOG "Use manifest API, by pax impl" OFF)
11+
option(USE_MANIFEST_API "Use manifest API" OFF)
12+
option(USE_PAX_CATALOG "Use manifest API, by pax impl" ON)
1313

1414
# Build gtest options
1515
option(BUILD_GTEST "Build with google test" ON)
1616
option(BUILD_GBENCH "Build with google benchmark" ON)
1717

1818
# Build pax tools
19-
option(BUILD_TOOLS "Build with pax tools" ON)
19+
option(BUILD_TOOLS "Build with pax tools" OFF)
2020

2121
# Build with return dictionary in record batch
2222
option(BUILD_RB_RET_DICT "Build with pax direct return dictionary in record batch." OFF)

contrib/pax_storage/Makefile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,11 +39,11 @@ USE_PAX_CATALOG := $(shell echo $$USE_PAX_CATALOG)
3939

4040
# if the ENVs are not set, set default value
4141
ifeq ($(USE_MANIFEST_API),)
42-
USE_MANIFEST_API := ON
42+
USE_MANIFEST_API := OFF
4343
endif
4444

4545
ifeq ($(USE_PAX_CATALOG),)
46-
USE_PAX_CATALOG := OFF
46+
USE_PAX_CATALOG := ON
4747
endif
4848

4949
.PHONY: install-data build

0 commit comments

Comments
 (0)