
# ----------
# src/test/regress/parallel_schedule
#
# 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.
# ----------

test: memory_check

test: directory_test

# test sql by pass
test: bypass_simplequery_support
test: bypass_preparedexecute_support
test: bypass_paral_pre
test: bypass_paral_1 bypass_paral_2 bypass_paral_3 bypass_paral_4 bypass_paral_5 bypass_paral_6
test: bypass_paral_end

# test hyperloglog
test: query_rewrite
#test: hll_mpp hll_xc hll_misc hll_func hll_hash hll_para
#test: hll_mpp_compress hll_xc_compress hll_misc_compress hll_func_compress hll_hash_compress hll_para_compress

# test text search dictionary
test: hw_tsdicts

test: instr_unique_sql

test: view_dump
test: resolve_unknown
test: partiton_pathkey_col_plan partiton_pathkey_col_randomexec partiton_pathkey_row_plan partiton_pathkey_row_randomexec
test: vec_set_func

test: create_schema
test: auto_analyze_test
test: display_leading_zero datefunc_compatibility
test: a_outerjoin_conversion
test: triggers_traverse
test: sequence_new
test: synonym

#test verify data file feature
test: analyse_verify

# test autoanalyze
test: autoanalyze_test_gucset
test: autoanalyze_test1 autoanalyze_test2 autoanalyze_test3 autoanalyze_test4
test: autoanalyze_test_gucreset

# test create type
test: string_digit_to_numeric
test: create_compositetype
test: create_basetype
test: create_enumtype enum select_nest_views


#test add_views
test: add_views

test: udf_crem
test: create_c_function
# test on inplace upgrade
#test: pre_inplace_upgrade
#test: inplace_upgrade
#test: rollback_inplace_upgrade
#test: post_inplace_upgrade

# test on plan_table
#test: plan_table01
#test: plan_table02
#test: plan_table03
#test: plan_table04

#test with recursive
test: recursive_ref_recursive
test: distribute_recursive_prepare
test: distribute_recursive_cte
test: distribute_recursive_cte_col
test: nohashjoin_distribute_recursive_cte
test: nohashjoin_distribute_recursive_cte_col
test: others
test: icbc_customer
test: distribute_recursive_unshippable
test: distribute_recursive_finalize
test: distribute_recursive_cte_1

#test performance
test: performance_enhance
test: explain_fqs
test: explain_pbe

# test for skew hint and skew agg optimize
test: skew_setup
test: skew_hint_01
test: skew_hint_02
test: skew_hint_03
test: skew_hint_04
test: skew_hint_05
test: skew_hint_06
test: skew_agg_01
test: skew_agg_02
test: skew_clean

# test for 'full join on 1=1' rewritting
test: fulljoin_rewrite_col_1 fulljoin_rewrite_col_2 fulljoin_rewrite_col_3 fulljoin_rewrite_row_1 fulljoin_rewrite_row_2 fulljoin_rewrite_row_3

# test for skew join optimize
test: skew_join_setup
test: skew_outerjoin_null
test: skew_statistic_clause_col
test: skew_statistic_data_type_01
test: skew_statistic_data_type_02
test: skew_statistic_data_type_03
test: skew_statistic_data_type_04
test: skew_statistic_multi_col
test: skew_statistic_single_col

# test on CLUSTER SQL COUNT features
test: cluster_sql_count

# test INSERT UPDATE
test: insert_update_001 insert_update_002 insert_update_003 insert_update_008 insert_update_009 insert_update_010

#cooperation analysis
#test: ca_remote_init
#test: ca_local_dml_error ca_local_dml_select ca_local_dml_insert ca_local_dml_join ca_local_dml_join_1 ca_local_dml_pbe ca_local_dml_ng
#test: ca_local_plain_agg ca_local_groupby_agg ca_local_agg_func ca_local_agg_func_1 ca_local_agg_expr ca_local_agg_pbe ca_local_agg_misc
#test: ca_local_ddl
#test: ca_remote_end

# test for inlist2join query rewrite
test: inlist2join
test: inlist2join_c
test: inlist2join_type
test: inlist2join_type_c
test: inlist2join_type_c_0
test: inlist2join_cost_base

# test for self-tuning
test: query_self_tuning_pre
test: query_self_tuning
test: query_self_tuning_1_2
test: query_self_tuning_1_3
test: query_self_tuning_2 query_self_tuning_3
test: query_self_tuning_clean

# test for query shipping
test: shipping_pre
test: concat_shipping shipping_func_any_args shipping_preprocess_func shipping_directly shipping_dfx shipping_EC shipping_no_from_list shipping_groupby shipping_other
test: shipping_clean

# test on java udf
#test: javaudf_prep
#test: javaudf_basic_001 javaudf_basic_002 javaudf_basic_003
#test: javaudf_list_001 javaudf_list_002 javaudf_list_003 javaudf_list_004 javaudf_list_005
#test: javaudf_list_006 javaudf_list_007 javaudf_list_008 javaudf_list_009 javaudf_list_010
#test: javaudf_clean

# test on extended statistics
# test: hw_es_multi_column_stats
test: hw_es_multi_column_stats_prepare
test: hw_es_multi_column_stats_1 hw_es_multi_column_stats_1_1 hw_es_multi_column_stats_1_2 hw_es_multi_column_stats_1_3 hw_es_multi_column_stats_1_4 hw_es_multi_column_stats_1_5 hw_es_multi_column_stats_1_6 hw_es_multi_column_stats_2_1 hw_es_multi_column_stats_2_2 hw_es_multi_column_stats_2_3  hw_es_multi_column_stats_3 hw_es_multi_column_stats_3_1 hw_es_multi_column_stats_3_2
test: hw_es_multi_column_stats_end

#test tabletype
test: tabletype

#test test_relpages
test: test_relpages

# test on multi-node group features
#test: nodegroup_basic_test
test: cstore_replication_table_delete
test: nodegroup_multigroup_test
test: nodegroup_multigroup_smp_test
test: nodegroup_agg_test
test: nodegroup_agg_smp_test
test: nodegroup_utility_test
test: nodegroup_replication_test
test: nodegroup_misc
test: nodegroup_smp_misc
test: nodegroup_setop_test
test: nodegroup_setop_smp_test
test: nodegroup_subplan_test
test: nodegroup_subplan_smp_test
test: hw_nodegroup_grant
test: nodegroup_special
test: nodegroup_name
test: nodegroup_table_like
# Start Online Expansion Test case
#---1. Drop-Column test
test: cstore_drop_column cstore_drop_column_replicated

#---2. delete delta test
#  -2.1 delete delta test for row table (hash/replication)
test: delete_delta
test: delete_delta_row_partition

#  -2.2 delete delta test CU (hash/replication)
test: delete_delta_cstore
test: delete_delta_col_partition

#---3.3 test duplicate delete/update
#  -3.1 test duplicate delete/update (hash/replication for col/row table)
test: delete_delta_dupdelete
test: delete_delta_col_dupdelete

#  -3.2 test duplicate delete/update for partitioned (hash/replication for col/row table)
test: delete_delta_partition_dupdelete
test: delete_delta_col_partition_dupdelete

#---4. Unsupported statement test
test: online_x_utility

#---5. Row table append mode test
test: redis_append_mode
test: redis_append_mode_replicated
test: redis_append_mode_row_partition
test: redis_append_mode_row_partition_replicated
test: test_alter_table_set_refresh

#---6. Column table append mode test
test: redis_append_mode_col
test: redis_append_mode_col_partition
test: redis_append_mode_col_partition_replicated

#---7. other
test: create_redis_c_function
test: online_expansion_misc
test: reindex_internal

#---8. predicate push down to range scan in redis
test: pre_redis_pushdown
test: redis_pushdown_row
test: redis_pushdown_col
test: redis_pushdown_row_partition
test: redis_pushdown_col_partition
test: post_redis_pushdown

#---9.cancel redis check
#   UT1:  1)redis_proc get the access share lock
#         2)Drop *can* cancel redis_proc
#   UT2:  1)redis_proc get the access share lock
#         2)IUD came
#         3)Drop DOES NOT wait and cancels redis_proc directly but get lock until IUD finishes
#   UT3:  1)redis_proc get access exclusive lock (swap table phase)
#         2)Drop wait until swap done
#   UT4:  1)redis_proc get the access exclusive lock
#         2)IUD wait until redis_proc finish
#         3)Drop wait until IUD finish
test: redis_prepare_c_functions
test: pre_redis_create_tx  pre_redis_create_cmpts
test: redis_proc_ut1 drop_proc_ut1
test: post_redis_drop_cmpts
test: pre_redis_create_tx  pre_redis_create_cmpts
test: redis_proc_ut2 normal_IUD_proc_ut2 drop_proc_ut2
test: post_redis_drop_cmpts
test: pre_redis_create_tx pre_redis_create_cmpts
test: redis_proc_ut3 drop_proc_ut3
test: post_redis_drop_cmpts
test: pre_redis_create_tx pre_redis_create_cmpts
test: redis_proc_ut4 normal_IUD_proc_ut4 drop_proc_ut4
test: post_redis_drop_cmpts

#   UT9:  1)IUD came
#         2)redis_proc get the ACCESS EXCLUSIVE LOCK and it waits for IUD to finish
#         3)Drop DOES NOT wait and cancels redis_proc directly
test: pre_redis_create_tx pre_redis_create_cmpts
test: normal_IUD_proc_ut9 redis_proc_ut9 drop_proc_ut9
test: post_redis_drop_cmpts

#  UT5 to UT8 is similar as UT1 to UT4, but for truncate table.
test: pre_redis_create_tx2 pre_redis_create_cmpts
test: pre_redis_tx_insert
test: redis_proc_ut5 truncate_proc_ut5
test: post_redis_drop_cmpts
test: pre_redis_tx_insert pre_redis_create_cmpts
test: redis_proc_ut6 normal_IUD_proc_ut6 truncate_proc_ut6
test: post_redis_drop_cmpts
test: pre_redis_tx_insert pre_redis_create_cmpts
test: redis_proc_ut7 truncate_proc_ut7
test: post_redis_drop_cmpts
test: pre_redis_tx_insert pre_redis_create_cmpts
test: redis_proc_ut8 normal_IUD_proc_ut8 truncate_proc_ut8
test: post_redis_drop_cmpts
#  UT10:  1)IUD came
#         2)redis_proc get the ACCESS EXCLUSIVE LOCK and it waits for IUD to finish
#         3)Truncate DOES NOT wait and cancels redis_proc directly
test: pre_redis_tx_insert pre_redis_create_cmpts
test: normal_IUD_proc_ut10 redis_proc_ut10 truncate_proc_ut10
test: post_redis_drop_cmpts post_redis_drop_tx2

# test active sql feature
test: pre_redis_create_tx
test: active_sql_insert active_sql_operator

#  UT11 to UT14 is similar as UT1 to UT4, but for alter table truncate partition.
#  Since alter table truncate partition is not an action of truncate but alter, 
#  following tests are meaningless.
#test: pre_redis_prepare
#test: redis_proc_ut11 at_trunc_part_proc_ut11
#test: post_redis_clean
#test: pre_redis_prepare
#test: redis_proc_ut12 normal_IUD_proc_ut12 at_trunc_part_proc_ut12
#test: post_redis_clean
test: redis_clean_c_functions

# UT12 truncate table/alter table truncate partition during redistribution w/o cancelation
test: redis_truncate
test: redis_truncate_col
test: redis_alter_truncate_partition
test: redis_alter_truncate_col_partition

# End Online Expansion Test case
# --------------------------------------------------------------------------
test: sequence xc_sequence hw_partition_sequence alter_schema_db_rename_seq
test: ts_utf8 ts_gbk
test: tablespace_limit tablespace_limit3
test: tablespace_limit2
test: quality_derive
test: hw_dfx_thread_status
test: stable_function_shippable

#test the locales setting expect not affacted each other
test: pg_session_locale
# ----------
# data partition
# ----------
test: physical_slot
test: hw_cstore_partition hw_cstore_partition1 hw_cstore_partition2 hw_cstore_partition_size hw_cstore_analyze
test: hw_partition_sysview
test: hw_partition_pruning hw_partition_pruning_multikey 
test: hw_partition_pruning_2 hw_partition_pruning_multikey_2
test: hw_partition_pwj hw_partition_exchange2 hw_partition_exchange3
test: hw_partition_syntax hw_partition_datatype hw_partition_tablespace hw_partition_inequality hw_partition_rename hw_partition_set_tablespace

test: hw_partition_scan_02 hw_partition_scan_03 hw_partition_scan_05
test: hw_partition_scan_01 hw_partition_scan_04 hw_partition_scan_06

test: hw_partition_alter_table hw_partition_merge2
test: hw_partition_table_like hw_partition_exchange1
test: hw_partition_index hw_partition_reindex
test: hw_partition_unusable_index_1 hw_partition_unusable_index_3 hw_partition_unusable_index_2
test: hw_partition_insert hw_partition_insert_01 hw_partition_dml
test: hw_partition_grant hw_partition_of_type hw_partition_merge1 hw_partition_split

test: hw_partition_nodes hw_partition_size hw_partition_compare hw_partition_storage_parameters hw_partition_storage_parameters_index hw_partition_toast hw_partition_cross hw_partition_maxvalue

test: hw_partition_cluster2_1 hw_partition_sql_adapt1 hw_partition_update1
test: hw_partition_select0 hw_partition_sql_adapt0 hw_partition_update0
test: hw_partition_select1 hw_partition_cluster2_0 hw_partition_sql_adapt2
test: hw_partition_truncate1 hw_partition_truncate0
test: hw_partition_cluster1_0 hw_partition_cluster1_2

# FIXME: move me back to the parallel test when the refcnt issue is fixed
# Below two teste are unstable, temporarily ignoring. This is same to distribute_dattistic, relallvisible, Dongwang will solve the problem.
#test: hw_partition_vacuum_full 
#test: hw_partition_vacuum 
test: hw_partition_lock
test: hw_partition_llt
test: hw_expression_alias
test: hw_analyze_percent hw_analyze_percent_1 hw_analyze_percent_2

# test dbms_job
test: hw_dbms_job

# test smp
test: hw_smp

# test MERGE INTO
# test UPSERT
test: upsert_prepare
test: upsert_001 upsert_002 upsert_003 upsert_008 upsert_009 upsert_010
test: upsert_grammer_test_01 upsert_unlog_test upsert_tmp_test
test: upsert_grammer_test_02 upsert_restriction upsert_composite
test: upsert_trigger_test upsert_explain
test: upsert_clean
test: xc_merge xc_merge_col merge_restriction merge_compatible merge_explain merge_explain_pretty merge_misc merge_privilege
test: merge_ng
test: xc_merge_ng
test: merge_1 merge_2
test: merge_col_1 merge_col_2

# run tablespace by itself, and first, because it forces a checkpoint;
# we'd prefer not to have checkpoints later in the tests because that
# interferes with crash-recovery testing.
test: hw_alter_session
test: tablespace

# ----------
# The first group of parallel tests
# ----------
test: boolean char name varchar text int2 int4 int8 oid float4 float8 bit numeric numeric_2 txid uuid money

# ----------
# case 1: Test of changed data type compatible with A db; case 2:Depends on things setup during char, varchar and text; case 3:Depends on int2, int4, int8, float4, float8
# ----------
test: hw_datatype hw_datatype_2 hw_datatype_3 strings numerology

# ----------
# The second group of parallel tests
# ----------
test: point lseg box path polygon circle date time timetz timestamp timestamptz interval abstime reltime tinterval inet macaddr tstypes comments

# ----------
# Another group of parallel tests
# geometry depends on point, lseg, box, path, polygon and circle
# horology depends on interval, timetz, timestamp, timestamptz, reltime and abstime
# ----------
test: geometry horology regex oidjoins opr_sanity opr_sanity_1 opr_sanity_2

# ----------
# These four each depend on the previous one
# ----------
test: insert
test: create_function_1
test: create_table
test: create_function_2
test: lock
test: locktag_decode

# ----------
# Load huge amounts of data
# We should split the data files into single files and then
# execute two copy tests parallel, to check that copy itself
# is concurrent safe.
# ----------
test: copy_1 copy_2 copy_3 copyselect copy_error_log copy_eol
#test hashagg write file
test: hw_hashagg_start
test: hw_hashagg_writefile hw_hashagg_writefile_1 hw_hashagg_expand
test: hw_hashagg_end
#test setop write file
test: hw_setop_writefile
# ----------
# More groups of parallel tests
# ----------
test: create_misc
# These depend on the above two
test: create_index_base create_view1 create_view2 create_view3 create_view4 create_view5
#test: create_index_gist create_index_spgist
test: gin_test1 gin_test2 gin_test3 gin_select
test: cgin_test cgin_select
# ----------
# Another group of parallel tests
# ----------
test: create_function_3 constraints create_table_like vacuum drop_if_exists

# ----------
# sanity_check does a vacuum, affecting the sort order of SELECT *
# results. So it should not run parallel to other tests.
# ----------
test: sanity_check

test: hw_account_lock

# ----------
# Believe it or not, select creates a table, subsequent
# tests need.
# ----------
test: errors
test: select
ignore: random

# ----------
# Another group of parallel tests
# ----------
test: join
test: select_into select_distinct select_distinct_on select_implicit select_having subselect_part1 subselect_part2 union case aggregates gs_aggregate transactions random arrays btree_index hash_index update namespace delete


# ----------
# Another group of parallel tests
# ----------
test: privileges_oid_inherit privileges_sysadmin collate tablesample tablesample_1 tablesample_2 
test: misc 
test: privileges_opt

# ----------
# Another group of parallel tests
# ----------
ignore: select_views
test: portals_p2 cluster dependency guc bitmapops tsearch tsdicts window functional_deps json holdable_cursor holdable_cursor_1

# ----------
# Advisory lock need to be tested in series in Postgres-XC
# ---------
test: advisory_lock
# ----------
# Another group of parallel tests
# 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 temp_2 rangefuncs prepare truncate returning largeobject
test: alter_table_000 alter_table_001 alter_table_002 alter_table_003
test: goto

# run alter object to test pg_object
test: pg_object_test

# cannot run concurrently with 'alter_table', because of duplicate table name
test: with

# run stats by itself because its delay may be insufficient under heavy load
test: stats

# ----------
# Postgres-XC additional tests
# ----------
# This creates functions used by tests xc_misc, xc_FQS and xc_FQS_join
test: xc_create_function
# Now xc_misc is used by xc_returning_step1 and xc_returning_step2
test: xc_misc
# This was used by select of update
test: xc_for_update
# Those ones can be run in parallel
test: xc_groupby xc_distkey xc_having xc_temp xc_remote xc_FQS xc_FQS_join xc_copy xc_alter_table xc_constraints xc_limit xc_sort xc_params xc_returning_step1 hw_rewrite_lazyagg hw_pbe hw_light_cn

#test row compress
#test: compress compress01 compress02 cmpr_toast_000 cmpr_toast_update cmpr_index_00 cmpr_6bytes cmpr_int cmpr_datetime cmpr_numstr xc_returning_step2
#test: cmpr_numstr01 cmpr_float cmpr_nulls_delta cmpr_nulls_prefix cmpr_copyto cmpr_mode_none00 cmpr_mode_none01 cmpr_references_00 cmpr_references_01
#test: cmpr_rollback cmpr_drop_column cmpr_drop_column_01 cmpr_drop_column_02 cmpr_drop_column_03 cmpr_dead_loop_00 cmpr_timewithzone cmpr_cluster_00 cmpr_cluster_01


# Cluster setting related test is independant
test: xc_node

test: xc_dml

# This runs statements that are not allowed in a transaction block
test: xc_notrans_block

test: magic_set
# ----------
# Another group of parallel tests
# ----------
# plsql_packages tests, include utl_raw dbms_random dbms_lob dbms_ouput
#test: hw_packages hw_user hw_independent_user
test: hw_user_audit
test: hw_packages hw_dbms_sql_3 hw_dbms_sql hw_independent_user hw_user_basic hw_user_revoke hw_user_privilege hw_user_pguser hw_user_namespace hw_order_cn
test: hw_interval_format hw_function_p_1 hw_function_p_2 hw_function_p_3 hw_function_p_4 hw_current_schema hw_dba_enable_partition hw_tablespace hw_procedure_define hw_anonymous_block hw_procedure hw_functions
test: hw_user_alter_pguser
ignore: hw_alter_system
#test: hw_grant_all hw_dynamic_sql hw_func_return_out hw_function_default_value hw_empty_str_to_null hw_varray hw_cursor hw_schema
test: hw_grant_all hw_dynamic_sql hw_func_return_out hw_function_default_value hw_empty_str_to_null hw_varray hw_schema
test: hw_cursor_part1 hw_cursor_part2 hw_cursor_part3 hw_cursor_part4 hw_cursor_part5 hw_cursor_part6 hw_cursor_part7 hw_cursor_part8

# ----------
# Database security
# ----------
# test password complexity
test: hw_pwd_complexity
# test password encryption
test: hw_pwd_encryption
# test password reuse
test: hw_pwd_reuse
# test auditadmin
test: hw_auditadmin
#test account lock unlock
test: hw_sec_account_lock_unlock
test: rowlevelsecurity

#test distributed framework
#show plan
test: plan_hint
test: distribute_joinplan_1 distribute_joinplan_2 distribute_joinplan_new
#show new distributed framework results
test: distribute_joinnew distribute_joinnew2 distribute_subplan_base
test: distribute_timeout distribute_subplan_new
test: distribute_dml
test: col_distribute_subplan_base_1 col_distribute_subplan_new
test: random_plan col_distribute_subplan_base_2
test: reduce_orderby hashfilter hashfilter_1 col_distribute_subplan_extend

#test string automatically truncation
test: char_truncation_common
test: char_truncation_cast
#test: char_truncation_foreign_table
#test: char_truncation_gds_end

test: setrefs
test: agg

test: checksum
# ----------
# test for set operations
# ----------
test: distribute_setop distribute_setop_1 distribute_setop_2 distribute_statistic distribute_statistic_1 distribute_statistic_2 
test: distribute_limit distribute_distinct distribute_prepare distribute_unsupported_features distribute_aggregates_part1 distribute_aggregates_part2 distribute_aggregates_part3 distribute_count_distinct_part1 distribute_count_distinct_part2 distribute_count_distinct_part3 distribute_count_distinct_part4
test: global_stats
test: distribute_function
test: distribute_window distribute_other
test: bulkload_start
test: bulkload_parallel_test_1 bulkload_parallel_test_2 bulkload_parallel_test_3 bulkload_parallel_test_4
#test: bulkload_compatibility_test
test: bulkload_compatibility_test_part1
test: bulkload_compatibility_test_part2
test: bulkload_end
test: bulkload_error_tbl
test: bulkload_parallel_ssltest
test: bulkload_error_ssl
#test: bulkload_eol
#test: tpchrush
#test: tpch01 tpch02 tpch03 tpch04 tpch05 tpch06 tpch07 tpch08 tpch09 tpch10 tpch11 tpch12 tpch13 tpch14 tpch15 tpch16 tpch17 tpch18 tpch19 tpch20 tpch21 tpch22 libcomm_check_status tpch11_pretty_performance tpch03_querymem tpch18_querymem
#test: query_mem_prepare
#test: query_mem_tpch
# ---------------------------
# test cases for CStore
# ---------------------------
test: hw_cstore_alter hw_cstore_alter1 cstore_alter_table cstore_alter_table1 cstore_alter_table2 cstore_alter_table3 cstore_alter_table4 cstore_alter_table5 cstore_alter_table6 cstore_alter_table7 cstore_alter_table8 cstore_alter_table9 cstore_alter_table10  hw_alter_table_instant
test: hw_cstore_copy cstore_array
test: hw_cstore_load hw_cstore_load1 hw_cstore_load2
test: hw_cstore_index hw_cstore_index1 hw_cstore_index2
test: hw_cstore_btree_index
test: hw_cstore_vacuum
test: hw_cstore_insert
test: hw_cstore_delete
test: hw_cstore_unsupport
test: hw_cstore_tablespace
test: hw_cstore_truncate
test: hw_cstore_roughcheck
test: hw_cstore_update
test: hw_cstore_partition_update hw_cstore_partition_update1 hw_cstore_partition_update2
test: hw_cstore_char2num
test: hw_cstore_upgrade

#------------------------------
# CStore compression test cases
#-----------------------------
test: cstore_cmpr_delta cstore_cmpr_date cstore_cmpr_timestamp_with_timezone cstore_cmpr_time_with_timezone cstore_cmpr_delta_nbits cstore_cmpr_delta_int cstore_cmpr_str cstore_cmpr_dict_00 cstore_cmpr_rle_2byte_runs 
test: cstore_cmpr_every_datatype cstore_cmpr_zlib cstore_unsupported_feature cstore_unsupported_feature1 cstore_cmpr_rle_bound cstore_cmpr_rle_bound1 cstore_nan cstore_infinity cstore_log2_error cstore_create_clause cstore_create_clause1 cstore_nulls_00 cstore_partial_cluster_info

# test for vec engine
test: vec_prepare_001 vec_prepare_002
test: vec_prepare_003 vec_nestloop_pre vec_mergejoin_prepare vec_sonic_agg_prepare vec_bitmap_prepare vec_unique_pre
test: vec_sonic_agg1 vec_sonic_agg2 vec_sonic_agg3
test: vec_result vec_expression1 vec_expression2 vec_expression3 vec_sort vec_nestloop1 vec_limit vec_partition vec_partition_1 vec_mergejoin_1 vec_mergejoin_2 vec_material_001 vec_material_002 vec_stream vec_stream_1 vec_mergejoin_inner vec_mergejoin_left vec_mergejoin_semi vec_mergejoin_anti vec_unsupport_expression
test: vec_group vec_unique vec_agg1 vec_agg2 vec_agg3 vec_setop_001 vec_setop_002 vec_setop_003 vec_setop_004 vec_setop_005 hw_vec_constrainst vec_mergejoin_aggregation
test: vec_numeric vec_numeric_1 vec_numeric_2 vec_hashjoin1 vec_hashjoin2 vec_hashjoin3 vec_bitmap_1 vec_bitmap_2 wait_status 
test: vec_numeric_sop_1 vec_numeric_sop_2 vec_numeric_sop_3 vec_numeric_sop_4 vec_numeric_sop_5 hw_vec_int4 hw_vec_int8 hw_vec_float4 hw_vec_float8
test: llvm_vecexpr1 llvm_vecexpr2 llvm_vecexpr3 llvm_vecexpr_td llvm_target_expr llvm_target_expr2 llvm_target_expr3 
test: llvm_vecagg llvm_vecagg2 llvm_vecagg3 llvm_vecsort llvm_vecsort2 llvm_vechashjoin llvm_vechashjoin2 
test: disable_vector_engine
test: hybrid_row_column vec_nestloop_end

test: vec_append_part1 vec_append_part2 vec_append_part3
test: vec_cursor_part1 vec_cursor_part2
test: vec_delete_part1 vec_delete_part2

# test for vec sonic hash
test: vec_sonic_hashjoin_number_prepare vec_sonic_hashjoin_date_prepare vec_sonic_hashjoin_string_prepare
test: vec_sonic_hashjoin_number_nospill vec_sonic_hashjoin_date_nospill vec_sonic_hashjoin_string_nospill vec_sonic_hashjoin_othertype vec_sonic_hashjoin_explain
test: vec_sonic_hashjoin_number_spill
test: vec_sonic_hashjoin_date_spill
test: vec_sonic_hashjoin_string_spill
test: vec_sonic_agg_spill
test: vec_sonic_hashjoin_end

#test distributed framework
#show plan
test: col_distribute_joinplan col_distribute_joinnew
test: hw_groupingsets hw_row_grouping_set
# ----------
# test for set operations
# ----------

test: col_distribute_limit col_distribute_distinct col_distribute_prepare col_distribute_function_1 col_distribute_function_2 col_distribute_count_distinct_1 col_distribute_count_distinct_2 col_distribute_count_distinct_3 col_distribute_count_distinct_4


#test for col tpch
test: tpchcol01 tpchcol03 tpchcol04 tpchcol05 tpchcol06 tpchcol07 tpchcol08 tpchcol09 tpchcol12 tpchcol13 tpchcol14 tpchcol16 tpchcol18 tpchcol19 tpchcol21 threadpool_view

#test early free
test: early_free

#test for col tpch with vector engine disabled
test: tpch_disablevec01 tpch_disablevec03 tpch_disablevec04 tpch_disablevec05 tpch_disablevec06 tpch_disablevec07 tpch_disablevec08 tpch_disablevec09 tpch_disablevec12 tpch_disablevec13 tpch_disablevec14 tpch_disablevec16 tpch_disablevec18 tpch_disablevec19 tpch_disablevec21
test: query_mem_prepare_col
test: query_mem_tpch_col vec_window_pre

test: vec_window_001 vec_window_002
test: vec_window_end

#test sort optimize
test: sort_optimize_row sort_optimize_column sort_optimize_001

#test export
test: hw_export_unsupport
test: hw_export_invalid_options
test: hw_export_replication_tbl
test: hw_export_normal_tbl
test: hw_export_headline_tbl
test: hw_to_timestamp
test: hw_export_gds_new_options

#test readline
test: readline
test: hw_change_passwd
test: hw_view_privilege
test: hw_identifier
#test: hw_hashint1 hw_smalldatetime_hash hw_rawtype_hash hw_nvarchar2_hash cmpr_smallint cmpr_prefix_150left cmpr_uint32_oid
test: hw_hashint1 hw_smalldatetime_hash hw_rawtype_hash hw_nvarchar2_hash

test: test_regex
test: llt_coverage_atc llt_atc
#test: hw_sql_llt_case
test: hw_sql_llt  sqlLLT
test: hw_test_operate_user
test: hw_createtbl_llt
test: hw_explain_pretty1 hw_explain_pretty2 hw_explain_pretty3
test: hw_compatibility
test: b_compatibility
test: hw_compatibility_source
test: hw_wait_event

# trigger 
test: triggers xc_triggers xc_trigship

#test pmk
test: pmk

#test mppdb encrypt/decrypt function
test: hw_cipherfuncs hw_cipher_multiple_keys

# This test case is used to monitor CATALOG_VERSION_NO, GUC parameter information and gs_upgrade llt coverage.
# If CATALOG_VERSION_NO is changed, please inform the OM tools team, the OM tools scripts need to be modified together.
# If the GUC parameter is changed, please modify the Code/src/bin/gs_guc/cluster_guc.conf and Code/src/test/regress/output/recovery_2pc_tools.source files.
test: recovery_2pc_tools recovery_2pc_tools02
test: gs_dump gs_dump02
test: gs_resetxlog
test: gs_encrypt

#test psql
test: psql
test: retry

#test run gsqlerr and scanEreport
test: gsqlerr

test: backtrace_log

#test for cann't drop database after analyze about global statistic feature
test: analyze_dropdb

test: hw_replication_slots

#test workload manager ddls
#test: workload_manager_ddl
#test wlm
#test: wlm_memory_enqueue
#test: wlm_memory_enqueue_error
#test: wlm_memory_enqueue_change
#test: wlm_statments_enqueue
#test: wlm_statments_enqueue_change1
#test: wlm_statments_enqueue_change2
#test: wlm_statments_enqueue_change3
#test: wlm_cgroup_rush_high
#test gs_initdb tool
#test: gs_initdb gs_log_test
#test: gs_log_plan
#test: license_checker
#NOTICE: In this test case, the datanode will be restart, so don't run parallel with it.
test: temp_table
#FIXME  Be sure this file is always the last test case, for node group1 has been modified.
test: process_switch
#NOTICE:Ensure that this case in the final position because of its restart.
#test connect through ssl cert.
test: hw_gs_switch_relfilenode

test: check_implicit_conversions

#test: data source
test: data_source redistribute

#test: hw_partition_start_end
test: equivalence_class extendstat

test: hw_show_tabledef hw_package_function
#test: cbm_CN
#test: cbm_DN
test: cn_node_active
#test: hw_sslpwd
test: iud
##test: Hotpatch
#blacklist
# type test: enum rangetypes create_type typed_table rowtypes
# inherit test: inherit hw_partition_inherit
# operator test: create_operator
# aggregate test: create_aggregate hw_owner polymorphism
# cast test: create_cast
# withoid test: without_oid
# domain test: domain
# foreign key test: foreign_key hw_partition_table_constraint
# security label test: security_label
# rule test: rules hw_partition_view
# conversion test: conversion
# xml test: xml xmlmap
# cursor test: portals

# global temp table test
test: function_get_table_def
test: gtt_stats
test: gtt_function
test: gtt_prepare
test: gtt_parallel_1 gtt_parallel_2
test: gtt_clean

test: gin_getbitmap

# gs_basebackup
test: gs_basebackup

# gs_ledger
test: ledger_table_case
