citus/src/test/regress/expected
Nils Dijk 2879689441
Distribute Types to worker nodes (#2893)
DESCRIPTION: Distribute Types to worker nodes

When to propagate
==============

There are two logical moments that types could be distributed to the worker nodes
 - When they get used ( just in time distribution )
 - When they get created ( proactive distribution )

The just in time distribution follows the model used by how schema's get created right before we are going to create a table in that schema, for types this would be when the table uses a type as its column.

The proactive distribution is suitable for situations where it is benificial to have the type on the worker nodes directly. They can later on be used in queries where an intermediate result gets created with a cast to this type.

Just in time creation is always the last resort, you cannot create a distributed table before the type gets created. A good example use case is; you have an existing postgres server that needs to scale out. By adding the citus extension, add some nodes to the cluster, and distribute the table. The type got created before citus existed. There was no moment where citus could have propagated the creation of a type.

Proactive is almost always a good option. Types are not resource intensive objects, there is no performance overhead of having 100's of types. If you want to use them in a query to represent an intermediate result (which happens in our test suite) they just work.

There is however a moment when proactive type distribution is not beneficial; in transactions where the type is used in a distributed table.

Lets assume the following transaction:

```sql
BEGIN;
CREATE TYPE tt1 AS (a int, b int);
CREATE TABLE t1 AS (a int PRIMARY KEY, b tt1);
SELECT create_distributed_table('t1', 'a');
\copy t1 FROM bigdata.csv
```

Types are node scoped objects; meaning the type exists once per worker. Shards however have best performance when they are created over their own connection. For the type to be visible on all connections it needs to be created and committed before we try to create the shards. Here the just in time situation is most beneficial and follows how we create schema's on the workers. Outside of a transaction block we will just use 1 connection to propagate the creation.

How propagation works
=================

Just in time
-----------

Just in time propagation hooks into the infrastructure introduced in #2882. It adds types as a supported object in `SupportedDependencyByCitus`. This will make sure that any object being distributed by citus that depends on types will now cascade into types. When types are depending them self on other objects they will get created first.

Creation later works by getting the ddl commands to create the object by its `ObjectAddress` in `GetDependencyCreateDDLCommands` which will dispatch types to `CreateTypeDDLCommandsIdempotent`.

For the correct walking of the graph we follow array types, when later asked for the ddl commands for array types we return `NIL` (empty list) which makes that the object will not be recorded as distributed, (its an internal type, dependant on the user type).

Proactive distribution
---------------------

When the user creates a type (composite or enum) we will have a hook running in `multi_ProcessUtility` after the command has been applied locally. Running after running locally makes that we already have an `ObjectAddress` for the type. This is required to mark the type as being distributed.

Keeping the type up to date
====================

For types that are recorded in `pg_dist_object` (eg. `IsObjectDistributed` returns true for the `ObjectAddress`) we will intercept the utility commands that alter the type.
 - `AlterTableStmt` with `relkind` set to `OBJECT_TYPE` encapsulate changes to the fields of a composite type.
 - `DropStmt` with removeType set to `OBJECT_TYPE` encapsulate `DROP TYPE`.
 - `AlterEnumStmt` encapsulates changes to enum values.
    Enum types can not be changed transactionally. When the execution on a worker fails a warning will be shown to the user the propagation was incomplete due to worker communication failure. An idempotent command is shown for the user to re-execute when the worker communication is fixed.

Keeping types up to date is done via the executor. Before the statement is executed locally we create a plan on how to apply it on the workers. This plan is executed after we have applied the statement locally.

All changes to types need to be done in the same transaction for types that have already been distributed and will fail with an error if parallel queries have already been executed in the same transaction. Much like foreign keys to reference tables.
2019-09-13 17:46:07 +02:00
..
.gitignore Add hyperscale tutorial to the regression tests. 2019-07-10 10:47:55 +02:00
adaptive_executor.out Increase slow start time in test to make valgrind tests pass 2019-07-08 06:04:13 +02:00
base_enable_mx.out Add make check-base-mx 2019-09-13 17:19:35 +02:00
bool_agg.out Use expressions in the ORDER BY in bool_agg 2018-02-27 23:52:44 +01:00
cte_nested_modification.out Implement recursive planning for DML statements 2018-05-03 14:42:28 +02:00
cte_prepared_modify.out Implement recursive planning for DML statements 2018-05-03 14:42:28 +02:00
custom_aggregate_support.out Adds support for disabling hash agg with hll functions on coordinator query 2018-12-07 18:49:25 +03:00
custom_aggregate_support_0.out Adds support for disabling hash agg with hll functions on coordinator query 2018-12-07 18:49:25 +03:00
custom_aggregate_support_1.out Adds support for disabling hash agg with hll functions on coordinator query 2018-12-07 18:49:25 +03:00
distributed_types.out Distribute Types to worker nodes (#2893) 2019-09-13 17:46:07 +02:00
distributed_types_0.out Distribute Types to worker nodes (#2893) 2019-09-13 17:46:07 +02:00
dml_recursive.out Router Planner: accept SELECT_CMD ctes in modification queries 2019-06-26 10:32:01 +02:00
ensure_no_intermediate_data_leak.out Make sure not to leak intermediate result folders on the workers 2018-10-09 22:47:56 +03:00
failure_1pc_copy_append.out SortList in FinalizedShardPlacementList, makes 3 failure tests consistent between 11/12 2019-08-22 19:30:56 +00:00
failure_1pc_copy_append_9.out SortList in FinalizedShardPlacementList, makes 3 failure tests consistent between 11/12 2019-08-22 19:30:56 +00:00
failure_1pc_copy_hash.out SortList in FinalizedShardPlacementList, makes 3 failure tests consistent between 11/12 2019-08-22 19:30:56 +00:00
failure_add_disable_node.out Return nodeid instead of record in some UDFs 2019-09-12 12:46:21 -07:00
failure_connection_establishment.out Introduce the adaptive executor (#2798) 2019-06-28 14:04:40 +02:00
failure_connection_establishment_9.out Introduce the adaptive executor (#2798) 2019-06-28 14:04:40 +02:00
failure_copy_on_hash.out Fix failure and isolation tests 2019-05-29 14:42:31 +02:00
failure_copy_to_reference.out Fix failure and isolation tests 2019-05-29 14:42:31 +02:00
failure_create_distributed_table_non_empty.out Distribute Types to worker nodes (#2893) 2019-09-13 17:46:07 +02:00
failure_create_distributed_table_non_empty_9.out Distribute Types to worker nodes (#2893) 2019-09-13 17:46:07 +02:00
failure_create_index_concurrently.out Remove sequential create index concurrently test 2018-12-21 14:03:00 -07:00
failure_create_reference_table.out Distribute Types to worker nodes (#2893) 2019-09-13 17:46:07 +02:00
failure_create_reference_table_9.out Distribute Types to worker nodes (#2893) 2019-09-13 17:46:07 +02:00
failure_create_table.out Distribute Types to worker nodes (#2893) 2019-09-13 17:46:07 +02:00
failure_create_table_9.out Distribute Types to worker nodes (#2893) 2019-09-13 17:46:07 +02:00
failure_cte_subquery.out Stabilize failure test shard IDs 2018-12-19 04:26:46 +01:00
failure_cte_subquery_9.out Introduce the adaptive executor (#2798) 2019-06-28 14:04:40 +02:00
failure_ddl.out Introduce the adaptive executor (#2798) 2019-06-28 14:04:40 +02:00
failure_ddl_9.out Introduce the adaptive executor (#2798) 2019-06-28 14:04:40 +02:00
failure_insert_select_pushdown.out Add failure test for insert/select pushdown 2018-10-18 09:09:26 +03:00
failure_insert_select_pushdown_9.out Introduce the adaptive executor (#2798) 2019-06-28 14:04:40 +02:00
failure_insert_select_via_coordinator.out Add failure tests for insert/select via coordinator 2018-10-04 18:01:19 +03:00
failure_insert_select_via_coordinator_9.out Introduce the adaptive executor (#2798) 2019-06-28 14:04:40 +02:00
failure_multi_dml.out Modify tests to be consistent between versions 2019-08-22 19:30:50 +00:00
failure_multi_dml_9.out Modify tests to be consistent between versions 2019-08-22 19:30:50 +00:00
failure_multi_row_insert.out Add failure and cancellation tests for multi row inserts 2018-10-29 11:36:02 +03:00
failure_multi_row_insert_9.out Introduce the adaptive executor (#2798) 2019-06-28 14:04:40 +02:00
failure_multi_shard_update_delete.out Introduce the adaptive executor (#2798) 2019-06-28 14:04:40 +02:00
failure_multi_shard_update_delete_9.out Introduce the adaptive executor (#2798) 2019-06-28 14:04:40 +02:00
failure_mx_metadata_sync.out Failure&cancellation tests for mx metadata sync 2019-02-01 11:50:25 +03:00
failure_real_time_select.out Introduce the adaptive executor (#2798) 2019-06-28 14:04:40 +02:00
failure_real_time_select_9.out Introduce the adaptive executor (#2798) 2019-06-28 14:04:40 +02:00
failure_ref_tables.out Add reference table failure tests 2018-10-09 09:39:30 -07:00
failure_ref_tables_9.out Introduce the adaptive executor (#2798) 2019-06-28 14:04:40 +02:00
failure_savepoints.out Introduce the adaptive executor (#2798) 2019-06-28 14:04:40 +02:00
failure_savepoints_9.out Introduce the adaptive executor (#2798) 2019-06-28 14:04:40 +02:00
failure_setup.out Return nodeid instead of record in some UDFs 2019-09-12 12:46:21 -07:00
failure_single_mod.out Add single-shard modification failure tests 2018-10-23 23:31:40 +01:00
failure_single_mod_9.out Introduce the adaptive executor (#2798) 2019-06-28 14:04:40 +02:00
failure_single_select.out SortList in FinalizedShardPlacementList, makes 3 failure tests consistent between 11/12 2019-08-22 19:30:56 +00:00
failure_single_select_9.out SortList in FinalizedShardPlacementList, makes 3 failure tests consistent between 11/12 2019-08-22 19:30:56 +00:00
failure_test_helpers.out network proxy-based failure testing 2018-07-06 12:38:53 -07:00
failure_truncate.out Introduce the adaptive executor (#2798) 2019-06-28 14:04:40 +02:00
failure_truncate_9.out Introduce the adaptive executor (#2798) 2019-06-28 14:04:40 +02:00
failure_vacuum.out Refactor Ensure Schema Exists to Ensure Dependecies Exists (#2882) 2019-09-04 14:10:20 +02:00
failure_vacuum_0.out Introduce the adaptive executor (#2798) 2019-06-28 14:04:40 +02:00
failure_vacuum_8.out Refactor Ensure Schema Exists to Ensure Dependecies Exists (#2882) 2019-09-04 14:10:20 +02:00
failure_vacuum_9.out Refactor Ensure Schema Exists to Ensure Dependecies Exists (#2882) 2019-09-04 14:10:20 +02:00
fast_path_router_modify.out Router Planner: accept SELECT_CMD ctes in modification queries 2019-06-26 10:32:01 +02:00
foreign_key_restriction_enforcement.out Refactor Ensure Schema Exists to Ensure Dependecies Exists (#2882) 2019-09-04 14:10:20 +02:00
foreign_key_restriction_enforcement_0.out Refactor Ensure Schema Exists to Ensure Dependecies Exists (#2882) 2019-09-04 14:10:20 +02:00
foreign_key_to_reference_table.out Distribute Types to worker nodes (#2893) 2019-09-13 17:46:07 +02:00
foreign_key_to_reference_table_0.out foreign_key_to_reference_table: terse to avoid differing order of drop cascade details 2019-08-09 15:25:59 +00:00
full_join.out Enhance pushdown planning logic to handle full outer joins with using clause 2019-03-05 11:49:30 +03:00
intermediate_results.out Distribute Types to worker nodes (#2893) 2019-09-13 17:46:07 +02:00
isolation_add_node_vs_reference_table_operations.out Return nodeid instead of record in some UDFs 2019-09-12 12:46:21 -07:00
isolation_add_node_vs_reference_table_operations_0.out Omit public schema from shard_name output 2017-10-31 00:22:07 +01:00
isolation_add_remove_node.out Add add/remove node rollback isolation tests 2017-08-09 14:09:54 +02:00
isolation_append_copy_vs_all.out Deprecate master_modify_multiple_shards 2019-05-24 15:22:06 +02:00
isolation_cancellation.out Add tests for statement cancellation. 2017-07-04 14:46:03 -07:00
isolation_citus_dist_activity.out Distribute Types to worker nodes (#2893) 2019-09-13 17:46:07 +02:00
isolation_citus_dist_activity_9.out Distribute Types to worker nodes (#2893) 2019-09-13 17:46:07 +02:00
isolation_cluster_management.out Return nodeid instead of record in some UDFs 2019-09-12 12:46:21 -07:00
isolation_concurrent_dml.out Execute multi-row INSERTs sequentially 2017-08-23 10:04:57 +02:00
isolation_copy_placement_vs_copy_placement.out Fix isolation tests for windows echo command 2018-03-27 14:18:48 -07:00
isolation_copy_placement_vs_modification.out Introduce the adaptive executor (#2798) 2019-06-28 14:04:40 +02:00
isolation_create_distributed_table.out Fix isolation tests for windows echo command 2018-03-27 14:18:48 -07:00
isolation_create_restore_point.out Block only 2PCs instead of all writes in citus_create_restore_point 2017-10-27 00:07:32 +02:00
isolation_create_table_vs_add_remove_node.out Prevent pg_dist_node changes during master_create_empty_shard 2017-08-09 14:22:09 +02:00
isolation_data_migration.out Ensure all preceding writes are visible in data migration 2017-05-11 09:42:12 +02:00
isolation_ddl_vs_all.out Deprecate master_modify_multiple_shards 2019-05-24 15:22:06 +02:00
isolation_delete_vs_all.out Deprecate master_modify_multiple_shards 2019-05-24 15:22:06 +02:00
isolation_distributed_deadlock_detection.out Isolation tests: consistently name COMMIT '-commit' 2019-06-27 07:32:39 +02:00
isolation_distributed_transaction_id.out Distribute Types to worker nodes (#2893) 2019-09-13 17:46:07 +02:00
isolation_dml_vs_repair.out Simplify metadata lock acquisition for DML 2017-08-07 15:36:58 +02:00
isolation_drop_shards.out Add truncate first isolation tests 2017-05-08 17:26:55 +02:00
isolation_drop_vs_all.out Deprecate master_modify_multiple_shards 2019-05-24 15:22:06 +02:00
isolation_drop_vs_all_0.out Fix isolation tests for windows echo command 2018-03-27 14:18:48 -07:00
isolation_dump_global_wait_edges.out Distribute Types to worker nodes (#2893) 2019-09-13 17:46:07 +02:00
isolation_dump_global_wait_edges_0.out Distribute Types to worker nodes (#2893) 2019-09-13 17:46:07 +02:00
isolation_dump_local_wait_edges.out Remove source node argument from dump_local_wait_edges 2017-08-23 13:14:00 +02:00
isolation_ensure_dependency_activate_node.out Distribute Types to worker nodes (#2893) 2019-09-13 17:46:07 +02:00
isolation_get_all_active_transactions.out Restrict visibility of get_*_active_transactions functions to pg_monitor 2018-12-19 18:32:42 +01:00
isolation_get_distributed_wait_queries.out Processes that are blocked on advisory locks show up in wait edges 2018-10-24 13:32:13 +03:00
isolation_hash_copy_vs_all.out Deprecate master_modify_multiple_shards 2019-05-24 15:22:06 +02:00
isolation_insert_select_conflict.out Make COPY compatible with unified executor. 2019-06-20 19:53:40 +02:00
isolation_insert_select_vs_all.out Deprecate master_modify_multiple_shards 2019-05-24 15:22:06 +02:00
isolation_insert_vs_all.out There were two multi insert - single insert tests but no multi insert - multi insert test. Fixed it. 2019-09-13 16:09:11 +03:00
isolation_insert_vs_vacuum.out Add tests for concurrent INSERT and VACUUM behaviour 2017-07-10 15:46:48 +03:00
isolation_master_append_table.out Adds colocation check to local join 2018-04-04 22:49:27 +03:00
isolation_master_apply_delete.out the tests are separated and some more added 2017-11-20 11:45:48 +03:00
isolation_master_update_node.out Feature: optionally force master_update_node during failover (#2773) 2019-06-21 12:03:15 +02:00
isolation_master_update_node_0.out Feature: optionally force master_update_node during failover (#2773) 2019-06-21 12:03:15 +02:00
isolation_modify_with_subquery_vs_dml.out Support modify queries with multiple tables 2018-05-02 16:22:26 +03:00
isolation_multi_shard_modify_vs_all.out Introduce the adaptive executor (#2798) 2019-06-28 14:04:40 +02:00
isolation_partitioned_copy_vs_all.out Deprecate master_modify_multiple_shards 2019-05-24 15:22:06 +02:00
isolation_partitioned_copy_vs_all_0.out Deprecate master_modify_multiple_shards 2019-05-24 15:22:06 +02:00
isolation_progress_monitoring.out Add Progress Tracking Infrastructure 2017-07-26 14:12:15 +03:00
isolation_range_copy_vs_all.out Deprecate master_modify_multiple_shards 2019-05-24 15:22:06 +02:00
isolation_ref2ref_foreign_keys.out Support FKs between reference tables 2019-08-21 16:11:27 -07:00
isolation_ref2ref_foreign_keys_on_mx.out Support FKs between reference tables 2019-08-21 16:11:27 -07:00
isolation_reference_copy_vs_all.out Deprecate master_modify_multiple_shards 2019-05-24 15:22:06 +02:00
isolation_reference_on_mx.out Adds UDFs for testing MX functionalities with isolation tests 2018-09-12 07:04:16 +03:00
isolation_replace_wait_function.out Distribute Types to worker nodes (#2893) 2019-09-13 17:46:07 +02:00
isolation_select_for_update.out Isolation tests: consistently name COMMIT '-commit' 2019-06-27 07:32:39 +02:00
isolation_select_vs_all.out Deprecate master_modify_multiple_shards 2019-05-24 15:22:06 +02:00
isolation_transaction_recovery.out Add recovery vs. recovery isolation test 2017-11-20 12:26:25 +01:00
isolation_truncate_vs_all.out Deprecate master_modify_multiple_shards 2019-05-24 15:22:06 +02:00
isolation_update_node.out Lock reads and writes only to the node being updated in master_update_node 2018-05-09 15:14:20 +02:00
isolation_update_node_lock_writes.out Lock reads and writes only to the node being updated in master_update_node 2018-05-09 15:14:20 +02:00
isolation_update_vs_all.out Deprecate master_modify_multiple_shards 2019-05-24 15:22:06 +02:00
isolation_upsert_vs_all.out Deprecate master_modify_multiple_shards 2019-05-24 15:22:06 +02:00
isolation_validate_vs_insert.out validate query isolation tests 2018-11-26 14:04:51 +03:00
limit_intermediate_size.out Force CTE materialization in pg12 2019-08-09 15:25:59 +00:00
local_shard_execution.out Correctly add schema when distributing sequence definitons 2019-09-13 17:19:35 +02:00
local_shard_execution_0.out Correctly add schema when distributing sequence definitons 2019-09-13 17:19:35 +02:00
multi_703_upgrade.out Use citus.next_shard_id where practical in regression tests 2017-11-15 10:12:05 +01:00
multi_agg_approximate_distinct.out Tests are updated to use create_distributed_table 2018-05-10 11:18:59 +03:00
multi_agg_approximate_distinct_0.out Fix tests where hll is not installed 2018-05-11 16:01:47 +03:00
multi_alter_table_add_constraints.out Check for non-extended constraint before extending 2019-04-15 23:14:21 -06:00
multi_array_agg.out Use citus.next_shard_id where practical in regression tests 2017-11-15 10:12:05 +01:00
multi_average_expression.out Remove ALTER SEQUENCE from parallel groups 2017-05-16 11:05:34 -06:00
multi_basic_queries.out Remove ALTER SEQUENCE from parallel groups 2017-05-16 11:05:34 -06:00
multi_behavioral_analytics_basics.out The data used in regression tests is reduced 2017-11-28 14:15:46 +03:00
multi_behavioral_analytics_single_shard_queries.out The data used in regression tests is reduced 2017-11-28 14:15:46 +03:00
multi_binary_master_copy_format.out Introduce the adaptive executor (#2798) 2019-06-28 14:04:40 +02:00
multi_cache_invalidation.out Tests are updated to use create_distributed_table 2018-05-10 11:18:59 +03:00
multi_citus_tools.out Tests are updated to use create_distributed_table 2018-05-10 11:18:59 +03:00
multi_cluster_management.out Return nodeid instead of record in some UDFs 2019-09-12 12:46:21 -07:00
multi_colocated_shard_transfer.out Improve regression tests for multi_colocated_shard_transfer 2016-12-20 14:09:35 +02:00
multi_colocation_utils.out multi_colocation_utils: sort by nodeport, not placementid 2019-07-25 14:33:43 +00:00
multi_complex_expressions.out Introduce the adaptive executor (#2798) 2019-06-28 14:04:40 +02:00
multi_complex_expressions_0.out Introduce the adaptive executor (#2798) 2019-06-28 14:04:40 +02:00
multi_count_type_conversion.out Remove ALTER SEQUENCE from parallel groups 2017-05-16 11:05:34 -06:00
multi_create_fdw.out Use citus.next_shard_id where practical in regression tests 2017-11-15 10:12:05 +01:00
multi_create_shards.out Modify tests to be consistent between versions 2019-08-22 19:30:50 +00:00
multi_create_table.out create_distributed_table as user, change table ownership during create 2018-11-29 14:20:42 +01:00
multi_create_table_constraints.out Check for non-extended constraint before extending 2019-04-15 23:14:21 -06:00
multi_create_table_new_features.out Support PostgreSQL 10 (#1379) 2017-06-26 02:35:46 -06:00
multi_cross_shard.out Tests are updated to use create_distributed_table 2018-05-10 11:18:59 +03:00
multi_data_types.out Distribute Types to worker nodes (#2893) 2019-09-13 17:46:07 +02:00
multi_deparse_shard_query.out Tests are updated to use create_distributed_table 2018-05-10 11:18:59 +03:00
multi_distributed_transaction_id.out Rewrite parallel ID test to avoid costly JITting 2018-09-24 09:29:53 +03:00
multi_distribution_metadata.out Sort load_shard_placement_array by worker name/port 2019-08-21 14:35:05 -07:00
multi_drop_extension.out Tests are updated to use create_distributed_table 2018-05-10 11:18:59 +03:00
multi_dropped_column_aliases.out Plan outer joins through pushdown planning 2019-01-05 20:55:27 +01:00
multi_explain.out Force CTE materialization in pg12 2019-08-09 15:25:59 +00:00
multi_extension.out Refactor Ensure Schema Exists to Ensure Dependecies Exists (#2882) 2019-09-04 14:10:20 +02:00
multi_follower_configure_followers.out Add regression tests for follower clusters 2017-08-12 12:05:56 +02:00
multi_follower_dml.out Add tests which check we disallow writes to local tables. 2018-10-06 10:54:44 +02:00
multi_follower_sanity_check.out Add regression tests for follower clusters 2017-08-12 12:05:56 +02:00
multi_follower_select_statements.out Return readable nodes in master_get_active_worker_nodes 2017-08-16 11:28:47 +02:00
multi_follower_task_tracker.out Introduce the adaptive executor (#2798) 2019-06-28 14:04:40 +02:00
multi_foreign_key.out Support FKs between reference tables 2019-08-21 16:11:27 -07:00
multi_foreign_key_relation_graph.out Create foreign key relation graph and functions to query on it 2018-07-03 17:05:55 +03:00
multi_function_evaluation.out Introduce fast path router planning 2019-02-21 13:27:01 +03:00
multi_function_in_join.out Distribute Types to worker nodes (#2893) 2019-09-13 17:46:07 +02:00
multi_generate_ddl_commands.out Create Schemas as superuser on all shard/table creation UDFs 2019-06-26 17:12:28 +02:00
multi_hash_pruning.out multi_router_planner: refactor error propagation 2019-06-26 10:32:01 +02:00
multi_having_pushdown.out Sort task list for multi-task explain outputs 2018-11-30 11:19:37 -07:00
multi_index_statements.out Raise an error when REINDEX TABLE or INDEX is invoked on a distributed relation 2019-08-21 17:03:14 +00:00
multi_index_statements_0.out Raise an error when REINDEX TABLE or INDEX is invoked on a distributed relation 2019-08-21 17:03:14 +00:00
multi_insert_select.out Tests: normalize sql_procedure and custom_aggregate_support 2019-07-10 14:36:17 +00:00
multi_insert_select_9.out Tests: normalize sql_procedure and custom_aggregate_support 2019-07-10 14:36:17 +00:00
multi_insert_select_conflict.out Router Planner: accept SELECT_CMD ctes in modification queries 2019-06-26 10:32:01 +02:00
multi_insert_select_non_pushable_queries.out Router Planner: accept SELECT_CMD ctes in modification queries 2019-06-26 10:32:01 +02:00
multi_insert_select_window.out Add support for window functions that can be pushed down to worker (#2008) 2018-03-01 19:07:07 +03:00
multi_join_order_additional.out Router Planner: accept SELECT_CMD ctes in modification queries 2019-06-26 10:32:01 +02:00
multi_join_order_tpch_repartition.out Implement single repartitioning on hash distributed tables 2018-05-02 18:50:55 +03:00
multi_join_order_tpch_small.out Removes large_table_shard_count GUC 2018-04-29 10:34:50 +02:00
multi_join_pruning.out Router Planner: accept SELECT_CMD ctes in modification queries 2019-06-26 10:32:01 +02:00
multi_json_agg.out Implemented jsonb_agg, json_agg, jsonb_object_agg, json_object_agg 2018-02-18 00:19:18 +02:00
multi_json_object_agg.out Implemented jsonb_agg, json_agg, jsonb_object_agg, json_object_agg 2018-02-18 00:19:18 +02:00
multi_jsonb_agg.out Implemented jsonb_agg, json_agg, jsonb_object_agg, json_object_agg 2018-02-18 00:19:18 +02:00
multi_jsonb_object_agg.out Implemented jsonb_agg, json_agg, jsonb_object_agg, json_object_agg 2018-02-18 00:19:18 +02:00
multi_limit_clause.out Router Planner: accept SELECT_CMD ctes in modification queries 2019-06-26 10:32:01 +02:00
multi_limit_clause_approximate.out Router Planner: accept SELECT_CMD ctes in modification queries 2019-06-26 10:32:01 +02:00
multi_master_protocol.out Modify tests to be consistent between versions 2019-08-22 19:30:50 +00:00
multi_metadata_access.out Add pg_dist_authinfo schema and validation 2018-06-13 11:16:26 -06:00
multi_metadata_attributes.out Use heap_deform_tuple() instead of calling heap_getattr(). (#2464) 2018-11-05 15:11:01 -05:00
multi_metadata_attributes_0.out Use heap_deform_tuple() instead of calling heap_getattr(). (#2464) 2018-11-05 15:11:01 -05:00
multi_metadata_sync.out Correctly add schema when distributing sequence definitons 2019-09-13 17:19:35 +02:00
multi_modifications.out multi_modifications: extend to demonstrate issue in adaptive executor 2019-08-01 23:55:04 +00:00
multi_modifications_9.out multi_modifications: extend to demonstrate issue in adaptive executor 2019-08-01 23:55:04 +00:00
multi_modifying_xacts.out multi_modifying_xacts: don't differ in output if reference table select tries broken worker first 2019-08-09 15:25:59 +00:00
multi_modifying_xacts_9.out multi_modifying_xacts: don't differ in output if reference table select tries broken worker first 2019-08-09 15:25:59 +00:00
multi_multiuser.out multi_multiuser: test that worker_merge_files_and_query doesn't allow privilege escalation 2019-09-05 16:52:24 +00:00
multi_multiuser_0.out multi_multiuser: test that worker_merge_files_and_query doesn't allow privilege escalation 2019-09-05 16:52:24 +00:00
multi_mx_create_table.out Distribute Types to worker nodes (#2893) 2019-09-13 17:46:07 +02:00
multi_mx_ddl.out Deprecate master_modify_multiple_shards 2019-05-24 15:22:06 +02:00
multi_mx_explain.out Introduce the adaptive executor (#2798) 2019-06-28 14:04:40 +02:00
multi_mx_explain_0.out Removes large_table_shard_count GUC 2018-04-29 10:34:50 +02:00
multi_mx_hide_shard_names.out Use tree walker instad of mutator in relation visibility 2018-09-18 09:33:01 +03:00
multi_mx_metadata.out Make sure to prevent unauthorized users to drop sequences in Citus MX 2018-11-15 18:08:04 +03:00
multi_mx_modifications.out Introduce the concept of Local Execution 2019-09-12 11:51:25 +02:00
multi_mx_modifications_to_reference_tables.out Add support for writing to reference tables from MX nodes 2018-08-27 18:15:04 +03:00
multi_mx_modifying_xacts.out Introduce the concept of Local Execution 2019-09-12 11:51:25 +02:00
multi_mx_partitioning.out Introduce the adaptive executor (#2798) 2019-06-28 14:04:40 +02:00
multi_mx_partitioning_0.out Introduce the adaptive executor (#2798) 2019-06-28 14:04:40 +02:00
multi_mx_reference_table.out Add tests to subquery_and_cte, update check-multi-mx expected results 2019-06-26 10:32:01 +02:00
multi_mx_repartition_join_w1.out Add Regression Tests For Querying MX Tables from Workers 2017-01-24 10:36:59 +03:00
multi_mx_repartition_join_w2.out Add Regression Tests For Querying MX Tables from Workers 2017-01-24 10:36:59 +03:00
multi_mx_repartition_udt_prepare.out Distribute Types to worker nodes (#2893) 2019-09-13 17:46:07 +02:00
multi_mx_repartition_udt_w1.out Removes large_table_shard_count GUC 2018-04-29 10:34:50 +02:00
multi_mx_repartition_udt_w2.out Removes large_table_shard_count GUC 2018-04-29 10:34:50 +02:00
multi_mx_router_planner.out Introduce the adaptive executor (#2798) 2019-06-28 14:04:40 +02:00
multi_mx_schema_support.out Add order by to multi_mx_schema_support 2019-05-28 12:23:28 +02:00
multi_mx_tpch_query1.out Removes large_table_shard_count GUC 2018-04-29 10:34:50 +02:00
multi_mx_tpch_query3.out Removes large_table_shard_count GUC 2018-04-29 10:34:50 +02:00
multi_mx_tpch_query6.out Removes large_table_shard_count GUC 2018-04-29 10:34:50 +02:00
multi_mx_tpch_query7.out Removes large_table_shard_count GUC 2018-04-29 10:34:50 +02:00
multi_mx_tpch_query7_nested.out Removes large_table_shard_count GUC 2018-04-29 10:34:50 +02:00
multi_mx_tpch_query10.out Removes large_table_shard_count GUC 2018-04-29 10:34:50 +02:00
multi_mx_tpch_query12.out Removes large_table_shard_count GUC 2018-04-29 10:34:50 +02:00
multi_mx_tpch_query14.out Removes large_table_shard_count GUC 2018-04-29 10:34:50 +02:00
multi_mx_tpch_query19.out Removes large_table_shard_count GUC 2018-04-29 10:34:50 +02:00
multi_mx_transaction_recovery.out Introduce the concept of Local Execution 2019-09-12 11:51:25 +02:00
multi_mx_truncate_from_worker.out Add infrastructure to relation if exists 2018-09-07 14:49:36 +03:00
multi_name_lengths.out Make sure that the regression test output is durable to different execution orders 2019-04-08 11:48:08 +03:00
multi_name_resolution.out Fix join alias resolution 2019-06-12 17:25:07 -07:00
multi_null_minmax_value_pruning.out multi_null_minmax_value_pruning: no versioning & coordinator_plan 2019-08-09 15:25:59 +00:00
multi_orderby_limit_pushdown.out shard count for some of the tests are increased 2018-05-03 10:44:43 +03:00
multi_partition_pruning.out Distribute Types to worker nodes (#2893) 2019-09-13 17:46:07 +02:00
multi_partitioning.out Modify tests to be consistent between versions 2019-08-22 19:30:50 +00:00
multi_partitioning_0.out Modify tests to be consistent between versions 2019-08-22 19:30:50 +00:00
multi_partitioning_1.out Modify tests to be consistent between versions 2019-08-22 19:30:50 +00:00
multi_partitioning_utils.out multi_partitioning_utils: version_above_ten 2019-08-09 15:25:59 +00:00
multi_partitioning_utils_0.out multi_partitioning_utils: version_above_ten 2019-08-09 15:25:59 +00:00
multi_prepare_plsql.out Distribute Types to worker nodes (#2893) 2019-09-13 17:46:07 +02:00
multi_prepare_sql.out Introduce the adaptive executor (#2798) 2019-06-28 14:04:40 +02:00
multi_prune_shard_list.out Fix multi_prune_shard_list & don't set next_shard_id unnecessarily in multi_null_minmax_value_pruning 2019-07-23 19:44:18 +00:00
multi_query_directory_cleanup.out citus_rm_job_directory for multi_query_directory_cleanup 2019-08-19 17:04:42 +00:00
multi_query_directory_cleanup_0.out citus_rm_job_directory for multi_query_directory_cleanup 2019-08-19 17:04:42 +00:00
multi_read_from_secondaries.out Router Planner: accept SELECT_CMD ctes in modification queries 2019-06-26 10:32:01 +02:00
multi_real_time_transaction.out Test SET LOCAL propagation when GUC is used in RLS policy 2019-08-22 20:29:52 +00:00
multi_reference_table.out Distribute Types to worker nodes (#2893) 2019-09-13 17:46:07 +02:00
multi_remove_node_reference_table.out Return nodeid instead of record in some UDFs 2019-09-12 12:46:21 -07:00
multi_repair_shards.out Fix multi_repair_shards. There's already a group/shardid entry, pg11 gives us back the inserted one, pg12 gives us the preexisting one 2019-08-09 15:25:59 +00:00
multi_repartition_join_planning.out Router Planner: accept SELECT_CMD ctes in modification queries 2019-06-26 10:32:01 +02:00
multi_repartition_join_pruning.out Router Planner: accept SELECT_CMD ctes in modification queries 2019-06-26 10:32:01 +02:00
multi_repartition_join_task_assignment.out Router Planner: accept SELECT_CMD ctes in modification queries 2019-06-26 10:32:01 +02:00
multi_repartition_udt.out Distribute Types to worker nodes (#2893) 2019-09-13 17:46:07 +02:00
multi_repartitioned_subquery_udf.out Use citus.next_shard_id where practical in regression tests 2017-11-15 10:12:05 +01:00
multi_replicate_reference_table.out Distribute Types to worker nodes (#2893) 2019-09-13 17:46:07 +02:00
multi_router_planner.out multi_router_planner: be terse for ctes with false wheres 2019-08-09 15:25:59 +00:00
multi_router_planner_fast_path.out Refactor Ensure Schema Exists to Ensure Dependecies Exists (#2882) 2019-09-04 14:10:20 +02:00
multi_schema_support.out Distribute Types to worker nodes (#2893) 2019-09-13 17:46:07 +02:00
multi_select_distinct.out Introduce the adaptive executor (#2798) 2019-06-28 14:04:40 +02:00
multi_select_for_update.out Adds SELECT ... FOR UPDATE support for router plannable queries 2018-06-18 13:55:17 +03:00
multi_shard_modify.out Deprecate master_modify_multiple_shards 2019-05-24 15:22:06 +02:00
multi_shard_update_delete.out Add order by to multi_shard_update_delete 2019-05-02 20:09:33 +03:00
multi_shard_update_delete_0.out Stabilise output of multi_shard_update_delete test 2018-05-11 08:33:23 +02:00
multi_simple_queries.out Test invalid aggregate 2019-09-12 16:55:05 +00:00
multi_simple_queries_0.out Test invalid aggregate 2019-09-12 16:55:05 +00:00
multi_single_relation_subquery.out Recursively plan subqueries that are not safe to pushdown 2017-12-21 08:37:40 +02:00
multi_size_queries.out Router Planner: accept SELECT_CMD ctes in modification queries 2019-06-26 10:32:01 +02:00
multi_sql_function.out Introduce the adaptive executor (#2798) 2019-06-28 14:04:40 +02:00
multi_subquery.out Distribute Types to worker nodes (#2893) 2019-09-13 17:46:07 +02:00
multi_subquery_behavioral_analytics.out Router Planner: accept SELECT_CMD ctes in modification queries 2019-06-26 10:32:01 +02:00
multi_subquery_complex_queries.out Router Planner: accept SELECT_CMD ctes in modification queries 2019-06-26 10:32:01 +02:00
multi_subquery_complex_reference_clause.out Router Planner: accept SELECT_CMD ctes in modification queries 2019-06-26 10:32:01 +02:00
multi_subquery_in_where_clause.out Router Planner: accept SELECT_CMD ctes in modification queries 2019-06-26 10:32:01 +02:00
multi_subquery_in_where_reference_clause.out Modify tests to be consistent between versions 2019-08-22 19:30:50 +00:00
multi_subquery_misc.out Ensure Citus never try to access a not planned subquery 2018-04-20 13:52:00 +03:00
multi_subquery_union.out Recursively plan set operations when leaf nodes recur 2017-12-26 13:46:55 +02:00
multi_subquery_window_functions.out shard count for some of the tests are increased 2018-05-03 10:44:43 +03:00
multi_subtransactions.out Use normalization for multi_subtransaction output 2019-06-19 17:54:33 +02:00
multi_table_ddl.out Tests are updated to use create_distributed_table 2018-05-10 11:18:59 +03:00
multi_task_assignment_policy.out Router Planner: accept SELECT_CMD ctes in modification queries 2019-06-26 10:32:01 +02:00
multi_task_string_size.out Description: Fix failures of tests on recent postgres builds 2018-11-13 16:53:05 +01:00
multi_test_helpers.out Distribute Types to worker nodes (#2893) 2019-09-13 17:46:07 +02:00
multi_tpch_query1.out Removes large_table_shard_count GUC 2018-04-29 10:34:50 +02:00
multi_tpch_query3.out Removes large_table_shard_count GUC 2018-04-29 10:34:50 +02:00
multi_tpch_query6.out Removes large_table_shard_count GUC 2018-04-29 10:34:50 +02:00
multi_tpch_query7.out Removes large_table_shard_count GUC 2018-04-29 10:34:50 +02:00
multi_tpch_query7_nested.out Removes large_table_shard_count GUC 2018-04-29 10:34:50 +02:00
multi_tpch_query10.out Removes large_table_shard_count GUC 2018-04-29 10:34:50 +02:00
multi_tpch_query12.out Removes large_table_shard_count GUC 2018-04-29 10:34:50 +02:00
multi_tpch_query14.out Removes large_table_shard_count GUC 2018-04-29 10:34:50 +02:00
multi_tpch_query19.out Removes large_table_shard_count GUC 2018-04-29 10:34:50 +02:00
multi_transaction_recovery.out Introduce the adaptive executor (#2798) 2019-06-28 14:04:40 +02:00
multi_transactional_drop_shards.out Return nodeid instead of record in some UDFs 2019-09-12 12:46:21 -07:00
multi_truncate.out Stop using master_modify_multiple_shards in TRUNCATE 2019-05-24 14:35:46 +02:00
multi_unsupported_worker_operations.out Refactor Ensure Schema Exists to Ensure Dependecies Exists (#2882) 2019-09-04 14:10:20 +02:00
multi_upgrade_reference_table.out Distribute Types to worker nodes (#2893) 2019-09-13 17:46:07 +02:00
multi_upsert.out Introduce the adaptive executor (#2798) 2019-06-28 14:04:40 +02:00
multi_utilities.out Deprecate master_modify_multiple_shards 2019-05-24 15:22:06 +02:00
multi_utilities_0.out Deprecate master_modify_multiple_shards 2019-05-24 15:22:06 +02:00
multi_utility_statements.out Modify tests to be consistent between versions 2019-08-22 19:30:50 +00:00
multi_utility_warnings.out Add test showing poolinfo validation works 2018-08-16 20:14:18 -06:00
multi_view.out Materialize c1 to keep subplan ids in sync 2019-08-09 15:25:59 +00:00
multi_view_0.out Materialize c1 to keep subplan ids in sync 2019-08-09 15:25:59 +00:00
multi_working_columns.out Remove ALTER SEQUENCE from parallel groups 2017-05-16 11:05:34 -06:00
mx_foreign_key_to_reference_table.out Distribute Types to worker nodes (#2893) 2019-09-13 17:46:07 +02:00
non_colocated_join_order.out Router Planner: accept SELECT_CMD ctes in modification queries 2019-06-26 10:32:01 +02:00
non_colocated_leaf_subquery_joins.out Router Planner: accept SELECT_CMD ctes in modification queries 2019-06-26 10:32:01 +02:00
non_colocated_subquery_joins.out Router Planner: accept SELECT_CMD ctes in modification queries 2019-06-26 10:32:01 +02:00
pg12.out Don't allow distributing by a generated column 2019-09-04 14:50:17 +00:00
pg12_1.out Create a test 'pg12' for pg12 features & error on unsupported new features 2019-08-22 19:30:56 +00:00
propagate_set_commands.out Fix RESET and other types of SET 2019-07-05 19:30:48 +02:00
recursive_dml_queries_mx.out Add tests to subquery_and_cte, update check-multi-mx expected results 2019-06-26 10:32:01 +02:00
recursive_dml_with_different_planners_executors.out Router Planner: accept SELECT_CMD ctes in modification queries 2019-06-26 10:32:01 +02:00
relation_access_tracking.out Do not record relation accessess unnecessarily 2019-08-08 18:42:08 +02:00
replicated_partitioned_table.out Force CTE materialization in pg12 2019-08-09 15:25:59 +00:00
replicated_partitioned_table_0.out Force CTE materialization in pg12 2019-08-09 15:25:59 +00:00
sequential_modifications.out Introduce the adaptive executor (#2798) 2019-06-28 14:04:40 +02:00
set_operation_and_local_tables.out multi_router_planner: refactor error propagation 2019-06-26 10:32:01 +02:00
set_operations.out multi_router_planner: refactor error propagation 2019-06-26 10:32:01 +02:00
single_hash_repartition_join.out multi_router_planner: refactor error propagation 2019-06-26 10:32:01 +02:00
sql_procedure.out Modify tests to be consistent between versions 2019-08-22 19:30:50 +00:00
sql_procedure_0.out Modify tests to be consistent between versions 2019-08-22 19:30:50 +00:00
ssl_by_default.out upgrade default ssl_ciphers to more restrictive on extension creation 2018-12-12 15:33:15 +01:00
subqueries_deep.out Router Planner: accept SELECT_CMD ctes in modification queries 2019-06-26 10:32:01 +02:00
subqueries_not_supported.out Router Planner: accept SELECT_CMD ctes in modification queries 2019-06-26 10:32:01 +02:00
subquery_and_cte.out Introduce the adaptive executor (#2798) 2019-06-28 14:04:40 +02:00
subquery_basics.out Router Planner: accept SELECT_CMD ctes in modification queries 2019-06-26 10:32:01 +02:00
subquery_complex_target_list.out Router Planner: accept SELECT_CMD ctes in modification queries 2019-06-26 10:32:01 +02:00
subquery_executors.out Router Planner: accept SELECT_CMD ctes in modification queries 2019-06-26 10:32:01 +02:00
subquery_in_where.out Modify tests to be consistent between versions 2019-08-22 19:30:50 +00:00
subquery_local_tables.out Router Planner: accept SELECT_CMD ctes in modification queries 2019-06-26 10:32:01 +02:00
subquery_partitioning.out Router Planner: accept SELECT_CMD ctes in modification queries 2019-06-26 10:32:01 +02:00
subquery_prepared_statements.out Distribute Types to worker nodes (#2893) 2019-09-13 17:46:07 +02:00
subquery_view.out Router Planner: accept SELECT_CMD ctes in modification queries 2019-06-26 10:32:01 +02:00
task_tracker_assign_task.out Remove ALTER SEQUENCE from parallel groups 2017-05-16 11:05:34 -06:00
task_tracker_cleanup_job.out Test worker_cleanup_job_schema_cache actually drops schemas 2019-09-05 16:52:24 +00:00
task_tracker_create_table.out Use citus.next_shard_id where practical in regression tests 2017-11-15 10:12:05 +01:00
task_tracker_partition_task.out Add user ID suffixes to filenames in check-worker tests 2018-11-23 08:36:12 +01:00
upgrade_distributed_table_after.out Add upgrade postgres version test (#2940) 2019-09-10 17:56:04 +03:00
upgrade_distributed_table_before.out Add upgrade postgres version test (#2940) 2019-09-10 17:56:04 +03:00
validate_constraint.out Distribute Types to worker nodes (#2893) 2019-09-13 17:46:07 +02:00
window_functions.out window_functions: 'ORDER BY time' when using lag(time) & coordinator_plan 2019-08-09 15:25:59 +00:00
window_functions_0.out window_functions: 'ORDER BY time' when using lag(time) & coordinator_plan 2019-08-09 15:25:59 +00:00
with_basics.out Distribute Types to worker nodes (#2893) 2019-09-13 17:46:07 +02:00
with_dml.out Force CTE materialization in pg12 2019-08-09 15:25:59 +00:00
with_executors.out Add CTE regression tests 2017-12-14 09:32:55 +01:00
with_join.out Add some more regression tests for outer join pushdown 2019-03-19 11:49:38 +03:00
with_modifying.out Introduce the adaptive executor (#2798) 2019-06-28 14:04:40 +02:00
with_nested.out Run concurrent modification queries in tests sequentially 2018-05-10 11:59:18 +03:00
with_partitioning.out Add CTE regression tests 2017-12-14 09:32:55 +01:00
with_prepare.out Add support for modifying CTEs 2018-02-27 15:08:32 +02:00
with_set_operations.out Router Planner: accept SELECT_CMD ctes in modification queries 2019-06-26 10:32:01 +02:00
with_transactions.out Introduce the adaptive executor (#2798) 2019-06-28 14:04:40 +02:00
with_transactions_9.out Introduce the adaptive executor (#2798) 2019-06-28 14:04:40 +02:00
with_where.out Add regression tests for recursive subquery planning 2017-12-21 08:37:40 +02:00
worker_binary_data_partition.out Add user ID suffixes to filenames in check-worker tests 2018-11-23 08:36:12 +01:00
worker_check_invalid_arguments.out worker_check_invalid_arguments: invalid task/job ids 2019-09-05 16:52:24 +00:00
worker_create_table.out Use citus.next_shard_id where practical in regression tests 2017-11-15 10:12:05 +01:00
worker_hash_partition.out Add user ID suffixes to filenames in check-worker tests 2018-11-23 08:36:12 +01:00
worker_hash_partition_complex.out Add user ID suffixes to filenames in check-worker tests 2018-11-23 08:36:12 +01:00
worker_merge_hash_files.out Remove ALTER SEQUENCE from parallel groups 2017-05-16 11:05:34 -06:00
worker_merge_range_files.out Remove ALTER SEQUENCE from parallel groups 2017-05-16 11:05:34 -06:00
worker_null_data_partition.out Add user ID suffixes to filenames in check-worker tests 2018-11-23 08:36:12 +01:00
worker_range_partition.out Add user ID suffixes to filenames in check-worker tests 2018-11-23 08:36:12 +01:00
worker_range_partition_complex.out Add user ID suffixes to filenames in check-worker tests 2018-11-23 08:36:12 +01:00