Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
86 commits
Select commit Hold shift + click to select a range
3eaa823
PAX: Support dict encoding
jiaqizho Aug 26, 2024
e0fb69f
PAX: support record batch return with dictionary
jiaqizho Aug 27, 2024
8d5b7d7
Regularly synchronize CBDB and update CI
gfphoenix78 Aug 23, 2024
1828479
PAX: Support parallel-scan
gongxun0928 Sep 3, 2024
618910b
bugfix: tuples loss issue in bitmap index scan
gongxun0928 Sep 5, 2024
9da8d86
PAX: Refactor memory management to allow thread-safe scan
Sep 10, 2024
63f43d1
PAX: remove the opfamily and build scan will not use the BRINAM
jiaqizho Sep 12, 2024
5ee51a0
PAX: Support bloom filter in the statistics
jiaqizho Sep 18, 2024
c9ebaef
PAX: Move the logic of checking whether stmt is supported in dfs tabl…
gongxun0928 Sep 10, 2024
8ffc54f
PAX: Support parallel scan pax table by threads for vectorization
Sep 20, 2024
1ec45c1
PAX: support almost min/max oper
jiaqizho Sep 26, 2024
be577fc
Regularly synchronize CBDB and update CI
fanfuxiaoran Sep 24, 2024
b01c17d
PAX: Support lexical cluster
gongxun0928 Sep 26, 2024
e94fd27
PAX: support more types for filtering in parallel scan
gfphoenix78 Sep 26, 2024
27fd8d1
Regularly synchronize CBDB and update CI
foreyes Sep 25, 2024
b689a54
PAX: Add icw test in greenplum_schedule for pax table
gongxun0928 Sep 30, 2024
e0ad99e
Fix UFileClose failed, call UFileGetLastError to get error msg will c…
gongxun0928 Sep 30, 2024
1d11128
PAX: Remove the gtest mock `Palloc/Palloc0/Pfree`
jiaqizho Oct 10, 2024
31a3e44
PAX: Fix compile issue that may install bad pax.so
gfphoenix78 Oct 21, 2024
4336136
PAX: disable numeric in bloom filter
jiaqizho Oct 24, 2024
f555cb0
PAX: Support IN expression filter for vector scan
Oct 28, 2024
c86a69d
PAX: move the CBDB_CHECK into MicroPartitionStats::FromValue
jiaqizho Oct 30, 2024
36c401a
Fix answer files when the collation changes to en_US.utf8
Nov 1, 2024
7cc37cd
Fix the icw test failure case of pax under orca optimizer
gongxun0928 Oct 11, 2024
3c15697
Fix parallel scan for pax tables
Nov 11, 2024
b838afc
Remove the function assign_enable_vectorization
jiaqizho Nov 19, 2024
0d3c439
Fix crash when insert large column value and pax_enable_toast is off
gfphoenix78 Nov 18, 2024
200e102
Regularly synchronize CBDB and update CI
gfphoenix78 Oct 23, 2024
538e3c6
PAX: re-enable install libpaxformat and header
jiaqizho Nov 25, 2024
7cc1803
PAX: support python3 api
jiaqizho Nov 26, 2024
590fbb8
Fix: PAX fast sequence will return the same seq in concurrent case
jiaqizho Nov 27, 2024
6668327
Fix: can't insert into pax auxiliary table after blockid more than 32768
jiaqizho Nov 28, 2024
40da6ce
PAX: Fix error that parallel scan ignores toast files
Nov 28, 2024
39aa695
Fix index scan using bitmap index on paxr #137
gongxun0928 Nov 28, 2024
8b62b8e
PAX: don't detoast unread and short header datum
jiaqizho Nov 28, 2024
6cb0676
Performance/improve pax insert performance
gongxun0928 Nov 28, 2024
96a9644
Fix two toast issues that may cause crash
gfphoenix78 Dec 2, 2024
86b61b6
PAX: new implements of PAX filter
jiaqizho Dec 4, 2024
da74831
PAX:Filter support CAST in PG path
jiaqizho Dec 4, 2024
812c93e
PAX: filter support arithmetic op exprs
jiaqizho Oct 28, 2024
28c67d7
PAX: do the encoding options cache in tablewriter
jiaqizho Dec 2, 2024
c57e543
Fix: pax reloption without order will cause the statistics no effect.
jiaqizho Dec 5, 2024
bcce1a7
PAX: Use unique pointer instead of shared pointer for some cases
gfphoenix78 Nov 18, 2024
cbc44a0
PAX: remove the memalign in non-fixed column
jiaqizho Nov 21, 2024
76ff504
performance: refactor stats to improve pax writing performance
gongxun0928 Nov 25, 2024
4644027
minor performance improve in data reading
gongxun0928 Dec 12, 2024
8a03e64
Decouple the parallel-scan code and MicroPartitionMetadata
Dec 12, 2024
746a821
Pax/eliminate offsets array when data writing
gongxun0928 Dec 17, 2024
b84d581
optimize: refactor OrcGroup::ReadTuple to improve performance
gongxun0928 Dec 12, 2024
38208fe
PAX: split unstable filter_tree test case
jiaqizho Dec 25, 2024
00b8e46
Fix: memory leak in VEC path when read the PG Nuemric
jiaqizho Dec 23, 2024
24bd3b9
PAX: use the atomic in filter statistics
jiaqizho Dec 27, 2024
4188641
Regularly synchronize CBDB and update CI
gongxun0928 Dec 23, 2024
b98db3d
Support custom smgr for pax
gongxun0928 Jan 6, 2025
cd81575
PAX: remove the unaligned(bypass) logic.
jiaqizho Jan 9, 2025
c38681d
PAX: Add wal log
gongxun0928 Jan 10, 2025
77813ee
PAX: Add isolation2 tests in ci
gongxun0928 Jan 10, 2025
dc80028
PAX: Fix isolation2 for test files
gfphoenix78 Jan 12, 2025
ede5557
PAX: create a per-tablespace subdirectory when redo pax create direct…
gongxun0928 Jan 16, 2025
d7c3c5c
PAX: Add manifest api
gfphoenix78 Dec 19, 2024
1a3176f
Adapt pax auxiliary table to manifest API
gfphoenix78 Dec 19, 2024
48c57ca
PAX: Fix nullptr after toast compress failed
jiaqizho Feb 11, 2025
6a2d570
PAXPY: Changed the CmakeLists
jiaqizho Jan 13, 2025
89ddbcf
Pax: fix io error in pax table when transaction abort
gongxun0928 Jan 14, 2025
9b2f8f6
build: pax supports incremental compilation.
gongxun0928 Dec 16, 2024
efb0e15
PAX: remove the GUC VECTOR_MAX_BATCH_SIZE_GUC_NAME
jiaqizho Feb 24, 2025
c333632
Update vectoried scan interface
gfphoenix78 Feb 13, 2025
62c57ca
PAX: Remove internal partition support
Feb 24, 2025
5e7e34c
Fix the failure case in icw test.
gongxun0928 Feb 26, 2025
59d6388
PAX: Fix test cases with or without vectorization
Feb 26, 2025
f76df6a
PAX: Add manifest implementation for catalog
Mar 3, 2025
f4fd7ea
Add Apache license to pax files
Mar 5, 2025
9be5483
PAX: change length array to offset array
jiaqizho Mar 10, 2025
5c8c17e
PAX: Remove support for RemoteFileSystem
gfphoenix78 Feb 10, 2025
5033b5e
PAX: fix failture case in isolation2 testcase
gongxun0928 Mar 13, 2025
4ff00a7
PAX: Add doc/* and update README
jiaqizho Mar 7, 2025
48bc584
PAX: Adapt to the latest access method
jiaqizho Mar 12, 2025
1edf661
Missing AM function swap_relation_files call
jiaqizho Mar 13, 2025
9d5c9aa
PAX: Adapt to 32-bit relnode
jiaqizho Apr 1, 2025
bd3bf80
FIX: Invalid USE_ASSERT_CHECKING in DeleteWithVisibilityMap
jiaqizho Apr 3, 2025
66c7faa
Adapt PAX regression test to CBDB
jiaqizho Mar 14, 2025
265204f
Adapt PAX isolation2 test to CBDB
jiaqizho Mar 20, 2025
e0613c1
PAX: Remove vectorization related tests
jiaqizho Apr 2, 2025
d8f8146
PAX: update submodule
jiaqizho Apr 1, 2025
56c57e8
PAX: Change the default catalog to auxiliary table and enable CI
jiaqizho Mar 21, 2025
247e475
PAX: fix icw_test in github CI
jiaqizho Apr 2, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
4 changes: 4 additions & 0 deletions .asf.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -90,6 +90,10 @@ github:
- RPM Install Test Apache Cloudberry
- ic-good-opt-off
- ic-good-opt-on
- pax-ic-good-opt-off
- pax-ic-good-opt-on
- pax-ic-isolation2-opt-off
- pax-ic-isolation2-opt-on
- ic-expandshrink
- ic-singlenode
- ic-resgroup-v2
Expand Down
45 changes: 45 additions & 0 deletions .github/workflows/build-cloudberry.yml
Original file line number Diff line number Diff line change
Expand Up @@ -230,6 +230,42 @@ jobs:
"make_configs":["src/test/regress:installcheck-good"],
"pg_settings":{"optimizer":"on"}
},
{"test":"pax-ic-good-opt-off",
"make_configs":[
"contrib/pax_storage/:pax-test",
"contrib/pax_storage/:regress_test"
],
"pg_settings":{
"optimizer":"off",
"default_table_access_method":"pax"
}
},
{"test":"pax-ic-good-opt-on",
"make_configs":[
"contrib/pax_storage/:pax-test",
"contrib/pax_storage/:regress_test"
],
"pg_settings":{
"optimizer":"on",
"default_table_access_method":"pax"
}
},
{"test":"pax-ic-isolation2-opt-off",
"make_configs":["contrib/pax_storage/:isolation2_test"],
"pg_settings":{
"optimizer":"off",
"default_table_access_method":"pax"
},
"enable_core_check":false
},
{"test":"pax-ic-isolation2-opt-on",
"make_configs":["contrib/pax_storage/:isolation2_test"],
"pg_settings":{
"optimizer":"on",
"default_table_access_method":"pax"
},
"enable_core_check":false
},
{"test":"ic-expandshrink",
"make_configs":["src/test/isolation2:installcheck-expandshrink"]
},
Expand Down Expand Up @@ -482,6 +518,11 @@ jobs:
run: |
set -eo pipefail

if ! time su - gpadmin -c "cd ${SRC_DIR} && git submodule update --init"; then
echo "::error::Fail to pull submodule."
exit 1
fi

chmod +x "${SRC_DIR}"/../cloudberry-devops-release/build_automation/cloudberry/scripts/build-cloudberry.sh
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
echo "::error::Build script failed"
Expand Down Expand Up @@ -1267,6 +1308,10 @@ jobs:
PG_OPTS="$PG_OPTS -c optimizer=${{ matrix.pg_settings.optimizer }}"
fi

if [[ "${{ matrix.pg_settings.default_table_access_method != '' }}" == "true" ]]; then
PG_OPTS="$PG_OPTS -c default_table_access_method=${{ matrix.pg_settings.default_table_access_method }}"
fi

# Read configs into array
IFS=' ' read -r -a configs <<< "${{ join(matrix.make_configs, ' ') }}"

Expand Down
5 changes: 5 additions & 0 deletions .github/workflows/build-dbg-cloudberry.yml
Original file line number Diff line number Diff line change
Expand Up @@ -427,6 +427,11 @@ jobs:
run: |
set -eo pipefail

if ! time su - gpadmin -c "cd ${SRC_DIR} && git submodule update --init"; then
echo "::error::Fail to pull submodule."
exit 1
fi

chmod +x "${SRC_DIR}"/../cloudberry-devops-release/build_automation/cloudberry/scripts/build-cloudberry.sh
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
echo "::error::Build script failed"
Expand Down
14 changes: 9 additions & 5 deletions .gitmodules
Original file line number Diff line number Diff line change
Expand Up @@ -3,14 +3,18 @@
url = https://github.com/google/googletest.git
[submodule "contrib/pax_storage/src/cpp/contrib/googletest"]
path = contrib/pax_storage/src/cpp/contrib/googletest
url = https://code.hashdata.xyz/cloudberry/googletest
url = https://github.com/google/googletest.git
branch = v1.15.x
[submodule "contrib/pax_storage/src/cpp/contrib/tabulate"]
path = contrib/pax_storage/src/cpp/contrib/tabulate
url = https://code.hashdata.xyz/cloudberry/tabulate
url = https://github.com/p-ranav/tabulate.git
[submodule "contrib/pax_storage/src/cpp/contrib/googlebench"]
path = contrib/pax_storage/src/cpp/contrib/googlebench
url = https://code.hashdata.xyz/cloudberry/benchmark.git
url = https://github.com/google/benchmark.git
[submodule "contrib/pax_storage/src/cpp/contrib/cpp-stub"]
path = contrib/pax_storage/src/cpp/contrib/cpp-stub
url = https://code.hashdata.xyz/cloudberry/cpp-stub.git
branch = dev
url = https://github.com/coolxv/cpp-stub.git
[submodule "dependency/yyjson"]
path = dependency/yyjson
url = https://github.com/ibireme/yyjson.git

6 changes: 3 additions & 3 deletions configure
Original file line number Diff line number Diff line change
Expand Up @@ -9124,11 +9124,11 @@ $as_echo "#define USE_PAX_STORAGE 1" >>confdefs.h
esac

else
enable_pax=no

enable_pax=yes

$as_echo "#define USE_PAX_STORAGE 1" >>confdefs.h
fi


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

Expand Down
8 changes: 4 additions & 4 deletions configure.ac
Original file line number Diff line number Diff line change
Expand Up @@ -928,11 +928,11 @@ AC_SUBST(enable_preload_ic_module)
#
# pax support
#
PGAC_ARG_BOOL(enable, pax, no,
[enable pax support],
PGAC_ARG_BOOL(enable, pax, yes,
[disable PAX support],
[AC_DEFINE(USE_PAX_STORAGE, 1,
[Define to 1 to support pax])])
AC_MSG_RESULT([checking whether to build with pax support ... $enable_pax])
[Define to 1 to support PAX])])
AC_MSG_RESULT([checking whether to build with PAX support ... $enable_pax])
AC_SUBST(enable_pax)

#
Expand Down
2 changes: 2 additions & 0 deletions contrib/pax_storage/.gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,8 @@ Thumbs.db
build*/**
results/**
clang-tidy.result
src/test/regress/hooktest/**
src/test/regress/query_info_hook_test/**
# pb
**/*.pb.h
**/*.pb.cc
Expand Down
10 changes: 0 additions & 10 deletions contrib/pax_storage/.gitmodules

This file was deleted.

46 changes: 41 additions & 5 deletions contrib/pax_storage/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,18 +1,35 @@
project(Pax)
cmake_minimum_required (VERSION 3.11.0)
set(CMAKE_CXX_STANDARD 14)
set(CMAKE_CXX_STANDARD 17)

set(TOP_DIR ${PROJECT_SOURCE_DIR}/../..)
set(CBDB_INCLUDE_DIR ${TOP_DIR}/src/include)
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra -Werror -Wno-error=ignored-qualifiers -Wuninitialized -Winit-self -Wstrict-aliasing -Wno-missing-field-initializers -Wno-unused-parameter -Wno-clobbered -Wno-sized-deallocation -g")
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")
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Wno-unused-parameter -Wno-parameter-name")

option(USE_MANIFEST_API "Use manifest API" OFF)
option(USE_PAX_CATALOG "Use manifest API, by pax impl" ON)

# Build gtest options
option(BUILD_GTEST "Build with google test" ON)
option(BUILD_GBENCH "Build with google benchmark" OFF)
option(BUILD_GBENCH "Build with google benchmark" ON)

# Build pax tools
option(BUILD_TOOLS "Build with pax tools" ON)
option(BUILD_TOOLS "Build with pax tools" OFF)

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

if (USE_MANIFEST_API)
ADD_DEFINITIONS(-DUSE_MANIFEST_API)
else()
set(USE_PAX_CATALOG ON)
endif(USE_MANIFEST_API)

if (USE_PAX_CATALOG)
ADD_DEFINITIONS(-DUSE_PAX_CATALOG)
endif()

include(CheckSymbolExists)
SET(PG_CONFIG_HEADER_FILE "${CBDB_INCLUDE_DIR}/pg_config.h")
Expand All @@ -25,6 +42,7 @@ if (PAX_USE_DEBUG)
# Use to build compile_commands.json
SET(CMAKE_BUILD_TYPE "Debug")
SET(CMAKE_CXX_FLAGS_DEBUG "$ENV{CXXFLAGS} -O0 -ggdb")
SET(INSTALL_GTEST OFF) # disable gtest install() target
else()
SET(CMAKE_BUILD_TYPE "Release")
SET(CMAKE_CXX_FLAGS_RELEASE "$ENV{CXXFLAGS} -O3")
Expand All @@ -35,6 +53,7 @@ message(STATUS "PAX BUILD TYPE: ${CMAKE_BUILD_TYPE}")

if(BUILD_GBENCH)
SET(BUILD_GTEST ON)
SET(BENCHMARK_ENABLE_INSTALL OFF) # disable benchmark install() target
endif(BUILD_GBENCH)

if (BUILD_GTEST)
Expand All @@ -47,8 +66,13 @@ CHECK_SYMBOL_EXISTS(USE_VECTORIZATION "${PG_CONFIG_HEADER_FILE}" VEC_BUILD)
if (VEC_BUILD)
set(VEC_HOME "${PROJECT_SOURCE_DIR}/../vectorization")
set(INSTALL_HOME "${CMAKE_INSTALL_PREFIX}")

if (BUILD_RB_RET_DICT)
ADD_DEFINITIONS(-DBUILD_RB_RET_DICT)
endif(BUILD_RB_RET_DICT)

ADD_DEFINITIONS(-DVEC_BUILD)
message(STATUS "Build pax with vectorization support, VEC_HOME=${VEC_HOME} INSTALL_HOME=${INSTALL_HOME}")
message(STATUS "Build pax with vectorization support, VEC_HOME=${VEC_HOME} INSTALL_HOME=${INSTALL_HOME}, BUILD_RB_RET_DICT=${BUILD_RB_RET_DICT}")
else()
message(STATUS "Build pax without vectorization support")
endif(VEC_BUILD)
Expand All @@ -58,3 +82,15 @@ endif(VEC_BUILD)
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/")
include(FindDependencies)
add_subdirectory(src/cpp)

if(USE_MANIFEST_API AND NOT USE_PAX_CATALOG)
set(SAVED_BUILD_SHARED_LIBS ${BUILD_SHARED_LIBS})
set(SAVED_CMAKE_INSTALL_SO_NO_EXE ${CMAKE_INSTALL_SO_NO_EXE})

set(BUILD_SHARED_LIBS ON)
set(CMAKE_INSTALL_SO_NO_EXE OFF)
add_subdirectory(${CMAKE_SOURCE_DIR}/../../dependency/yyjson ${CMAKE_BINARY_DIR}/yyjson_build)

set(BUILD_SHARED_LIBS ${SAVED_BUILD_SHARED_LIBS})
set(CMAKE_INSTALL_SO_NO_EXE ${SAVED_CMAKE_INSTALL_SO_NO_EXE})
endif()
15 changes: 0 additions & 15 deletions contrib/pax_storage/CPPLINT.cfg

This file was deleted.

2 changes: 0 additions & 2 deletions contrib/pax_storage/FindDependencies.cmake
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
find_package(BISON REQUIRED)

## protobuf
include(FindProtobuf)
find_package(Protobuf 3.6.1 REQUIRED)
Expand Down
64 changes: 47 additions & 17 deletions contrib/pax_storage/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,13 @@ MODULE_big = pax
OBJS = \
$(WIN32RES)
PG_CPPFLAGS = -I/usr/local/include
PG_CXXFLAGS = -std=c++14
PG_CXXFLAGS = -std=c++17

PGFILEDESC = "pax - PAX table access method"
SHLIB_LINK += -luuid

PAX_REGRESS_DIR = src/test/regress
PAX_VEC_REGRESS_DIR = src/test/vec
PAX_ISOLATION2_DIR = src/test/isolation2

ifdef USE_PGXS
PG_CONFIG = pg_config
Expand All @@ -31,46 +31,73 @@ all: build

DIRS = $(shell find src/cpp -maxdepth 2 -type d)
SRC = $(foreach dir, $(DIRS), $(wildcard $(dir)/*.cc))
CSRC = $(foreach dir, $(DIRS), $(wildcard $(dir)/*.c))

.PHONY: install-data
build: $(SRC)
@echo "build pax"
mkdir -p build
cd build && cmake .. -DCMAKE_INSTALL_PREFIX=$(DESTDIR)$(prefix) && make -j8 && cp src/cpp/libpax.so ../pax.so
# read options from ENV
USE_MANIFEST_API := $(shell echo $$USE_MANIFEST_API)
USE_PAX_CATALOG := $(shell echo $$USE_PAX_CATALOG)

# if the ENVs are not set, set default value
ifeq ($(USE_MANIFEST_API),)
USE_MANIFEST_API := OFF
endif

ifeq ($(USE_PAX_CATALOG),)
USE_PAX_CATALOG := ON
endif

.PHONY: install-data build
build: $(SRC) $(CSRC)
@echo "build pax, USE_MANIFEST_API=$(USE_MANIFEST_API) USE_PAX_CATALOG=$(USE_PAX_CATALOG)"
@if [ ! -f build/Makefile ]; then \
mkdir -p build && \
cd build && \
cmake -DCMAKE_INSTALL_PREFIX=$(DESTDIR)$(prefix) \
-DUSE_MANIFEST_API=$(USE_MANIFEST_API) \
-DUSE_PAX_CATALOG=$(USE_PAX_CATALOG) .. ; \
fi
cd build && make -j8
@cp -f build/src/cpp/libpax.so pax.so

pax-unit-test:
ifeq ($(enable_debug), yes)
cd build && ./src/cpp/test_main
endif

install-data: build
@echo "install data"
$(INSTALL_DATA) pax-cdbinit--1.0.sql '$(DESTDIR)$(datadir)/cdb_init.d/pax-cdbinit--1.0.sql'

.PHONY: install
install: install-data
@echo "install data"
$(INSTALL_SHLIB) pax.so '$(DESTDIR)$(pkglibdir)/pax.so'
@if [ -f build/src/cpp/pax_dump ]; then $(INSTALL_PROGRAM) build/src/cpp/pax_dump '$(DESTDIR)$(bindir)/pax_dump'; fi;
make -C build install
make -j10 -C build install

.PHONY: pax-test
pax-test:
@echo "Begin running pax tests"
PGOPTIONS="$(PGOPTIONS)" \
$(PG_REGRESS) \
--init-file=init_file --schedule=pax_schedule \
--load-extension=gp_inject_fault --dbname=pax_test
$(bindir)/dropdb --if-exists pax_test

.PHONY: icw_test
icw_test: pax-test
icw_test: pax-test regress_test isolation2_test

.PHONY: regress_test isolation2_test
regress_test:
@echo "Begin running pax regression tests"
make -C $(PAX_REGRESS_DIR) regress_link
@echo "Current PGOPTIONS=$(PGOPTIONS)"
make -C $(PAX_REGRESS_DIR) icw_test
@echo "Begin running pax+vector regression tests"
@echo "Current PGOPTIONS=$(PGOPTIONS) -c vector.enable_vectorization=on"
PGOPTIONS="$(PGOPTIONS) -c vector.enable_vectorization=on" make -C $(PAX_VEC_REGRESS_DIR) icw_test
@echo "Begin running pax+vec format+vector regression tests"
@echo "Current PGOPTIONS=$(PGOPTIONS) -c vector.enable_vectorization=on -c pax_default_storage_format=porc_vec"
PGOPTIONS="$(PGOPTIONS) -c vector.enable_vectorization=on -c pax_default_storage_format=porc_vec" make -C $(PAX_VEC_REGRESS_DIR) icw_test

isolation2_test:
@echo "Begin running pax isolation2 tests"
make -C $(PAX_REGRESS_DIR) regress_link
@echo "Current PGOPTIONS=$(PGOPTIONS)"
make -C $(PAX_ISOLATION2_DIR) installcheck

.PHONY: uninstall-data
uninstall-data:
Expand All @@ -81,4 +108,7 @@ clean-data:
$(RM) pax-cdbinit--1.0.sql
$(RM) -r build

clean: clean-data
clean_isolation2_test:
make -C $(PAX_ISOLATION2_DIR) clean

clean: clean-data clean_isolation2_test
Loading
Loading