forked from timescale/pgai
-
Notifications
You must be signed in to change notification settings - Fork 0
Files
/
Copy pathcommit_history.csv
1066 lines (1055 loc) · 418 KB
/
commit_history.csv
1 | 145 | Zoltan Haindrich | 2023-05-12 01:30:41-05 | ab2cccb6e2b10008c2604af96be71ed8709ecb22 | Post-release 2.11.0 | Adjust the upgrade/downgrade scripts and add the tests. (cherry picked from commit d5fea0a842cbd38d2d72db16e9e67f1c9b1ccf36) |
---|---|---|---|---|---|---|
2 | 239 | Fabrízio de Royes Mello | 2023-04-04 15:31:33-05 | 6440bb3477eef183459272cb90f6ffa8bf30b682 | Remove unused function | Remove unused function `invalidation_threshold_htid_found`. |
3 | 305 | Maheedhar PV | 2023-02-21 11:33:46-06 | c8c50dad7eca4f7425bfb9980b872a1c44201ceb | Post-release fixes for 2.10.0 | Bumping the previous version and adding tests for 2.10.0 |
4 | 308 | Sven Klemm | 2023-02-20 06:31:19-06 | 09766343997aa903f9d6a1ab14bcfc49a0045864 | Set name for COPY insert buffer hash table | Having the hash table named makes debugging easier as the name is used for the MemoryContext used by the hash table. |
5 | 379 | Mats Kindahl | 2023-01-16 02:24:32-06 | 8f4fa8e4cca73f11d3892ce6afde04ca104465d2 | Add build matrix to Windows and Linux builds | Build matrix is missing from the ignore workflows for the Windows and Linux builds, so this commit adds them. |
6 | 429 | Matvey Arye | 2022-12-07 20:14:06-06 | df16815009b6353383c720e364e1b3d2c82f8867 | Fix memory leak for compression with merge chunks | The RelationInitIndexAccessInfo call leaks cache memory and seems to be unnecessary. |
7 | 377 | Jan Nidzwetzki | 2023-01-17 01:46:21-06 | 19065bbdf39d2536a227041331adf24ffb38ffdc | Introduce a FDW option to mark reference tables | With 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 | 458 | Fabrízio de Royes Mello | 2022-11-22 14:35:00-06 | 35fa891013bcba87515b026e7e7b0abb728f1a54 | Add missing gitignore entry | Pull request #4998 introduced a new template SQL test file but missed to add the properly `.gitignore` entry to ignore generated test files. |
9 | 494 | Markos Fountoulakis | 2022-11-10 02:55:22-06 | e2b7c76c9c1d53edf15ea3d4d01d666a675a7c5f | Disable MERGE when using hypertables | Fixes #4930 Co-authored-by: Lakshmi Narayanan Sreethar <lakshmi@timescale.com> |
10 | 0 | Lakshmi Narayanan Sreethar | 2023-09-05 10:33:21-05 | 44e41c12ab25e36c202f58e068ced262eadc8d16 | Fix segfault in set_integer_now_func | When 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 | 1 | Bharathy | 2023-09-01 22:54:31-05 | e66a40038e3c84fb1a68da67ad71caf75c64a027 | Fix server crash on UPDATE of compressed chunk | UPDATE 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 | 304 | noctarius aka Christoph Engelbert | 2023-01-09 10:20:38-06 | 0118e6b9520a4c45363e2c92d4664a91dd77e786 | Support CAGG names in hypertable_(detailed_)size | This 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 | 597 | Sven Klemm | 2022-09-27 12:49:42-05 | 940187936c93b6d78e702ded75d79d914f8fea96 | Fix segfault when INNER JOINing hypertables | This fixing a segfault when INNER JOINing 2 hypertables that are ordered by time. |
14 | 495 | Fabrízio de Royes Mello | 2022-11-11 11:42:22-06 | 9e276c58ee7b99ae479f4a544de12bbbcc84c211 | Revert "Upload test results into the database" | This reverts commit 252cefb509153fadcb32741a27ec3fa977487049 because it broke our CI globally. |
15 | 464 | Fabrízio de Royes Mello | 2022-11-18 13:26:05-06 | a5b8c9b084aa6edd5eb8aeb38cc0ab16ecfd8ac4 | Fix caggs on caggs tests on PG15 | PR #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 | 683 | Sven Klemm | 2022-08-18 02:20:38-05 | 1f6d69720d1efd53ec42df5fca5e54a85898a5c6 | Add link to forum to README | This also replaces appveyor badge with link to Windows GitHub actions. |
17 | 740 | Sven Klemm | 2022-07-25 02:43:32-05 | 3ea06f4984b4141dba4209ad2d4e431f149a3f55 | Remove ubuntu 21.10 (impish) from package tests | Ubuntu 21.10 is EOL and we no longer build packages for it. |
18 | 306 | Jan Nidzwetzki | 2023-01-24 02:48:07-06 | e0be9eaa281527ee1cc8569ce025cfe64dca8574 | Allow pushdown of reference table joins | This 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 | 307 | Dmitry Simonenko | 2023-02-21 11:17:20-06 | f12a361ef7de9566113ea79617d49d62597b4bd2 | Add 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 | 741 | Sven Klemm | 2022-07-25 02:47:01-05 | 661a6507edd0ec9c9c14b9317a6178aa4fd866b5 | Fix coccinelle CI action | Switch coccinelle CI action to ubuntu 22.04 because 21.10 is EOL and stopped working. |
21 | 575 | Sven Klemm | 2022-10-08 09:55:42-05 | 2defb2b0b374b150dc1e678c03f621fb2f59ecf8 | Improve job_crash_log test | Older versions seens to have problems when undef is passed to poll_query_until so we change the call to pass explicit query instead. |
22 | 2 | Jan Nidzwetzki | 2023-08-29 14:13:51-05 | c6a930897e9f9e9878db031cc7fb6ea79d721a74 | Use Debian Bookworm for 32-bit tests | So 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 | 3 | Lakshmi Narayanan Sreethar | 2023-08-28 12:49:22-05 | 8e941b80ae1b0e0b6affe5431454cdc637628d99 | Fix incorrect row count in EXPLAIN ANALYZE INSERT .. ON CONFLICT output | INSERT ... 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 | 901 | Alexander Kuzmenkov | 2022-04-21 08:56:05-05 | a1e76d2e84a0b5c53bf8864f51c7cc365be2e231 | Follow-up for compressed chunk collation #4236 | Add a changelog message and add a check for broken chunks to the update script. |
25 | 4 | Lakshmi Narayanan Sreethar | 2023-05-30 10:02:29-05 | caada43454e25d3098744fa6b675ac7d07390550 | PG16: 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 | 921 | Sven Klemm | 2022-04-11 14:46:57-05 | bdaa4607d4fa2322e65f779a24f3fa42f47b5b52 | Post release 2.6.1 | Add 2.6.1 to update and downgrade tests. |
27 | 786 | Alexander Kuzmenkov | 2022-06-21 02:56:09-05 | 5c69adfb7e0fcda27d89c1b98eee2f9f94639e5d | Add more tests for errors on data nodes | Use a data type with faulty send/recv functions to test various error handling paths. |
28 | 5 | Sven Klemm | 2023-08-29 11:13:24-05 | e4facda540286b0affba47ccc63959fefe2a7b26 | Add compatibility layer for _timescaledb_internal functions | With 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 | 859 | Sven Klemm | 2022-05-14 09:38:13-05 | 54f56af3efba2a3735a406ccb0211584055ee440 | Support wildcards in IGNORES | Add support for wildcards in IGNORES for regression tests. |
30 | 6 | Jan Nidzwetzki | 2023-08-31 02:56:38-05 | 77dc6ed42c6d0b65dd971566c2184e9bd7008e68 | Fix non-deterministic cagg_insert isolation test | One 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 | 860 | Sven Klemm | 2022-05-17 07:00:07-05 | a7c8641e04ca01d9e3a7973a7b3c817a430004dd | Bump postgres versions used in CI | Bump postgres versions used in CI to 14.3, 13.7 and 12.11. |
32 | 7 | Jan Nidzwetzki | 2023-08-29 07:47:57-05 | 08231c8aacd17152f315ad36d95c031fb46073aa | Export is_decompress_chunk_path / is_gapfill_path | This 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 | 8 | Jan Nidzwetzki | 2023-08-30 16:49:34-05 | fa04a067e0dce3a09b229cf2e6c127984cb9896f | Fix an invalid SPI result use after free | This PR fixes the invalid use of an SPI result after SPI_finish is called and the result is freed. |
34 | 9 | Sven Klemm | 2023-08-30 02:15:34-05 | e3437786ad7e3b5f152167ce0081e546178b8a12 | Make multinode tests conditional | Since 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 | 1031 | gayyappan | 2022-01-20 12:23:12-06 | 9f64df8567abdbe6af11a9388acefb8237629ff5 | Add ts_catalog subdirectory | Move files that are related to timescaledb catalog access to this subdirectory |
36 | 10 | Sven Klemm | 2023-08-29 05:52:06-05 | 3b6dc7dc013572f91db181ccbbe4854f596714dd | Move partialize functions to _timescaledb_functions schema | To 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 | 468 | Fabrízio de Royes Mello | 2022-11-16 13:34:53-06 | b1742969d09114cd5138abe16f5c70dfbf864e4f | Add SQL test files to trailing whitespace CI check | In 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 | 11 | Alexander Kuzmenkov | 2023-08-29 05:39:17-05 | 623381ce99978b7f05f32ec1f5c117345ef6cd8e | Reread the catalog data after locking the chunk | The 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 | 12 | Sven Klemm | 2023-08-29 03:49:47-05 | a9751ccd5eb030026d7b975d22753f5964972389 | Move partitioning functions to _timescaledb_functions schema | To 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 | 13 | Sven Klemm | 2023-08-28 16:26:23-05 | b2a91494a11d8b82849b6f11f9ea6dc26ef8a8cb | Move ddl_internal functions to _timescaledb_functions schema | To 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 | 14 | Jan Nidzwetzki | 2023-08-29 01:02:48-05 | 4516df285c962f801722019868fc0a982ed43a57 | Make up/downgrade test deterministic | Two 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 | 15 | Sven Klemm | 2023-08-28 08:32:54-05 | 6576d969b319dac8e7fd08a9cf4cfc8197b34d1d | Move log invalidation functions to _timescaledb_functions schema | To 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 | 16 | Sven Klemm | 2023-08-28 01:38:26-05 | 28c7457faf9b909ea89b26b61cfa5a8428e2c23c | Move scheduler functions to _timescaledb_functions schema | To 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 | 17 | James Guthrie | 2023-08-10 06:23:01-05 | 01e480d5d668f7fbfc81800d4aad6c5ee61ba227 | Account 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 | 18 | Fabrízio de Royes Mello | 2023-08-27 06:20:04-05 | a323547e691f7ca9ad5d0b3924071a51b0a365cd | Move cagg_migrate functions to _timescaledb_functions schema | To 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 | 19 | Sven Klemm | 2023-08-27 06:20:04-05 | e02b1f348eb4c48def00b7d5227238b4d9d41a4a | Simplify schema move update script | Use dynamic sql to create the ALTER FUNCTION statements for those functions that may not exist in previous versions. |
47 | 20 | Sven Klemm | 2023-08-23 13:59:47-05 | 184e8398182fb3972137b4faaa64d3a08836dfd9 | Move policy functions to _timescaledb_functions schema | To 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 | 21 | Lakshmi Narayanan Sreethar | 2023-07-05 13:19:07-05 | 6fb3c3f3f43fe70b7c5034ddfb11451df802890c | PG16: Handle updates to make_restrictinfo function | While 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 | 22 | Lakshmi Narayanan Sreethar | 2023-05-18 06:35:21-05 | 9425402264624f78fd052c700f53f7a736230007 | PG16: Handle removed EquivalenceClass members | PG16 removes the outerjoin_delayed mechanism and RestrictInfo.nullable_relids. postgres/postgres@b448f1c8 postgres/postgres@3bef56e1 |
50 | 23 | Lakshmi Narayanan Sreethar | 2023-08-24 09:41:44-05 | 3a493a47d1b5cc1a148c0040d531bf132f567e80 | Remove unused functions | Removed the unused functions ts_make_pathkey_from_sortop and ts_make_pathkey_from_sortinfo. |
51 | 24 | Lakshmi Narayanan Sreethar | 2023-05-13 01:50:42-05 | 040d45510430d13a9e1eda0ecb02981dfa1be39c | PG16: Datum macros are now inline functions | PG16 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 | 491 | Alexander Kuzmenkov | 2022-11-09 10:01:58-06 | 0360812e3ccc627ab6e1cb6aab8e95f925956593 | Simplify llvm configuration for linux/macos builds | Set it only in the matrixbuilder. |
53 | 25 | Sven Klemm | 2023-08-22 07:15:13-05 | 0da18a93b5bd00c6b25ff3c485b2228d371b3326 | Move chunk functions to _timescaledb_functions schema | To 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 | 26 | Fabrízio de Royes Mello | 2023-08-07 17:49:47-05 | 5bba74a2ec083728f8e93e09d03d102568fd72b5 | Relax strong table lock when refreshing a CAGG | When 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 | 27 | Sven Klemm | 2023-08-23 06:06:49-05 | 0f3d39574bf696e6627471ee16b5c26a12fb436c | Remove _timescaledb_internal.get_time_type | This function was used in an old version of a cagg informational view that was removed but the function itself was left in. |
56 | 28 | Alexander Kuzmenkov | 2023-08-16 05:12:42-05 | 3373d43143ab8b17c49fdffd34fd35d551d33185 | Don't look up entire Chunk struct for compressed chunks | It's not needed. Also add them to baserel cache. |
57 | 29 | Konstantina Skovola | 2023-08-07 08:36:17-05 | 373c55662ca5f8a2993abf9b2aa7f5f4006b3229 | Fix ordered append for partially compressed chunks | In 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 | 30 | Erik Nordström | 2023-08-23 03:18:48-05 | d1246ee2f30c171491c3f5b9efe0626314c37c13 | Exclude PRs from bugs project board | An `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 | 31 | Sven Klemm | 2023-08-23 02:07:14-05 | e47832b51ac7b18e7441de3a1eeffe579057d8e2 | Bump pgspot version to 0.6.0 | pgspot 0.6.0 has a bugfix for function signature tracking to no longer consider default values as part of the function signature. |
60 | 32 | Sven Klemm | 2023-08-22 05:01:19-05 | cf04496e4b4237440274eb25e4e02472fc4e06fc | Move utility functions to _timescaledb_functions schema | To 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 | 33 | Sven Klemm | 2023-08-22 02:37:40-05 | 183362e17baf71ae4f663709a9cb412a986aa4d8 | Move size_util functions to _timescaledb_functions schema | To 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 | 34 | Mats Kindahl | 2023-08-21 10:35:19-05 | 3db692296028ea3c7407150a76aaa1feed6c5b4e | Call eq_func correctly in time_bucket_gapfill | The 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 | 35 | Sven Klemm | 2023-08-21 11:55:35-05 | 4256009e4cfe3daebe199540ab8c32af34836e01 | Move dist_internal functions to _timescaledb_functions schema | To 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 | 36 | Jan Nidzwetzki | 2023-08-21 07:49:35-05 | e99832727ac3f8aebd146015158490b28754ac1a | Place data in first/last function in correct mctx | So 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 | 37 | Lakshmi Narayanan Sreethar | 2023-06-02 09:06:26-05 | 09dd20d7f73938473881b0c0d1fe2e1bb4659161 | PG16: Align GUC variables initial value with boot values | Any 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 | 38 | Lakshmi Narayanan Sreethar | 2023-06-02 08:32:35-05 | ba06c6eb2aac3be5ec1145b899cb747c82cca02a | PG16: Include guc header to use GetConfigOptionByName | postgres/postgres@0a20ff54f5 |
67 | 39 | Lakshmi Narayanan Sreethar | 2023-06-01 12:59:18-05 | cf0f9b5bd8def79c346bf5462abe733bfeb4e192 | PG16: Replace float8in_internal_opt_error with float8in_internal | PG16 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 | 40 | Sven Klemm | 2023-08-20 15:47:10-05 | 0a66bdb8d36a1879246bd652e4c28500c4b951ab | Move functions to _timescaledb_functions schema | To 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 | 41 | Sven Klemm | 2023-08-21 03:10:53-05 | a640d7ddf16f289c9472c2699952df1122642cd1 | Fix psql \if expression | The 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 | 42 | Sven Klemm | 2023-08-17 02:59:25-05 | 0dd06e919f7cee9d7f7672b5244e7122d0c66436 | Move get_create_command into _timescaledb_functions schema | To 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 | 43 | Sven Klemm | 2023-04-13 06:16:14-05 | 56ea8b4de93cefc38e002202d8ac96947dcbaa77 | Move trigger functions to _timescaledb_functions schema | To 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 | 44 | Konstantina Skovola | 2023-08-17 06:15:21-05 | 2080c3c0f0d1fd8b90e9fb57491eaf936131f03f | Post-release fixes for 2.11.2 | Bumping the previous version and adding tests for 2.11.2 |
73 | 45 | Lakshmi Narayanan Sreethar | 2023-06-01 12:31:46-05 | beb3b39599940082a7b0f4bf0d1d76e4500e5ebb | PG16: vacuum_set_xid_limits is now vacuum_get_cutoffs | PG16 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 | 46 | Lakshmi Narayanan Sreethar | 2023-06-01 12:47:57-05 | f92cab8c2a81e5e0d7643e6fbaeed1a371b7bf07 | PG16: Rename append_pathkeys to append_pathkeys_custom | Renamed append_pathkeys() to ts_append_pathkeys to prevent conflict with upstream changes postgres/postgres@1349d279 |
75 | 47 | Lakshmi Narayanan Sreethar | 2023-07-05 12:16:44-05 | 3438636a05936f4d20f05b42ac6e6e20d8ca736f | PG16: Macro HeapKeyTest is now an inline function | postgres/postgres@4eb3b112 |
76 | 48 | Lakshmi Narayanan Sreethar | 2023-06-01 12:43:56-05 | 8d2dc760b7738d772f4d43e7ed8b32f9c7ed11e8 | PG16: 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 | 49 | Lakshmi Narayanan Sreethar | 2023-05-18 11:05:56-05 | 82eeb6ec2a19f30d917ca8e51303e217d201b883 | PG16: Node tags T_Join, T_Plan and T_Scan have been removed | Node 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 | 50 | Lakshmi Narayanan Sreethar | 2023-05-30 11:42:39-05 | b7b9a9b3ef0d1541388617db9e9b9237423eb4f1 | PG16: Rename ri_RootToPartitionMap to ri_RootToChildMap | postgres/postgres@fb958b5d |
79 | 51 | Alexander Kuzmenkov | 2023-08-15 16:18:13-05 | d088b3a5d906f18f554b3322ec6d5cd00987cb4c | Do not add broken compressed join clauses | We 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 | 52 | Alexander Kuzmenkov | 2023-08-11 06:22:30-05 | 22a2f49a2f09ef6b5809bf75bd93d016434e48f6 | Fix filtering of the redundant decompress chunk clauses | We 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 | 53 | Alexander Kuzmenkov | 2023-08-15 07:28:58-05 | 3a27669c846dd641b5054281729a8a71c576257d | Simplify compressed pathkey lookup | When 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 | 54 | Alexander Kuzmenkov | 2023-08-10 08:32:40-05 | 04ce1bc498f8a2f7732a50bf673de175db97fd04 | Use cached Chunk struct when considering compressed paths | Full catalog lookups for a Chunk are expensive, avoiding them speeds up the planning. |
83 | 55 | Sven Klemm | 2023-08-15 02:08:49-05 | fb617e415058473457e26ab8e42b6637f0f4cf74 | Bump Postgres versions used in CI | Bump postgres version used to 13.12, 14.9 and 15.4 |
84 | 56 | Jan Nidzwetzki | 2023-07-04 08:46:53-05 | 154bbbb01a14046c639c1b978dd1b4e004a1f3cc | Perform startup chunk exclusion in parallel leader | The 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 | 57 | Mats Kindahl | 2023-08-10 06:53:57-05 | 1102d34f42daf24a6fdbbbcae2c6e46feb50ca8c | Remove telemetry isolation test | The 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 | 58 | Mats Kindahl | 2023-03-22 08:45:21-05 | 71b0168ab72b15fee539ecef3886a17d09e7d042 | Add debug utilities to debug builds | This 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 | 59 | Lakshmi Narayanan Sreethar | 2023-07-27 21:22:10-05 | 4bd704f3fcc1093641a8e772fe53bb0d633020ec | Further code cleanup after PG12 removal | Removed PG12 specific code guarded by the PG13_LT and PG13_GE macros. |
88 | 60 | Konstantina Skovola | 2023-08-10 07:50:13-05 | 2cb42a62f91b0aa81e9411f44936a63f6ad9c8aa | Remove test_status calls from telemetry test | Due 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 | 61 | Jan Nidzwetzki | 2023-07-12 15:29:25-05 | 9a2dfbfb83efdd94340c87d90a7893c7e53bd2da | Improved parallel DecompressChunk worker selection | This 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 | 62 | Konstantina Skovola | 2023-08-09 07:26:03-05 | 44eab9cf9bef34274c88efd37a750eaa74cd8044 | Release 2.11.2 | This 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 | 63 | Lakshmi Narayanan Sreethar | 2023-08-09 04:54:29-05 | b96d1709219a9ba6b502970437d42e5dcd70643c | Revert "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 | 348 | Alexander Kuzmenkov | 2023-02-01 03:15:39-06 | 44cd71a602ba96029001de6e97a1b44488730080 | Fix the python code style check | For 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 | 64 | noctarius aka Christoph Engelbert | 2023-08-09 06:28:54-05 | b5b46a3e581b222f679c2d4aa15944646d8190d9 | Make 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 | 65 | Lakshmi Narayanan Sreethar | 2023-07-20 08:24:43-05 | a9505b40951ff6eaac330df61767dbf4ca01e84c | PG16: Replace pg_class_ownercheck() with object_ownercheck | PG16 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 | 66 | Lakshmi Narayanan Sreethar | 2023-07-20 08:24:32-05 | 22ea5771ad1a7928439b74f6cf3cd53872163c02 | PG16: Make aclcheck function calls compatible with PG16 | PG16 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 | 67 | Lakshmi Narayanan Sreethar | 2023-05-22 10:52:27-05 | b2b3acf6ac1f580c0c6737386f6360b912eb6c8f | PG16: No need to pass create_new_ph flag to find_placeholder_info | PG16 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 | 68 | Lakshmi Narayanan Sreethar | 2023-08-02 14:36:38-05 | 8abe14807229e691f5b75d37a6e465a58c3de886 | PG16: stringToQualifiedNameList requires escontext parameter | postgres/postgres@858e776c84f |
98 | 69 | Nikhil Sontakke | 2023-08-04 03:38:03-05 | 592da23633e49dd3ad97922d64cdcfc22d219d90 | Fix assert in debug wait points | Need 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 | 70 | Lakshmi Narayanan Sreethar | 2023-07-20 09:20:38-05 | 2eb0a3883b47529dbf182475f6b81e8180d33114 | PG16: Handle DefineIndex's new parameter | PG16 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 | 71 | Lakshmi Narayanan Sreethar | 2023-08-02 14:24:14-05 | 3af0d282ea71d9a8f27159a6171e9516e62ec9cb | PG16: ExecInsertIndexTuples requires additional parameter | PG16 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 | 72 | Mats Kindahl | 2023-08-07 02:28:09-05 | 8a2b6a03e0a7da92e5cdfc0f6802f93c7cc80820 | Add weird user names to update test | Since 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 | 74 | Dmitry Simonenko | 2023-08-03 06:30:23-05 | 7aeed663b9c0f337b530fd6cad47704a51a9b2ec | Feature flags for TimescaleDB features | This 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 | 75 | Markus Engel | 2023-07-31 04:28:25-05 | 5cf354e2469ee7e43248bed382a4b49fc7ccfecd | Fix 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 | 76 | Dmitry Simonenko | 2023-08-03 06:36:39-05 | 2863daf3df83c63ee36c0cf7b66c522da5b4e127 | Support CREATE INDEX ONLY ON main table | This PR adds support for CREATE INDEX ONLY ON clause which allows to create index only on the main table excluding chunks. Fix #5908 |
105 | 77 | Lakshmi Narayanan Sreethar | 2023-07-20 09:28:59-05 | 52ed394d4d2c13e693ff280c658c56f3eeb46f74 | PG16: Remove recursion-marker values in enum AlterTableType | PG16 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 | 78 | Konstantina Skovola | 2023-08-01 06:59:07-05 | 28612ebc3cbb6e2eeb995b25203b12974ef88127 | Fix crash in 1-step integer policy creation | Previously 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 | 79 | Nikhil Sontakke | 2023-08-01 08:03:02-05 | b2773aa344c6f8fe8600830bfac417364676582d | Fix crash in COPY from program returning error | Reset the errcallback appropriately so that the ereport in case of a PROGRAM returning error can work correctly. |
108 | 80 | Alexander Kuzmenkov | 2023-08-01 03:04:10-05 | 0d127f6dcc8827e28528854991cc0c22ee204141 | Clean 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 | 81 | Alexander Kuzmenkov | 2023-07-28 06:35:05-05 | d5268c36fbd23fa2a93c0371998286e8688247bb | Fix SQLSmith workflow | The build was failing because it was picking up the wrong version of Postgres. Remove it. |
110 | 349 | Sven Klemm | 2023-02-01 01:34:20-06 | d8f19e57a04d17593df5f2c694eae8775faddbc7 | Bump version of setup-wsl github action | The 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 | 351 | Alexander Kuzmenkov | 2023-01-31 05:55:55-06 | f75a51def79796ff7fef58ec950c859fe4e71618 | Run yamllint in CI | Helps find errors in GitHub workflows. |
112 | 82 | Mats Kindahl | 2023-07-25 09:32:06-05 | ee2ddf889e07ac20cff55013e2bf7020f99e65e1 | Check unique indexes when enabling compression | When 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 | 83 | Lakshmi Narayanan Sreethar | 2023-07-25 05:41:35-05 | 61c288ec5eb966a9b4d8ed90cd026ffc5e3543c9 | Fix broken CI after PG12 removal | The 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 | 84 | Lakshmi Narayanan Sreethar | 2023-07-07 11:20:14-05 | e5691bee11e4f41e4beef1eae5782912b83b2c94 | Cleanup PG12 specific code from source and test files | Removed 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 | 85 | Lakshmi Narayanan Sreethar | 2023-07-07 04:23:01-05 | ac33d04aa8f792e9076cdbb1162a5a367e713bf1 | Remove update files for PG12 | Removed the update files that were used only for PG12. |
116 | 86 | Lakshmi Narayanan Sreethar | 2023-07-07 03:44:43-05 | c3a9f90fdd972b41ad63c97a2dba352a27073361 | Merge PG12 specific testfiles | Merged testfiles that were split out due to their output differing only in PG12. |
117 | 88 | Lakshmi Narayanan Sreethar | 2023-07-06 12:07:44-05 | 81b520d3b5132cb483128837a0e5dc89b98ff308 | Remove support for PG12 | Remove support for compiling TimescaleDB code against PG12. PG12 specific macros and testfiles will be removed in a followup patch. |
118 | 90 | Mats Kindahl | 2023-07-13 07:32:55-05 | 906bd38573a4752f6f3ec94e925683b5444f924c | Add job exit status and runtime to log | When 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 | 91 | Jan Nidzwetzki | 2023-07-12 15:29:25-05 | 36e71000132cf3a5430849c11ff99e910ef81207 | Fix duplicates on partially compressed chunk reads | When 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 | 92 | Rafia Sabih | 2023-07-05 07:33:20-05 | 1bd527375d0dbe3735cc6efb297d09ff57824fe0 | Rectify interval calculation | For 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 | 93 | noctarius aka Christoph Engelbert | 2023-07-12 13:22:14-05 | 4c3d64aa988ad667ff737f20a807058d6fb754cc | Support 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 | 94 | noctarius aka Christoph Engelbert | 2023-07-12 13:21:27-05 | 963d4eefbff3c4eedb851efd5a51418f14ce1820 | Make `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 | 95 | noctarius aka Christoph Engelbert | 2023-07-12 07:53:40-05 | 88aaf23ae37fe7f47252b87325eb570aa417c607 | Allow 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 | 96 | Alexander Kuzmenkov | 2023-07-06 11:14:08-05 | eaa1206b7f01672b95ea45486bcb7602499ffd25 | Improvements 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 | 97 | Alexander Kuzmenkov | 2023-07-06 08:56:28-05 | 7657efe019bb020af095cd9ef3d577cb7bddd7d0 | Cache the libfuzzer corpus between CI runs | This might help us find something interesting. Also add deltadelta/int8 fuzzing and make other minor improvements. |
126 | 98 | Jan Nidzwetzki | 2023-07-04 08:50:17-05 | 490bc916afac6182a0537dba6dcf8c07b2735ff1 | Warn if result of ts_set_flags_32 is not used | The 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 | 99 | Konstantina Skovola | 2023-06-07 07:13:09-05 | 06d20b1829e7a1afe392e50db17f92370ab0a9f8 | Enable 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 | 100 | Jan Nidzwetzki | 2023-06-30 03:31:03-05 | b9a58dd5c49da409669caa47da3db8edbcbcea44 | Exclude workflow changes from being backported | The 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 | 101 | Jan Nidzwetzki | 2023-06-30 02:45:42-05 | 9bbf5218890fc8c4435b8cd1cc06ca310b243da7 | Remove Ubuntu Kinetic check on ARM64 | We 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 | 102 | Jan Nidzwetzki | 2023-06-30 01:22:44-05 | a7be1cc06a7f0324f5ac841d3898659352aaa96c | Fixed the ordering of merge_changelogs.sh script | The 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 | 103 | Jan Nidzwetzki | 2023-06-29 04:11:15-05 | 8a581010957968cc569f5fea43fd6ab7dd3b80a6 | Post-release fixes for 2.11.1 | Bumping the previous version and adding tests for 2.11.1. |
132 | 104 | Jan Nidzwetzki | 2023-06-27 05:36:29-05 | 8ae2da6260c7de68808db918371f8aacafce8332 | Release 2.11.1 | This 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 | 105 | Sven Klemm | 2023-06-27 06:11:24-05 | 118526e6aed1afa5e559ff43d16835807572e1eb | Improve continuous aggregate query chunk exclusion | This 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 | 106 | Erik Nordström | 2023-03-31 07:22:35-05 | e2e7e5f286b2282d17440961a1efa043ba054824 | Make hypertables support replica identity | Add 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 | 107 | Jan Nidzwetzki | 2023-06-16 15:50:17-05 | 33a3e10f486e82df0db369c5ec2b80702576d9ec | Fixed batch look ahead in compressed sorted merge | In 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 | 108 | Sven Klemm | 2023-06-22 03:19:05-05 | da20d071cf88699cafb03f732b3e851bdc286759 | Copy job config JSONB structure into current MemoryContext | The 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 | 109 | Jan Nidzwetzki | 2023-06-25 14:55:24-05 | f1726790224e5444a2a2cb8c66155e4fb0b54e95 | Added perltidy make target | This patch introduces the make target 'perltidy' to format Perl files with perltidy. In addition, calling perltidy is added to 'make format'. |
138 | 110 | Ante Kresic | 2023-06-20 08:41:30-05 | fb0df1ae4e65a815c61533380f2a5ebdfc5fe1ca | Insert into indexes during chunk compression | If 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 | 111 | Zoltan Haindrich | 2023-05-19 07:04:25-05 | 81d4eb5cfb2c0e4949cbd109e7331539a41db152 | Add Ensure-s to reduce crashes in unexpected cases | It 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 | 112 | Jan Nidzwetzki | 2023-06-20 05:58:31-05 | 81e2f35d4b8d52ed3381cff846556611a8974cf9 | Mark cagg_watermark as PARALLEL RESTRICTED | This 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 | 113 | Konstantina Skovola | 2023-06-23 07:35:15-05 | a22e732c02474ce6b3ee29c4e81049c60daddc90 | Fix flaky test bgw_db_scheduler_fixed | The 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 | 114 | Zoltan Haindrich | 2023-06-14 10:16:21-05 | d223000036db55bdc8ef5e576a906f334272de37 | Chunk_create must add existing table or fail | Earlier this function have completed successfully if the requested range already existed - regardless an existing table was supplied or not. |
143 | 115 | Zoltan Haindrich | 2023-06-13 07:10:07-05 | b2132f00a7b2b5a52af8f577d75fe54fab232443 | Make validate_chunk_status accept Chunk as argument | This makes the calls to this method more straightforward and could help to do better checks inside the method. |
144 | 116 | Lakshmi Narayanan Sreethar | 2023-05-18 06:08:53-05 | 8b0ab416437df5d6adf2ce58126dd2754c8ff48b | PG16: Use new function to check vacuum permission | postgres/postgres@b5d63824 |
145 | 117 | Lakshmi Narayanan Sreethar | 2023-05-17 13:37:00-05 | d96e72af607f797b56fd3e0d8e51f6b229b9cebf | PG16: Rename RelFileNode references to RelFileNumber or RelFileLocator | postgres/postgres@b0a55e4 |
146 | 118 | Lakshmi Narayanan Sreethar | 2023-05-12 14:06:53-05 | 933285e64675febc5608add9cc1ad2d700518593 | PG16: Remove MemoryContextContains usage | Remove the usage of MemoryContextContains as it has been removed in PG16. postgres/postgres@9543eff |
147 | 119 | Konstantina Skovola | 2023-06-01 04:30:34-05 | 1eb7e38d2df37da7674b2207155484838671d040 | Enable ChunkAppend for space partitioned partial chunks | This is a follow-up patch for timescale#5599 which handles space partitioned hypertables. |
148 | 120 | Bharathy | 2023-06-15 08:32:23-05 | c48f905f780025bf3c92de0d0dd161108a4116a1 | Index 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 | 121 | Jan Nidzwetzki | 2023-06-13 01:25:45-05 | 77318dced8a47aae4b2baddba71c829105e8319d | Fix broken download links | The 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 | 122 | Jan Nidzwetzki | 2023-06-15 05:44:53-05 | f05b7f8105a6d7ef05abdfb0b21cb48824135c72 | Fixed the naming of the Windows GitHub action | The 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 | 123 | Valery Meleshkin | 2023-06-14 10:55:51-05 | 4273a27461fab3d23d19bc81b18209e83bb34662 | Ensure pg_config --cppflags are passed | CMAKE_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 | 124 | Sotiris Stamokostas | 2023-06-14 09:57:32-05 | 14d08576fb7d12b2d5edf4bfa3ea2722d79f7764 | Allow flaky-test label | With this PR we allow issues with flaky-test label to be added to our bugs board. |
153 | 125 | Sven Klemm | 2023-06-02 02:26:39-05 | e302aa2ae97bbd682b1d5d1324e57a77131401d0 | Fix handling of Result nodes below Sort nodes in ConstraintAwareAppend | With PG 15 Result nodes can appear between Sort nodes and DecompressChunk when postgres tries to adjust the targetlist. |
154 | 126 | Jan Nidzwetzki | 2023-06-12 08:52:06-05 | 9c7ae3e8a983ff1a19645c3d2dc0508ae8c69550 | Fixed two bugs in decompression sorted merge code | SQLSmith 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 | 127 | Lakshmi Narayanan Sreethar | 2023-05-17 09:07:42-05 | 4dce87a1c4a53d080676bfff042e24aa5b822cec | PG16: Refactor handling of PGDLLEXPORT macro definition | PG16 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 | 128 | Lakshmi Narayanan Sreethar | 2023-05-17 11:19:00-05 | 0f1fde8d31dd44180820409ea2ca334b9188a01e | Mark PG16 as a supported version | Note 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 | 129 | Sotiris Stamokostas | 2023-06-12 03:50:21-05 | 7df16ee560ec79fd0c4b1590189755bad25585f7 | Renamed need-more-info label | We plan to rename the need-more-info label to waiting-for-author. This PR performs the needed adjustments in our GitHub actions. |
158 | 130 | Sotiris Stamokostas | 2023-06-09 07:26:18-05 | 8b10a6795c4d696b6c59ab546d733decf2a68352 | Compression test changes for PG14.0 | We 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 | 131 | Alexander Kuzmenkov | 2023-06-07 08:55:53-05 | f26e656c0f9ad7eb27c5de2232fef0f9154d80d5 | Bulk decompression of compressed batches | Add 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 | 134 | Zoltan Haindrich | 2023-06-06 10:11:40-05 | 769646bdb61d74f5cb026b598de24072cc6c4d8c | Fix issues with scripts/test_update_smoke.sh | The 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 | 135 | Jan Nidzwetzki | 2023-06-07 02:05:58-05 | b8e674c137f54e293e868ce747f19983a72e0e60 | Fixed handling of NULL values in bookend_sfunc | In 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 | 136 | Jan Nidzwetzki | 2023-06-06 04:59:39-05 | f2eac72e2bb320a4866766f79b181fe78856c8a1 | Ensure tlist is present in decompress chunk plan | In 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 | 137 | Zoltan Haindrich | 2023-06-01 05:56:34-05 | ac7090653eb020c2392bc29b653339b581d56bcf | Ensure PR number is referenced in the .unreleased files | Adds 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 | 139 | Sotiris Stamokostas | 2023-05-03 14:20:44-05 | 1a93c2d482b50a43c105427ad99e6ecb58fcac7f | Improve parallel workers for decompression | So 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 | 140 | Jan Nidzwetzki | 2023-04-06 06:12:13-05 | 10cab43e6c3348a1353a682a01bdf8a70173aca8 | Enable compressed merge append for partial chunks | This patch enables the compressed merge optimization (see #5530) also for partially compressed chunks. |
166 | 141 | Dipesh Pandit | 2023-06-01 09:04:47-05 | c507f31069fccd3755a4138b907cbe997d34d15f | Internal 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 | 142 | Konstantina Skovola | 2023-04-21 03:51:44-05 | ecc1b7b11a2aa9d483b14e240128632047af1b46 | Enable ChunkAppend for partial chunks | This 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 | 144 | Bharathy | 2023-05-26 23:30:37-05 | b38c920266b33c5b83c85279c9b36f4131b9ea83 | MERGE support on hypertables | This 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 | 147 | Alexander Kuzmenkov | 2023-05-24 14:57:54-05 | 29154b29d11901ee4b98312ca6245e87216a5877 | Ignore the telemetry test for the time begin | It's the fifths run and it still fails in some jobs. |
170 | 148 | Alexander Kuzmenkov | 2023-05-24 03:55:35-05 | 6589f43160980475c04fcc2a6e4e2b985a111357 | Compression fuzzing in CI | This 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 | 149 | Fabrízio de Royes Mello | 2023-05-22 14:35:45-05 | 54d4c3de6bbb52421b15f6035db662f683059c86 | Introduce utility function ts_get_relation_relid | In 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 | 150 | Eric Gillespie | 2023-03-28 13:01:56-05 | f2743648dff26f61f305aa8579bcac806e61a2a2 | Update emacs configuration | Use 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 | 151 | Sven Klemm | 2023-05-23 03:55:52-05 | f14ff40d6305f139aaabc3e22cbc2fb5fca55bf2 | Bump PG version used in CI | Use PG 12.15, 13.11, 14.8 and 15.3 in CI. |
174 | 152 | Sven Klemm | 2023-05-22 04:34:06-05 | a31c9b9f8cdfe8643499b710dc983e5c5d6457e4 | Increase number of sqlsmith loops in nightly CI | To improve coverage with sqlsmith we run it for longer in the scheduled nightly run. |
175 | 153 | Konstantina Skovola | 2023-05-22 03:03:01-05 | dd9f01ae9b5b7a4cf3f71ea2b78d69f511e58608 | Fix 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 | 154 | Rafia Sabih | 2023-04-27 08:01:38-05 | d9849325d0d0f81a13db1e41aa56f8b567945e72 | Improve test suite | Add more regression tests for Continuous aggregates with joins. |
177 | 155 | Maheedhar PV | 2023-05-18 07:30:07-05 | 38ee7f49b0cddc5f7fe697321135b28680471ff7 | Every PR to have its own changelog | The 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 | 156 | Mats Kindahl | 2023-05-17 06:07:02-05 | 2bd18b8e44e6bc6d2ef57aebc2a3e22ba91059b3 | Use environment variables for workflows | Remove 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 | 158 | Konstantina Skovola | 2023-05-12 09:47:06-05 | 19dd7bbd7a09de25af7c233a5923ac7eaef809de | Fix DISTINCT query with JOIN on multiple segmentby columns | Previously 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 | 159 | Alexander Kuzmenkov | 2023-05-16 11:33:48-05 | fb65086b5542a871dc3d9757724e886dca904ef6 | Add a ubsan suppression for overflow in histogram() | It is in postgres code, and doesn't lead to bugs. |
181 | 160 | Alexander Kuzmenkov | 2023-05-16 07:43:18-05 | 8ff0648fd0768b9229853f933056855420ad82ee | Fix ubsan failure in gorilla decompression | Also add more tests |
182 | 161 | Alexander Kuzmenkov | 2023-05-15 10:52:37-05 | 936d751037381cbbb3a59ac9da36cdaa0dd4904a | Add AddressSanitizer instrumentation for memory contexts | Use 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 | 163 | Alexander Kuzmenkov | 2023-05-15 10:28:35-05 | 030bfe867df02dffa4f5c0fc8a0909075def6f4a | Fix errors in decompression found by fuzzing | For deltadelta and gorilla codecs, add various length and consistency checks that prevent segfaults on incorrect data. |
184 | 164 | Alexander Kuzmenkov | 2023-05-15 10:23:27-05 | a7321199a4184aaa39c9c5b56b412497d62da1dc | Enable branch-level code coverage | Helps to check the test coverage for various complex conditions in the decompression code. |
185 | 167 | Mats Kindahl | 2023-04-28 03:38:43-05 | 3947c011244050878ebb091b560e19ea4c9d8378 | Support sending telemetry event reports | Add 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 | 168 | Bharathy | 2023-05-11 07:25:27-05 | 2d71a5bca9a21490819d239aeee8b2758a54ec1d | Fix leak during concurrent UPDATE/DELETE | When 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 | 169 | Mats Kindahl | 2023-05-09 11:58:12-05 | 656daf45f6596e5d663082a8673e705359c01534 | Fix subtransaction resource owner | When 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 | 170 | Erik Nordström | 2023-05-03 07:06:25-05 | abb6762450fb90aae5536641fef85cfd3c75b510 | Reduce memory usage for distributed analyze | Use 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 | 171 | Erik Nordström | 2023-05-03 07:05:47-05 | 96d2acea30e6cc27ab624e5a155f6b57767ac411 | Cleanup PGresults on transaction end | Fix 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 | 172 | Fabrízio de Royes Mello | 2023-05-05 10:14:04-05 | f250eaa631920c209673fd0babfe29af9b9778dd | Remove FK from continuous_agg_migrate_plan | During 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 | 173 | Ante Kresic | 2023-05-09 07:45:15-05 | ab224789922f0e3b88bf57f5b43f0a5c258243cc | Fix DML decompression issues with bitmap heap scan | Bitmap 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 | 174 | shhnwz | 2023-05-10 00:47:38-05 | bd36afe2f3a5bc437d58a88a85b19b2253c0a926 | Fixed Coverity Scan Warnings | Unused Value reported during coverity scan link: https://scan4.scan.coverity.com/reports.htm#v56957/p12995 |
193 | 175 | Ante Kresic | 2023-04-27 04:59:01-05 | 8e69a9989f9e9893807e7ea2403ab1c267895396 | Ignore multinode tests from PR CI runs | dist_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 | 177 | Ante Kresic | 2023-05-04 04:42:13-05 | 6782beb1504bc421f973269f029c9854e17c7650 | Fix index scan handling in DML decompression | We need to use the correct qualifiers for index scans since the generic scan qualifiers are not populated in this case. |
195 | 178 | Dmitry Simonenko | 2023-05-04 06:54:27-05 | 8ca17e704c8f9320f360bab7eaf3622391d686bd | Fix ALTER TABLE SET with normal tables | Running ALTER TABLE SET with multiple SET clauses on a regular PostgreSQL table produces irrelevant error when timescaledb extension is installed. Fix #5641 |
196 | 179 | Sven Klemm | 2023-05-03 02:42:38-05 | 9259311275ded2e562e5222bc0853509dc2dd206 | Fix JOIN handling in UPDATE/DELETE on compressed chunks | When 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 | 180 | Bharathy | 2023-05-03 12:07:08-05 | 769f9fe609df950a82d6697a08f33675da5c8f28 | Fix segfault when deleting from compressed chunk | During 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 | 181 | Fabrízio de Royes Mello | 2023-04-28 07:16:33-05 | 90f585ed7fbe51568749c96dc650f6666a4a20af | Fix CoverityScan deference after null check | Don'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 | 182 | Konstantina Skovola | 2023-04-21 07:29:13-05 | 6e65172cd821c5509da3b7f41904a5b2f1916d16 | Fix tablespace for compressed hypertable and corresponding toast | If 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 | 183 | Jan Nidzwetzki | 2023-04-06 06:12:13-05 | df32ad4b7920970a75a2b83dd3587fdda07b8302 | Optimize compressed chunk resorting | This 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 | 184 | Fabrízio de Royes Mello | 2023-04-26 18:18:19-05 | cc9c3b343113fc9a43f095720c1d2f2596a23b03 | Post-release 2.10.3 | Adjust the upgrade/downgrade scripts and add the tests. |
202 | 185 | Nikhil Sontakke | 2023-04-25 09:57:31-05 | ed8ca318c056ee8b01197a5740a25a358a034894 | Quote username identifier appropriately | Need to use quote_ident() on the user roles. Otherwise the extension scripts will fail. Co-authored-by: Mats Kindahl <mats@timescale.com> |