# ----------
# $Id$
#
# Regression tests for task tracker executor. This schedule runs tests
# in task tracker executor. Any test that do not explicitly set the task executor
# are expected to be placed here in addition to multi_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_cluster_management
test: multi_table_ddl
test: multi_test_helpers
test: multi_test_catalog_views

# ----------
# The following distributed tests depend on creating a partitioned table and
# uploading data to it.
# ----------
test: multi_create_table
test: multi_master_protocol
test: multi_load_data

# ----------
# Miscellaneous tests to check our query planning behavior
# ----------
test: multi_basic_queries multi_complex_expressions
test: multi_agg_distinct multi_limit_clause_approximate
test: multi_average_expression multi_working_columns
test: multi_array_agg multi_limit_clause
test: multi_agg_type_conversion multi_count_type_conversion
test: multi_hash_pruning
test: multi_query_directory_cleanup
test: multi_utility_statements
test: multi_dropped_column_aliases

# ----------
# 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_load_more_data
test: multi_join_order_tpch_repartition

# ----------
# 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

# ----------
# multi_create_schema tests creation, loading, and querying of a table in a new
# schema (namespace).
# ----------
test: multi_create_schema

# ---------
# 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.
# ---
test: multi_create_fdw
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_data_types
test: multi_utilities

# ---------
# multi_copy creates hash and range-partitioned tables and performs COPY
# ---------
test: multi_copy

# ----------
# multi_large_shardid loads more lineitem data using high shard identifiers
# ----------
test: multi_large_shardid

# ----------
# multi_drop_extension makes sure we can safely drop and recreate the extension
# ----------
test: multi_drop_extension

# ----------
# multi_schema_support makes sure we can work with tables in schemas other than public with no problem
# ----------
test: multi_schema_support

# ----------
# test that no tests leaked intermediate results. This should always be last
# ----------
test: ensure_no_intermediate_data_leak
