Skip to content

Files

Latest commit

9bfdc27 · Feb 6, 2025

History

History
1066 lines (1055 loc) · 418 KB

commit_history.csv

File metadata and controls

1066 lines (1055 loc) · 418 KB
1
145Zoltan Haindrich2023-05-12 01:30:41-05ab2cccb6e2b10008c2604af96be71ed8709ecb22Post-release 2.11.0Adjust the upgrade/downgrade scripts and add the tests. (cherry picked from commit d5fea0a842cbd38d2d72db16e9e67f1c9b1ccf36)
2
239Fabrízio de Royes Mello2023-04-04 15:31:33-056440bb3477eef183459272cb90f6ffa8bf30b682Remove unused functionRemove unused function `invalidation_threshold_htid_found`.
3
305Maheedhar PV2023-02-21 11:33:46-06c8c50dad7eca4f7425bfb9980b872a1c44201cebPost-release fixes for 2.10.0Bumping the previous version and adding tests for 2.10.0
4
308Sven Klemm2023-02-20 06:31:19-0609766343997aa903f9d6a1ab14bcfc49a0045864Set name for COPY insert buffer hash tableHaving the hash table named makes debugging easier as the name is used for the MemoryContext used by the hash table.
5
379Mats Kindahl2023-01-16 02:24:32-068f4fa8e4cca73f11d3892ce6afde04ca104465d2Add build matrix to Windows and Linux buildsBuild matrix is missing from the ignore workflows for the Windows and Linux builds, so this commit adds them.
6
429Matvey Arye2022-12-07 20:14:06-06df16815009b6353383c720e364e1b3d2c82f8867Fix memory leak for compression with merge chunksThe RelationInitIndexAccessInfo call leaks cache memory and seems to be unnecessary.
7
377Jan Nidzwetzki2023-01-17 01:46:21-0619065bbdf39d2536a227041331adf24ffb38ffdcIntroduce a FDW option to mark reference tablesWith this patch, the ability to mark reference tables (tables that exist on all data nodes of a multi-node installation) via an FDW option has been added.
8
458Fabrízio de Royes Mello2022-11-22 14:35:00-0635fa891013bcba87515b026e7e7b0abb728f1a54Add missing gitignore entryPull request #4998 introduced a new template SQL test file but missed to add the properly `.gitignore` entry to ignore generated test files.
9
494Markos Fountoulakis2022-11-10 02:55:22-06e2b7c76c9c1d53edf15ea3d4d01d666a675a7c5fDisable MERGE when using hypertablesFixes #4930 Co-authored-by: Lakshmi Narayanan Sreethar <lakshmi@timescale.com>
10
0Lakshmi Narayanan Sreethar2023-09-05 10:33:21-0544e41c12ab25e36c202f58e068ced262eadc8d16Fix segfault in set_integer_now_funcWhen an invalid function oid is passed to set_integer_now_func, it finds out that the function oid is invalid but before throwing the error, it calls ReleaseSysCache on an invalid tuple causing a segfault. Fixed that by removing the invalid call to ReleaseSysCache. Fixes #6037
11
1Bharathy2023-09-01 22:54:31-05e66a40038e3c84fb1a68da67ad71caf75c64a027Fix server crash on UPDATE of compressed chunkUPDATE query with system attributes in WHERE clause causes server to crash. This patch fixes this issue by checking for system attributes and handle cases only for segmentby attributes in fill_predicate_context(). Fixes #6024
12
304noctarius aka Christoph Engelbert2023-01-09 10:20:38-060118e6b9520a4c45363e2c92d4664a91dd77e786Support CAGG names in hypertable_(detailed_)sizeThis small patch adds support for continuous aggregates to the `hypertable_detailed_size` (and with that `hypertable_size`). It adds an additional check to see if a continuous aggregate exists if a hypertable with the given regclass name isn't found.
13
597Sven Klemm2022-09-27 12:49:42-05940187936c93b6d78e702ded75d79d914f8fea96Fix segfault when INNER JOINing hypertablesThis fixing a segfault when INNER JOINing 2 hypertables that are ordered by time.
14
495Fabrízio de Royes Mello2022-11-11 11:42:22-069e276c58ee7b99ae479f4a544de12bbbcc84c211Revert "Upload test results into the database"This reverts commit 252cefb509153fadcb32741a27ec3fa977487049 because it broke our CI globally.
15
464Fabrízio de Royes Mello2022-11-18 13:26:05-06a5b8c9b084aa6edd5eb8aeb38cc0ab16ecfd8ac4Fix caggs on caggs tests on PG15PR #4668 introduced the Hierarchical Continuous Aggregates (aka Continuous Aggregate on top of another Continuous Aggregate) but unfortunately we miss to fix the regression tests on PG15.
16
683Sven Klemm2022-08-18 02:20:38-051f6d69720d1efd53ec42df5fca5e54a85898a5c6Add link to forum to READMEThis also replaces appveyor badge with link to Windows GitHub actions.
17
740Sven Klemm2022-07-25 02:43:32-053ea06f4984b4141dba4209ad2d4e431f149a3f55Remove ubuntu 21.10 (impish) from package testsUbuntu 21.10 is EOL and we no longer build packages for it.
18
306Jan Nidzwetzki2023-01-24 02:48:07-06e0be9eaa281527ee1cc8569ce025cfe64dca8574Allow pushdown of reference table joinsThis patch adds the functionality that is needed to perform distributed, parallel joins on reference tables on access nodes. This code allows the pushdown of a join if: * (1) The setting "ts_guc_enable_per_data_node_queries" is enabled * (2) The outer relation is a distributed hypertable * (3) The inner relation is marked as a reference table * (4) The join is a left join or an inner join
19
307Dmitry Simonenko2023-02-21 11:17:20-06f12a361ef7de9566113ea79617d49d62597b4bd2Add timeout argument to the ping_data_node()This PR introduces a timeout argument and a new logic to the timescale_internal.ping_data_node() function which allows to handle io timeouts for nodes being unresponsive. Fix #5312
20
741Sven Klemm2022-07-25 02:47:01-05661a6507edd0ec9c9c14b9317a6178aa4fd866b5Fix coccinelle CI actionSwitch coccinelle CI action to ubuntu 22.04 because 21.10 is EOL and stopped working.
21
575Sven Klemm2022-10-08 09:55:42-052defb2b0b374b150dc1e678c03f621fb2f59ecf8Improve job_crash_log testOlder versions seens to have problems when undef is passed to poll_query_until so we change the call to pass explicit query instead.
22
2Jan Nidzwetzki2023-08-29 14:13:51-05c6a930897e9f9e9878db031cc7fb6ea79d721a74Use Debian Bookworm for 32-bit testsSo far, we have used Debian Buster (10) for our 32-bit tests. This distribution is EOL in ~1 year and contains an old LLVM version (7.0). LLVM 7 contains a few bugs that break the JIT functionality of PostgreSQL (missing mixed-sign 64-bit operands on 32-bit architectures / failed to resolve name __mulodi4). This patch changes the used Distribution for 32-bit tests to Debian Bookworm (12 / LLVM 14). Since the PostgreSQL download server no longer offers 32-bit Debian packages, PostgreSQL is built from source.
23
3Lakshmi Narayanan Sreethar2023-08-28 12:49:22-058e941b80ae1b0e0b6affe5431454cdc637628d99Fix incorrect row count in EXPLAIN ANALYZE INSERT .. ON CONFLICT outputINSERT ... ON CONFLICT statements record few metrics in the ModifyTable node's instrument but they get overwritten by hypertable_modify_explain causing wrong output in EXPLAIN ANALYZE statments. Fix it by saving the metrics into HypertableModify node before replacing them. Fixes #6014
24
901Alexander Kuzmenkov2022-04-21 08:56:05-05a1e76d2e84a0b5c53bf8864f51c7cc365be2e231Follow-up for compressed chunk collation #4236Add a changelog message and add a check for broken chunks to the update script.
25
4Lakshmi Narayanan Sreethar2023-05-30 10:02:29-05caada43454e25d3098744fa6b675ac7d07390550PG16: Fix concurrent update issues with MERGE.PG16 commit postgres/postgres@9321c79c fixes an issue with concurrent update issues in MERGE. This patch adapts that fix into the MERGE support for hypertables as well. postgres/postgres@9321c79c
26
921Sven Klemm2022-04-11 14:46:57-05bdaa4607d4fa2322e65f779a24f3fa42f47b5b52Post release 2.6.1Add 2.6.1 to update and downgrade tests.
27
786Alexander Kuzmenkov2022-06-21 02:56:09-055c69adfb7e0fcda27d89c1b98eee2f9f94639e5dAdd more tests for errors on data nodesUse a data type with faulty send/recv functions to test various error handling paths.
28
5Sven Klemm2023-08-29 11:13:24-05e4facda540286b0affba47ccc63959fefe2a7b26Add compatibility layer for _timescaledb_internal functionsWith timescaledb 2.12 all the functions present in _timescaledb_internal were moved into the _timescaledb_functions schema to improve schema security. This patch adds a compatibility layer so external callers of these internal functions will not break and allow for more flexibility when migrating.
29
859Sven Klemm2022-05-14 09:38:13-0554f56af3efba2a3735a406ccb0211584055ee440Support wildcards in IGNORESAdd support for wildcards in IGNORES for regression tests.
30
6Jan Nidzwetzki2023-08-31 02:56:38-0577dc6ed42c6d0b65dd971566c2184e9bd7008e68Fix non-deterministic cagg_insert isolation testOne permutation of the cagg_insert isolation test contains an assumption about the execution order of three processes after a lock is released. However, this behavior is non-deterministic. This PR makes the assumption explicit and adds proper markers to the isolation test to make the output deterministic.
31
860Sven Klemm2022-05-17 07:00:07-05a7c8641e04ca01d9e3a7973a7b3c817a430004ddBump postgres versions used in CIBump postgres versions used in CI to 14.3, 13.7 and 12.11.
32
7Jan Nidzwetzki2023-08-29 07:47:57-0508231c8aacd17152f315ad36d95c031fb46073aaExport is_decompress_chunk_path / is_gapfill_pathThis patch adds the 'ts_' prefix to the function names of is_decompress_chunk_path and is_gapfill_path and makes them available for use by other parts of TimescaleDB.
33
8Jan Nidzwetzki2023-08-30 16:49:34-05fa04a067e0dce3a09b229cf2e6c127984cb9896fFix an invalid SPI result use after freeThis PR fixes the invalid use of an SPI result after SPI_finish is called and the result is freed.
34
9Sven Klemm2023-08-30 02:15:34-05e3437786ad7e3b5f152167ce0081e546178b8a12Make multinode tests conditionalSince multinode tests take a long time to run we dont want to run them in CI on individual PRs but only on nightly runs.
35
1031gayyappan2022-01-20 12:23:12-069f64df8567abdbe6af11a9388acefb8237629ff5Add ts_catalog subdirectoryMove files that are related to timescaledb catalog access to this subdirectory
36
10Sven Klemm2023-08-29 05:52:06-053b6dc7dc013572f91db181ccbbe4854f596714ddMove partialize functions to _timescaledb_functions schemaTo increase schema security we do not want to mix our own internal objects with user objects. Since chunks are created in the _timescaledb_internal schema our internal functions should live in a different dedicated schema. This patch make the necessary adjustments for the following functions: - finalize_agg_ffunc(internal,text,name,name,name[],bytea,anyelement) - finalize_agg_sfunc(internal,text,name,name,name[],bytea,anyelement) - partialize_agg(anyelement) - finalize_agg(text,name,name,name[][],bytea,anyelement)
37
468Fabrízio de Royes Mello2022-11-16 13:34:53-06b1742969d09114cd5138abe16f5c70dfbf864e4fAdd SQL test files to trailing whitespace CI checkIn commit 1f807153 we added a CI check for trailing whitespaces over our source code files (.c and .h). This commit add SQL test files (.sql and .sql.in) to this check.
38
11Alexander Kuzmenkov2023-08-29 05:39:17-05623381ce99978b7f05f32ec1f5c117345ef6cd8eReread the catalog data after locking the chunkThe compression status can change, and this is prevented by locking, so to keep our data consistent, we should reread the chunk metadata after we have locked it. Currently we have some code in place that masks this inconsistency by rereading the metadata in another place. This code is removed.
39
12Sven Klemm2023-08-29 03:49:47-05a9751ccd5eb030026d7b975d22753f5964972389Move partitioning functions to _timescaledb_functions schemaTo increase schema security we do not want to mix our own internal objects with user objects. Since chunks are created in the _timescaledb_internal schema our internal functions should live in a different dedicated schema. This patch make the necessary adjustments for the following functions: - get_partition_for_key(val anyelement) - get_partition_hash(val anyelement)
40
13Sven Klemm2023-08-28 16:26:23-05b2a91494a11d8b82849b6f11f9ea6dc26ef8a8cbMove ddl_internal functions to _timescaledb_functions schemaTo increase schema security we do not want to mix our own internal objects with user objects. Since chunks are created in the _timescaledb_internal schema our internal functions should live in a different dedicated schema. This patch make the necessary adjustments for the following functions: - chunk_constraint_add_table_constraint(_timescaledb_catalog.chunk_constraint) - chunk_drop_replica(regclass,name) - chunk_index_clone(oid) - chunk_index_replace(oid,oid) - create_chunk_replica_table(regclass,name) - drop_stale_chunks(name,integer[]) - health() - hypertable_constraint_add_table_fk_constraint(name,name,name,integer) - process_ddl_event() - wait_subscription_sync(name,name,integer,numeric)
41
14Jan Nidzwetzki2023-08-29 01:02:48-054516df285c962f801722019868fc0a982ed43a57Make up/downgrade test deterministicTwo queries in post.continuous_aggs.v3.sql had no ORDER BY specification. Therefore, the query output was not deterministic. This patch adds the missing ORDER BY.
42
15Sven Klemm2023-08-28 08:32:54-056576d969b319dac8e7fd08a9cf4cfc8197b34d1dMove log invalidation functions to _timescaledb_functions schemaTo increase schema security we do not want to mix our own internal objects with user objects. Since chunks are created in the _timescaledb_internal schema our internal functions should live in a different dedicated schema. This patch make the necessary adjustments for the following functions: - cagg_watermark(integer) - cagg_watermark_materialized(integer) - hypertable_invalidation_log_delete(integer) - invalidation_cagg_log_add_entry(integer,bigint,bigint) - invalidation_hyper_log_add_entry(integer,bigint,bigint) - invalidation_process_cagg_log(integer,integer,regtype,bigint,bigint,integer[],bigint[],bigint[]) - invalidation_process_cagg_log(integer,integer,regtype,bigint,bigint,integer[],bigint[],bigint[],text[]) - invalidation_process_hypertable_log(integer,integer,regtype,integer[],bigint[],bigint[]) - invalidation_process_hypertable_log(integer,integer,regtype,integer[],bigint[],bigint[],text[]) - materialization_invalidation_log_delete(integer)
43
16Sven Klemm2023-08-28 01:38:26-0528c7457faf9b909ea89b26b61cfa5a8428e2c23cMove scheduler functions to _timescaledb_functions schemaTo increase schema security we do not want to mix our own internal objects with user objects. Since chunks are created in the _timescaledb_internal schema our internal functions should live in a different dedicated schema. This patch make the necessary adjustments for the following functions: - restart_background_workers() - stop_background_workers() - start_background_workers() - alter_job_set_hypertable_id(integer,regclass)
44
17James Guthrie2023-08-10 06:23:01-0501e480d5d668f7fbfc81800d4aad6c5ee61ba227Account for uncompressed rows in 'create_compressed_chunk'`_timescaledb_internal.create_compressed_chunk` can be used to create a compressed chunk with existing compressed data. It did not account for the fact that the chunk can contain uncompressed data, in which case the chunk status must be set to partial. Fixes #5946
45
18Fabrízio de Royes Mello2023-08-27 06:20:04-05a323547e691f7ca9ad5d0b3924071a51b0a365cdMove cagg_migrate functions to _timescaledb_functions schemaTo increase schema security we do not want to mix our own internal objects with user objects. Since chunks are created in the _timescaledb_internal schema our internal functions should live in a different dedicated schema. This patch make the necessary adjustments for the following functions: - cagg_migrate_create_plan(_timescaledb_catalog.continuous_agg,text,boolean,boolean) - cagg_migrate_execute_copy_data(_timescaledb_catalog.continuous_agg,_timescaledb_catalog.continuous_agg_migrate_plan_step) - cagg_migrate_execute_copy_policies(_timescaledb_catalog.continuous_agg,_timescaledb_catalog.continuous_agg_migrate_plan_step) - cagg_migrate_execute_create_new_cagg(_timescaledb_catalog.continuous_agg,_timescaledb_catalog.continuous_agg_migrate_plan_step) - cagg_migrate_execute_disable_policies(_timescaledb_catalog.continuous_agg,_timescaledb_catalog.continuous_agg_migrate_plan_step) - cagg_migrate_execute_drop_old_cagg(_timescaledb_catalog.continuous_agg,_timescaledb_catalog.continuous_agg_migrate_plan_step) - cagg_migrate_execute_enable_policies(_timescaledb_catalog.continuous_agg,_timescaledb_catalog.continuous_agg_migrate_plan_step) - cagg_migrate_execute_override_cagg(_timescaledb_catalog.continuous_agg,_timescaledb_catalog.continuous_agg_migrate_plan_step) - cagg_migrate_execute_plan(_timescaledb_catalog.continuous_agg) - cagg_migrate_execute_refresh_new_cagg(_timescaledb_catalog.continuous_agg,_timescaledb_catalog.continuous_agg_migrate_plan_step) - cagg_migrate_plan_exists(integer) - cagg_migrate_pre_validation(text,text,text) Co-authored-by: Fabrízio de Royes Mello <fabriziomello@gmail.com Co-authored-by: Sven Klemm <sven@timescale.com>
46
19Sven Klemm2023-08-27 06:20:04-05e02b1f348eb4c48def00b7d5227238b4d9d41a4aSimplify schema move update scriptUse dynamic sql to create the ALTER FUNCTION statements for those functions that may not exist in previous versions.
47
20Sven Klemm2023-08-23 13:59:47-05184e8398182fb3972137b4faaa64d3a08836dfd9Move policy functions to _timescaledb_functions schemaTo increase schema security we do not want to mix our own internal objects with user objects. Since chunks are created in the _timescaledb_internal schema our internal functions should live in a different dedicated schema. This patch make the necessary adjustments for the following functions: - policy_compression_check(jsonb) - policy_compression_execute(integer,integer,anyelement,integer,boolean,boolean) - policy_compression(integer,jsonb) - policy_job_error_retention_check(jsonb) - policy_job_error_retention(integer,jsonb) - policy_recompression(integer,jsonb) - policy_refresh_continuous_aggregate_check(jsonb) - policy_refresh_continuous_aggregate(integer,jsonb) - policy_reorder_check(jsonb) - policy_reorder(integer,jsonb) - policy_retention_check(jsonb) - policy_retention(integer,jsonb)
48
21Lakshmi Narayanan Sreethar2023-07-05 13:19:07-056fb3c3f3f43fe70b7c5034ddfb11451df802890cPG16: Handle updates to make_restrictinfo functionWhile fixing a bug in filtering of "cloned" outer-join quals, PG16 adds 3 new parameters to the make_restrictinfo function. Updated the compat function to handle this change. This patch also cleans up the variants of make_restrictinfo from other versions to make it clear which args are passed. postgres/postgres@991a3df227
49
22Lakshmi Narayanan Sreethar2023-05-18 06:35:21-059425402264624f78fd052c700f53f7a736230007PG16: Handle removed EquivalenceClass membersPG16 removes the outerjoin_delayed mechanism and RestrictInfo.nullable_relids. postgres/postgres@b448f1c8 postgres/postgres@3bef56e1
50
23Lakshmi Narayanan Sreethar2023-08-24 09:41:44-053a493a47d1b5cc1a148c0040d531bf132f567e80Remove unused functionsRemoved the unused functions ts_make_pathkey_from_sortop and ts_make_pathkey_from_sortinfo.
51
24Lakshmi Narayanan Sreethar2023-05-13 01:50:42-05040d45510430d13a9e1eda0ecb02981dfa1be39cPG16: Datum macros are now inline functionsPG16 converted the *GetDatum() and DatumGet*() macros to inline functions. This doesn't affect most of our code but a few places like struct object initialisations cannot use inline functions. This commit updates all the places affected by this change. postgres/postgres@c8b2ef05
52
491Alexander Kuzmenkov2022-11-09 10:01:58-060360812e3ccc627ab6e1cb6aab8e95f925956593Simplify llvm configuration for linux/macos buildsSet it only in the matrixbuilder.
53
25Sven Klemm2023-08-22 07:15:13-050da18a93b5bd00c6b25ff3c485b2228d371b3326Move chunk functions to _timescaledb_functions schemaTo increase schema security we do not want to mix our own internal objects with user objects. Since chunks are created in the _timescaledb_internal schema our internal functions should live in a different dedicated schema. This patch make the necessary adjustments for the following functions: - calculate_chunk_interval(int, bigint, bigint) - chunk_status(regclass) - chunks_in(record, integer[]) - chunk_id_from_relid(oid) - show_chunk(regclass) - create_chunk(regclass, jsonb, name, name, regclass) - set_chunk_default_data_node(regclass, name) - get_chunk_relstats(regclass) - get_chunk_colstats(regclass) - create_chunk_table(regclass, jsonb, name, name) - freeze_chunk(regclass) - unfreeze_chunk(regclass) - drop_chunk(regclass) - attach_osm_table_chunk(regclass, regclass)
54
26Fabrízio de Royes Mello2023-08-07 17:49:47-055bba74a2ec083728f8e93e09d03d102568fd72b5Relax strong table lock when refreshing a CAGGWhen refreshing a Continuous Aggregate we take a table lock on _timescaledb_catalog.continuous_aggs_invalidation_threshold when processing the invalidation logs (the first transaction of the refresh Continuous Aggregate procedure). It means that even two different Continuous Aggregates over two different hypertables will wait each other in the first phase of the refreshing procedure. Also it lead to problems when a pg_dump is running because it take an AccessShareLock on tables so Continuous Aggregate refresh execution will wait until the pg_dump finish. Improved it by relaxing the strong table-level lock to a row-level lock so now the Continuous Aggregate refresh procedure can be executed in multiple sessions with less locks. Fix #3554
55
27Sven Klemm2023-08-23 06:06:49-050f3d39574bf696e6627471ee16b5c26a12fb436cRemove _timescaledb_internal.get_time_typeThis function was used in an old version of a cagg informational view that was removed but the function itself was left in.
56
28Alexander Kuzmenkov2023-08-16 05:12:42-053373d43143ab8b17c49fdffd34fd35d551d33185Don't look up entire Chunk struct for compressed chunksIt's not needed. Also add them to baserel cache.
57
29Konstantina Skovola2023-08-07 08:36:17-05373c55662ca5f8a2993abf9b2aa7f5f4006b3229Fix ordered append for partially compressed chunksIn the exclusive presence of partially compressed chunks, this optimization was not applied because no pathkeys were supplied. Additionally, this patch makes sure that if applicable, the `enable_decompression_sorted_merge` optimization is chosen for the path, since it is more beneficial due to the ability to push down the sort below DecompressChunk.
58
30Erik Nordström2023-08-23 03:18:48-05d1246ee2f30c171491c3f5b9efe0626314c37c13Exclude PRs from bugs project boardAn `issue_comment` event is triggered by comments on both issues and PRs. However, the bugs project workflow did not filter out pull requests when the `issue_comment` event happened, so pull requests were also added to the bugs project board. Add a conditional that filters out pull requests so that only issues are added to the board.
59
31Sven Klemm2023-08-23 02:07:14-05e47832b51ac7b18e7441de3a1eeffe579057d8e2Bump pgspot version to 0.6.0pgspot 0.6.0 has a bugfix for function signature tracking to no longer consider default values as part of the function signature.
60
32Sven Klemm2023-08-22 05:01:19-05cf04496e4b4237440274eb25e4e02472fc4e06fcMove utility functions to _timescaledb_functions schemaTo increase schema security we do not want to mix our own internal objects with user objects. Since chunks are created in the _timescaledb_internal schema our internal functions should live in a different dedicated schema. This patch make the necessary adjustments for the following functions: - generate_uuid() - get_git_commit() - get_os_info() - tsl_loaded()
61
33Sven Klemm2023-08-22 02:37:40-05183362e17baf71ae4f663709a9cb412a986aa4d8Move size_util functions to _timescaledb_functions schemaTo increase schema security we do not want to mix our own internal objects with user objects. Since chunks are created in the _timescaledb_internal schema our internal functions should live in a different dedicated schema. This patch make the necessary adjustments for the following functions: - relation_size(regclass) - data_node_hypertable_info(name, name, name) - data_node_chunk_info(name, name, name) - hypertable_local_size(name, name) - hypertable_remote_size(name, name) - chunks_local_size(name, name) - chunks_remote_size(name, name) - range_value_to_pretty(bigint, regtype) - get_approx_row_count(regclass) - data_node_compressed_chunk_stats(name, name, name) - compressed_chunk_local_stats(name, name) - compressed_chunk_remote_stats(name, name) - indexes_local_size(name, name) - data_node_index_size(name, name, name) - indexes_remote_size(name, name, name)
62
34Mats Kindahl2023-08-21 10:35:19-053db692296028ea3c7407150a76aaa1feed6c5b4eCall eq_func correctly in time_bucket_gapfillThe equality comparison function is called using `DirectFunctionCall2Coll`, which do not set the `fcinfo->flinfo` when calling the PostgreSQL function. Since `array_eq` uses `fcinfo->flinfo->fn_extra` for caching, and `flinfo` is null, this causes a crash. Fix this issue by using `FunctionCall2Coll` instead, which sets `fcinfo->flinfo` before calling the PostgreSQL function. Fixes #5981
63
35Sven Klemm2023-08-21 11:55:35-054256009e4cfe3daebe199540ab8c32af34836e01Move dist_internal functions to _timescaledb_functions schemaTo increase schema security we do not want to mix our own internal objects with user objects. Since chunks are created in the _timescaledb_internal schema our internal functions should live in a different dedicated schema. This patch make the necessary adjustments for the following functions: - set_dist_id(uuid) - set_peer_dist_id(uuid) - validate_as_data_node() - show_connection_cache() - ping_data_node(name, interval) - remote_txn_heal_data_node(oid)
64
36Jan Nidzwetzki2023-08-21 07:49:35-05e99832727ac3f8aebd146015158490b28754ac1aPlace data in first/last function in correct mctxSo far, the ts_bookend_deserializefunc() function has allocated the deserialized data in the current memory context. This data could be removed before the aggregation is finished. This patch moves the data into the aggregation memory context.
65
37Lakshmi Narayanan Sreethar2023-06-02 09:06:26-0509dd20d7f73938473881b0c0d1fe2e1bb4659161PG16: Align GUC variables initial value with boot valuesAny value hardcoded to a GUC variable will be overwritten by the boot_value when the GUC mechanism starts up. PG16 makes this more clear by checking that if a hardcoded value exists, it is same as the boot_value. The server asserts in debug builds if values are not equal. Commit 09636092 already fixes most of our code to align the hardcoded and boot_values for various GUC variables. This patch updates only the ts_guc_max_cached_chunks_per_hypertable initialisation which had an initial value different from the boot_value. postgres/postgres@a73952b79
66
38Lakshmi Narayanan Sreethar2023-06-02 08:32:35-05ba06c6eb2aac3be5ec1145b899cb747c82cca02aPG16: Include guc header to use GetConfigOptionByNamepostgres/postgres@0a20ff54f5
67
39Lakshmi Narayanan Sreethar2023-06-01 12:59:18-05cf0f9b5bd8def79c346bf5462abe733bfeb4e192PG16: Replace float8in_internal_opt_error with float8in_internalPG16 updated float8in_internal_opt_error() function to use soft error reporting and renamed it to float8in_internal(). Updated the code to use the new mechanism. postgres/postgres@ccff2d20e
68
40Sven Klemm2023-08-20 15:47:10-050a66bdb8d36a1879246bd652e4c28500c4b951abMove functions to _timescaledb_functions schemaTo increase schema security we do not want to mix our own internal objects with user objects. Since chunks are created in the _timescaledb_internal schema our internal functions should live in a different dedicated schema. This patch make the necessary adjustments for the following functions: - to_unix_microseconds(timestamptz) - to_timestamp(bigint) - to_timestamp_without_timezone(bigint) - to_date(bigint) - to_interval(bigint) - interval_to_usec(interval) - time_to_internal(anyelement) - subtract_integer_from_now(regclass, bigint)
69
41Sven Klemm2023-08-21 03:10:53-05a640d7ddf16f289c9472c2699952df1122642cd1Fix psql \if expressionThe expression part of the psql \if cannot contain actual SQL expression and is instead much more limited. A valid value is any unambiguous case-insensitive match for one of: true, false, 1, 0, on, off, yes, no. See https://www.postgresql.org/docs/current/app-psql.html
70
42Sven Klemm2023-08-17 02:59:25-050dd06e919f7cee9d7f7672b5244e7122d0c66436Move get_create_command into _timescaledb_functions schemaTo increase schema security we do not want to mix our own internal objects with user objects. Since chunks are created in the _timescaledb_internal schema our internal functions should live in a different dedicated schema. This patch make the necessary adjustments for the get_create_command function.
71
43Sven Klemm2023-04-13 06:16:14-0556ea8b4de93cefc38e002202d8ac96947dcbaa77Move trigger functions to _timescaledb_functions schemaTo increase schema security we do not want to mix our own internal objects with user objects. Since chunks are created in the _timescaledb_internal schema our internal functions should live in a different dedicated schema. This patch make the necessary adjustments for our trigger functions.
72
44Konstantina Skovola2023-08-17 06:15:21-052080c3c0f0d1fd8b90e9fb57491eaf936131f03fPost-release fixes for 2.11.2Bumping the previous version and adding tests for 2.11.2
73
45Lakshmi Narayanan Sreethar2023-06-01 12:31:46-05beb3b39599940082a7b0f4bf0d1d76e4500e5ebbPG16: vacuum_set_xid_limits is now vacuum_get_cutoffsPG16 refactors how VACUUM passes around its XID cutoffs. A new dedicated struct is now used by VACUUM to maintain the XID/MXID cutoffs such as FreezeLimit and OldestXmin. The vacuum_set_xid_limits() function is also now replaced with a a new vacuum_get_cutoffs() function that uses the new struct. postgres/postgres@4ce3afb8
74
46Lakshmi Narayanan Sreethar2023-06-01 12:47:57-05f92cab8c2a81e5e0d7643e6fbaeed1a371b7bf07PG16: Rename append_pathkeys to append_pathkeys_customRenamed append_pathkeys() to ts_append_pathkeys to prevent conflict with upstream changes postgres/postgres@1349d279
75
47Lakshmi Narayanan Sreethar2023-07-05 12:16:44-053438636a05936f4d20f05b42ac6e6e20d8ca736fPG16: Macro HeapKeyTest is now an inline functionpostgres/postgres@4eb3b112
76
48Lakshmi Narayanan Sreethar2023-06-01 12:43:56-058d2dc760b7738d772f4d43e7ed8b32f9c7ed11e8PG16: When removing a relation from the query, drop its RelOptInfo.PG16 removes the notion of "dead relation" and instead recommends deleting the relation's RelOptInfo from the planner's data structures when it is no longer needed. postgres/postgres@e9a20e45
77
49Lakshmi Narayanan Sreethar2023-05-18 11:05:56-0582eeb6ec2a19f30d917ca8e51303e217d201b883PG16: Node tags T_Join, T_Plan and T_Scan have been removedNode tags T_Join, T_Plan and T_Scan have been removed in PG16 as those nodes are of abstract type and never directly instantiated. postgres/postgres@251154be postgres/postgres@8c73c11a
78
50Lakshmi Narayanan Sreethar2023-05-30 11:42:39-05b7b9a9b3ef0d1541388617db9e9b9237423eb4f1PG16: Rename ri_RootToPartitionMap to ri_RootToChildMappostgres/postgres@fb958b5d
79
51Alexander Kuzmenkov2023-08-15 16:18:13-05d088b3a5d906f18f554b3322ec6d5cd00987cb4cDo not add broken compressed join clausesWe used to add join clauses that referenced a compressed column at the level of the compressed scan, and later remove them. This is wrong and useless, just don't add them.
80
52Alexander Kuzmenkov2023-08-11 06:22:30-0522a2f49a2f09ef6b5809bf75bd93d016434e48f6Fix filtering of the redundant decompress chunk clausesWe just had a bad cast inside is_redundant_derived_clause before, because it doesn't work with IndexClauses. Filtering didn't work as a result.
81
53Alexander Kuzmenkov2023-08-15 07:28:58-053a27669c846dd641b5054281729a8a71c576257dSimplify compressed pathkey lookupWhen looking up a pathkey for compressed scan, we used to do a lot of work, including a quadratic lookup through all the equivalence members, to always arrive at the same canonical pathkey we started from. Just remove this useless code for a significant planning speedup. This uncovers two bugs in parameterization of decompressed paths and generation of equivalence members for segmentby columns, fix them as well.
82
54Alexander Kuzmenkov2023-08-10 08:32:40-0504ce1bc498f8a2f7732a50bf673de175db97fd04Use cached Chunk struct when considering compressed pathsFull catalog lookups for a Chunk are expensive, avoiding them speeds up the planning.
83
55Sven Klemm2023-08-15 02:08:49-05fb617e415058473457e26ab8e42b6637f0f4cf74Bump Postgres versions used in CIBump postgres version used to 13.12, 14.9 and 15.4
84
56Jan Nidzwetzki2023-07-04 08:46:53-05154bbbb01a14046c639c1b978dd1b4e004a1f3ccPerform startup chunk exclusion in parallel leaderThe parallel version of the ChunkAppend node uses shared memory to coordinate the plan selection for the parallel workers. If the workers perform the startup exclusion individually, it may choose different subplans for each worker (e.g., due to a "constant" function that claims to be constant but returns different results). In that case, we have a disagreement about the plans between the workers. This would lead to hard-to-debug problems and out-of-bounds reads when pstate->next_plan is used for subplan selection. With this patch, startup exclusion is only performed in the parallel leader. The leader stores this information in shared memory. The parallel workers read the information from shared memory and don't perform startup exclusion.
85
57Mats Kindahl2023-08-10 06:53:57-051102d34f42daf24a6fdbbbcae2c6e46feb50ca8cRemove telemetry isolation testThe telemetry isolation test `telemetry_iso` does not test anything and does not seem to work, so it is removed. The debug waitpoint was taken in the same session, so the waitpoint was not waited on.
86
58Mats Kindahl2023-03-22 08:45:21-0571b0168ab72b15fee539ecef3886a17d09e7d042Add debug utilities to debug buildsThis will move the definitions of `debug_waitpoint_enable`, `debug_waitpoint_disable`, and `debug_waitpoint_id` to always be defined for debug builds and modify existing tests accordingly. This means that it is no longer necessary to generate isolation test files from templates (in most cases), and it will be straightforward to use these functions in debug builds. The debug utilities can be disabled by setting the option `ENABLE_DEBUG_UTILS` to `OFF`.
87
59Lakshmi Narayanan Sreethar2023-07-27 21:22:10-054bd704f3fcc1093641a8e772fe53bb0d633020ecFurther code cleanup after PG12 removalRemoved PG12 specific code guarded by the PG13_LT and PG13_GE macros.
88
60Konstantina Skovola2023-08-10 07:50:13-052cb42a62f91b0aa81e9411f44936a63f6ad9c8aaRemove test_status calls from telemetry testDue to the postman-echo endpoint redirecting http requests to https, we get an unexpected 301 response in the tests, leading to repeated test failures. This commit removes these function calls.
89
61Jan Nidzwetzki2023-07-12 15:29:25-059a2dfbfb83efdd94340c87d90a7893c7e53bd2daImproved parallel DecompressChunk worker selectionThis PR improves the way the number of parallel workers for the DecompressChunk node are calculated. Since 1a93c2d482b50a43c105427ad99e6ecb58fcac7f, no partial paths for small relations are generated, which could cause a fallback to a sequential plan and a performance regression. This patch ensures that for all relations, a partial path is created again.
90
62Konstantina Skovola2023-08-09 07:26:03-0544eab9cf9bef34274c88efd37a750eaa74cd8044Release 2.11.2This release contains bug fixes since the 2.11.1 release. We recommend that you upgrade at the next available opportunity. **Features** * #5923 Feature flags for TimescaleDB features **Bugfixes** * #5680 Fix DISTINCT query with JOIN on multiple segmentby columns * #5774 Fixed two bugs in decompression sorted merge code * #5786 Ensure pg_config --cppflags are passed * #5906 Fix quoting owners in sql scripts. * #5912 Fix crash in 1-step integer policy creation **Thanks** * @mrksngl for submitting a PR to fix extension upgrade scripts * @ericdevries for reporting an issue with DISTINCT queries using segmentby columns of compressed hypertable
91
63Lakshmi Narayanan Sreethar2023-08-09 04:54:29-05b96d1709219a9ba6b502970437d42e5dcd70643cRevert "PG16: Use new function to check vacuum permission"This reverts commit 8b0ab4164 as the commit that introduced the new function has been reverted upstream. postgres/postgres@95744599
92
348Alexander Kuzmenkov2023-02-01 03:15:39-0644cd71a602ba96029001de6e97a1b44488730080Fix the python code style checkFor an unknown reason, pip started to install an older version of prospector which is incompatible with the current pylint. Require the new prospector version explicitly.
93
64noctarius aka Christoph Engelbert2023-08-09 06:28:54-05b5b46a3e581b222f679c2d4aa15944646d8190d9Make logrepl markers for (partial) decompressions (#5805)Added logical replication messages (PG14+) as markers for (partial) decompression events (mutual compression), which makes it possible to differentiate inserts happening as part of the decompression vs actual inserts by the user, and filter the former out of the event stream. While some tools may be interested in all events, synching the pure "state" (without internal behavior) is required for others. As of now this PR is missing tests. I wonder if anyone has a good idea how to create an automatic test for it.
94
65Lakshmi Narayanan Sreethar2023-07-20 08:24:43-05a9505b40951ff6eaac330df61767dbf4ca01e84cPG16: Replace pg_class_ownercheck() with object_ownercheckPG16 replaces pg_foo_ownercheck() functions with a common object_ownercheck() function. Added a new compat function for pg_class_ownercheck() function affected by this change and replaced all its callers. postgres/postgres@afbfc029
95
66Lakshmi Narayanan Sreethar2023-07-20 08:24:32-0522ea5771ad1a7928439b74f6cf3cd53872163c02PG16: Make aclcheck function calls compatible with PG16PG16 replaced most of the aclcheck functions with a common object_aclcheck function. Updated the various aclcheck calls in the code to use the new function when compiled with PG16. postgres/postgres@c727f511
96
67Lakshmi Narayanan Sreethar2023-05-22 10:52:27-05b2b3acf6ac1f580c0c6737386f6360b912eb6c8fPG16: No need to pass create_new_ph flag to find_placeholder_infoPG16 also optimized the PlaceFolderInfo lookups to perform in constant time, so there is no need to do an additional cheap/quick test using bms_overlap to see if the PHV might be evaluated in the outer rels. postgres/postgres@6569ca439 postgres/postgres@b3ff6c742
97
68Lakshmi Narayanan Sreethar2023-08-02 14:36:38-058abe14807229e691f5b75d37a6e465a58c3de886PG16: stringToQualifiedNameList requires escontext parameterpostgres/postgres@858e776c84f
98
69Nikhil Sontakke2023-08-04 03:38:03-05592da23633e49dd3ad97922d64cdcfc22d219d90Fix assert in debug wait pointsNeed to ensure that we should try to take a lock only if a valid transaction is around. Otherwise assert is hit due to an error within an error. Fixes #5917
99
70Lakshmi Narayanan Sreethar2023-07-20 09:20:38-052eb0a3883b47529dbf182475f6b81e8180d33114PG16: Handle DefineIndex's new parameterPG16 adds a new parameter to DefineIndex, total_parts, that takes in the total number of direct and indirect partitions of the relation. Updated all the callers to pass either the actual number if it is known or -1 if it is unknown at that point. postgres/postgres@27f5c712
100
71Lakshmi Narayanan Sreethar2023-08-02 14:24:14-053af0d282ea71d9a8f27159a6171e9516e62ec9cbPG16: ExecInsertIndexTuples requires additional parameterPG16 adds a new boolean parameter to the ExecInsertIndexTuples function to denote if the index is a BRIN index, which is then used to determine if the index update can be skipped. The fix also removes the INDEX_ATTR_BITMAP_ALL enum value. Adapt these changes by updating the compat function to accomodate the new parameter added to the ExecInsertIndexTuples function and using an alternative for the removed INDEX_ATTR_BITMAP_ALL enum value. postgres/postgres@19d8e23
101
72Mats Kindahl2023-08-07 02:28:09-058a2b6a03e0a7da92e5cdfc0f6802f93c7cc80820Add weird user names to update testSince we want to be able to handle update of weird user names we add some to the update tests and create policies on them. This will create jobs with the strange name as owner.
102
74Dmitry Simonenko2023-08-03 06:30:23-057aeed663b9c0f337b530fd6cad47704a51a9b2ecFeature flags for TimescaleDB featuresThis PR adds several GUCs which allow to enable/disable major timescaledb features: - enable_hypertable_create - enable_hypertable_compression - enable_cagg_create - enable_policy_create
103
75Markus Engel2023-07-31 04:28:25-055cf354e2469ee7e43248bed382a4b49fc7ccfecdFix quoting owners in sql scripts.When referring to a role from a string type, it must be properly quoted using pg_catalog.quote_ident before it can be casted to regrole. Fixed this, especially in update scripts.
104
76Dmitry Simonenko2023-08-03 06:36:39-052863daf3df83c63ee36c0cf7b66c522da5b4e127Support CREATE INDEX ONLY ON main tableThis PR adds support for CREATE INDEX ONLY ON clause which allows to create index only on the main table excluding chunks. Fix #5908
105
77Lakshmi Narayanan Sreethar2023-07-20 09:28:59-0552ed394d4d2c13e693ff280c658c56f3eeb46f74PG16: Remove recursion-marker values in enum AlterTableTypePG16 removed the recursion-marker values used to handle certain subcommands during an ALTER TABLE execution and provides an alternative flag. Removed the references to the recursion-marker values from timescaledb code. postgres/postgres@840ff5f4
106
78Konstantina Skovola2023-08-01 06:59:07-0528612ebc3cbb6e2eeb995b25203b12974ef88127Fix crash in 1-step integer policy creationPreviously when a retention policy existed on the underlying hypertable, we would get a segmentation fault when trying to add a Cagg refresh policy, due to passing a bool instead of pointer to bool argument to function `ts_jsonb_get_int64_field` in a particular code path. Fixed by passing the expected pointer type. Fixes #5907
107
79Nikhil Sontakke2023-08-01 08:03:02-05b2773aa344c6f8fe8600830bfac417364676582dFix crash in COPY from program returning errorReset the errcallback appropriately so that the ereport in case of a PROGRAM returning error can work correctly.
108
80Alexander Kuzmenkov2023-08-01 03:04:10-050d127f6dcc8827e28528854991cc0c22ee204141Clean up compressed batch handling in DecompressChunk node* Remove unneeded data from batch states to use less memory * keep only the compressed column data because only for them we have to do something per row, other columns don't change * Adjust batch memory context size so that the bulk decompression results fit into it. * Determine whether we're going to use bulk decompression for each column at planning time, not at execution time. * Introduce "batch queue" to unify control flow for normal and batch sorted merge decompression * In batch sorted merge, compare batches on scan slot, not on projected slot. This avoids keeping the second slot in batches, and projection can be performed after we find the top batch. * this requires some custom code to build sort infos relative to scan tuple, not to targetlist. * Return a reference for the current top batch scan tuple as a result of DecompressChunk exec, don't copy it out. It is guaranteed to live until the next exec, which is the usual lifetime guarantee. This is needed to prepare for vectorized filters.
109
81Alexander Kuzmenkov2023-07-28 06:35:05-05d5268c36fbd23fa2a93c0371998286e8688247bbFix SQLSmith workflowThe build was failing because it was picking up the wrong version of Postgres. Remove it.
110
349Sven Klemm2023-02-01 01:34:20-06d8f19e57a04d17593df5f2c694eae8775faddbc7Bump version of setup-wsl github actionThe currently used version pulls in Node.js 12 which is deprecated on github. https://github.blog/changelog/2022-09-22-github-actions-all-actions-will-begin-running-on-node16-instead-of-node12/
111
351Alexander Kuzmenkov2023-01-31 05:55:55-06f75a51def79796ff7fef58ec950c859fe4e71618Run yamllint in CIHelps find errors in GitHub workflows.
112
82Mats Kindahl2023-07-25 09:32:06-05ee2ddf889e07ac20cff55013e2bf7020f99e65e1Check unique indexes when enabling compressionWhen enabling compression on a table, there is a check of unique and primary key *constraints*, but no check if there is just a unique index. This means that it is possible to create a compressed table without getting a warning that you should include the columns in the index into the segmentby field, which can lead to suboptimal query times. This commit adds a check for the unique index as well and ensure that a similar warning is printed as for a unique constraint. Fixes #5892
113
83Lakshmi Narayanan Sreethar2023-07-25 05:41:35-0561c288ec5eb966a9b4d8ed90cd026ffc5e3543c9Fix broken CI after PG12 removalThe commit cdea343cc updated the gh_matrix_builder.py script but failed to import PG_LATEST variable into the script thus breaking the CI. Import that variable to fix the CI tests.
114
84Lakshmi Narayanan Sreethar2023-07-07 11:20:14-05e5691bee11e4f41e4beef1eae5782912b83b2c94Cleanup PG12 specific code from source and test filesRemoved the PG12 specific macros and all the now, dead code. Also updated the testcases which had workarounds in place to make them compatible with PG12.
115
85Lakshmi Narayanan Sreethar2023-07-07 04:23:01-05ac33d04aa8f792e9076cdbb1162a5a367e713bf1Remove update files for PG12Removed the update files that were used only for PG12.
116
86Lakshmi Narayanan Sreethar2023-07-07 03:44:43-05c3a9f90fdd972b41ad63c97a2dba352a27073361Merge PG12 specific testfilesMerged testfiles that were split out due to their output differing only in PG12.
117
88Lakshmi Narayanan Sreethar2023-07-06 12:07:44-0581b520d3b5132cb483128837a0e5dc89b98ff308Remove support for PG12Remove support for compiling TimescaleDB code against PG12. PG12 specific macros and testfiles will be removed in a followup patch.
118
90Mats Kindahl2023-07-13 07:32:55-05906bd38573a4752f6f3ec94e925683b5444f924cAdd job exit status and runtime to logWhen a job finishes execution, either because of an error or a success, this commit will print out the execution time of the job in the log together with a message about what job that finished. For continuous aggregate refreshes, the number of rows deleted from and inserted into the materialization table will be printed.
119
91Jan Nidzwetzki2023-07-12 15:29:25-0536e71000132cf3a5430849c11ff99e910ef81207Fix duplicates on partially compressed chunk readsWhen the uncompressed part of a partially compressed chunk is read by a non-partial path and the compressed part by a partial path, the append node on top could process the uncompressed part multiple times because the path was declared as a partial path and the append node assumed it could be executed in all workers in parallel without producing duplicates. This PR fixes the declaration of the path.
120
92Rafia Sabih2023-07-05 07:33:20-051bd527375d0dbe3735cc6efb297d09ff57824fe0Rectify interval calculationFor continuous aggregates with variable bucket size, the interval was wrongly manipulated in the process. Now it is corrected by creating a copy of interval structure for validation purposes and keeping the original structure untouched. Fixes #5734
121
93noctarius aka Christoph Engelbert2023-07-12 13:22:14-054c3d64aa988ad667ff737f20a807058d6fb754ccSupport CAGG names in chunk_detailed_size (#5839)This patch adds support to pass continuous aggregate names to `chunk_detailed_size` to align it to the behavior of other functions such as `show_chunks`, `drop_chunks`, `hypertable_size`.
122
94noctarius aka Christoph Engelbert2023-07-12 13:21:27-05963d4eefbff3c4eedb851efd5a51418f14ce1820Make `set_chunk_time_interval` CAGGs aware (#5852)This patch adds support to pass continuous aggregate names to the `set_chunk_time_interval` function to align it with functions, such as `show_chunks`, `drop_chunks`, and others. It reuses the previously existing function to find a hypertable or resolve a continuous aggregate to its underlying hypertable found in chunk.c. It, however, moves the function to hypertable.c and exports it from here. There is some discussion if this functionality should stay in chunk.c, though, it feels wrong in that file now that it is exported.
123
95noctarius aka Christoph Engelbert2023-07-12 07:53:40-0588aaf23ae37fe7f47252b87325eb570aa417c607Allow Replica Identity (Alter Table) on CAGGs (#5868)This commit is a follow up of #5515, which added support for ALTER TABLE ... REPLICA IDENTITY (FULL | INDEX) on hypertables. This commit allows the execution against materialized hypertables to enable update / delete operations on continuous aggregates when logical replication in enabled for them.
124
96Alexander Kuzmenkov2023-07-06 11:14:08-05eaa1206b7f01672b95ea45486bcb7602499ffd25Improvements for bulk decompression* Restore default batch context size to fix a performance regression on sorted batch merge plans. * Support reverse direction. * Improve gorilla decompression by computing prefix sums of tag bitmaps during decompression.
125
97Alexander Kuzmenkov2023-07-06 08:56:28-057657efe019bb020af095cd9ef3d577cb7bddd7d0Cache the libfuzzer corpus between CI runsThis might help us find something interesting. Also add deltadelta/int8 fuzzing and make other minor improvements.
126
98Jan Nidzwetzki2023-07-04 08:50:17-05490bc916afac6182a0537dba6dcf8c07b2735ff1Warn if result of ts_set_flags_32 is not usedThe ts_set_flags_32 function takes a bitmap and flags and returns an updated bitmap. However, if the returned value is not used, the function call has no effect. An unused result may indicate the improper use of this function. This patch adds the qualifier pg_nodiscard to the function which triggers a warning if the returned value is not used.
127
99Konstantina Skovola2023-06-07 07:13:09-0506d20b1829e7a1afe392e50db17f92370ab0a9f8Enable altering job schedule type through `alter_job`In #4664 we introduced fixed schedules for jobs. This was done by introducing additional parameters fixed_schedule, initial_start and timezone for our add_job and add_policy APIs. These fields were not updatable by alter_job so it was not possible to switch from one type of schedule to another without dropping and recreating existing jobs and policies. This patch adds the missing parameters to alter_job to enable switching from one type of schedule to another. Fixes #5681
128
100Jan Nidzwetzki2023-06-30 03:31:03-05b9a58dd5c49da409669caa47da3db8edbcbcea44Exclude workflow changes from being backportedThe backport script for the PRs does not have the permission to backport PRs which include workflow changes. So, these PRs are excluded from being automatically backported. Failed CI run: https://github.com/timescale/timescaledb/actions/runs/5387338161/ jobs/9780701395 > refusing to allow a GitHub App to create or update workflow > `.github/workflows/xxx.yaml` without `workflows` permission)
129
101Jan Nidzwetzki2023-06-30 02:45:42-059bbf5218890fc8c4435b8cd1cc06ca310b243da7Remove Ubuntu Kinetic check on ARM64We stopped to build packages for Ubuntu Kinetic on ARM64 due to the limited support of PostgreSQL versions and the EOL of Kinetic in a few weeks. This patch removes the check for up-to-date packages for this version.
130
102Jan Nidzwetzki2023-06-30 01:22:44-05a7be1cc06a7f0324f5ac841d3898659352aaa96cFixed the ordering of merge_changelogs.sh scriptThe CHANGELOG.MD file contains the sections features, bugfixes, and thanks. This patch adjusts the script merge_changelogs.sh to produce the sections in the same order.
131
103Jan Nidzwetzki2023-06-29 04:11:15-058a581010957968cc569f5fea43fd6ab7dd3b80a6Post-release fixes for 2.11.1Bumping the previous version and adding tests for 2.11.1.
132
104Jan Nidzwetzki2023-06-27 05:36:29-058ae2da6260c7de68808db918371f8aacafce8332Release 2.11.1This release contains bug fixes since the 2.11.0 release. We recommend that you upgrade at the next available opportunity. **Features** * #5679 Teach loader to load OSM extension **Bugfixes** * #5705 Scheduler accidentally getting killed when calling `delete_job` * #5742 Fix Result node handling with ConstraintAwareAppend on compressed chunks * #5750 Ensure tlist is present in decompress chunk plan * #5754 Fixed handling of NULL values in bookend_sfunc * #5798 Fixed batch look ahead in compressed sorted merge * #5804 Mark cagg_watermark function as PARALLEL RESTRICTED * #5807 Copy job config JSONB structure into current MemoryContext * #5824 Improve continuous aggregate query chunk exclusion **Thanks** * @JamieD9 for reporting an issue with a wrong result ordering * @xvaara for reporting an issue with Result node handling in ConstraintAwareAppend
133
105Sven Klemm2023-06-27 06:11:24-05118526e6aed1afa5e559ff43d16835807572e1ebImprove continuous aggregate query chunk exclusionThis patch changes the time_bucket exclusion in cagg queries to distinguish between < and <=. Previously those were treated the same leading to failure to exclude chunks when the constraints where exactly at the bucket boundary.
134
106Erik Nordström2023-03-31 07:22:35-05e2e7e5f286b2282d17440961a1efa043ba054824Make hypertables support replica identityAdd support for setting replica identity on hypertables via ALTER TABLE. The replica identity is used in logical replication to identify rows that have changed. Currently, replica identity can only be altered on hypertables via the root; changing it directly on chunks will raise an error.
135
107Jan Nidzwetzki2023-06-16 15:50:17-0533a3e10f486e82df0db369c5ec2b80702576d9ecFixed batch look ahead in compressed sorted mergeIn decompress_sorted_merge_get_next_tuple it is determine how many batches need to be opened currently to perform a sorted merge. This is done by checking if the first tuple from the last opened batch is larger than the last returned tuple. If a filter removes the first tuple, the first into the heap inserted tuple from this batch can no longer be used to perform the check. This patch fixes the wrong batch look ahead. Fixes: #5797
136
108Sven Klemm2023-06-22 03:19:05-05da20d071cf88699cafb03f732b3e851bdc286759Copy job config JSONB structure into current MemoryContextThe job config jsonb can be a nested structure of elements that all need to reside in the same memory context as the other job values. To ensure this we copy the structure on assignment.
137
109Jan Nidzwetzki2023-06-25 14:55:24-05f1726790224e5444a2a2cb8c66155e4fb0b54e95Added perltidy make targetThis patch introduces the make target 'perltidy' to format Perl files with perltidy. In addition, calling perltidy is added to 'make format'.
138
110Ante Kresic2023-06-20 08:41:30-05fb0df1ae4e65a815c61533380f2a5ebdfc5fe1caInsert into indexes during chunk compressionIf there any indexes on the compressed chunk, insert into them while inserting the heap data rather than reindexing the relation at the end. This reduces the amount of locking on the compressed chunk indexes which created issues when merging chunks and should help with the future updates of compressed data.
139
111Zoltan Haindrich2023-05-19 07:04:25-0581d4eb5cfb2c0e4949cbd109e7331539a41db152Add Ensure-s to reduce crashes in unexpected casesIt could happen that the Chunk is dropped in the middle of processing another command. The test bgw_db_scheduler_fixed can crash due to that reason. By making sure that the system will error out instead of failing in an assertion could help avoid the situation in which postmaster drop out all clients in these cases.
140
112Jan Nidzwetzki2023-06-20 05:58:31-0581e2f35d4b8d52ed3381cff846556611a8974cf9Mark cagg_watermark as PARALLEL RESTRICTEDThis patch marks the function cagg_watermark as PARALLEL RESTRICTED. It partially reverts the change of c0f2ed18095f21ac737f96fe93e4035dbfeeaf2c. The reason is as follows: for transaction isolation levels < REPEATABLE READ it can not be ensured that parallel worker reads the same watermark (e.g., using read committed isolation level: worker A reads the watermark, the CAGG is refreshed and the watermark changes, worker B reads the newer watermark). The different views on the CAGG can cause unexpected results and crashes (e.g., the chunk exclusion excludes different chunks in worker A and in worker B). In addition, a correct snapshot is used when the watermark is read from the CAGG and a TAP test is added, which detects inconsistent watermark reads. Co-authored-by: Fabrízio de Royes Mello <fabriziomello@gmail.com> Co-authored-by: Zoltan Haindrich <zoltan@timescale.com>
141
113Konstantina Skovola2023-06-23 07:35:15-05a22e732c02474ce6b3ee29c4e81049c60daddc90Fix flaky test bgw_db_scheduler_fixedThe flakiness was due to two inserts falling into the same chunk instead of distinct ones, so inserted data further apart to ensure they fall in different chunks.
142
114Zoltan Haindrich2023-06-14 10:16:21-05d223000036db55bdc8ef5e576a906f334272de37Chunk_create must add existing table or failEarlier this function have completed successfully if the requested range already existed - regardless an existing table was supplied or not.
143
115Zoltan Haindrich2023-06-13 07:10:07-05b2132f00a7b2b5a52af8f577d75fe54fab232443Make validate_chunk_status accept Chunk as argumentThis makes the calls to this method more straightforward and could help to do better checks inside the method.
144
116Lakshmi Narayanan Sreethar2023-05-18 06:08:53-058b0ab416437df5d6adf2ce58126dd2754c8ff48bPG16: Use new function to check vacuum permissionpostgres/postgres@b5d63824
145
117Lakshmi Narayanan Sreethar2023-05-17 13:37:00-05d96e72af607f797b56fd3e0d8e51f6b229b9cebfPG16: Rename RelFileNode references to RelFileNumber or RelFileLocatorpostgres/postgres@b0a55e4
146
118Lakshmi Narayanan Sreethar2023-05-12 14:06:53-05933285e64675febc5608add9cc1ad2d700518593PG16: Remove MemoryContextContains usageRemove the usage of MemoryContextContains as it has been removed in PG16. postgres/postgres@9543eff
147
119Konstantina Skovola2023-06-01 04:30:34-051eb7e38d2df37da7674b2207155484838671d040Enable ChunkAppend for space partitioned partial chunksThis is a follow-up patch for timescale#5599 which handles space partitioned hypertables.
148
120Bharathy2023-06-15 08:32:23-05c48f905f780025bf3c92de0d0dd161108a4116a1Index scan support for UPDATE/DELETE.During UPDATE/DELETE on compressed hypertables, we do a sequential scan which can be improved by supporting index scans. In this patch for a given UPDATE/DELETE query, if there are any WHERE conditions specified using SEGMENT BY columns, we use index scan to fetch all matching rows. Fetched rows will be decompressed and moved to uncompressed chunk and a regular UPDATE/DELETE is performed on the uncompressed chunk.
149
121Jan Nidzwetzki2023-06-13 01:25:45-0577318dced8a47aae4b2baddba71c829105e8319dFix broken download linksThe download links for several platforms are broken. This patch removes the links for the individual platforms and adds a link that points to the self-hosted install docs instead (as proposed by the docs team, see the discussion in #5762). Fixes: #5762
150
122Jan Nidzwetzki2023-06-15 05:44:53-05f05b7f8105a6d7ef05abdfb0b21cb48824135c72Fixed the naming of the Windows GitHub actionThe ignored workflow for windows-build-and-test does not set the name of the actions properly. Therefore, these actions use the default naming. For example, 'Regression Windows / build (15, windows-2022, Debug)'. However, our CI expects names like 'PG15 Debug windows-2022' in the required checks. This PR corrects the name of the jobs.
151
123Valery Meleshkin2023-06-14 10:55:51-054273a27461fab3d23d19bc81b18209e83bb34662Ensure pg_config --cppflags are passedCMAKE_CPP_FLAGS is not a thing at all. Furthermore, CMAKE_CXX_FLAGS is not passed to a C compiler. pg_config uses CPPGLAGS for all includes, and needs to be passed into CMAKE_C_FLAGS as well.
152
124Sotiris Stamokostas2023-06-14 09:57:32-0514d08576fb7d12b2d5edf4bfa3ea2722d79f7764Allow flaky-test labelWith this PR we allow issues with flaky-test label to be added to our bugs board.
153
125Sven Klemm2023-06-02 02:26:39-05e302aa2ae97bbd682b1d5d1324e57a77131401d0Fix handling of Result nodes below Sort nodes in ConstraintAwareAppendWith PG 15 Result nodes can appear between Sort nodes and DecompressChunk when postgres tries to adjust the targetlist.
154
126Jan Nidzwetzki2023-06-12 08:52:06-059c7ae3e8a983ff1a19645c3d2dc0508ae8c69550Fixed two bugs in decompression sorted merge codeSQLSmith found two bugs in the compression sorted merge code. * The unused_batch_states are not initialized properly. Therefore, non-existing unused batch states can be part of the BMS. This patch fixes the initialization. * For performance reasons, We reuse the same TupleDesc across all TupleTableSlots. PostgreSQL sometimes uses TupleDesc data structures with active reference counting. The way we use the TupleDesc structures collides with the reference counting of PostgreSQL. This patch introduces a private TupleDesc copy without reference counting.
155
127Lakshmi Narayanan Sreethar2023-05-17 09:07:42-054dce87a1c4a53d080676bfff042e24aa5b822cecPG16: Refactor handling of PGDLLEXPORT macro definitionPG16 defines the PGDLLEXPORT macro as a proper visibility attribute. In the previous versions from PG12 to PG16, the PGDLLEXPORT was always defined as an empty macro. Considering all this, the code has been now updated to skip defining PGDLLEXPORT if it has been already defined properly. If not, the macro is redefined without any additional checks. postgres/postgres@089480c
156
128Lakshmi Narayanan Sreethar2023-05-17 11:19:00-050f1fde8d31dd44180820409ea2ca334b9188a01eMark PG16 as a supported versionNote that this change in combination with -DEXPERIMENTAL=ON cmake flag will just allow us to compile timescaledb code with PG16 and this doesn't mean PG16 is supported by the extension.
157
129Sotiris Stamokostas2023-06-12 03:50:21-057df16ee560ec79fd0c4b1590189755bad25585f7Renamed need-more-info labelWe plan to rename the need-more-info label to waiting-for-author. This PR performs the needed adjustments in our GitHub actions.
158
130Sotiris Stamokostas2023-06-09 07:26:18-058b10a6795c4d696b6c59ab546d733decf2a68352Compression test changes for PG14.0We have changed the compression test by disabling parallel append in some test cases because the regression test was falling only in PG14.0 but not in PG14.8 or any other PostgreSQL version
159
131Alexander Kuzmenkov2023-06-07 08:55:53-05f26e656c0f9ad7eb27c5de2232fef0f9154d80d5Bulk decompression of compressed batchesAdd a function to decompress a compressed batch entirely in one go, and use it in some query plans. As a result of decompression, produce ArrowArrays. They will be the base for the subsequent vectorized computation of aggregates. As a side effect, some heavy queries to compressed hypertables speed up by about 15
160
134Zoltan Haindrich2023-06-06 10:11:40-05769646bdb61d74f5cb026b598de24072cc6c4d8cFix issues with scripts/test_update_smoke.shThe test was failing on first run by leaving a database behind as a sideeffect. Between two steps the extension was dropped; without a proper cleanup. A non-existent sql function was called during cleanup. This patch also removes the "debug mode" and every execution will leave the logs/etc in the /tmp directory for further inspection.
161
135Jan Nidzwetzki2023-06-07 02:05:58-05b8e674c137f54e293e868ce747f19983a72e0e60Fixed handling of NULL values in bookend_sfuncIn the function bookend_sfunc values are compared. If the first processed value is a NULL value, it was copied into the state of the sfunc. A following comparison between the NULL value of the state and a non-NULL value could lead to a crash. This patch improves the handling of NULL values in bookend_sfunc.
162
136Jan Nidzwetzki2023-06-06 04:59:39-05f2eac72e2bb320a4866766f79b181fe78856c8a1Ensure tlist is present in decompress chunk planIn PostgreSQL < 15, CustomScan nodes are projection capable. The planner invokes create_plan_recurse with the flag CP_IGNORE_TLIST. So, the target list of a CustomScan node can be NIL. However, we rely on the target list to derive information for sorting. This patch ensures that the target list is always populated before the sort functions are called. Fixes: #5738
163
137Zoltan Haindrich2023-06-01 05:56:34-05ac7090653eb020c2392bc29b653339b581d56bcfEnsure PR number is referenced in the .unreleased filesAdds a simple check to ensure that the PR number is present at least once in the added changelog file. Also fixes an earlier PR which introduced a typo.
164
139Sotiris Stamokostas2023-05-03 14:20:44-051a93c2d482b50a43c105427ad99e6ecb58fcac7fImprove parallel workers for decompressionSo far, we have set the number of desired workers for decompression to 1. If a query touches only one chunk, we end up with one worker in a parallel plan. Only if the query touches multiple chunks PostgreSQL spins up multiple workers. These workers could then be used to process the data of one chunk. This patch removes our custom worker calculation and relies on PostgreSQL logic to calculate the desired parallelity. Co-authored-by: Jan Kristof Nidzwetzki <jan@timescale.com>
165
140Jan Nidzwetzki2023-04-06 06:12:13-0510cab43e6c3348a1353a682a01bdf8a70173aca8Enable compressed merge append for partial chunksThis patch enables the compressed merge optimization (see #5530) also for partially compressed chunks.
166
141Dipesh Pandit2023-06-01 09:04:47-05c507f31069fccd3755a4138b907cbe997d34d15fInternal Server Error when loading Explorer tab (#5723)Internal Server Error when loading Explorer tab (SDC #995) This is with reference to a weird scenarios where chunk table entry exist in timescaledb catalog but it does not exist in PG catalog. The stale entry blocks executing hypertable_size function on the hypertable. The changes in this patch are related to improvements suggested for hypertable_size function which involves: 1. Locking the hypertable in ACCESS SHARE mode in function hypertable_size to avoid risk of chunks being dropped by another concurrent process. 2. Joining the hypertable and inherited chunk tables with "pg_class" to make sure that a stale table without an entry is pg_catalog is not included as part of hypertable size calculation. 3. An additional filter (schema_name) is required on pg_class to avoid calculating size of multiple hypertables with same in different schema. NOTE: With this change calling hypertable_size function will require select privilege on the table. Disable-check: force-changelog-file
167
142Konstantina Skovola2023-04-21 03:51:44-05ecc1b7b11a2aa9d483b14e240128632047af1b46Enable ChunkAppend for partial chunksThis patch enables ChunkAppend optimization for partially compressed chunks on hypertables without space partitioning, allowing for more efficient processing of LIMIT order by queries. A follow-up patch is required to handle space partitioned hypertables.
168
144Bharathy2023-05-26 23:30:37-05b38c920266b33c5b83c85279c9b36f4131b9ea83MERGE support on hypertablesThis patch does following: 1. Planner changes to create ChunkDispatch node when MERGE command has INSERT action. 2. Changes to map partition attributes from a tuple returned from child node of ChunkDispatch against physical targetlist, so that ChunkDispatch node can read the correct value from partition column. 3. Fixed issues with MERGE on compressed hypertable. 4. Added more testcases. 5. MERGE in distributed hypertables is not supported. 6. Since there is no Custom Scan (HypertableModify) node for MERGE with UPDATE/DELETE on compressed hypertables, we don't support this. Fixes #5139
169
147Alexander Kuzmenkov2023-05-24 14:57:54-0529154b29d11901ee4b98312ca6245e87216a5877Ignore the telemetry test for the time beginIt's the fifths run and it still fails in some jobs.
170
148Alexander Kuzmenkov2023-05-24 03:55:35-056589f43160980475c04fcc2a6e4e2b985a111357Compression fuzzing in CIThis serves as a way to exercise the decompression fuzzing code, which will be useful when we need to change the decompression functions. Also this way we'll have a check in CI that uses libfuzzer, and it will be easier to apply it to other areas of code in the future.
171
149Fabrízio de Royes Mello2023-05-22 14:35:45-0554d4c3de6bbb52421b15f6035db662f683059c86Introduce utility function ts_get_relation_relidIn several places of our code base we use a combination of `get_namespace_oid` and `get_relname_relid` to return the Oid of a schema qualified relation, so refactored the code to encapsulate this behavior in a single function.
172
150Eric Gillespie2023-03-28 13:01:56-05f2743648dff26f61f305aa8579bcac806e61a2a2Update emacs configurationUse postgres for sql-mode, which makes it easier to connect to local postgresql with C-c C-z and also sets up postgresql extensions for font-lock. Copy the 4-space tab-width setting to diff-mode so that, for example, diffs of lines containing 18 TABs don't display with 144-space indent.
173
151Sven Klemm2023-05-23 03:55:52-05f14ff40d6305f139aaabc3e22cbc2fb5fca55bf2Bump PG version used in CIUse PG 12.15, 13.11, 14.8 and 15.3 in CI.
174
152Sven Klemm2023-05-22 04:34:06-05a31c9b9f8cdfe8643499b710dc983e5c5d6457e4Increase number of sqlsmith loops in nightly CITo improve coverage with sqlsmith we run it for longer in the scheduled nightly run.
175
153Konstantina Skovola2023-05-22 03:03:01-05dd9f01ae9b5b7a4cf3f71ea2b78d69f511e58608Fix occasional scheduler quit with `delete_job`Previously it was possible to send pg_cancel to the scheduler instead of the background worker for the job. That was because we attempted to take an advisory lock on the job id, which was assumed to be held by the background worker for the job. However, it is possible either for the job's worker or for the scheduler to be the one holding the lock. The scheduler takes this lock after the job's worker has exited, to update the job's scheduled status. This patch adds a check to determine if the background worker holding the lock is the scheduler. If it's the scheduler, wait for the lock to be released without canceling the worker. Fixes #5711, #5224
176
154Rafia Sabih2023-04-27 08:01:38-05d9849325d0d0f81a13db1e41aa56f8b567945e72Improve test suiteAdd more regression tests for Continuous aggregates with joins.
177
155Maheedhar PV2023-05-18 07:30:07-0538ee7f49b0cddc5f7fe697321135b28680471ff7Every PR to have its own changelogThe changes in this commit 1. workflow action to check if the PR has its own changelog file in ".unreleased/" folder. 2. script to merge the individual changelog entries that can be copied into the CHANGELOG.md file. 3. script to check the format of the lines in the change log file. 4. script to delete the individual changelogs, post release.
178
156Mats Kindahl2023-05-17 06:07:02-052bd18b8e44e6bc6d2ef57aebc2a3e22ba91059b3Use environment variables for workflowsRemove GitHub variables from locations where they are expanded in place. See https://docs.github.com/en/actions/security-guides/security-hardening-for-github-actions#using-an-intermediate-environment-variable
179
158Konstantina Skovola2023-05-12 09:47:06-0519dd7bbd7a09de25af7c233a5923ac7eaef809deFix DISTINCT query with JOIN on multiple segmentby columnsPreviously when adding equivalence class members for the compressed chunk's variables, we would only consider Vars. This led us to ignore cases where the Var was wrapped in a RelabelType, returning inaccurate results. Fixed the issue by accepting Vars with RelabelType for segmentby equivalence class. Fixes #5585
180
159Alexander Kuzmenkov2023-05-16 11:33:48-05fb65086b5542a871dc3d9757724e886dca904ef6Add a ubsan suppression for overflow in histogram()It is in postgres code, and doesn't lead to bugs.
181
160Alexander Kuzmenkov2023-05-16 07:43:18-058ff0648fd0768b9229853f933056855420ad82eeFix ubsan failure in gorilla decompressionAlso add more tests
182
161Alexander Kuzmenkov2023-05-15 10:52:37-05936d751037381cbbb3a59ac9da36cdaa0dd4904aAdd AddressSanitizer instrumentation for memory contextsUse manual poison/unpoison at the existing Valgrind hooks, so that AddressSanitizer sees palloc/pfree as well, not only the underlying mallocs which are called much less often. Fix some out-of-bound reads found with this instrumentation.
183
163Alexander Kuzmenkov2023-05-15 10:28:35-05030bfe867df02dffa4f5c0fc8a0909075def6f4aFix errors in decompression found by fuzzingFor deltadelta and gorilla codecs, add various length and consistency checks that prevent segfaults on incorrect data.
184
164Alexander Kuzmenkov2023-05-15 10:23:27-05a7321199a4184aaa39c9c5b56b412497d62da1dcEnable branch-level code coverageHelps to check the test coverage for various complex conditions in the decompression code.
185
167Mats Kindahl2023-04-28 03:38:43-053947c011244050878ebb091b560e19ea4c9d8378Support sending telemetry event reportsAdd table `_timescaledb_catalog.telemetry_event` table containing events that should be sent out with telemetry reports. The table will be truncated after reporting being generated.
186
168Bharathy2023-05-11 07:25:27-052d71a5bca9a21490819d239aeee8b2758a54ec1dFix leak during concurrent UPDATE/DELETEWhen updating and deleting the same tuple while both transactions are running at the same time, we end up with reference leak. This is because one of the query in a transaction fails and we take error path. However we fail to close the table. This patch fixes the above mentioned problem by closing the required tables. Fixes #5674
187
169Mats Kindahl2023-05-09 11:58:12-05656daf45f6596e5d663082a8673e705359c01534Fix subtransaction resource ownerWhen executing a subtransaction using `BeginInternalSubTransaction` the memory context switches from the current context to `CurTransactionContext` and when the transaction is aborted or committed using `ReleaseCurrentSubTransaction` or `RollbackAndReleaseCurrentSubTransaction` respectively, it will not restore to the previous memory context or resource owner but rather use `TopTransactionContext`. Because of this, both the memory context and the resource owner will be wrong when executing `calculate_next_start_on_failure`, which causes `run_job` to generate an error when used with the telemetry job. This commit fixes this by saving both the resource owner and the memory context before starting the internal subtransaction and restoring it after finishing the internal subtransaction. Since the `ts_bgw_job_run_and_set_next_start` was incorrectly reading the wrong result from the telemetry job, this commit fixes this as well. Note that `ts_bgw_job_run_and_set_next_start` is only used when running the telemetry job, so it does not cause issues for other jobs.
188
170Erik Nordström2023-05-03 07:06:25-05abb6762450fb90aae5536641fef85cfd3c75b510Reduce memory usage for distributed analyzeUse a per-tuple memory context when receiving chunk statistics from data nodes. Otherwise memory usage is proportional to the number of chunks and columns.
189
171Erik Nordström2023-05-03 07:05:47-0596d2acea30e6cc27ab624e5a155f6b57767ac411Cleanup PGresults on transaction endFix a regression due to a previous change in c571d54c. That change unintentionally removed the cleanup of PGresults at the end of transactions. Add back this functionality in order to reduce memory usage.
190
172Fabrízio de Royes Mello2023-05-05 10:14:04-05f250eaa631920c209673fd0babfe29af9b9778ddRemove FK from continuous_agg_migrate_planDuring the `cagg_migrate` execution if the user set the `drop_old` parameter to `true` the routine will drop the old Continuous Aggregate leading to an inconsistent state because the catalog code don't handle this table as a normal catalog table so the records are not removed when dropping a Continuous Aggregate. The same problem will happen if you manually drop the old Continuous Aggregate after the migration. Fixed it by removing the useless Foreign Key and also adding another column named `user_view_definition` to the main plan table just to store the original user view definition for troubleshooting purposes. Fixed #5662
191
173Ante Kresic2023-05-09 07:45:15-05ab224789922f0e3b88bf57f5b43f0a5c258243ccFix DML decompression issues with bitmap heap scanBitmap heap scans are specific in that they store scan state during node initialization. This means they would not pick up on any data that might have been decompressed during a DML command from the compressed chunk. To avoid this, we update the snapshot on the node scan state and issue a rescan to update the internal state.
192
174shhnwz2023-05-10 00:47:38-05bd36afe2f3a5bc437d58a88a85b19b2253c0a926Fixed Coverity Scan WarningsUnused Value reported during coverity scan link: https://scan4.scan.coverity.com/reports.htm#v56957/p12995
193
175Ante Kresic2023-04-27 04:59:01-058e69a9989f9e9893807e7ea2403ab1c267895396Ignore multinode tests from PR CI runsdist_move_chunk, dist_param, dist_insert and remote_txn create a lot of friction due to their flakiness. Ignoring them until we can fix them.
194
177Ante Kresic2023-05-04 04:42:13-056782beb1504bc421f973269f029c9854e17c7650Fix index scan handling in DML decompressionWe need to use the correct qualifiers for index scans since the generic scan qualifiers are not populated in this case.
195
178Dmitry Simonenko2023-05-04 06:54:27-058ca17e704c8f9320f360bab7eaf3622391d686bdFix ALTER TABLE SET with normal tablesRunning ALTER TABLE SET with multiple SET clauses on a regular PostgreSQL table produces irrelevant error when timescaledb extension is installed. Fix #5641
196
179Sven Klemm2023-05-03 02:42:38-059259311275ded2e562e5222bc0853509dc2dd206Fix JOIN handling in UPDATE/DELETE on compressed chunksWhen JOINs were present during UPDATE/DELETE on compressed chunks the code would decompress other hypertables that were not the target of the UPDATE/DELETE operations and in the case of self-JOINs potentially decompress chunks not required to be decompressed.
197
180Bharathy2023-05-03 12:07:08-05769f9fe609df950a82d6697a08f33675da5c8f28Fix segfault when deleting from compressed chunkDuring UPDATE/DELETE on compressed hypertables, we iterate over plan tree to collect all scan nodes. For each scan nodes there can be filter conditions. Prior to this patch we collect only first filter condition and use for first chunk which may be wrong. In this patch as and when we encounter a target scan node, we immediatly process those chunks. Fixes #5640
198
181Fabrízio de Royes Mello2023-04-28 07:16:33-0590f585ed7fbe51568749c96dc650f6666a4a20afFix CoverityScan deference after null checkDon't need to check NULL for `direct_query->jointree` because we don't allow queries without FROM clause in Continuous Aggregate definition. CoverityScan link: https://scan4.scan.coverity.com/reports.htm#v54116/p12995/fileInstanceId=131745632&defectInstanceId=14569562&mergedDefectId=384045
199
182Konstantina Skovola2023-04-21 07:29:13-056e65172cd821c5509da3b7f41904a5b2f1916d16Fix tablespace for compressed hypertable and corresponding toastIf a hypertable uses a non default tablespace, the compressed hypertable and its corresponding toast table and index is still created in the default tablespace. This PR fixes this unexpected behavior and creates the compressed hypertable and its toast table and index in the same tablespace as the hypertable. Fixes #5520
200
183Jan Nidzwetzki2023-04-06 06:12:13-05df32ad4b7920970a75a2b83dd3587fdda07b8302Optimize compressed chunk resortingThis patch adds an optimization to the DecompressChunk node. If the query 'order by' and the compression 'order by' are compatible (query 'order by' is equal or a prefix of compression 'order by'), the compressed batches of the segments are decompressed in parallel and merged using a binary heep. This preserves the ordering and the sorting of the result can be prevented. Especially LIMIT queries benefit from this optimization because only the first tuples of some batches have to be decompressed. Previously, all segments were completely decompressed and sorted. Fixes: #4223 Co-authored-by: Sotiris Stamokostas <sotiris@timescale.com>
201
184Fabrízio de Royes Mello2023-04-26 18:18:19-05cc9c3b343113fc9a43f095720c1d2f2596a23b03Post-release 2.10.3Adjust the upgrade/downgrade scripts and add the tests.
202
185Nikhil Sontakke2023-04-25 09:57:31-05ed8ca318c056ee8b01197a5740a25a358a034894Quote username identifier appropriatelyNeed to use quote_ident() on the user roles. Otherwise the extension scripts will fail. Co-authored-by: Mats Kindahl <mats@timescale.com>