# ---------- # $Id$ # # Regression tests that exercise distributed planning/execution functionality. # # All new regression tests are expected to be run by this schedule. Tests that # do not set specific task executor type should also be added to # multi_task_tracker_extra_schedule. # # Note that we use variant comparison files to test version dependent regression # test results. For more information: # http://www.postgresql.org/docs/current/static/regress-variant.html # ---------- # --- # Tests around schema changes, these are run first, so there's no preexisting objects. # --- test: multi_extension test: multi_703_upgrade test: multi_cluster_management test: multi_test_helpers test: multi_table_ddl test: multi_name_lengths test: multi_metadata_access test: multi_read_from_secondaries # ---------- # The following distributed tests depend on creating a partitioned table and # uploading data to it. # ---------- test: multi_create_table test: multi_create_table_constraints test: multi_master_protocol test: multi_load_data test: multi_behavioral_analytics_create_table test: multi_behavioral_analytics_basics multi_behavioral_analytics_single_shard_queries multi_insert_select_non_pushable_queries test: multi_insert_select multi_insert_select_window test: multi_shard_update_delete # --- # Tests for partitioning support # --- test: multi_partitioning_utils test: multi_partitioning # ---------- # Miscellaneous tests to check our query planning behavior # ---------- test: multi_deparse_shard_query multi_distributed_transaction_id test: multi_basic_queries multi_complex_expressions test: multi_explain test: multi_subquery multi_subquery_complex_queries multi_subquery_behavioral_analytics test: multi_subquery_complex_reference_clause multi_subquery_window_functions test: multi_subquery_in_where_reference_clause test: multi_subquery_union multi_subquery_in_where_clause multi_subquery_misc test: multi_reference_table test: multi_outer_join_reference test: multi_single_relation_subquery test: multi_agg_distinct multi_agg_approximate_distinct multi_limit_clause_approximate test: multi_average_expression multi_working_columns multi_having_pushdown test: multi_array_agg multi_limit_clause test: multi_agg_type_conversion multi_count_type_conversion test: multi_partition_pruning test: multi_join_pruning multi_hash_pruning test: multi_null_minmax_value_pruning test: multi_query_directory_cleanup test: multi_task_assignment_policy multi_cross_shard test: multi_utility_statements test: multi_dropped_column_aliases test: multi_binary_master_copy_format test: multi_prepare_sql test: multi_prepare_plsql test: multi_sql_function test: multi_view # ---------- # Parallel TPC-H tests to check our distributed execution behavior # ---------- test: multi_tpch_query1 multi_tpch_query3 multi_tpch_query6 multi_tpch_query10 test: multi_tpch_query12 multi_tpch_query14 multi_tpch_query19 test: multi_tpch_query7 multi_tpch_query7_nested # ---------- # Parallel tests to check our join order planning logic. Note that we load data # below; and therefore these tests should come after the execution tests. # ---------- test: multi_join_order_tpch_small multi_join_order_additional test: multi_load_more_data test: multi_join_order_tpch_large # ---------- # Tests for large-table join planning and execution. Be careful when creating # new shards before these tests, as they expect specific shard identifiers in # the output. # ---------- test: multi_large_table_join_planning test: multi_large_table_pruning test: multi_large_table_task_assignment # ---------- # Tests to check our large record loading and shard deletion behavior # ---------- test: multi_load_large_records test: multi_master_delete_protocol test: multi_shard_modify # ---------- # Tests around DDL statements run on distributed tables # ---------- test: multi_index_statements test: multi_alter_table_statements test: multi_alter_table_add_constraints # ---------- # multi_create_schema tests creation, loading, and querying of a table in a new # schema (namespace). # ---------- test: multi_create_schema # ---------- # Tests to check if we inform the user about potential caveats of creating new # databases, schemas, and roles. # ---------- test: multi_utility_warnings # --------- # multi_append_table_to_shard loads data to create shards in a way that forces # shard caching. # --------- test: multi_append_table_to_shard # --------- # multi_outer_join loads data to create shards to test outer join mappings # --------- test: multi_outer_join # --- # Tests covering mostly modification queries and required preliminary # functionality related to metadata, shard creation, shard pruning and # "hacky" copy script for hash partitioned tables. # Note that the order of the following tests are important. multi_complex_count_distinct # is independed from the rest of the group, it is added to increase parallelism. # --- test: multi_create_fdw test: multi_complex_count_distinct multi_select_distinct test: multi_distribution_metadata test: multi_generate_ddl_commands test: multi_create_shards test: multi_prune_shard_list test: multi_repair_shards test: multi_modifications test: multi_upsert test: multi_simple_queries test: multi_create_insert_proxy test: multi_data_types test: multi_utilities test: multi_repartition_udt test: multi_repartitioned_subquery_udf test: multi_modifying_xacts test: multi_transaction_recovery test: multi_subtransactions # --------- # multi_copy creates hash and range-partitioned tables and performs COPY # --------- test: multi_copy # --------- # multi_router_planner creates hash partitioned tables. # --------- test: multi_router_planner # ---------- # multi_large_shardid loads more lineitem data using high shard identifiers # ---------- test: multi_large_shardid # ---------- # multi_size_queries tests various size commands on distributed tables # ---------- test: multi_size_queries # ---------- # multi_drop_extension makes sure we can safely drop and recreate the extension # ---------- test: multi_drop_extension # ---------- # multi_metadata_sync tests the propagation of mx-related metadata changes to metadata workers # multi_unsupported_worker_operations tests that unsupported operations error out on metadata workers # ---------- test: multi_metadata_sync test: multi_unsupported_worker_operations # ---------- # multi_schema_support makes sure we can work with tables in schemas other than public with no problem # ---------- test: multi_schema_support # ---------- # multi_function_evaluation tests edge-cases in master-side function pre-evaluation # ---------- test: multi_function_evaluation # ---------- # multi_truncate tests truncate functionality for distributed tables # ---------- test: multi_truncate # ---------- # multi_expire_table_cache tests for broadcast tables # ---------- test: multi_expire_table_cache # ---------- # multi_colocation_utils tests utility functions written for co-location feature & internal API # multi_colocated_shard_transfer tests master_copy_shard_placement with colocated tables. # ---------- test: multi_colocation_utils test: multi_colocated_shard_transfer # ---------- # multi_citus_tools tests utility functions written for citus tools # ---------- test: multi_citus_tools # ---------- # multi_foreign_key tests foreign key push down on distributed tables # ---------- test: multi_foreign_key # ---------- # multi_upgrade_reference_table tests for upgrade_reference_table UDF # multi_replicate_reference_table tests replicating reference tables to new nodes after we add new nodes # multi_remove_node_reference_table tests metadata changes after master_remove_node # ---------- test: multi_upgrade_reference_table test: multi_replicate_reference_table test: multi_remove_node_reference_table # ---------- # multi_transactional_drop_shards tests for dropping shards using connection API # ---------- test: multi_transactional_drop_shards # ---------- # multi_multiuser tests simple combinations of permission access and queries # ---------- test: multi_multiuser # --------- # multi_cache_invalidation tests for an obscure crash citus used to exhibit when shardids # changed the table they belonged to during a session # -------- test: multi_cache_invalidation # --------- # multi_task_string_size tests task string size checks # --------- test: multi_task_string_size