Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
97 commits
Select commit Hold shift + click to select a range
9120135
Fix compile errror when BUILD_PAX_FORMAT is ON
gongxun0928 Sep 4, 2023
196efdb
Bugfix : Make Pax file directory structure consisitency for set new t…
Sep 5, 2023
bbc3137
Feature: pax am support pass encoding clauses options
jiaqizho Sep 11, 2023
84c554d
Feature:pax table support encoding options
jiaqizho Jul 26, 2023
fa8097e
Fix: operator may not match opfamily
jiaqizho Sep 12, 2023
bf4dce0
Relax typid check for empty data file
gfphoenix78 Sep 12, 2023
d128ba2
Fix analyze crash and incorrect pg_class.reltuples
Sep 14, 2023
0826d9c
Fix: RLE encoding out-of-bound problem
jiaqizho Sep 14, 2023
cbd544c
Feature: Introduce pax cache
jiaqizho Sep 19, 2023
2474288
Feature: support cache pax columns result
jiaqizho Sep 20, 2023
395abc8
Fix: Partial Agg may cause unpin twice
jiaqizho Sep 20, 2023
14cf60a
PAX: Reimplement bitmap using bits
Sep 21, 2023
a50ea90
Add GUC pax.enable_debug and dump debug info
Sep 21, 2023
01a4b96
Feature: orc support tail read
jiaqizho Sep 22, 2023
6a31c0b
Feature: mirco-partition support multi groups
jiaqizho Sep 26, 2023
ac29d96
Feature: Add PAX fastsequence system table
Sep 28, 2023
52605b9
Fix: VEC reader support read with ctid
jiaqizho Oct 8, 2023
ce11746
Adapt pax to arrow change "Change abi interface to strcut from pointe…
Oct 9, 2023
2e6779b
Fix the type oid that left type and right type are not the same
Oct 9, 2023
e9c7e8c
Bugfix: Export the header file that storage_am relies when compiling
gongxun0928 Oct 10, 2023
7a42dbb
Fix: the datum read from disk should follow typealign
jiaqizho Oct 10, 2023
72e905f
Fix: Vec reader support group and new bitmap
jiaqizho Oct 16, 2023
ae5ed06
Update Table AM function for scan_begin_extractcolumns
Oct 16, 2023
0fa1346
Introduce: cpp-stub to mock global and private method
jiaqizho Oct 16, 2023
95c93b8
Fix: build with vec will got undefined symbol
jiaqizho Oct 17, 2023
a593a5f
Feature: add reloptions to support for partition
Oct 18, 2023
012d911
Store transformed PartBoundSpec in pg_pax_tables
Oct 19, 2023
10739f6
Support group filter and row-level filter
Oct 20, 2023
bb00908
PAX: Fix invalid size alloc
jiaqizho Oct 23, 2023
aa78999
Op: Refactor PaxEncodingColumn and PaxNonFixedEncodingColumn
jiaqizho Oct 31, 2023
6ed97fd
PAX: Fix CI submodule can't pull
jiaqizho Oct 31, 2023
b0ccd5b
Save and validate opfamily instead of oids of compare functions
gfphoenix78 Oct 25, 2023
9773078
Feature: storage type orc_vec support pg executor
jiaqizho Nov 1, 2023
f3d121e
PAX: Add base partition support functions
Nov 1, 2023
281d7d0
Feature: filter support AND oper which not been flatten
jiaqizho Nov 3, 2023
e1b4eb0
Refactor ItemPointerData to use index for offline
gfphoenix78 Oct 30, 2023
764465d
Fix: group offset not right
jiaqizho Nov 3, 2023
a668d5a
Fix: use new item ptr to build vec ctid
jiaqizho Nov 3, 2023
bd4fdc9
Feature: TableParitionWriter support parition reloption
jiaqizho Nov 3, 2023
f179416
Feature: support GetTuple interface to direct get tuple
jiaqizho Nov 8, 2023
d2e08bf
Generate file name by fast-sequence to support index
Nov 8, 2023
9b247fe
PAX: Add support for index build and scan
Nov 9, 2023
9639fe0
Feature: support resowner to manage fd
jiaqizho Nov 10, 2023
f8ee8ae
Fix: VEC format no need do align in non-fixed column
jiaqizho Nov 10, 2023
26f6861
Fix: group stats is not right after merge
jiaqizho Nov 15, 2023
a9ae9d4
Feature: catch pg error when long jump happend
jiaqizho Nov 17, 2023
90ccc3d
PAX: Allow empty columns in PAX table
jiaqizho Nov 17, 2023
eee82e1
PAX: Use the correctness flags when open file
gongxun0928 Nov 21, 2023
9b66184
PAX: Implement index_unique_check
Nov 22, 2023
a7eb7c0
PAX: Add regress test
Nov 23, 2023
ebca827
Fix: missing attrno in row filter reader
jiaqizho Nov 29, 2023
fd0c17a
PAX: Fix compile error
gfphoenix78 Nov 24, 2023
73d6c48
Fix: Invalid read in MergeGroup
jiaqizho Dec 8, 2023
44f2a50
Fix: RUNPATH in the so file
Dec 15, 2023
4eec4f8
Fix compile error in release mode
gongxun0928 Dec 20, 2023
54947b7
Move pg_pax_tables from kernel to pax
Dec 28, 2023
da6f9c7
Update the signature of TransformColumnEncodingClauses
gfphoenix78 Dec 28, 2023
c3853eb
Move PAX repo
my-ship-it Jan 3, 2024
2afa3fa
Op: cleanup some of pax tests, replace with the same function
jiaqizho Jan 8, 2024
68954df
PAX: Always create index for auxiliary relation
gfphoenix78 Jan 5, 2024
9569caa
Dynamic reuse_buffer size
gongxun0928 Jan 11, 2024
13d3733
PAX: Build pax_storage as an internal extension by default
Jan 12, 2024
9596195
Pax re-enable vectorization build
jiaqizho Jan 12, 2024
8813cd8
PAX: Compile pax with vectorization only if the kernel builds vectori…
gfphoenix78 Jan 12, 2024
55b5590
Feature: Introduce pax_dump to dump single pax file
jiaqizho Jan 15, 2024
852a9b2
PAX: Add google benchmark
gongxun0928 Jan 15, 2024
14b2934
bugfix: fix the error when hashdata cloud work with paxformat
gongxun0928 Jan 15, 2024
d774312
Feature: pax FD resource owner supports concurrent reading and writing
jiaqizho Jan 22, 2024
c8b801b
Feature: implementing part of PG min/max operator in PAX
jiaqizho Jan 24, 2024
874c1fa
Use dynamic link library instead of static compilation
gongxun0928 Jan 24, 2024
da1f49c
PAX: Add PAX_NEW/PAX_DELETE to replace global new/delete operator
Jan 25, 2024
e9707b6
Pax/remove zstd submodule
gongxun0928 Jan 26, 2024
46482ef
Feature: use stripe stats instead of repeated mix/max update operations
jiaqizho Jan 29, 2024
1e7ad7c
Pax build type follow lighting pipeline
jiaqizho Jan 29, 2024
702bbeb
Pax: Remove the struct CTupleSlot
jiaqizho Jan 30, 2024
91fec3e
PAX: both build pax.so and paxformat.so
gongxun0928 Jan 30, 2024
e888ae4
PAX: Reduct get relation path function call times
jiaqizho Feb 21, 2024
3306fd3
PAX: Rename the namespace of orc proto objects
gfphoenix78 Feb 23, 2024
9389d74
Fix: install the libpax.so, libpaxformat.so, and headers into ${prefix}
lss602726449 Feb 2, 2024
4d97181
Enable local index by default and remove the else code
Feb 24, 2024
78894f7
PAX: Add new guc pax.enable_filter
gfphoenix78 Feb 23, 2024
7460e9a
PAX: Use macro SO_TYPE_VECTOR instead of hard-coded value
gfphoenix78 Feb 23, 2024
9e1de65
Fix struct layout of PaxIndexScanDesc
gfphoenix78 Feb 24, 2024
3f13a14
PAX: Limit the maximum number of concurrent jobs to 8
gfphoenix78 Feb 26, 2024
d32152d
Pax: Avoid stack overflow when reading footer
gongxun0928 Feb 27, 2024
072dcef
Fix: delete pax_itemptr.cc in build libpaxformat.so
lss602726449 Feb 27, 2024
9eaa9d3
PAX: Fix guc name to not contain dot
Feb 28, 2024
0b1c3a9
Pax: Add regression tests
Feb 29, 2024
a6d9d2e
PAX: Add a configure option to build pax optionally.
Mar 1, 2024
d849729
Fix: toast will make pax operators not work
jiaqizho Mar 1, 2024
6ee66fe
PAX: Fix guc issue that needs to sync pax_scan_reuse_buffer_size
gfphoenix78 Mar 1, 2024
3273f75
Fix: alter PAX table will got cast problem
jiaqizho Mar 5, 2024
f029c39
Op: Make the functions in DataBuffer inline
jiaqizho Mar 5, 2024
152ebe7
Fix: pax object access hook assert false
jiaqizho Mar 6, 2024
9a2af33
Fix: pax group footer will not reocrd compress level
jiaqizho Mar 6, 2024
5a78409
performance: length_stream changes from int64 type to int32 type
gongxun0928 Mar 7, 2024
3396ce7
Fix: pax operator without set null field also should not assert unimp…
jiaqizho Mar 7, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 13 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -1,3 +1,16 @@
[submodule "gpcontrib/gpcloud/test/googletest"]
path = gpcontrib/gpcloud/test/googletest
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
[submodule "contrib/pax_storage/src/cpp/contrib/tabulate"]
path = contrib/pax_storage/src/cpp/contrib/tabulate
url = https://code.hashdata.xyz/cloudberry/tabulate
[submodule "contrib/pax_storage/src/cpp/contrib/googlebench"]
path = contrib/pax_storage/src/cpp/contrib/googlebench
url = https://code.hashdata.xyz/cloudberry/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
9 changes: 9 additions & 0 deletions GNUmakefile.in
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,9 @@ all:
$(MAKE) -C contrib/pg_buffercache all
ifeq ($(with_openssl), yes)
$(MAKE) -C contrib/sslinfo all
endif
ifeq ($(enable_pax), yes)
$(MAKE) -C contrib/pax_storage all
endif
$(MAKE) -C gpMgmt all
$(MAKE) -C gpcontrib all
Expand Down Expand Up @@ -73,6 +76,9 @@ install:
$(MAKE) -C contrib/tablefunc $@
$(MAKE) -C contrib/passwordcheck $@
$(MAKE) -C contrib/pg_buffercache $@
ifeq ($(enable_pax), yes)
$(MAKE) -C contrib/pax_storage $@
endif
ifeq ($(with_openssl), yes)
$(MAKE) -C contrib/sslinfo $@
endif
Expand Down Expand Up @@ -180,6 +186,9 @@ ICW_TARGETS += contrib/extprotocol contrib/dblink contrib/pg_trgm
ICW_TARGETS += contrib/indexscan contrib/hstore contrib/pgcrypto
ICW_TARGETS += contrib/tablefunc contrib/passwordcheck
ICW_TARGETS += contrib/pg_buffercache
ifeq ($(enable_pax), yes)
ICW_TARGETS += contrib/pax_storage
endif
# sslinfo depends on openssl
ifeq ($(with_openssl), yes)
ICW_TARGETS += contrib/sslinfo
Expand Down
33 changes: 33 additions & 0 deletions configure
Original file line number Diff line number Diff line change
Expand Up @@ -751,6 +751,7 @@ ICU_CFLAGS
with_icu
enable_thread_safety
INCLUDES
enable_pax
enable_preload_ic_module
enable_ic_proxy
enable_external_fts
Expand Down Expand Up @@ -901,6 +902,7 @@ enable_gpcloud
enable_external_fts
enable_ic_proxy
enable_preload_ic_module
enable_pax
enable_thread_safety
with_icu
with_tcl
Expand Down Expand Up @@ -1616,6 +1618,7 @@ Optional Features:
library)
--disable-preload-ic-module
disable preload interconnect module
--enable-pax enable pax support
--disable-thread-safety disable thread-safety in client libraries
--enable-openssl-redirect
enable redirect openssl interface to internal
Expand Down Expand Up @@ -9098,6 +9101,36 @@ fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: checking whether to build with preload ic module ... $enable_preload_ic_module" >&5
$as_echo "checking whether to build with preload ic module ... $enable_preload_ic_module" >&6; }

#
# pax support
#


# Check whether --enable-pax was given.
if test "${enable_pax+set}" = set; then :
enableval=$enable_pax;
case $enableval in
yes)

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

;;
no)
:
;;
*)
as_fn_error $? "no argument expected for --enable-pax option" "$LINENO" 5
;;
esac

else
enable_pax=no

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; }

#
# Include directories
Expand Down
10 changes: 10 additions & 0 deletions configure.ac
Original file line number Diff line number Diff line change
Expand Up @@ -925,6 +925,16 @@ PGAC_ARG_BOOL(enable, preload-ic-module, yes,
AC_MSG_RESULT([checking whether to build with preload ic module ... $enable_preload_ic_module])
AC_SUBST(enable_preload_ic_module)

#
# pax support
#
PGAC_ARG_BOOL(enable, pax, no,
[enable 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])
AC_SUBST(enable_pax)

#
# Include directories
#
Expand Down
6 changes: 6 additions & 0 deletions contrib/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -98,6 +98,12 @@ else
ALWAYS_SUBDIRS += hstore_plpython jsonb_plpython ltree_plpython
endif

ifeq ($(enable_pax),yes)
SUBDIRS += pax_storage
else
ALWAYS_SUBDIRS += pax_storage
endif

# Missing:
# start-scripts \ (does not have a makefile)

Expand Down
86 changes: 0 additions & 86 deletions contrib/pax_storage/.ci/tf/qingcloud-provider.tf

This file was deleted.

9 changes: 4 additions & 5 deletions contrib/pax_storage/.clang-tidy
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ Checks: '-*,
modernize-avoid-bind,
modernize-loop-convert,
modernize-make-shared,
modernize-make-unique,
- modernize-make-unique,
modernize-raw-string-literal,
modernize-redundant-void-arg,
modernize-replace-auto-ptr,
Expand All @@ -37,7 +37,7 @@ Checks: '-*,
readability-avoid-const-params-in-decls,
readability-const-return-type,
readability-container-size-empty,
readability-convert-member-functions-to-static,
- readability-convert-member-functions-to-static,
readability-deleted-default,
readability-make-member-function-const,
readability-misplaced-array-index,
Expand All @@ -52,7 +52,7 @@ Checks: '-*,
readability-uniqueptr-delete-release,
readability-redundant-member-init,
readability-simplify-subscript-expr,
readability-simplify-boolean-expr,
- readability-simplify-boolean-expr,
readability-inconsistent-declaration-parameter-name,
readability-identifier-naming,

Expand All @@ -68,7 +68,6 @@ Checks: '-*,
bugprone-incorrect-roundings,
bugprone-infinite-loop,
bugprone-integer-division,
bugprone-macro-parentheses,
bugprone-macro-repeated-side-effects,
bugprone-misplaced-operator-in-strlen-in-alloc,
bugprone-misplaced-pointer-artithmetic-in-alloc,
Expand Down Expand Up @@ -225,4 +224,4 @@ CheckOptions:
- key: modernize-use-transparent-functors.SafeMode
value: 1
- key: modernize-use-emplace.IgnoreImplicitConstructors
value: 1
value: 1
25 changes: 0 additions & 25 deletions contrib/pax_storage/.githooks/pre-push

This file was deleted.

2 changes: 1 addition & 1 deletion contrib/pax_storage/.gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -20,5 +20,5 @@ clang-tidy.result
**/*.pb.cc

# Executables
*.out
/*.out
!src/data/expected/*.out
71 changes: 0 additions & 71 deletions contrib/pax_storage/.gitlab-ci.yml

This file was deleted.

3 changes: 3 additions & 0 deletions contrib/pax_storage/.gitmodules
Original file line number Diff line number Diff line change
Expand Up @@ -5,3 +5,6 @@
path = src/cpp/contrib/zstd
url = https://code.hashdata.xyz/cloudberry/lib_zstd.git
branch = v1.5.5
[submodule "src/cpp/contrib/cpp-stub"]
path = src/cpp/contrib/cpp-stub
url = https://code.hashdata.xyz/cloudberry/cpp-stub.git
Loading
Loading