Skip to content

Reuse existing dimension_slice ids when possible - #10257

Merged
svenklemm merged 1 commit into
mainfrom
sven/reuse_ids
Jul 15, 2026
Merged

Reuse existing dimension_slice ids when possible#10257
svenklemm merged 1 commit into
mainfrom
sven/reuse_ids

Conversation

@svenklemm

Copy link
Copy Markdown
Member

When upgrading to 2.28.x we would rebuild all dimension_slices as
slices can no longer be shared. We can completely reuse existing
ids for hypertables with only single dimensions and reduce the
amount of renumbering for hypertables with multiple dimensions.
This reduces the amount of locks takes during extension upgrades.

@github-actions

Copy link
Copy Markdown

@Poroma-Banerjee, @dbeck: please review this pull request.

Powered by pull-review

@svenklemm svenklemm added this to the v2.28.3 milestone Jul 14, 2026
@codecov

codecov Bot commented Jul 14, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

@svenklemm svenklemm added the force-auto-backport Automatically backport this PR or fix of this issue, even if it's not marked as "bug" label Jul 15, 2026
When upgrading to 2.28.x we would rebuild all dimension_slices as
slices can no longer be shared. We can completely reuse existing
ids for hypertables with only single dimensions and reduce the
amount of renumbering for hypertables with multiple dimensions.
This reduces the amount of locks takes during extension upgrades.
@svenklemm
svenklemm merged commit 2a99f01 into main Jul 15, 2026
62 checks passed
@svenklemm
svenklemm deleted the sven/reuse_ids branch July 15, 2026 13:43
@surister surister mentioned this pull request Jul 16, 2026
surister pushed a commit that referenced this pull request Jul 16, 2026
# TimescaleDB Changelog

**Please note: When updating your database, you should connect using
`psql` with the `-X` flag to prevent any `.psqlrc` commands from
accidentally triggering the load of a previous TimescaleDB version.**

## 2.28.3 (2026-07-16)

This release contains performance improvements and bug fixes since the
2.28.2 release. We recommend that you upgrade at the next available
opportunity.

**Bugfixes**
* [#10082](#10082) Wrong
result when evaluating a function returning `NULL` in the columnar query
execution pipeline
* [#10178](#10178) Fix
incorrect usage of sort transformation for sort key expressions with
negative constants
* [#10179](#10179) Allow
enabling and disabling triggers on hypertables with columnstore enabled
* [#10182](#10182) Fix
columnstore sort pushdown to check for different query sort key
collation
* [#10209](#10209) Fix
potentially wrong results for `stddev(float4)` and `stddev(float8)` when
used with `avg()` in the columnar query execution pipeline
* [#10212](#10212) Fix race
condition when enabling compression on a hypertable
* [#10230](#10230) Batch
filtering for compressed `DML` should respect collation
* [#10254](#10254) Direct
delete failed to handle array predicates with `NULL` values and deleted
more rows than intended
([#10129](#10129))
* [#10257](#10257) Reuse
existing `dimension_slice` IDs when possible
* [#10265](#10265) Truncate
constraint name before trying to rename

**Thanks**
* @juantxorena for reporting that triggers could not be enabled or
disabled on hypertables with columnstore enabled
@timescale-automation timescale-automation added the released-2.29.0 Released in 2.29.0 label Jul 28, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

backported-2.28.x force-auto-backport Automatically backport this PR or fix of this issue, even if it's not marked as "bug" released-2.29.0 Released in 2.29.0

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants