Re: isolation check takes a long time

From: Noah Misch <noah(at)leadboat(dot)com>
To: Alvaro Herrera <alvherre(at)commandprompt(dot)com>
Cc: Andrew Dunstan <andrew(at)dunslane(dot)net>, Pg Hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: isolation check takes a long time
Date: 2012-07-22 21:11:53
Message-ID: 20120722211153.GA7500@tornado.leadboat.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Fri, Jul 20, 2012 at 01:39:34PM -0400, Alvaro Herrera wrote:
> Excerpts from Noah Misch's message of mar jul 17 16:28:32 -0400 2012:
> > The foreign key tests, however, would benefit
> > from running under all three isolation levels. Let's control it per-spec
> > instead of repeating the entire suite.
>
> Understood and agreed. Maybe we could use a new directive in the spec
> file format for this.

I was pondering something like this:

setting "i-rc" "isolation" = "READ COMMITTED"
setting "i-rr" "isolation" = "REPEATABLE READ"

session "s1"
setup { BEGIN TRANSACTION ISOLATION LEVEL :isolation; }
step "foo" { SELECT 1; }

permutation "i-rc" "foo"
permutation "i-rr" "foo"

That is, introduce psql-style variable substitutions in per-session "setup",
"step" and "teardown" directives. Introduce the "setting" directive to
declare possible values for each variable. Each permutation may name settings
as well as steps. Order within the permutation would not matter; we could
allow them anywhere in the list or only at the beginning. When the tester
generates permutations, it would include all variable setting combinations.

Thoughts?

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Andrew Dunstan 2012-07-22 21:30:46 Re: bgwriter, regression tests, and default shared_buffers settings
Previous Message Boszormenyi Zoltan 2012-07-22 20:03:22 Re: [PATCH] lock_timeout and common SIGALRM framework