Обсуждение: alter-table-1 isolation test spec contains a duplicate step name
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
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
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