New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Allow owner change of continuous aggregate #2428
Conversation
0f3697f
to
e4199a8
Compare
Codecov Report
@@ Coverage Diff @@
## master #2428 +/- ##
=======================================
Coverage 90.11% 90.11%
=======================================
Files 213 213
Lines 34323 34336 +13
=======================================
+ Hits 30930 30943 +13
Misses 3393 3393
Continue to review full report at Codecov.
|
src/process_utility.c
Outdated
@@ -2814,6 +2814,20 @@ process_altertable_start_matview(ProcessUtilityArgs *args) | |||
process_altercontinuousagg_set_with(cagg, view_relid, (List *) cmd->def); | |||
break; | |||
|
|||
case AT_ChangeOwner: | |||
/* Change owner of view */ | |||
AlterTableInternal(view_relid, list_make1(cmd), false); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This seems to share a lot of code with the AT_SetTableSpace
case. Would be good to harmonize.
I also think we need to change ownership of the other objects, the direct view, partial view, etc.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fixed.
e4199a8
to
ae3e434
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Approving.
A couple of thoughts, though. I am wondering what happens if you try to modify (change owner) of the internal objects directly, like the materialized hypertable or internal views.? I guess that could mess things up unless we already block such changes. Or, maybe we do not care about blocking it since people that mess with internal objects are on their own.
Well, yes, if you start to mess with the implementation objects you're outside the "comfort zone" and we cannot guarantee any form of support if that is done, but that is not the reason for not blocking them. The reason is that blocking valid operations, even on internal objects, prevent users from fixing issues that is a result bugs that we have introduced. I think in general that we should be wary of blocking any operations since access to objects can be required to resolve situations where the system is broken. |
Implements support for changing the owner of the continuous aggregate. This will change the owner of the materialized hypertable, the user view, the partial view, and the direct view. Fixes timescale#2414 Fixes timescale#1277
b8b346a
to
2119cc1
Compare
This release adds major new features and bugfixes since the 1.7.4 release. We deem it moderate priority for upgrading. This release adds the long-awaited support for distributed hypertables to TimescaleDB. This release also adds support for user-defined actions allowing users to define actions that are run by the TimescaleDB automation framework. In addition to these major new features, the 2.0 branch introduces _breaking_ changes to APIs and existing features, such as continuous aggregates. These changes are not backwards compatible and might require changes to clients and/or scripts that rely on the previous APIs. Please review our updated documentation and do proper testing to ensure compatibility with your existing applications. The noticeable breaking changes in APIs are: - Function rename and arguments redesign for compression and retention policies - Creating continuous aggregate is split into 2 steps: `CREATE MATERIALIZED VIEW` to create a continuous aggregate view, and `add_continuous_aggregate_policy` to create the actual policy - Rename and argument redesign for functions to manipulate running policies - Replacing several information views with policy information with general views, which covers policies and user-defined actions - Redesign of information views This release candidate is upgradable, so if you are on a previous release (e.g., 1.7.4) you can upgrade to the release candidate and later expect to be able to upgrade to the final 2.0 release. However, please carefully consider your compatibility requirements _before_ upgrading. **Major Features** * timescale#1923 Add support for distributed hypertables * timescale#2006 Add support for user-defined actions * timescale#2435 Move enterprise features to community * timescale#2437 Update Timescale License **Minor Features** * timescale#2011 Constify TIMESTAMPTZ OP INTERVAL in constraints * timescale#2105 Support moving compressed chunks **Bugfixes** * timescale#1843 Improve handling of "dropped" chunks * timescale#1886 Change ChunkAppend leader to use worker subplan * timescale#2116 Propagate privileges from hypertables to chunks * timescale#2263 Fix timestamp overflow in time_bucket optimization * timescale#2270 Fix handling of non-reference counted TupleDescs in gapfill * timescale#2325 Fix rename constraint/rename index * timescale#2370 Fix detection of hypertables in subqueries * timescale#2376 Fix caggs width expression handling on int based hypertables * timescale#2416 Check insert privileges to create chunk * timescale#2428 Allow owner change of continuous aggregate * timescale#2436 Propagate grants in continuous aggregates
This release adds major new features and bugfixes since the 1.7.4 release. We deem it moderate priority for upgrading. This release adds the long-awaited support for distributed hypertables to TimescaleDB. This release also adds support for user-defined actions allowing users to define actions that are run by the TimescaleDB automation framework. In addition to these major new features, the 2.0 branch introduces _breaking_ changes to APIs and existing features, such as continuous aggregates. These changes are not backwards compatible and might require changes to clients and/or scripts that rely on the previous APIs. Please review our updated documentation and do proper testing to ensure compatibility with your existing applications. The noticeable breaking changes in APIs are: - Function rename and arguments redesign for compression and retention policies - Creating continuous aggregate is split into 2 steps: `CREATE MATERIALIZED VIEW` to create a continuous aggregate view, and `add_continuous_aggregate_policy` to create the actual policy - Rename and argument redesign for functions to manipulate running policies - Replacing several information views with policy information with general views, which covers policies and user-defined actions - Redesign of information views This release candidate is upgradable, so if you are on a previous release (e.g., 1.7.4) you can upgrade to the release candidate and later expect to be able to upgrade to the final 2.0 release. However, please carefully consider your compatibility requirements _before_ upgrading. **Major Features** * timescale#1923 Add support for distributed hypertables * timescale#2006 Add support for user-defined actions * timescale#2435 Move enterprise features to community * timescale#2437 Update Timescale License **Minor Features** * timescale#2011 Constify TIMESTAMPTZ OP INTERVAL in constraints * timescale#2105 Support moving compressed chunks **Bugfixes** * timescale#1843 Improve handling of "dropped" chunks * timescale#1886 Change ChunkAppend leader to use worker subplan * timescale#2116 Propagate privileges from hypertables to chunks * timescale#2263 Fix timestamp overflow in time_bucket optimization * timescale#2270 Fix handling of non-reference counted TupleDescs in gapfill * timescale#2325 Fix rename constraint/rename index * timescale#2370 Fix detection of hypertables in subqueries * timescale#2376 Fix caggs width expression handling on int based hypertables * timescale#2416 Check insert privileges to create chunk * timescale#2428 Allow owner change of continuous aggregate * timescale#2436 Propagate grants in continuous aggregates
This release adds major new features and bugfixes since the 1.7.4 release. We deem it moderate priority for upgrading. This release adds the long-awaited support for distributed hypertables to TimescaleDB. This release also adds support for user-defined actions allowing users to define actions that are run by the TimescaleDB automation framework. In addition to these major new features, the 2.0 branch introduces _breaking_ changes to APIs and existing features, such as continuous aggregates. These changes are not backwards compatible and might require changes to clients and/or scripts that rely on the previous APIs. Please review our updated documentation and do proper testing to ensure compatibility with your existing applications. The noticeable breaking changes in APIs are: - Function rename and arguments redesign for compression and retention policies - Creating continuous aggregate is split into 2 steps: `CREATE MATERIALIZED VIEW` to create a continuous aggregate view, and `add_continuous_aggregate_policy` to create the actual policy - Rename and argument redesign for functions to manipulate running policies - Replacing several information views with policy information with general views, which covers policies and user-defined actions - Redesign of information views This release candidate is upgradable, so if you are on a previous release (e.g., 1.7.4) you can upgrade to the release candidate and later expect to be able to upgrade to the final 2.0 release. However, please carefully consider your compatibility requirements _before_ upgrading. **Major Features** * timescale#1923 Add support for distributed hypertables * timescale#2006 Add support for user-defined actions * timescale#2435 Move enterprise features to community * timescale#2437 Update Timescale License **Minor Features** * timescale#2011 Constify TIMESTAMPTZ OP INTERVAL in constraints * timescale#2105 Support moving compressed chunks **Bugfixes** * timescale#1843 Improve handling of "dropped" chunks * timescale#1886 Change ChunkAppend leader to use worker subplan * timescale#2116 Propagate privileges from hypertables to chunks * timescale#2263 Fix timestamp overflow in time_bucket optimization * timescale#2270 Fix handling of non-reference counted TupleDescs in gapfill * timescale#2325 Fix rename constraint/rename index * timescale#2370 Fix detection of hypertables in subqueries * timescale#2376 Fix caggs width expression handling on int based hypertables * timescale#2416 Check insert privileges to create chunk * timescale#2428 Allow owner change of continuous aggregate * timescale#2436 Propagate grants in continuous aggregates
This release adds major new features and bugfixes since the 1.7.4 release. We deem it moderate priority for upgrading. This release adds the long-awaited support for distributed hypertables to TimescaleDB. This release also adds support for user-defined actions allowing users to define actions that are run by the TimescaleDB automation framework. In addition to these major new features, the 2.0 branch introduces _breaking_ changes to APIs and existing features, such as continuous aggregates. These changes are not backwards compatible and might require changes to clients and/or scripts that rely on the previous APIs. Please review our updated documentation and do proper testing to ensure compatibility with your existing applications. The noticeable breaking changes in APIs are: - Function rename and arguments redesign for compression and retention policies - Creating continuous aggregate is split into 2 steps: `CREATE MATERIALIZED VIEW` to create a continuous aggregate view, and `add_continuous_aggregate_policy` to create the actual policy - Rename and argument redesign for functions to manipulate running policies - Replacing several information views with policy information with general views, which covers policies and user-defined actions - Redesign of information views This release candidate is upgradable, so if you are on a previous release (e.g., 1.7.4) you can upgrade to the release candidate and later expect to be able to upgrade to the final 2.0 release. However, please carefully consider your compatibility requirements _before_ upgrading. **Major Features** * timescale#1923 Add support for distributed hypertables * timescale#2006 Add support for user-defined actions * timescale#2435 Move enterprise features to community * timescale#2437 Update Timescale License **Minor Features** * timescale#2011 Constify TIMESTAMPTZ OP INTERVAL in constraints * timescale#2105 Support moving compressed chunks **Bugfixes** * timescale#1843 Improve handling of "dropped" chunks * timescale#1886 Change ChunkAppend leader to use worker subplan * timescale#2116 Propagate privileges from hypertables to chunks * timescale#2263 Fix timestamp overflow in time_bucket optimization * timescale#2270 Fix handling of non-reference counted TupleDescs in gapfill * timescale#2325 Fix rename constraint/rename index * timescale#2370 Fix detection of hypertables in subqueries * timescale#2376 Fix caggs width expression handling on int based hypertables * timescale#2416 Check insert privileges to create chunk * timescale#2428 Allow owner change of continuous aggregate * timescale#2436 Propagate grants in continuous aggregates
This release adds major new features and bugfixes since the 1.7.4 release. We deem it moderate priority for upgrading. This release adds the long-awaited support for distributed hypertables to TimescaleDB. With 2.0, users can run multiple instances of TimescaleDB, configured so that one serves as an access node and multiple others as data nodes, so that all queries for a distributed hypertable are issued to the access node, but inserted data and queries are pushed down across data nodes for greater scale and performance. In addition to these major new features, the 2.0 branch introduces _breaking_ changes to APIs and existing features, such as continuous aggregates. These changes are not backwards compatible and might require changes to clients and/or scripts that rely on the previous APIs. Please review our updated documentation and do proper testing to ensure compatibility with your existing applications. The noticeable breaking changes in APIs are: - Redefined functions for policies - A continuous aggregate is now created with `CREATE MATERIALIZED VIEW` instead of `CREATE VIEW` and automated refreshing requires adding a policy via `add_continuous_aggregate_policy` - Redesign of informational views, including new (and more general) views for information about policies and user-defined actions This release candidate is upgradable, so if you are on a previous release (e.g., 1.7.4) you can upgrade to the release candidate and later expect to be able to upgrade to the final 2.0 release. However, please carefully consider your compatibility requirements _before_ upgrading. **Major Features** * timescale#1923 Add support for distributed hypertables * timescale#2006 Add support for user-defined actions * timescale#2435 Move enterprise features to community * timescale#2437 Update Timescale License **Minor Features** * timescale#2011 Constify TIMESTAMPTZ OP INTERVAL in constraints * timescale#2105 Support moving compressed chunks **Bugfixes** * timescale#1843 Improve handling of "dropped" chunks * timescale#1886 Change ChunkAppend leader to use worker subplan * timescale#2116 Propagate privileges from hypertables to chunks * timescale#2263 Fix timestamp overflow in time_bucket optimization * timescale#2270 Fix handling of non-reference counted TupleDescs in gapfill * timescale#2325 Fix rename constraint/rename index * timescale#2370 Fix detection of hypertables in subqueries * timescale#2376 Fix caggs width expression handling on int based hypertables * timescale#2416 Check insert privileges to create chunk * timescale#2428 Allow owner change of continuous aggregate * timescale#2436 Propagate grants in continuous aggregates
This release adds major new features and bugfixes since the 1.7.4 release. We deem it moderate priority for upgrading. This release adds the long-awaited support for distributed hypertables to TimescaleDB. With 2.0, users can run multiple instances of TimescaleDB, configured so that one serves as an access node and multiple others as data nodes, so that all queries for a distributed hypertable are issued to the access node, but inserted data and queries are pushed down across data nodes for greater scale and performance. This release also adds support for user-defined actions allowing users to define actions that are run by the TimescaleDB automation framework. In addition to these major new features, the 2.0 branch introduces _breaking_ changes to APIs and existing features, such as continuous aggregates. These changes are not backwards compatible and might require changes to clients and/or scripts that rely on the previous APIs. Please review our updated documentation and do proper testing to ensure compatibility with your existing applications. The noticeable breaking changes in APIs are: - Redefined functions for policies - A continuous aggregate is now created with `CREATE MATERIALIZED VIEW` instead of `CREATE VIEW` and automated refreshing requires adding a policy via `add_continuous_aggregate_policy` - Redesign of informational views, including new (and more general) views for information about policies and user-defined actions This release candidate is upgradable, so if you are on a previous release (e.g., 1.7.4) you can upgrade to the release candidate and later expect to be able to upgrade to the final 2.0 release. However, please carefully consider your compatibility requirements _before_ upgrading. **Major Features** * timescale#1923 Add support for distributed hypertables * timescale#2006 Add support for user-defined actions * timescale#2435 Move enterprise features to community * timescale#2437 Update Timescale License **Minor Features** * timescale#2011 Constify TIMESTAMPTZ OP INTERVAL in constraints * timescale#2105 Support moving compressed chunks **Bugfixes** * timescale#1843 Improve handling of "dropped" chunks * timescale#1886 Change ChunkAppend leader to use worker subplan * timescale#2116 Propagate privileges from hypertables to chunks * timescale#2263 Fix timestamp overflow in time_bucket optimization * timescale#2270 Fix handling of non-reference counted TupleDescs in gapfill * timescale#2325 Fix rename constraint/rename index * timescale#2370 Fix detection of hypertables in subqueries * timescale#2376 Fix caggs width expression handling on int based hypertables * timescale#2416 Check insert privileges to create chunk * timescale#2428 Allow owner change of continuous aggregate * timescale#2436 Propagate grants in continuous aggregates
This release adds major new features and bugfixes since the 1.7.4 release. We deem it moderate priority for upgrading. This release adds the long-awaited support for distributed hypertables to TimescaleDB. With 2.0, users can run multiple instances of TimescaleDB, configured so that one serves as an access node and multiple others as data nodes, so that all queries for a distributed hypertable are issued to the access node, but inserted data and queries are pushed down across data nodes for greater scale and performance. This release also adds support for user-defined actions allowing users to define actions that are run by the TimescaleDB automation framework. In addition to these major new features, the 2.0 branch introduces _breaking_ changes to APIs and existing features, such as continuous aggregates. These changes are not backwards compatible and might require changes to clients and/or scripts that rely on the previous APIs. Please review our updated documentation and do proper testing to ensure compatibility with your existing applications. The noticeable breaking changes in APIs are: - Redefined functions for policies - A continuous aggregate is now created with `CREATE MATERIALIZED VIEW` instead of `CREATE VIEW` and automated refreshing requires adding a policy via `add_continuous_aggregate_policy` - Redesign of informational views, including new (and more general) views for information about policies and user-defined actions This release candidate is upgradable, so if you are on a previous release (e.g., 1.7.4) you can upgrade to the release candidate and later expect to be able to upgrade to the final 2.0 release. However, please carefully consider your compatibility requirements _before_ upgrading. **Major Features** * timescale#1923 Add support for distributed hypertables * timescale#2006 Add support for user-defined actions * timescale#2435 Move enterprise features to community * timescale#2437 Update Timescale License **Minor Features** * timescale#2011 Constify TIMESTAMPTZ OP INTERVAL in constraints * timescale#2105 Support moving compressed chunks **Bugfixes** * timescale#1843 Improve handling of "dropped" chunks * timescale#1886 Change ChunkAppend leader to use worker subplan * timescale#2116 Propagate privileges from hypertables to chunks * timescale#2263 Fix timestamp overflow in time_bucket optimization * timescale#2270 Fix handling of non-reference counted TupleDescs in gapfill * timescale#2325 Fix rename constraint/rename index * timescale#2370 Fix detection of hypertables in subqueries * timescale#2376 Fix caggs width expression handling on int based hypertables * timescale#2416 Check insert privileges to create chunk * timescale#2428 Allow owner change of continuous aggregate * timescale#2436 Propagate grants in continuous aggregates
This release adds major new features and bugfixes since the 1.7.4 release. We deem it moderate priority for upgrading. This release adds the long-awaited support for distributed hypertables to TimescaleDB. With 2.0, users can create distributed hypertables across multiple instances of TimescaleDB, configured so that one instance serves as an access node and multiple others as data nodes. All queries for a distributed hypertable are issued to the access node, but inserted data and queries are pushed down across data nodes for greater scale and performance. This release also adds support for user-defined actions allowing users to define actions that are run by the TimescaleDB automation framework. In addition to these major new features, the 2.0 branch introduces _breaking_ changes to APIs and existing features, such as continuous aggregates. These changes are not backwards compatible and might require changes to clients and/or scripts that rely on the previous APIs. Please review our updated documentation and do proper testing to ensure compatibility with your existing applications. The noticeable breaking changes in APIs are: - Redefined functions for policies - A continuous aggregate is now created with `CREATE MATERIALIZED VIEW` instead of `CREATE VIEW` and automated refreshing requires adding a policy via `add_continuous_aggregate_policy` - Redesign of informational views, including new (and more general) views for information about policies and user-defined actions This release candidate is upgradable, so if you are on a previous release (e.g., 1.7.4) you can upgrade to the release candidate and later expect to be able to upgrade to the final 2.0 release. However, please carefully consider your compatibility requirements _before_ upgrading. **Major Features** * timescale#1923 Add support for distributed hypertables * timescale#2006 Add support for user-defined actions * timescale#2435 Move enterprise features to community * timescale#2437 Update Timescale License **Minor Features** * timescale#2011 Constify TIMESTAMPTZ OP INTERVAL in constraints * timescale#2105 Support moving compressed chunks **Bugfixes** * timescale#1843 Improve handling of "dropped" chunks * timescale#1886 Change ChunkAppend leader to use worker subplan * timescale#2116 Propagate privileges from hypertables to chunks * timescale#2263 Fix timestamp overflow in time_bucket optimization * timescale#2270 Fix handling of non-reference counted TupleDescs in gapfill * timescale#2325 Fix rename constraint/rename index * timescale#2370 Fix detection of hypertables in subqueries * timescale#2376 Fix caggs width expression handling on int based hypertables * timescale#2416 Check insert privileges to create chunk * timescale#2428 Allow owner change of continuous aggregate * timescale#2436 Propagate grants in continuous aggregates
This release adds major new features and bugfixes since the 1.7.4 release. We deem it moderate priority for upgrading. This release adds the long-awaited support for distributed hypertables to TimescaleDB. With 2.0, users can create distributed hypertables across multiple instances of TimescaleDB, configured so that one instance serves as an access node and multiple others as data nodes. All queries for a distributed hypertable are issued to the access node, but inserted data and queries are pushed down across data nodes for greater scale and performance. This release also adds support for user-defined actions allowing users to define actions that are run by the TimescaleDB automation framework. In addition to these major new features, the 2.0 branch introduces _breaking_ changes to APIs and existing features, such as continuous aggregates. These changes are not backwards compatible and might require changes to clients and/or scripts that rely on the previous APIs. Please review our updated documentation and do proper testing to ensure compatibility with your existing applications. The noticeable breaking changes in APIs are: - Redefined functions for policies - A continuous aggregate is now created with `CREATE MATERIALIZED VIEW` instead of `CREATE VIEW` and automated refreshing requires adding a policy via `add_continuous_aggregate_policy` - Redesign of informational views, including new (and more general) views for information about policies and user-defined actions This release candidate is upgradable, so if you are on a previous release (e.g., 1.7.4) you can upgrade to the release candidate and later expect to be able to upgrade to the final 2.0 release. However, please carefully consider your compatibility requirements _before_ upgrading. **Major Features** * #1923 Add support for distributed hypertables * #2006 Add support for user-defined actions * #2435 Move enterprise features to community * #2437 Update Timescale License **Minor Features** * #2011 Constify TIMESTAMPTZ OP INTERVAL in constraints * #2105 Support moving compressed chunks **Bugfixes** * #1843 Improve handling of "dropped" chunks * #1886 Change ChunkAppend leader to use worker subplan * #2116 Propagate privileges from hypertables to chunks * #2263 Fix timestamp overflow in time_bucket optimization * #2270 Fix handling of non-reference counted TupleDescs in gapfill * #2325 Fix rename constraint/rename index * #2370 Fix detection of hypertables in subqueries * #2376 Fix caggs width expression handling on int based hypertables * #2416 Check insert privileges to create chunk * #2428 Allow owner change of continuous aggregate * #2436 Propagate grants in continuous aggregates
This release adds major new features and bugfixes since the 1.7.4 release. We deem it moderate priority for upgrading. This release adds the long-awaited support for distributed hypertables to TimescaleDB. With 2.0, users can create distributed hypertables across multiple instances of TimescaleDB, configured so that one instance serves as an access node and multiple others as data nodes. All queries for a distributed hypertable are issued to the access node, but inserted data and queries are pushed down across data nodes for greater scale and performance. This release also adds support for user-defined actions allowing users to define actions that are run by the TimescaleDB automation framework. In addition to these major new features, the 2.0 branch introduces _breaking_ changes to APIs and existing features, such as continuous aggregates. These changes are not backwards compatible and might require changes to clients and/or scripts that rely on the previous APIs. Please review our updated documentation and do proper testing to ensure compatibility with your existing applications. The noticeable breaking changes in APIs are: - Redefined functions for policies - A continuous aggregate is now created with `CREATE MATERIALIZED VIEW` instead of `CREATE VIEW` and automated refreshing requires adding a policy via `add_continuous_aggregate_policy` - Redesign of informational views, including new (and more general) views for information about policies and user-defined actions This release candidate is upgradable, so if you are on a previous release (e.g., 1.7.4) you can upgrade to the release candidate and later expect to be able to upgrade to the final 2.0 release. However, please carefully consider your compatibility requirements _before_ upgrading. **Major Features** * #1923 Add support for distributed hypertables * #2006 Add support for user-defined actions * #2435 Move enterprise features to community * #2437 Update Timescale License **Minor Features** * #2011 Constify TIMESTAMPTZ OP INTERVAL in constraints * #2105 Support moving compressed chunks **Bugfixes** * #1843 Improve handling of "dropped" chunks * #1886 Change ChunkAppend leader to use worker subplan * #2116 Propagate privileges from hypertables to chunks * #2263 Fix timestamp overflow in time_bucket optimization * #2270 Fix handling of non-reference counted TupleDescs in gapfill * #2325 Fix rename constraint/rename index * #2370 Fix detection of hypertables in subqueries * #2376 Fix caggs width expression handling on int based hypertables * #2416 Check insert privileges to create chunk * #2428 Allow owner change of continuous aggregate * #2436 Propagate grants in continuous aggregates
Implements support for changing the owner of the continuous aggregate.
This will change the owner of the materialized hypertable, the
user view, the partial view, and the direct view.
Fixes #2414
Fixes #1277