From eca68bbc46adfeb45a7bfd5d029f25ce17cad48f Mon Sep 17 00:00:00 2001 From: Asim R P Date: Fri, 4 Oct 2019 12:20:57 +0530 Subject: [PATCH] Strengthen the pattern to find auxiliary tables by name The privious pattern used by the test was not strong enough. It could accidentally matched names of partitioned tables. Name of a partition being added is generated by suffixing a random number, if no name is specified by the user. E.g. "sales_1_prt_r1171829080_2_prt_usa". At least one time, the test failed CI due to this weakness. The new pattern is strong enough to match only the auxiliary table names that end with "_". Reviewed by Heikki and Georgios. --- src/test/regress/expected/freeze_aux_tables.out | 4 ++-- src/test/regress/sql/freeze_aux_tables.sql | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/test/regress/expected/freeze_aux_tables.out b/src/test/regress/expected/freeze_aux_tables.out index 3246e95081..39ee2ace04 100644 --- a/src/test/regress/expected/freeze_aux_tables.out +++ b/src/test/regress/expected/freeze_aux_tables.out @@ -37,7 +37,7 @@ begin for rec in select gp_segment_id, replace(relname, testrelid::oid::text, ''), age(relfrozenxid) from pg_class where relkind in ('r','t','o','b','M') and relstorage not in ('x','f','v') - and (relname like '%' || testrelid::oid || '%' or oid = testrelid::oid ) + and (relname like '%\_' || testrelid::oid or oid = testrelid::oid ) and not relfrozenxid = 0 loop return next rec; @@ -46,7 +46,7 @@ begin for rec in select gp_segment_id, replace(relname, testrelid::oid::text, ''), age(relfrozenxid) from gp_dist_random('pg_class') where relkind in ('r','t','o','b','M') and relstorage not in ('x','f','v') - and (relname like '%' || testrelid::oid || '%' or oid = testrelid::oid ) + and (relname like '%\_' || testrelid::oid or oid = testrelid::oid ) and not relfrozenxid = 0 loop return next rec; diff --git a/src/test/regress/sql/freeze_aux_tables.sql b/src/test/regress/sql/freeze_aux_tables.sql index b09262bec3..da933cc569 100644 --- a/src/test/regress/sql/freeze_aux_tables.sql +++ b/src/test/regress/sql/freeze_aux_tables.sql @@ -43,7 +43,7 @@ begin for rec in select gp_segment_id, replace(relname, testrelid::oid::text, ''), age(relfrozenxid) from pg_class where relkind in ('r','t','o','b','M') and relstorage not in ('x','f','v') - and (relname like '%' || testrelid::oid || '%' or oid = testrelid::oid ) + and (relname like '%\_' || testrelid::oid or oid = testrelid::oid ) and not relfrozenxid = 0 loop return next rec; @@ -52,7 +52,7 @@ begin for rec in select gp_segment_id, replace(relname, testrelid::oid::text, ''), age(relfrozenxid) from gp_dist_random('pg_class') where relkind in ('r','t','o','b','M') and relstorage not in ('x','f','v') - and (relname like '%' || testrelid::oid || '%' or oid = testrelid::oid ) + and (relname like '%\_' || testrelid::oid or oid = testrelid::oid ) and not relfrozenxid = 0 loop return next rec; -- GitLab