blob: fca6c86c05e6b300d421f8d5a237fac8f44938f8 [file] [log] [blame]
# ----------
# src/test/regress/parallel_schedule
#
# Most test scripts can be run after running just test_setup and possibly
# create_index. Exceptions to this rule are documented below.
#
# By convention, we put no more than twenty tests in any one parallel group;
# this limits the number of connections needed to run the tests.
# ----------
# required setup steps
test: test_setup
# ----------
# The first group of parallel tests
# ----------
test: boolean char name varchar text int2 int4 int8 oid float4 float8 bit numeric txid uuid enum money rangetypes pg_lsn regproc
# ----------
# The second group of parallel tests
# multirangetypes depends on rangetypes
# multirangetypes shouldn't run concurrently with type_sanity
# ----------
test: strings md5 numerology point lseg line box path polygon circle date time timetz timestamp timestamptz interval inet macaddr macaddr8 multirangetypes
# ----------
# Another group of parallel tests
# geometry depends on point, lseg, line, box, path, polygon, circle
# horology depends on date, time, timetz, timestamp, timestamptz, interval
# ----------
test: geometry horology tstypes regex type_sanity opr_sanity misc_sanity comments expressions unicode xid mvcc database
# ----------
# Load huge amounts of data
# We should split the data files into single files and then
# execute two copy tests in parallel, to check that copy itself
# is concurrent safe.
# ----------
test: copy copyselect copydml insert insert_conflict
# ----------
# More groups of parallel tests
# Note: many of the tests in later groups depend on create_index
# ----------
test: create_function_c create_misc create_operator create_procedure create_table create_type create_schema
test: create_index create_index_spgist create_view index_including index_including_gist
# Depends on things setup for create_index
# ----------
# Another group of parallel tests
# ----------
test: create_aggregate create_function_sql create_cast constraints triggers select inherit typed_table vacuum drop_if_exists updatable_views roleattributes create_am hash_func errors infinite_recurse
# ----------
# Because vacuum will detect concurrently running transactions, it is necessary to
# run this test on its own, or it might not detect the pages are 'all visible'
# ----------
# test: disable_autovacuum
# test: vacuum_stats
# test: enable_autovacuum
# ----------
# sanity_check does a vacuum, affecting the sort order of SELECT *
# results. So it should not run parallel to other tests.
test: sanity_check
# ----------
# Another group of parallel tests
# aggregates depends on create_aggregate
# join depends on create_misc
# ----------
# ignore: random
test: select_into select_distinct select_distinct_on select_implicit select_having subselect union case join aggregates random portals arrays btree_index hash_index update delete
# In PostgreSQL, namespace test is run as part of the previous group, but there
# are some GPDB additions in it that will show diff if concurrent tests use
# temporary tables. So run it separately.
test: namespace
# 2-phase commit is not supported by GPDB.
#test: prepared_xacts
test: transactions
# ----------
# Another group of parallel tests
# ----------
test: brin gin gist spgist privileges init_privs security_label collate matview lock replica_identity rowsecurity object_address tablesample groupingsets drop_operator password identity generated join_hash appendonly_sample aocs_sample
# ----------
# Additional BRIN tests
# ----------
test: brin_bloom brin_multi
# ----------
# Additional Task tests
# ----------
test: task
# ----------
# Another group of parallel tests
# psql depends on create_am
# amutils depends on geometry, create_index_spgist, hash_index, brin
# ----------
test: create_table_like alter_generic alter_operator misc async dbsize misc_functions sysviews tsrf tid tidscan tidrangescan collate.icu.utf8 incremental_sort
# test: incremental_matview
# ----------
# Additional incremental view maintenance tests
# ----------
# test: ivm
# rules cannot run concurrently with any test that creates
# a view or rule in the public schema
#
# 'rules' test is disabled in GPDB. Maintaining the list of views in it is
# too painful, and there are also errors because of cross-segment UPDATEs
# and functions.
#
# GPDB_84_MERGE_FIXME: While disabling this was not really an effect of the 8.4
# merge, it was done a long time ago, it's time to revisit this so we can re-
# enable it
#test: rules
# collate.*.utf8 tests cannot be run in parallel with each other
test: psql psql_crosstab amutils stats_ext collate.linux.utf8 collate.windows.win1252
# ----------
# Run these alone so they don't run out of parallel workers
# select_parallel depends on create_misc
# ----------
test: select_parallel
test: write_parallel
test: vacuum_parallel
# Run this alone, because concurrent DROP TABLE would make non-superuser
# "ANALYZE;" fail with "relation with OID $n does not exist".
test: maintain_every
# no relation related tests can be put in this group
test: publication subscription
# ----------
# Another group of parallel tests
# select_views depends on create_view
# ----------
test: select_views portals_p2 cluster dependency guc bitmapops combocid tsearch tsdicts foreign_data window xmlmap functional_deps advisory_lock indirect_toast equivclass
# 'foreign_key' test is disabled, because it contains several tables with
# multiple UNIQUE constraints, which is not supported in GPDB.
# See the foreign_key_gp test in greenplum_schedule for the GPDB-specific behavior.
#test: foreign_key
# ----------
# Another group of parallel tests (JSON related)
# ----------
test: json jsonb json_encoding jsonpath jsonpath_encoding jsonb_jsonpath sqljson
test: gp_gin_index
# ----------
# Another group of parallel tests
# with depends on create_misc
# NB: temp.sql does a reconnect which transiently uses 2 connections,
# so keep this parallel group to at most 19 tests
# ----------
test: plancache limit plpgsql copy2 temp domain rangefuncs prepare conversion truncate alter_table sequence polymorphism rowtypes returning with xml
# large objects are not supported by GPDB
# test: largeobject
test: gp_foreign_data
# ----------
# Another group of parallel tests
#
# The stats test resets stats, so nothing else needing stats access can be in
# this group.
# ----------
test: partition_join partition_prune reloptions hash_part indexing partition_aggregate partition_info tuplesort explain compression memoize stats
# event_trigger cannot run concurrently with any test that runs DDL
# oidjoins is read-only, though, and should run late for best coverage
test: event_trigger oidjoins
# this test also uses event triggers, so likewise run it by itself
test: fast_default
# loose over-eager constraint exclusion check, please refer to issue 10287
test: constraints_check
# test of tag
# test: tag
# run tablespace test at the end because it drops the tablespace created during
# setup that other tests may use.
test: tablespace