-
Notifications
You must be signed in to change notification settings - Fork 900
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Release 2.18.0 #7596
base: main
Are you sure you want to change the base?
Release 2.18.0 #7596
Conversation
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## main #7596 +/- ##
==========================================
+ Coverage 80.06% 82.32% +2.25%
==========================================
Files 190 239 +49
Lines 37181 44171 +6990
Branches 9450 11104 +1654
==========================================
+ Hits 29770 36363 +6593
- Misses 2997 3426 +429
+ Partials 4414 4382 -32 ☔ View full report in Codecov by Sentry. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Couple of small suggestions.
We usually add a section to the top with some additional context for the main new feature of a minor release |
I think we are missing a note about bitnami deprecation. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A few nitpicks
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
@svenklemm addressed #7596 (comment) and #7596 (comment) |
9d81de0
to
bf8d1e5
Compare
* #7557: Fix null handling for in-memory tuple filtering. | ||
* #7566: Improve transaction check in CAGG refresh. | ||
* #7584: Fix NaN-handling for vectorized aggregation. | ||
* #7598: Match the Postgres NaN comparison behavior in WHERE clause over compressed tables. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
* #7598: Match the Postgres NaN comparison behavior in WHERE clause over compressed tables. | |
* #7598: Match the PostgreSQL NaN comparison behavior in WHERE clause over compressed tables. |
53cb57b
to
996eb05
Compare
This release introduces the ability to add secondary indexes to the columnstore, improves group by and filtering performance through columnstore vectorization, and contains the highly upvoted community request of transition table support. We recommend that you upgrade at the next available opportunity. **Highlighted features in TimescaleDB v2.18.0** * The ability to add secondary indexes to the columnstore through the new hypercore table access method. * Significant performance improvements through vectorization (`SIMD`) for aggregations using a group by with one column and/or using a filter clause when querying the columnstore. * Hypertables support triggers for transition tables, which is one of the most upvoted community feature requests. * Updated methods to manage Timescale's hybrid row-columnar store (hypercore) that highlight the usage of the columnstore which includes both an optimized columnar format as well as compression. **Dropping support for Bitnami images** After the recent change in Bitnami’s [LTS support policy](bitnami/containers#75671), we are no longer building Bitnami images for TimescaleDB. We recommend using the [official TimescaleDB Docker image](https://hub.docker.com/r/timescale/timescaledb-ha) **Deprecation Notice** We are deprecating the following parameters, functions, procedures and views. They will be removed with the next major release of TimescaleDB. Please find the replacements in the table below: | Deprecated | Replacement | Type | | --- | --- | --- | | decompress_chunk | convert_to_rowstore | Procedure | | compress_chunk | convert_to_columnstore | Procedure | | add_compression_policy | add_columnstore_policy | Function | | remove_compression_policy | remove_columnstore_policy | Function | | hypertable_compression_stats | hypertable_columnstore_stats | Function | | chunk_compression_stats | chunk_columnstore_stats | Function | | hypertable_compression_settings | hypertable_columnstore_settings | View | | chunk_compression_settings | chunk_columnstore_settings | View | | compression_settings | columnstore_settings | View | | timescaledb.compress | timescaledb.enable_columnstore | Parameter | | timescaledb.compress_segmentby | timescaledb.segmentby | Parameter | | timescaledb.compress_orderby | timescaledb.orderby | Parameter | **Features** * timescale#7341: Vectorized aggregation with grouping by one fixed-size by-value compressed column (such as arithmetic types). * timescale#7104: Hypercore table access method. * timescale#6901: Add hypertable support for transition tables. * timescale#7482: Optimize recompression of partially compressed chunks. * timescale#7458: Support vectorized aggregation with aggregate `filter` clauses that are also vectorizable. * timescale#7433: Add support for merging chunks. * timescale#7271: Push down `order by` in real-time continuous aggregate queries. * timescale#7455: Support `drop not null` on compressed hypertables. * timescale#7295: Support `alter table set access method` on hypertable. * timescale#7411: Change parameter name to enable hypercore table access method. * timescale#7436: Add index creation on `order by` columns. * timescale#7443: Add hypercore function and view aliases. * timescale#7521: Add optional `force` argument to `refresh_continuous_aggregate`. * timescale#7528: Transform sorting on `time_bucket` to sorting on time for compressed chunks in some cases. * timescale#7565: Add hint when hypertable creation fails. * timescale#7390: Disable custom `hashagg` planner code. * timescale#7587: Add `include_tiered_data` parameter to `add_continuous_aggregate_policy` API. * timescale#7486: Prevent building against PostgreSQL versions with broken ABI. * timescale#7412: Add [GUC](https://www.postgresql.org/docs/current/acronyms.html#:~:text=GUC) for the `hypercore_use_access_method` default. * timescale#7413: Add GUC for segmentwise recompression. **Bugfixes** * timescale#7378: Remove obsolete job referencing `policy_job_error_retention`. * timescale#7409: Update `bgw_job` table when altering procedure. * timescale#7410: Fix the `aggregated compressed column not found` error on aggregation query. * timescale#7426: Fix `datetime` parsing error in chunk constraint creation. * timescale#7432: Verify that the heap tuple is valid before using. * timescale#7434: Fix the segfault when internally setting the replica identity for a given chunk. * timescale#7488: Emit error for transition table trigger on chunks. * timescale#7514: Fix the error: `invalid child of chunk append`. * timescale#7517: Fix the performance regression on the `cagg_migrate` procedure. * timescale#7527: Restart scheduler on error. * timescale#7557: Fix null handling for in-memory tuple filtering. * timescale#7566: Improve transaction check in CAGG refresh. * timescale#7584: Fix NaN-handling for vectorized aggregation. * timescale#7598: Match the Postgres NaN comparison behavior in WHERE clause over compressed tables. **Thanks** * @bharrisau for reporting the segfault when creating chunks. * @jakehedlund for reporting the incompatible NaN behavior in WHERE clause over compressed tables. * @k-rus for suggesting that we add a hint when hypertable creation fails. * @staticlibs for sending the pull request that improves the transaction check in CAGG refresh. * @uasiddiqi for reporting the `aggregated compressed column not found` error.
This release introduces the ability to add secondary indexes to the columnstore, improves group by and filtering performance through columnstore vectorization, and contains the highly upvoted community request of transition table support. We recommend that you upgrade at the next available opportunity.
Highlighted features in TimescaleDB v2.17.0
SIMD
) for aggregations using a group by with one column and/or using a filter clause when querying the columnstore.Dropping support for Bitnami images
After the recent change in Bitnami’s LTS support policy, we are no longer building Bitnami images for TimescaleDB. We recommend using the official TimescaleDB Docker image
Deprecation Notice
We are deprecating the following parameters, functions, procedures and views. They will be removed with the next major release of TimescaleDB. Please find the replacements in the table below:
Features
filter
clauses that are also vectorizable.order by
in real-time continuous aggregate queries.drop not null
on compressed hypertables.alter table set access method
on hypertable.order by
columns.force
argument torefresh_continuous_aggregate
#7521: Add optionalforce
argument torefresh_continuous_aggregate
.time_bucket
to sorting on time for compressed chunks in some cases.hashagg
planner code.timescaledb.enable_tiered_reads
GUC #7587: Addinclude_tiered_data
parameter toadd_continuous_aggregate_policy
API.hypercore_use_access_method
default.Bugfixes
policy_job_error_retention
.bgw_job
table when altering procedure.aggregated compressed column not found
error on aggregation query.datetime
parsing error in chunk constraint creation.invalid child of chunk append
.cagg_migrate
procedure.Thanks
aggregated compressed column not found
error.Disable-check: force-changelog-file