432 Commits

Author SHA1 Message Date
Alexander Kuzmenkov
0eadff3bee
Update existing backports in the backport script (#7612)
Depending on the branch protection settings, we might have to update
them before they can be merged, so do this automatically to minimize the
required manual work.
2025-02-05 13:10:36 +00:00
Pallavi Sontakke
c01ad1748e
Automate Minor release - Feature Freeze
with GitHub workflow files.

We run these steps for a new minor version - feature freeze :
- create the Bump-version PR on `main`, 
- create the new minor-version-branch , e.g. `2.18.x`
- create the Release PR on minor-version-branch

We no more use a fork, but a branch directly.
2025-02-03 11:35:14 +05:30
Sven Klemm
65b8151af3 Add actionable hints to update script checker 2025-01-31 11:36:21 +01:00
Sven Klemm
e9da072f87 Add ci check for idempotency in sql scripts
To detect the problematic patterns that were part of the 2.18 release
we can check the sql scripts against a list of allowed statements.
Any non idempotent operation should be in the pre_install scripts
and not the scripts that get appended for the update scripts.
2025-01-27 12:26:40 +01:00
Alexander Kuzmenkov
2b0011e7e8
Import the UMASH hashing library (#7616)
We use it for vectorized hash grouping. For now, add the library
separately to figure out the required CMake and CI changes.
2025-01-24 14:45:05 +00:00
Sven Klemm
79418787b8 Allow table_am_handler and index_am_handler C function references
We need to allow these in the update script as we try to create
an operator class later that is gonna call those functions during
upgrade process.
2025-01-24 01:29:07 +01:00
Alexander Kuzmenkov
7428ef799f
Fix the backport script (#7607) 2025-01-21 10:20:05 +00:00
Sven Klemm
954f220079 Determine backport branch based on version not update_from_version
This allows switching backport branch without requiring a published
release for the version. This patch also bumps version to 2.19.0-dev
so 2.18.x becomes the new backport target.
2025-01-20 21:24:38 +01:00
Fabrízio de Royes Mello
1e801281a0 Disable false positive warning on shellcheck
https://github.com/timescale/timescaledb/actions/runs/12358516263/job/34489217274?pr=7538#step:4:7
2024-12-16 17:55:46 -03:00
Mats Kindahl
396caf65bb Modify flakes table for jobs
This adds a generated column for extracting the version from the job
name. It will read anything that matches `PG<number><alphanumeric>` or
`PG<number>.<number>` and generate a version string. If the first
pattern matches, it will generate `<number>.x` as string, signifying
that this is an unknown minor version.
2024-12-05 15:06:58 +01:00
Alexander Kuzmenkov
062a1190a3
Replace ERRCODE_INTERNAL_ERROR with appropriate code (#7417)
Anything that can be triggered by user action or environment conditions
is not an internal program error.
2024-11-12 09:59:32 +00:00
Pallavi Sontakke
b1aa5650ca
Add release-PR creation scripts
For minor and patch releases. Pull Request is created on the version
branch.
2024-11-11 13:19:58 +05:30
Alexander Kuzmenkov
fdce4439e6
Adapt test result parser for latest pg_regress output (#7418)
We only parsed the old format that is used up to PG15.
2024-11-07 14:48:08 +00:00
Alexander Kuzmenkov
e458ff48c0
Move the changelog templates out of .unreleased (#7427)
This way it's easier to delete the entire .unreleased folder after the
changelog is generated, instead of enumerating every single changelog
file but skipping the templates.
2024-11-07 14:47:28 +00:00
Fabrízio de Royes Mello
04f0b47ca7 Force auto backport workflow
Currently if a PR that is elegible for backporting touches a workflow
file then the automatic backport fails.

Now adding the label `force-auto-backport-workflow` to a PR that touches
workflow files will proceed with the automatic backporting. This is
useful because sometimes we need to fix a workflow and backport it to
the current release branch or when we're adding support to a new
Postgres major version that requires workflow changes and it should be
backported to the release branch in case of creating patch releases.
2024-10-24 15:30:59 -03:00
Sven Klemm
7d7792c1f0 Enable update test for PG17 2024-10-16 09:18:01 +02:00
Fabrízio de Royes Mello
15d529fcb0 Fix list index out of range on backport.py 2024-10-07 15:20:29 -03:00
Fabrízio de Royes Mello
b6db580bcd PG17: Enable CI
This commit enables PG17 in the following workflows:
* Regression Linux (including 32bit)
* Memory tests
* Sanitizer tests
* Coverity
* SQLSmith

Also bumped to minor versions:
* 16.4
* 15.8
* 14.13

And another minor python packages fixes.
2024-09-30 11:34:09 -03:00
Sven Klemm
8bb266acd1 Add ts_update_placeholder function
To not introduce shared object dependencies on functions in extension
update scripts we use this stub function as placeholder whenever we
need to reference c functions in the update scripts.
2024-08-19 09:47:00 +02:00
Fabrízio de Royes Mello
bdfac2969a Fix partial view definition on CAggs
When creating a CAgg using a column on the projection that is not part
of the `GROUP BY` clause but is functionally dependent of the primary
key of the referenced table is leading to a problem in dump/restore
because the wrong dependencies created changing the order and way dump
is generated.

Fixed it by copying the `Query` data structure of the `direct view` and
changing the necessary properties instead of creating it from scratch.
2024-07-25 09:48:53 -03:00
Sven Klemm
b8d958cb9e Block c function definitions in latest-dev.sql
Having c function references in the versioned part of the sql
scripts introduces linking requirements to the update script
potentially preventing version updates. To prevent this we can
have a dummy function in latest-dev.sql since it will get over-
written as the final step of the extension update.
2024-07-21 10:49:57 +02:00
Sven Klemm
70bdbaf499 Add check for column types we use in our catalog.
We have to be careful with the column types we use in our catalog to only allow types
that are safe to use in catalog tables and not cause problems during extension upgrade,
pg_upgrade or dump/restore.
2024-05-28 12:34:10 +02:00
Fabrízio de Royes Mello
4c4513bd7a Add pg_upgrade test to CI
It's long we need to have binary upgrade tests in our CI. One example
is #6935 (and others) that can be prevented if we have such kind of
test in our CI.

To implement the `pg_upgrade` test we used the python Testing Framework
for PostgreSQL (https://github.com/postgrespro/testgres).

Unfortunately the testing framework don't have the ability to retain the
pg_upgrade log files after a successful execution, then we created a PR
to make it possible and we'll use this patched version until we get the
code merged and released on upstream.

https://github.com/postgrespro/testgres/pull/125

Closes #3868 #4428
2024-05-26 13:52:59 -03:00
Fabrízio de Royes Mello
2a3a471bb7 Silence codespell check 2024-05-25 02:11:23 -03:00
Sven Klemm
009d970af9 Remove PG13 support
In order to keep the number of supported PG versions more managable
remove support for PG13.
2024-05-14 17:19:20 +02:00
Fabrízio de Royes Mello
bc644f7965 Release notes header 2.15.0 2024-05-03 09:47:24 -03:00
Fabrízio de Royes Mello
fc46eabf99 Introduce release notes header template
This PR introduce the release notes header template using Jinja [1].
Also improved the script to merge changelogs to include the upcoming
.unreleased/RELEASE_NOTES_HEADER.md.j2 where we'll actually write the
release notes header for the next release.
2024-04-30 09:44:32 -03:00
Alexander Kuzmenkov
4bd73f5043
Fix backport script when PR references an issue from another repo (#6824)
We were always looking at the referenced issue number in the timescaledb
repo, which is incorrect.
2024-04-12 09:23:01 +00:00
Pallavi Sontakke
95c7d480fd Remove multinode reference
From update smoke test.

Related to Issue https://github.com/timescale/eng-database/issues/565

So, we no more need update-test-patch for dev-cloud update pre-release tests.
2024-03-14 13:13:34 +05:30
Sven Klemm
fe06eddbf2 Refactor update test
Currently the update test is quite inconvenient to run locally and also
inconvenient to debug as the different update tests all run in their own
docker container. This patch refactors the update test to no longer
require docker and make it easier to debug as it will run in the
local environment as determined by pg_config.
This patch also consolidates update/downgrade and repair test since
they do very similar things and adds support for coredump stacktraces to
the github action and removes some dead code from the update tests.
Additionally the versions to be used in the update test are now
determined from existing git tags so the post release patch no longer
needs to add newly released versions.
2024-03-03 08:29:15 +01:00
Sven Klemm
a058950256 2.14.2 post release
Add 2.14.2 to update tests and adjust version configuration
2024-02-20 13:02:10 +01:00
Sven Klemm
8d8f158302 2.14.1 post release
Adjust update tests to include new version.
2024-02-15 06:15:59 +01:00
Sven Klemm
fc0e41cc13 Fix DecompressChunk path generation with per chunk settings
Adjust DecompressChunk path generation to use the per chunk settings
and not the hypertable settings when building compression info.
This patch also fixes the missing chunk configuration generation
in the update script which was masked by this bug.
2024-02-14 14:18:04 +01:00
Ante Kresic
ba3ccc46db Post-release fixes for 2.14.0
Bumping the previous version and adding tests for 2.14.0.
2024-02-12 09:32:40 +01:00
Alexander Kuzmenkov
d93aa5c8c1
Log internal program errors to CI database (#6598)
SQLSmith finds many internal program errors (`elog`, code `XX000`).
Normally these errors shouldn't be triggered by user actions and
indicate a bug in the program (like `variable not found in subplan
targetlist`). We don't have a capacity to fix all of them currently,
especially since some of them seem to be the upstream ones. This commit
adds logging for these errors so that we at least can study the current
situation.
2024-02-09 13:28:54 +01:00
Alexander Kuzmenkov
d7239f30bd Fix UBSan failure in bulk text decompression
Fix missing alignment handling, and also buffer size problems. We were
not properly reporting the failures in the compression_algo tests, so
didn't notice these problems. Add part of tests from "vector text
predicates" PR to improve coverage.
2024-02-01 14:25:08 +01:00
Sven Klemm
50c757c6f1 Adjust .gitignore for transparent_decompression test files 2024-01-29 12:57:43 +01:00
Jan Nidzwetzki
4cb7bacd17 Change GitHub token for changelog check
Since #6505, the changelog script tries to access the
secrets.ORG_AUTOMATION_TOKEN. However, accessing secrets is not possible
for PRs. This PR changes the token to the default access token, which
is available in PRs and provides read access to the issue API.
2024-01-23 11:15:52 +01:00
Alexander Kuzmenkov
2174a7188d Allow mentioning fixed issues in the changelog
Also allow mentioning the PR like now. The numbers of issues must match
the issues referenced by the PR.
2024-01-19 19:39:13 +01:00
Sven Klemm
d16bc17fe6 Remove grep based update script check
Remove the grep based update script check and add some additional
checks to the AST based one.
2024-01-15 13:33:05 +01:00
Alexander Kuzmenkov
f08dd10425 Check the spelling in our code with codespell 2024-01-11 12:18:50 +01:00
Jan Nidzwetzki
df7a8fed6f Post-release fixes for 2.13.1
Bumping the previous version and adding tests for 2.13.1
2024-01-09 16:31:07 +01:00
Sven Klemm
8f73f95c2a Remove replication_factor field from _timescaledb_catalog.hypertable 2023-12-18 10:53:27 +01:00
Sven Klemm
11dd9af847 Remove multinode catalog objects
This patch removes the following objects:

tables:
- _timescaledb_catalog.chunk_data_node
- _timescaledb_catalog.dimension_partition
- _timescaledb_catalog.hypertable_data_node
- _timescaledb_catalog.remote_txn

views:
- timescaledb_information.data_nodes

functions:
- _timescaledb_functions.hypertable_remote_size
- _timescaledb_functions.chunks_remote_size
- _timescaledb_functions.indexes_remote_size
- _timescaledb_functions.compressed_chunk_remote_stats
2023-12-18 10:53:27 +01:00
Nikhil Sontakke
987435032c Fix MacOSx build issues
The upload script needs access to the "psql" binary with its proper
path. Fix that.
2023-12-15 16:31:56 +05:30
Fabrízio de Royes Mello
78490c47b7 Remove support for creating CAggs with old format
Timescale 2.7 released a new version of Continuous Aggregate (#4269)
that store the final aggregation state instead of the byte array of
the partial aggregate state, offering multiple opportunities of
optimizations as well a more compact form.

In 2.10.0 released on February 2023 the Continuous Aggregate old format
deprecation was announced.

With this PR the ability of creating Continuous Aggregate in the old
format was removed, but we still support migrate from the old to the
new format by running the `cagg_migrate` procedure.

This is the continuation of the PR #5977 started by @pdipesh02.

References:
https://docs.timescale.com/api/latest/continuous-aggregates/cagg_migrate/
https://github.com/timescale/timescaledb/releases/tag/2.10.0
https://github.com/timescale/timescaledb/releases/tag/2.7.0
https://github.com/timescale/timescaledb/pull/5977
2023-12-13 18:48:31 -03:00
Sven Klemm
985c1d2beb fixup 2023-12-12 20:37:35 +01:00
Sven Klemm
5d3ab06295 Remove multinode from update/downgrade test 2023-12-12 20:37:35 +01:00
Fabrízio de Royes Mello
d2284c282a PG16: Enable update/downgrade tests on CI
Note that multinode support was removed from PG16 so starting now
update/downgrade tests will be executed only on singlenode setup.
2023-11-30 07:33:53 -03:00
Jan Nidzwetzki
3b59a8a774 Post-release fixes for 2.13.0
Bumping the previous version and adding tests for 2.13.0.
2023-11-29 21:49:17 +01:00