Fix flaky multi_prepare_plsql (#7346)

Simple need of an `ORDER BY` clause

Ran into this twice this week already!

https://github.com/citusdata/citus/actions/runs/6849701315/attempts/1#summary-18622563506

https://github.com/citusdata/citus/actions/runs/6875051160/attempts/1#summary-18698009952

```diff
 SELECT nspname, typname FROM pg_type JOIN pg_namespace ON pg_namespace.oid = pg_type.typnamespace WHERE typname = 'prepare_ddl_type_backup';
    nspname   |         typname         
 -------------+-------------------------
- public      | prepare_ddl_type_backup
  otherschema | prepare_ddl_type_backup
+ public      | prepare_ddl_type_backup
 (2 rows)
```
pull/7341/head
Naisila Puka 2023-11-15 13:28:43 +03:00 committed by GitHub
parent a960799dfb
commit c6fbb72c02
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 8 additions and 4 deletions

View File

@ -198,6 +198,7 @@ DEPS = {
["multi_create_table", "multi_create_users", "multi_multiuser_load_data"], ["multi_create_table", "multi_create_users", "multi_multiuser_load_data"],
repeatable=False, repeatable=False,
), ),
"multi_prepare_plsql": TestDeps("base_schedule"),
} }

View File

@ -1317,11 +1317,11 @@ SELECT type_ddl_plpgsql();
(1 row) (1 row)
-- find all renamed types to verify the schema name didn't leak, nor a crash happened -- find all renamed types to verify the schema name didn't leak, nor a crash happened
SELECT nspname, typname FROM pg_type JOIN pg_namespace ON pg_namespace.oid = pg_type.typnamespace WHERE typname = 'prepare_ddl_type_backup'; SELECT nspname, typname FROM pg_type JOIN pg_namespace ON pg_namespace.oid = pg_type.typnamespace WHERE typname = 'prepare_ddl_type_backup' ORDER BY 1;
nspname | typname nspname | typname
--------------------------------------------------------------------- ---------------------------------------------------------------------
public | prepare_ddl_type_backup
otherschema | prepare_ddl_type_backup otherschema | prepare_ddl_type_backup
public | prepare_ddl_type_backup
(2 rows) (2 rows)
DROP TYPE prepare_ddl_type_backup; DROP TYPE prepare_ddl_type_backup;
@ -1332,6 +1332,7 @@ DROP FUNCTION ddl_in_plpgsql();
DROP FUNCTION copy_in_plpgsql(); DROP FUNCTION copy_in_plpgsql();
DROP TABLE prepare_ddl; DROP TABLE prepare_ddl;
DROP TABLE local_ddl; DROP TABLE local_ddl;
DROP TABLE plpgsql_table;
DROP SCHEMA otherschema; DROP SCHEMA otherschema;
-- clean-up functions -- clean-up functions
DROP FUNCTION plpgsql_test_1(); DROP FUNCTION plpgsql_test_1();

View File

@ -83,7 +83,8 @@ test: forcedelegation_functions
# this should be run alone as it gets too many clients # this should be run alone as it gets too many clients
test: join_pushdown test: join_pushdown
test: multi_subquery_union multi_subquery_in_where_clause multi_subquery_misc statement_cancel_error_message test: multi_subquery_union multi_subquery_in_where_clause multi_subquery_misc statement_cancel_error_message
test: multi_agg_distinct multi_limit_clause_approximate multi_outer_join_reference multi_single_relation_subquery multi_prepare_plsql set_role_in_transaction test: multi_agg_distinct
test: multi_limit_clause_approximate multi_outer_join_reference multi_single_relation_subquery multi_prepare_plsql set_role_in_transaction
test: multi_reference_table multi_select_for_update relation_access_tracking pg13_with_ties test: multi_reference_table multi_select_for_update relation_access_tracking pg13_with_ties
test: custom_aggregate_support aggregate_support tdigest_aggregate_support test: custom_aggregate_support aggregate_support tdigest_aggregate_support
test: multi_average_expression multi_working_columns multi_having_pushdown having_subquery test: multi_average_expression multi_working_columns multi_having_pushdown having_subquery

View File

@ -624,7 +624,7 @@ CREATE TYPE prepare_ddl_type AS (x int, y int);
SELECT type_ddl_plpgsql(); SELECT type_ddl_plpgsql();
-- find all renamed types to verify the schema name didn't leak, nor a crash happened -- find all renamed types to verify the schema name didn't leak, nor a crash happened
SELECT nspname, typname FROM pg_type JOIN pg_namespace ON pg_namespace.oid = pg_type.typnamespace WHERE typname = 'prepare_ddl_type_backup'; SELECT nspname, typname FROM pg_type JOIN pg_namespace ON pg_namespace.oid = pg_type.typnamespace WHERE typname = 'prepare_ddl_type_backup' ORDER BY 1;
DROP TYPE prepare_ddl_type_backup; DROP TYPE prepare_ddl_type_backup;
RESET search_path; RESET search_path;
@ -635,6 +635,7 @@ DROP FUNCTION ddl_in_plpgsql();
DROP FUNCTION copy_in_plpgsql(); DROP FUNCTION copy_in_plpgsql();
DROP TABLE prepare_ddl; DROP TABLE prepare_ddl;
DROP TABLE local_ddl; DROP TABLE local_ddl;
DROP TABLE plpgsql_table;
DROP SCHEMA otherschema; DROP SCHEMA otherschema;
-- clean-up functions -- clean-up functions