mirror of
https://github.com/postgres/postgres.git
synced 2025-05-28 05:21:27 +03:00
Clean up duplicate table and function names in regression tests.
Many of the objects we create during the regression tests are put in the public schema, so that using the same names in different regression tests creates a hazard of test failures if any two such scripts run concurrently. This patch cleans up a bunch of latent hazards of that sort, as well as two live hazards. The current situation in this regard is far worse than it was a year or two back, because practically all of the partitioning-related test cases have reused table names with enthusiasm. I despaired of cleaning up that mess within the five most-affected tests (create_table, alter_table, insert, update, inherit); fortunately those don't run concurrently. Other than partitioning problems, most of the issues boil down to using names like "foo", "bar", "tmp", etc, without thought for the fact that other test scripts might use similar names concurrently. I've made an effort to make all such names more specific. One of the live hazards was that commit 7421f4b8 caused with.sql to create a table named "test", conflicting with a similarly-named table in alter_table.sql; this was exposed in the buildfarm recently. The other one was that join.sql and transactions.sql both create tables named "foo" and "bar"; but join.sql's uses of those names date back only to December or so. Since commit 7421f4b8 was back-patched to v10, back-patch a minimal fix for that problem. The rest of this is just future-proofing. Discussion: https://postgr.es/m/4627.1521070268@sss.pgh.pa.us
This commit is contained in:
parent
12bcecae10
commit
b15a8c9632
@ -2280,7 +2280,7 @@ LINE 1: WITH test AS (SELECT 42) INSERT INTO test VALUES (1);
|
|||||||
-- check response to attempt to modify table with same name as a CTE (perhaps
|
-- check response to attempt to modify table with same name as a CTE (perhaps
|
||||||
-- surprisingly it works, because CTEs don't hide tables from data-modifying
|
-- surprisingly it works, because CTEs don't hide tables from data-modifying
|
||||||
-- statements)
|
-- statements)
|
||||||
create table test (i int);
|
create temp table test (i int);
|
||||||
with test as (select 42) insert into test select * from test;
|
with test as (select 42) insert into test select * from test;
|
||||||
select * from test;
|
select * from test;
|
||||||
i
|
i
|
||||||
|
@ -1035,7 +1035,7 @@ WITH test AS (SELECT 42) INSERT INTO test VALUES (1);
|
|||||||
-- check response to attempt to modify table with same name as a CTE (perhaps
|
-- check response to attempt to modify table with same name as a CTE (perhaps
|
||||||
-- surprisingly it works, because CTEs don't hide tables from data-modifying
|
-- surprisingly it works, because CTEs don't hide tables from data-modifying
|
||||||
-- statements)
|
-- statements)
|
||||||
create table test (i int);
|
create temp table test (i int);
|
||||||
with test as (select 42) insert into test select * from test;
|
with test as (select 42) insert into test select * from test;
|
||||||
select * from test;
|
select * from test;
|
||||||
drop table test;
|
drop table test;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user