Excerpts from Noah Misch's message of jue jul 26 06:28:54 -0400 2012:
>
> On Tue, Jul 24, 2012 at 11:08:09AM -0400, Alvaro Herrera wrote:
> > I would expect that if no permutations are specified, all possible
> > values for a certain setting would be generated. That way it'd be easy
> > to define tests that run through all possible permutations of two (or
> > more) sequences of commands on all isolation levels, without having the
> > specify them all by hand.
>
> Yes; I intended the same.
Okay, great.
> > With that in mind, having each possible value
> > for a setting be declared independently might be a bit troublesome.
>
> I wouldn't expect any of these syntax variants to substantially simplify or
> complicate the code for generating all possible permutations. We can choose
> based on convenience and flexibility for spec authors.
Understood.
> Between those two, I prefer the second -- having two names for each variable
> does not add much. However, both lose some flexibility by not giving a name
> to each possible value. 'permutation "isolation" "foo"' actually requests two
> runs through the test case, one with each variable value. There would be no
> way to specify permutations to run with fewer than the full range of values.
> I lean toward preserving that flexibility. That being said, perhaps a
> one-statement syntax remains nicer?
>
> var "isolation" = { "rc" => "READ COMMITTED", "rr" => "REPEATABLE READ" }
Agreed. What would be the syntax to specify a particular value to use
in a permutation? Maybe
permutation isolation=rr "step1" "step2" ...
I'm not sure about requiring quotes around those identifiers.
--
Álvaro Herrera <alvherre@commandprompt.com>
The PostgreSQL Company - Command Prompt, Inc.
PostgreSQL Replication, Consulting, Custom Development, 24x7 support