Thread: alter-table-1 isolation test spec contains a duplicate step name

alter-table-1 isolation test spec contains a duplicate step name

From
Robert Haas
Date:
Commit f14a6bbedb79adce2298d0d4f5e2abe8563e0eca added an isolation
test, alter-table-1.spec, which reads in part:

session "s2"
setup           { BEGIN; }
step "rx1"      { SELECT * FROM b WHERE a_id = 1 LIMIT 1; }
step "wx"       { INSERT INTO b VALUES (0); }
step "rx1"      { SELECT * FROM b WHERE a_id = 3 LIMIT 3; }
step "c2"       { COMMIT; }

The step name "rx1" is used twice, a condition the isolation tester
should probably reject as an error but currently doesn't.  This
happens to work OK at the moment because we don't specify a list of
permutations, and except for that, the names aren't used for anything
that cares about whether they are duplicated.  Nonetheless, this seems
like it should probably be changed.

-- 
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company



Re: alter-table-1 isolation test spec contains a duplicate step name

From
Tom Lane
Date:
Robert Haas <robertmhaas@gmail.com> writes:
> Commit f14a6bbedb79adce2298d0d4f5e2abe8563e0eca added an isolation
> test, alter-table-1.spec, which reads in part:

> session "s2"
> setup           { BEGIN; }
> step "rx1"      { SELECT * FROM b WHERE a_id = 1 LIMIT 1; }
> step "wx"       { INSERT INTO b VALUES (0); }
> step "rx1"      { SELECT * FROM b WHERE a_id = 3 LIMIT 3; }
> step "c2"       { COMMIT; }

> The step name "rx1" is used twice, a condition the isolation tester
> should probably reject as an error but currently doesn't.

+1 for throwing an error ... this is clearly a mistake.
        regards, tom lane



Re: alter-table-1 isolation test spec contains a duplicate step name

From
Robert Haas
Date:
On Fri, Aug 14, 2015 at 5:18 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
> Robert Haas <robertmhaas@gmail.com> writes:
>> Commit f14a6bbedb79adce2298d0d4f5e2abe8563e0eca added an isolation
>> test, alter-table-1.spec, which reads in part:
>
>> session "s2"
>> setup           { BEGIN; }
>> step "rx1"      { SELECT * FROM b WHERE a_id = 1 LIMIT 1; }
>> step "wx"       { INSERT INTO b VALUES (0); }
>> step "rx1"      { SELECT * FROM b WHERE a_id = 3 LIMIT 3; }
>> step "c2"       { COMMIT; }
>
>> The step name "rx1" is used twice, a condition the isolation tester
>> should probably reject as an error but currently doesn't.
>
> +1 for throwing an error ... this is clearly a mistake.

OK, done.  I made it throw an error, and changed the step name to rx3.

-- 
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company