BTW, there are a a couple of spec files floating around which perhaps we
should consider getting into the source repo (in some cleaned up form).
Noah published one, Andres shared a couple more with me, and I think I
have two more.  They can't be made to work in normal circumstances,
because they depend on concurrent server activity.  But perhaps we
should add them anyway and perhaps list them in a separate schedule
file, so that any developer interested in messing with this stuff has
them readily available for testing.

-- 
Álvaro Herrera                http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Training & Services
setup {
    CREATE EXTENSION pageinspect;
        CREATE TABLE freezetab (
                a int
        ) WITH OIDS;
        INSERT INTO freezetab VALUES (1);
}

teardown {
        DROP EXTENSION pageinspect;
}

session "s1"
step "s1b"              { BEGIN; }
step "s1s"              { SELECT txid_current(), * FROM freezetab FOR KEY 
SHARE; }
step "s1c"              { COMMIT; }
step "s1e"              { SELECT lp, t_xmin, t_xmax, to_hex(t_infomask) as 
mask, to_hex(t_infomask2) as mask2 FROM 
heap_page_items(get_raw_page('freezetab', 0)); }
step "s1e2"             { SELECT lp, t_xmax, members.* FROM 
heap_page_items(get_raw_page('freezetab', 0)), pg_get_multixact_members(t_xmax) 
members; }

session "s2"
step "s2b"              { BEGIN; }
step "s2s"              { SELECT txid_current(), * FROM freezetab FOR KEY 
SHARE; }
step "s2c"              { COMMIT; }

session "s3"
step "s3b"              { BEGIN; }
step "s3u"              { UPDATE freezetab SET a = 2; }
step "s3c"              { COMMIT; }

session "s4"
step "s4f"              { VACUUM FREEZE freezetab; }


permutation "s1b" "s1s" "s2b" "s2s" "s3b" "s3u" "s1c" "s1e" "s4f" "s1e" "s1e2" 
"s2c" "s3c"
-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

Reply via email to