Cloudberry Database v1.6.0 Release Notes
Version number: v1.6.0
Cloudberry Database v1.6.0 is a minor release that includes some improvements, changes, and bug fixes.
Quick try: v1.6.0
Full Changelog: https://github.com/cloudberrydb/cloudberrydb/compare/1.5.4...1.6.0
Improvements and modificationsโ
In the following notes, "AQUMV" refers to the "Answer Query Using Materialized Views" feature. See Use Automatic Materialized Views for Query Optimization for details.
- Add
warehouse_id
topg_stat_activity_extended
by @lss602726449 in #453 - Modify the ORCA optimizer's processing of
UNION ALL
distribution strategy by @Light-City in #399 - Update the location of
python-dependencies.txt
by @Zhangbaowen-Hashdata in #460 - Add hook for
exec_simple_query
and support custom spilling memory threshold in thecost
module by @songdongxiaoa2 in #447 - Use
contain_var_clause
instead ofpull_var_clause
in AQUMV by @avamingli in #451 - Add
matchignore
and remove meta-command username output for Directory Table by @edespino in #464 - Add hook to support different methods to create, drop, or alter warehouses by @lss602726449 in #462
- Re-use index after
ALTER COLUMN TYPE
shouldn't changerelfilenode
by @lss602726449 in #474 - Cherry-pick Resgroup-related code from Greenplum from Mar 2, 2022 to Feb 7, 2023 by @foreyes in #448
- Add a weekly build and release process by @Zhangbaowen-Hashdata in #459
- Consider mutable functions and bypass expressions with no
Vars
for view query targets in AQUMV by @avamingli in #455 - Expose the function to adjust view query and
varno
fix in AQUMV by @avamingli in #469 - Modify weekly build release details by @Zhangbaowen-Hashdata in #477
- Call the
query_info_collect_hook
function directly if an exception occurs by @foreyes in #481 - Cherry-pick: Work around a spurious compiler warning in
inet
operators by @gfphoenix78 in #499 - Add LoongArch (
loongarch64
) support tos_lock.h
by @wangzw in #500 - Implement features of the directory table by @wenchaozhang-123 in #484
- Re-enable the external FTS ICW by @jiaqizho in #483
- Change
AOCO_Compression
test case to validatepg_relation_size
andget_ao_compression_ratio
within a ยฑ10% expected range by @congxuebin in #493 - Maintain materialized view data status by @avamingli in #501
- Define
EXT_OID_START
to suggest an OID range for extensions by @avamingli in #514 - Ignore
pg_upgrade
to resolve CI issues by @avamingli in #515 - Reduce flakiness in
fts_segment_reset
test by @jiaqizho in #518 - Stabilize
gp_dqa
test case by @congxuebin in #521 - Doc: Add more tools documentation for Cloudberry Database by @tuhaihe in #523
- Reimplement
COPY FROM
for directory table by @wenchaozhang-123 in #527 - Add materialized view-related trigger cases in SingleNode mode by @avamingli in #517
- Refactor view query target list processing in AQUMV by @avamingli in #525
- Implement the tagging feature by @wenchaozhang-123 in #444
- Update
orafce
to version 4.9 and enhance it by @foreyes in #524 - Allow normal materialized views to answer queries in AQUMV by @avamingli in #528
- Support
COPY FROM
for directory tables with entry distribution policy by @wenchaozhang-123 in #533 - Minor improvements to
README.md
by @reshke in #534 - Use
FDW
to query multiple servers as shards by @oppenheimer01 in #320 - Add an option in
psql
to avoid encoding issues on certain platforms by @gfphoenix78 in #535 - Refactor
cbdb_log
to usevfprintf
by @ruhuang2001 in #506 - Update
aocsam.c
: FixsafeFSWriteSize
argument type by @reshke in #540 - Update the CI image to
RockyLinux8
to ensure CI proper operations by @Zhangbaowen-Hashdata in #556 - Remove the unsupported
AC_FUNC_FSEEKO
macro by @gfphoenix78 in #543 - Adjust test cases for the
cloudberrydb
binary swap tests by @congxuebin in #537 - Implement
CREATE FOREIGN TABLE LIKE
by @avamingli in #554 - Enable
SingleQE
join withSegmentGeneralWorkers
by @avamingli in #327 - Use
syscache
lookup inShouldUseReservedSegno
by @gongxun0928 in #541 - Implement
READ_STRING_FIELD_NULL
serializable read function by @wenchaozhang-123 in #553 - Update
appendonlywriter.c
to fix debug messages by @reshke in #564 - Support locking directory tables by @wenchaozhang-123 in #572
- Update
ALTER TABLE
help command content by @EcaleD in #574 - Cherry-pick
Resgroup V2
and toolkit from Greenplum Database by @jiaqizho in #531 - Fallback to PostgreSQL optimizer for ORCA when NL inner plan is index scan by @gfphoenix78 in #565
- Add
FIXME
for redundant parameter inivm_visible_in_prestate
call by @reshke in #578 - Support
DISTRIBUTED BY
clause specification when creating materialized views with theIF NOT EXISTS
clause by @reshke in #563 - Cherry-pick commits related to the recent
Resgroup V2
merge by @reshke in #579 - Change temporary table names used for IMMV to less frequent sequences by @reshke in #581
- Rephrase comments for deferred IVM case by @reshke in #576
- Enable
fsync=on
by default ingpAux/gpdemo/gpdemo-defaults.sh
by @yjhjstz in #585 - Forbid inherited tables from storing in
gp_matview_aux
by @avamingli in #587 - Check that relations have children when performing view matching in AQUMV by @avamingli in #577
- Update
check.c
to fix incorrect references to Cloudberry Database by @reshke in #600 - Send rows in binary mode for
ANALYZE
by @Light-City in #601 - Enable
Resgroup
test cases in CI by @jiaqizho in #539 - Remove the
cbdb
weekly and release workflows by @edespino in #615 - Free
tupleDesc
on commit or abort transaction by @yjhjstz in #551 - Replace
gpscp
withgpsync
in external FTS by @jiaqizho in #470 - Add
ao_unique_index_build
test ingreenplum_schedule
by @lss602726449 in #562 - Avoid executing the
qual
clause twice by @jiaqizho in #396
Bug fixesโ
- Fix the compile error caused by redefinition of
pipe
by @gfphoenix78 in #349 - Fix the issue with recording
password_history
when the role is not allowed to use profile by @wenchaozhang-123 in #480 - Resolve the inconsistent result issue in
gpdtm_plpgsql
test case by @congxuebin in #491 - Fix the issue of Cloudberry Database CI not running properly by @Zhangbaowen-Hashdata in #497
- Fix the incorrect display of copy number when using
COPY TO
on a replicated table by @wenchaozhang-123 in #498 - Fix the memory block size issue in
bitmapinsert
by @gfphoenix78 in #495 - Fix the issue of ignoring direct table test files by @avamingli in #502
- Fix
gpinitsystem
issues by @fanfuxiaoran in #490 - Fix compile errors detected by GCC 12 by @gfphoenix78 in #503
- Fix the
bsearch
compare function inguc.c
by @gfphoenix78 in #507 - Fix commands that forgot to mark meta track by @avamingli in #505
- Fix compile error in C++20 by @gfphoenix78 in #510
- Fix the issue that
COPY TO
on directory table always returns1
by @wenchaozhang-123 in #522 - Fix
segfilecount
of AO/AOCO during bulk insertion usingCOPY
by @avamingli in #530 - Fix the crash of
COPY FROM
on AO/AOCO/PAX partitioned tables by @avamingli in #549 - Fix the issue that occurs when copying some directory tables by @wenchaozhang-123 in #550
- Fix bugs with base relation truncation for IMMV by @reshke in #570
- Fix the compile-time error in
SparseData.h
by @reshke in #566 - Fix
pxf_fragment.c
compilation failure by @Terry1504 in #590 - Fix
pg_upgrade
version parsing when upgrading from Greenplum by @reshke in #599 - Fix serialization of expression
AEXPR_NOT_DISTINCT
by @avamingli in #598 - Fix writable rules on tables with related materialized views by @avamingli in #584
- Fix the issue with writable CTEs causing incorrect materialized view data status by @avamingli in #602
- Fix the issue of being unable to pull up equivalence class using the projected target list by @yjhjstz in #606
๐๐ป๏ธ New contributorsโ
- @Light-City made their first contribution in #399
- @songdongxiaoa2 made their first contribution in #447
- @edespino made their first contribution in #464
- @congxuebin made their first contribution in #491
- @wangzw made their first contribution in #500
- @reshke made their first contribution in #534
- @oppenheimer01 made their first contribution in #320
- @ruhuang2001 made their first contribution in #506
- @EcaleD made their first contribution in #574
- @Terry1504 made their first contribution in #590
๐ง๐ปโ๐ป Contributorsโ
Thanks to all the contributors to make this release happen: @Aegeaner, @EcaleD, @Light-City, @RMTT, @SmartKeyerror, @Tao-T, @Terry1504, @Zhangbaowen-Hashdata, @adam8157, @airfan1994, @andr-sokolov, @ashwinstar, @avamingli, @beeender, @bmdoil, @charliettxx, @congxuebin, @dgkimura, @dh-cloud, @divyeshddv, @dreamedcheng, @edespino, @eespino, @fairyfar, @fanfuxiaoran, @foreyes, @gfphoenix78, @gongxun0928, @gpopt, @higuoxing, @huansong, @hyongtao-db, @jchampio, @jiaqizho, @jimmyyih, @kainwen, @l-wang, @lss602726449, @oppenheimer01, @reshke, @ruhuang2001, @songdongxiaoa2, @soumyadeep2007, @thedanhoffman, @tuhaihe, @wangzw, @wenchaozhang-123, @yanwr1, @yaowangm, @yjhjstz, @zhrt123, @zxuejing
๐ง๐งช Try out Cloudberry Database via building one Docker-based Sandbox, which is tailored to help you gain a basic understanding of Cloudberry Database's capabilities and features a range of materials, including tutorials, sample code, and crash courses.