Thread

Commits

  1. Clean up duplicate table and function names in regression tests.

  2. Clean up duplicate role and schema names in regression tests.

  1. Instability in parallel regression tests

    Tom Lane <tgl@sss.pgh.pa.us> — 2018-03-14T23:31:08Z

    guaibasaurus just failed in a way I'd not seen before:
    
    https://buildfarm.postgresql.org/cgi-bin/show_log.pl?nm=guaibasaurus&dt=2018-03-14%2006%3A33%3A01
    
    Inspection of the diffs makes it depressingly obvious what happened:
    the concurrently-executing "alter_table" and "with" scripts both create
    short-lived tables named "test".  Given the right timing, those tests
    stomp on each other.  This seems to have been there a long time;
    surprising we'd not noticed it before.
    
    Moral: choose names less generic than "test" for globally-visible
    objects.  I wonder if there's some way we could check for such
    conflicts automatically?
    
    			regards, tom lane
    
    
    
  2. Re: Instability in parallel regression tests

    Thomas Munro <thomas.munro@enterprisedb.com> — 2018-03-15T01:57:47Z

    On Thu, Mar 15, 2018 at 12:31 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
    > guaibasaurus just failed in a way I'd not seen before:
    >
    > https://buildfarm.postgresql.org/cgi-bin/show_log.pl?nm=guaibasaurus&dt=2018-03-14%2006%3A33%3A01
    >
    > Inspection of the diffs makes it depressingly obvious what happened:
    > the concurrently-executing "alter_table" and "with" scripts both create
    > short-lived tables named "test".  Given the right timing, those tests
    > stomp on each other.  This seems to have been there a long time;
    > surprising we'd not noticed it before.
    >
    > Moral: choose names less generic than "test" for globally-visible
    > objects.  I wonder if there's some way we could check for such
    > conflicts automatically?
    
    Ugh.  Yeah.  Non-temporary table and view names used in more than one .sql file:
    
    $ ( for F in src/test/regress/sql/*.sql ; do perl -ne '/create
    *(table|view) ([^ (]+)/i && print "$2\n";' < $F | sort | uniq ; done )
    | sort | uniq -d
    
    IF
    abc
    as
    bar
    bmscantest
    c1
    child
    collate_dep_test1
    collate_dep_test3
    collate_dep_test4t
    collate_test1
    collate_test10
    collate_test2
    collate_test3
    collate_test4
    collate_test5
    collate_test6
    collate_test_fail
    collate_test_like
    collview1
    collview2
    collview3
    fail_part
    foo
    foo2
    hash_parted
    hpart1
    hpart2
    hpart3
    hpart_1
    hpart_2
    list_parted
    list_parted2
    list_parted2_def
    mcrparted
    mcrparted0
    mcrparted1
    mcrparted2
    mcrparted3
    mcrparted4
    mcrparted5
    num_data
    num_exp_add
    num_exp_div
    num_exp_ln
    num_exp_log10
    num_exp_mul
    num_exp_power_10_ln
    num_exp_sqrt
    num_exp_sub
    num_result
    p1
    p2
    parent
    part1
    part2
    part3
    part4
    part_1
    part_2
    part_def
    part_default
    part_null
    partitioned
    pt1
    range_parted
    range_parted2
    t1
    t2
    t3
    table1
    table2
    tbl1
    test
    test1
    test_u
    tmp
    toasttest
    tt1
    tt2
    tt3
    tt4
    tt5
    tt6
    tt7
    tt8
    tx1
    unparted
    v1
    v2
    
    -- 
    Thomas Munro
    http://www.enterprisedb.com
    
    
    
  3. Re: Instability in parallel regression tests

    Tom Lane <tgl@sss.pgh.pa.us> — 2018-03-15T02:32:10Z

    Thomas Munro <thomas.munro@enterprisedb.com> writes:
    > On Thu, Mar 15, 2018 at 12:31 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
    >> Moral: choose names less generic than "test" for globally-visible
    >> objects.  I wonder if there's some way we could check for such
    >> conflicts automatically?
    
    > Ugh.  Yeah.  Non-temporary table and view names used in more than one .sql file:
    > $ ( for F in src/test/regress/sql/*.sql ; do perl -ne '/create
    > *(table|view) ([^ (]+)/i && print "$2\n";' < $F | sort | uniq ; done )
    > | sort | uniq -d
    
    I've just been investigating this a different way, which is to insert some
    quick-hack logging (patch attached for amusement).  I manually filtered
    out a bunch of non-problems, in particular discarding names that are in
    per-test schemas; I think it's all right to allow tests that are taking
    that precaution to do what they like name-wise.  I'm still left with a
    bunch of stuff that looks ill-considered.
    
    It's worth singling out the partitioned-table work, in particular, as
    deserving of an F on this test.  Those patches have shown no hesitation
    about using the same public-schema table names in three or four different
    test scripts.  It happens that most of that is in create_table,
    alter_table, insert, and update, which happen not to run concurrently;
    but I don't think those tests have any business depending on that.
    
    Other thoughts:
    
    * We should simply ban the use of "foo", "bar", "baz", "test...", and
    "tmp..." as names; at least, don't do that without adding a prefix or
    suffix that is unique to the particular test script.
    
    * The prefix "my_" is not yours.
    
    * We have a project policy that role names created during the tests
    should start with "regress_".  Obey that, but don't imagine that
    doing so is enough to make your name unique.
    
    Actual or potential trouble spots according to my filtering:
    
    [alter_table] LOG:  CREATING FUNCTION 2200/dummy_hashint4
    [insert] LOG:  CREATING FUNCTION 2200/dummy_hashint4
    [update] LOG:  CREATING FUNCTION 2200/dummy_hashint4
    
    [rangefuncs] LOG:  CREATING FUNCTION 2200/foo
    [rangefuncs] LOG:  CREATING FUNCTION 2200/foo
    [rangefuncs] LOG:  CREATING FUNCTION 2200/foo
    [rangefuncs] LOG:  CREATING FUNCTION 2200/foo
    [rangefuncs] LOG:  CREATING FUNCTION 2200/foo1
    [rangefuncs] LOG:  CREATING FUNCTION 2200/foo_mat
    [rangefuncs] LOG:  CREATING FUNCTION 2200/foo_sql
    [rangefuncs] LOG:  CREATING FUNCTION 2200/foob
    [rangefuncs] LOG:  CREATING FUNCTION 2200/foobar
    [rangefuncs] LOG:  CREATING FUNCTION 2200/foobar
    [select_parallel] LOG:  CREATING FUNCTION 2200/foobar
    [rangefuncs] LOG:  CREATING FUNCTION 2200/foor
    [rangefuncs] LOG:  CREATING FUNCTION 2200/foot
    [plpgsql] LOG:  CREATING FUNCTION 2200/footest
    [plpgsql] LOG:  CREATING FUNCTION 2200/footest
    
    [plpgsql] LOG:  CREATING FUNCTION 2200/simple_func
    [select_parallel] LOG:  CREATING FUNCTION 2200/simple_func
    
    [create_aggregate] LOG:  CREATING FUNCTION 2200/sum3
    [polymorphism] LOG:  CREATING FUNCTION 2200/sum3
    
    [create_function_1] LOG:  CREATING FUNCTION 2200/test1
    [create_function_1] LOG:  CREATING FUNCTION 2200/test1
    [create_function_1] LOG:  CREATING FUNCTION 2200/test1
    [create_function_1] LOG:  CREATING FUNCTION 2200/test1
    [create_function_1] LOG:  CREATING FUNCTION 2200/test1
    [create_function_1] LOG:  CREATING FUNCTION 2200/test1
    [create_function_1] LOG:  CREATING FUNCTION 2200/test1
    [privileges] LOG:  CREATING FUNCTION 2200/testagg1
    [rolenames] LOG:  CREATING FUNCTION 2200/testagg1
    [privileges] LOG:  CREATING FUNCTION 2200/testagg1b
    [rolenames] LOG:  CREATING FUNCTION 2200/testagg2
    [rolenames] LOG:  CREATING FUNCTION 2200/testagg3
    [rolenames] LOG:  CREATING FUNCTION 2200/testagg4
    [rolenames] LOG:  CREATING FUNCTION 2200/testagg5
    [rolenames] LOG:  CREATING FUNCTION 2200/testagg6
    [rolenames] LOG:  CREATING FUNCTION 2200/testagg7
    [rolenames] LOG:  CREATING FUNCTION 2200/testagg8
    [rolenames] LOG:  CREATING FUNCTION 2200/testagg9
    would be a live hazard, except the functions have different arguments:
    [polymorphism] LOG:  CREATING FUNCTION 2200/testfoo
    [polymorphism] LOG:  CREATING FUNCTION 2200/testfoo
    [rangefuncs] LOG:  CREATING FUNCTION 2200/testfoo
    [rangefuncs] LOG:  CREATING FUNCTION 2200/testfoo
    [create_procedure] LOG:  CREATING FUNCTION 2200/testfunc1
    [privileges] LOG:  CREATING FUNCTION 2200/testfunc1
    [privileges] LOG:  CREATING FUNCTION 2200/testfunc2
    [privileges] LOG:  CREATING FUNCTION 2200/testfunc4
    [privileges] LOG:  CREATING FUNCTION 2200/testfunc5b
    [privileges] LOG:  CREATING FUNCTION 2200/testfunc6b
    
    [select_into] LOG:  CREATING RELATION 102018/tmp1
    [select_into] LOG:  CREATING RELATION 102018/tmp1
    [select_into] LOG:  CREATING RELATION 102018/tmp2
    [select_into] LOG:  CREATING RELATION 102018/tmp2
    [select_into] LOG:  CREATING RELATION 102018/tmp3
    [select_into] LOG:  CREATING RELATION 102018/tmp3
    
    [alter_table] LOG:  CREATING RELATION 2200/atacc1
    [constraints] LOG:  CREATING RELATION 2200/atacc1
    [constraints] LOG:  CREATING RELATION 2200/atacc1
    [alter_table] LOG:  CREATING RELATION 2200/atacc1_id_seq
    [constraints] LOG:  CREATING RELATION 2200/atacc2
    [constraints] LOG:  CREATING RELATION 2200/atacc2
    [alter_table] LOG:  CREATING RELATION 2200/atacc2_id_key
    
    live hazard:
    [join] LOG:  CREATING RELATION 2200/bar
    [transactions] LOG:  CREATING RELATION 2200/bar
    [transactions] LOG:  CREATING RELATION 2200/barbaz
    [transactions] LOG:  CREATING RELATION 2200/baz
    
    
    [bitmapops] LOG:  CREATING RELATION 2200/bmscantest
    [select_parallel] LOG:  CREATING RELATION 2200/bmscantest
    
    
    [alter_table] LOG:  CREATING RELATION 2200/c1
    [alter_table] LOG:  CREATING RELATION 2200/c1
    [alter_table] LOG:  CREATING RELATION 2200/c1
    [alter_table] LOG:  CREATING RELATION 2200/c1
    [alter_table] LOG:  CREATING RELATION 2200/c1
    [inherit] LOG:  CREATING RELATION 2200/c1
    [inherit] LOG:  CREATING RELATION 2200/c1
    [inherit] LOG:  CREATING RELATION 2200/c1
    [inherit] LOG:  CREATING RELATION 2200/c2
    [inherit] LOG:  CREATING RELATION 2200/c2
    [inherit] LOG:  CREATING RELATION 2200/c3
    
    [alter_table] LOG:  CREATING RELATION 2200/child
    [alter_table] LOG:  CREATING RELATION 2200/child
    [alter_table] LOG:  CREATING RELATION 2200/child
    [triggers] LOG:  CREATING RELATION 2200/child
    [triggers] LOG:  CREATING RELATION 2200/child
    [triggers] LOG:  CREATING RELATION 2200/child1
    [triggers] LOG:  CREATING RELATION 2200/child1
    [triggers] LOG:  CREATING RELATION 2200/child2
    [triggers] LOG:  CREATING RELATION 2200/child2
    [triggers] LOG:  CREATING RELATION 2200/child3
    [triggers] LOG:  CREATING RELATION 2200/child3
    [alter_table] LOG:  CREATING RELATION 2200/child_noinh_convalid
    
    [arrays] LOG:  CREATING RELATION 2200/comptable
    [arrays] LOG:  CREATING RELATION 2200/comptype
    [domain] LOG:  CREATING RELATION 2200/comptype
    [domain] LOG:  CREATING RELATION 2200/comptype
    [domain] LOG:  CREATING RELATION 2200/comptype
    
    [alter_table] LOG:  CREATING RELATION 2200/fail_part
    [alter_table] LOG:  CREATING RELATION 2200/fail_part
    [create_table] LOG:  CREATING RELATION 2200/fail_part
    [create_table] LOG:  CREATING RELATION 2200/fail_part
    [create_table] LOG:  CREATING RELATION 2200/fail_part_col_not_found
    
    live hazard join vs transactions:
    [join] LOG:  CREATING RELATION 2200/foo
    [rangefuncs] LOG:  CREATING RELATION 2200/foo
    [rules] LOG:  CREATING RELATION 2200/foo
    [transactions] LOG:  CREATING RELATION 2200/foo
    [rangefuncs] LOG:  CREATING RELATION 2200/foo2
    [rangefuncs] LOG:  CREATING RELATION 2200/foo2
    [rules] LOG:  CREATING RELATION 2200/foo2
    [rangefuncs] LOG:  CREATING RELATION 2200/foo_pkey
    [rangefuncs] LOG:  CREATING RELATION 2200/foo_rescan_t
    [sequence] LOG:  CREATING RELATION 2200/foo_seq
    [transactions] LOG:  CREATING RELATION 2200/foobar
    [rules] LOG:  CREATING RELATION 2200/fooview
    [rules] LOG:  CREATING RELATION 2200/fooview
    [rules] LOG:  CREATING RELATION 2200/fooview
    [rules] LOG:  CREATING RELATION 2200/fooview_part
    
    [alter_table] LOG:  CREATING RELATION 2200/hash_parted
    [create_table] LOG:  CREATING RELATION 2200/hash_parted
    [insert] LOG:  CREATING RELATION 2200/hash_parted
    [update] LOG:  CREATING RELATION 2200/hash_parted
    [create_table] LOG:  CREATING RELATION 2200/hash_parted2
    
    [insert] LOG:  CREATING RELATION 2200/hpart0
    [insert] LOG:  CREATING RELATION 2200/hpart1
    [update] LOG:  CREATING RELATION 2200/hpart1
    [insert] LOG:  CREATING RELATION 2200/hpart2
    [update] LOG:  CREATING RELATION 2200/hpart2
    [insert] LOG:  CREATING RELATION 2200/hpart3
    [update] LOG:  CREATING RELATION 2200/hpart3
    [update] LOG:  CREATING RELATION 2200/hpart4
    [alter_table] LOG:  CREATING RELATION 2200/hpart_1
    [create_table] LOG:  CREATING RELATION 2200/hpart_1
    [alter_table] LOG:  CREATING RELATION 2200/hpart_2
    [create_table] LOG:  CREATING RELATION 2200/hpart_2
    [create_table] LOG:  CREATING RELATION 2200/hpart_3
    [alter_table] LOG:  CREATING RELATION 2200/hpart_5
    [alter_table] LOG:  CREATING RELATION 2200/hpart_5_a
    
    [update] LOG:  CREATING RELATION 2200/list_part1
    [update] LOG:  CREATING RELATION 2200/list_part1
    [plancache] LOG:  CREATING RELATION 2200/list_part_1
    [plancache] LOG:  CREATING RELATION 2200/list_part_2
    [plancache] LOG:  CREATING RELATION 2200/list_part_def
    [plancache] LOG:  CREATING RELATION 2200/list_part_null
    [alter_table] LOG:  CREATING RELATION 2200/list_parted
    [create_table] LOG:  CREATING RELATION 2200/list_parted
    [inherit] LOG:  CREATING RELATION 2200/list_parted
    [insert] LOG:  CREATING RELATION 2200/list_parted
    [insert] LOG:  CREATING RELATION 2200/list_parted
    [plancache] LOG:  CREATING RELATION 2200/list_parted
    [update] LOG:  CREATING RELATION 2200/list_parted
    [update] LOG:  CREATING RELATION 2200/list_parted
    [alter_table] LOG:  CREATING RELATION 2200/list_parted2
    [create_table] LOG:  CREATING RELATION 2200/list_parted2
    [alter_table] LOG:  CREATING RELATION 2200/list_parted2_def
    [create_table] LOG:  CREATING RELATION 2200/list_parted2_def
    
    [inherit] LOG:  CREATING RELATION 2200/mcrparted
    [insert] LOG:  CREATING RELATION 2200/mcrparted
    [insert] LOG:  CREATING RELATION 2200/mcrparted
    [inherit] LOG:  CREATING RELATION 2200/mcrparted0
    [insert] LOG:  CREATING RELATION 2200/mcrparted0
    [insert] LOG:  CREATING RELATION 2200/mcrparted0
    [inherit] LOG:  CREATING RELATION 2200/mcrparted1
    [insert] LOG:  CREATING RELATION 2200/mcrparted1
    [insert] LOG:  CREATING RELATION 2200/mcrparted1_lt_b
    [inherit] LOG:  CREATING RELATION 2200/mcrparted2
    [insert] LOG:  CREATING RELATION 2200/mcrparted2
    [insert] LOG:  CREATING RELATION 2200/mcrparted2
    [insert] LOG:  CREATING RELATION 2200/mcrparted2_b
    [inherit] LOG:  CREATING RELATION 2200/mcrparted3
    [insert] LOG:  CREATING RELATION 2200/mcrparted3
    [insert] LOG:  CREATING RELATION 2200/mcrparted3_c_to_common
    [inherit] LOG:  CREATING RELATION 2200/mcrparted4
    [insert] LOG:  CREATING RELATION 2200/mcrparted4
    [insert] LOG:  CREATING RELATION 2200/mcrparted4
    [insert] LOG:  CREATING RELATION 2200/mcrparted4_common_lt_0
    [inherit] LOG:  CREATING RELATION 2200/mcrparted5
    [insert] LOG:  CREATING RELATION 2200/mcrparted5
    [insert] LOG:  CREATING RELATION 2200/mcrparted5_common_0_to_10
    [insert] LOG:  CREATING RELATION 2200/mcrparted6_common_ge_10
    [insert] LOG:  CREATING RELATION 2200/mcrparted7_gt_common_lt_d
    [insert] LOG:  CREATING RELATION 2200/mcrparted8_ge_d
    [inherit] LOG:  CREATING RELATION 2200/mcrparted_def
    
    [insert] LOG:  CREATING RELATION 2200/mlparted
    [insert] LOG:  CREATING RELATION 2200/mlparted1
    [insert] LOG:  CREATING RELATION 2200/mlparted11
    [insert] LOG:  CREATING RELATION 2200/mlparted12
    [insert] LOG:  CREATING RELATION 2200/mlparted2
    [insert] LOG:  CREATING RELATION 2200/mlparted3
    [insert] LOG:  CREATING RELATION 2200/mlparted4
    [insert] LOG:  CREATING RELATION 2200/mlparted5
    [insert] LOG:  CREATING RELATION 2200/mlparted5a
    [insert] LOG:  CREATING RELATION 2200/mlparted_def
    [insert] LOG:  CREATING RELATION 2200/mlparted_def1
    [insert] LOG:  CREATING RELATION 2200/mlparted_def2
    [insert] LOG:  CREATING RELATION 2200/mlparted_defd
    [inherit] LOG:  CREATING RELATION 2200/mlparted_tab
    [inherit] LOG:  CREATING RELATION 2200/mlparted_tab_part1
    [inherit] LOG:  CREATING RELATION 2200/mlparted_tab_part2
    [inherit] LOG:  CREATING RELATION 2200/mlparted_tab_part2a
    [inherit] LOG:  CREATING RELATION 2200/mlparted_tab_part2b
    [inherit] LOG:  CREATING RELATION 2200/mlparted_tab_part3
    
    [alter_table] LOG:  CREATING RELATION 2200/p
    [alter_table] LOG:  CREATING RELATION 2200/p1
    [alter_table] LOG:  CREATING RELATION 2200/p1
    [alter_table] LOG:  CREATING RELATION 2200/p1
    [alter_table] LOG:  CREATING RELATION 2200/p1
    [alter_table] LOG:  CREATING RELATION 2200/p1
    [alter_table] LOG:  CREATING RELATION 2200/p1
    [alter_table] LOG:  CREATING RELATION 2200/p1
    [inherit] LOG:  CREATING RELATION 2200/p1
    [inherit] LOG:  CREATING RELATION 2200/p1
    [inherit] LOG:  CREATING RELATION 2200/p1
    [inherit] LOG:  CREATING RELATION 2200/p1
    [alter_table] LOG:  CREATING RELATION 2200/p11
    [inherit] LOG:  CREATING RELATION 2200/p1_c1
    [alter_table] LOG:  CREATING RELATION 2200/p2
    [inherit] LOG:  CREATING RELATION 2200/p2
    [inherit] LOG:  CREATING RELATION 2200/p2
    
    [alter_table] LOG:  CREATING RELATION 2200/parent
    [alter_table] LOG:  CREATING RELATION 2200/parent
    [alter_table] LOG:  CREATING RELATION 2200/parent
    [alter_table] LOG:  CREATING RELATION 2200/parent
    [triggers] LOG:  CREATING RELATION 2200/parent
    [triggers] LOG:  CREATING RELATION 2200/parent
    [triggers] LOG:  CREATING RELATION 2200/parent
    [triggers] LOG:  CREATING RELATION 2200/parent
    [triggers] LOG:  CREATING RELATION 2200/parent_b_idx
    [alter_table] LOG:  CREATING RELATION 2200/parent_noinh_convalid
    [create_table] LOG:  CREATING RELATION 2200/part0
    [create_table] LOG:  CREATING RELATION 2200/part00
    [alter_table] LOG:  CREATING RELATION 2200/part1
    [create_table] LOG:  CREATING RELATION 2200/part1
    [insert] LOG:  CREATING RELATION 2200/part1
    [create_table] LOG:  CREATING RELATION 2200/part10
    [create_table] LOG:  CREATING RELATION 2200/part11
    [create_table] LOG:  CREATING RELATION 2200/part12
    [alter_table] LOG:  CREATING RELATION 2200/part2
    [create_table] LOG:  CREATING RELATION 2200/part2
    [insert] LOG:  CREATING RELATION 2200/part2
    [create_table] LOG:  CREATING RELATION 2200/part2_1
    [alter_table] LOG:  CREATING RELATION 2200/part3
    [create_table] LOG:  CREATING RELATION 2200/part3
    [insert] LOG:  CREATING RELATION 2200/part3
    [create_table] LOG:  CREATING RELATION 2200/part4
    [insert] LOG:  CREATING RELATION 2200/part4
    [alter_table] LOG:  CREATING RELATION 2200/part5_def
    [alter_table] LOG:  CREATING RELATION 2200/part5_def_p1
    [alter_table] LOG:  CREATING RELATION 2200/part5_p1
    [alter_table] LOG:  CREATING RELATION 2200/part_1
    [create_table] LOG:  CREATING RELATION 2200/part_1
    [inherit] LOG:  CREATING RELATION 2200/part_10_20
    [inherit] LOG:  CREATING RELATION 2200/part_10_20_ab
    [inherit] LOG:  CREATING RELATION 2200/part_10_20_cd
    [inherit] LOG:  CREATING RELATION 2200/part_1_10
    [inherit] LOG:  CREATING RELATION 2200/part_1_10_ab
    [inherit] LOG:  CREATING RELATION 2200/part_1_10_cd
    [alter_table] LOG:  CREATING RELATION 2200/part_2
    [create_table] LOG:  CREATING RELATION 2200/part_2
    [inherit] LOG:  CREATING RELATION 2200/part_21_30
    [inherit] LOG:  CREATING RELATION 2200/part_21_30_ab
    [inherit] LOG:  CREATING RELATION 2200/part_21_30_cd
    [alter_table] LOG:  CREATING RELATION 2200/part_3
    [alter_table] LOG:  CREATING RELATION 2200/part_3_4
    [inherit] LOG:  CREATING RELATION 2200/part_40_inf
    [inherit] LOG:  CREATING RELATION 2200/part_40_inf_ab
    [inherit] LOG:  CREATING RELATION 2200/part_40_inf_cd
    [inherit] LOG:  CREATING RELATION 2200/part_40_inf_null
    [alter_table] LOG:  CREATING RELATION 2200/part_5
    [alter_table] LOG:  CREATING RELATION 2200/part_55_66
    [alter_table] LOG:  CREATING RELATION 2200/part_5_a
    [alter_table] LOG:  CREATING RELATION 2200/part_6
    [alter_table] LOG:  CREATING RELATION 2200/part_7
    [alter_table] LOG:  CREATING RELATION 2200/part_7_a_null
    [create_table] LOG:  CREATING RELATION 2200/part_a
    [update] LOG:  CREATING RELATION 2200/part_a_10_a_20
    [update] LOG:  CREATING RELATION 2200/part_a_1_a_10
    [insert] LOG:  CREATING RELATION 2200/part_aa_bb
    [create_table] LOG:  CREATING RELATION 2200/part_ab
    [inherit] LOG:  CREATING RELATION 2200/part_ab_cd
    [create_table] LOG:  CREATING RELATION 2200/part_b
    [update] LOG:  CREATING RELATION 2200/part_b_10_b_20
    [update] LOG:  CREATING RELATION 2200/part_b_1_b_10
    [update] LOG:  CREATING RELATION 2200/part_b_20_b_30
    [create_table] LOG:  CREATING RELATION 2200/part_c
    [update] LOG:  CREATING RELATION 2200/part_c_100_200
    [create_table] LOG:  CREATING RELATION 2200/part_c_1_10
    [update] LOG:  CREATING RELATION 2200/part_c_1_100
    [insert] LOG:  CREATING RELATION 2200/part_cc_dd
    [insert_conflict] LOG:  CREATING RELATION 2200/part_comp_key_index
    [update] LOG:  CREATING RELATION 2200/part_d_15_20
    [update] LOG:  CREATING RELATION 2200/part_d_1_15
    [insert] LOG:  CREATING RELATION 2200/part_def
    [update] LOG:  CREATING RELATION 2200/part_def
    [create_table] LOG:  CREATING RELATION 2200/part_default
    [insert] LOG:  CREATING RELATION 2200/part_default
    [insert] LOG:  CREATING RELATION 2200/part_default
    [insert] LOG:  CREATING RELATION 2200/part_default
    [insert] LOG:  CREATING RELATION 2200/part_default_p1
    [insert] LOG:  CREATING RELATION 2200/part_default_p2
    [insert] LOG:  CREATING RELATION 2200/part_ee_ff
    [insert] LOG:  CREATING RELATION 2200/part_ee_ff1
    [insert] LOG:  CREATING RELATION 2200/part_ee_ff2
    [insert] LOG:  CREATING RELATION 2200/part_ee_ff3
    [insert] LOG:  CREATING RELATION 2200/part_ee_ff3_1
    [insert] LOG:  CREATING RELATION 2200/part_ee_ff3_2
    [inherit] LOG:  CREATING RELATION 2200/part_ef_gh
    [create_table] LOG:  CREATING RELATION 2200/part_forced_oids
    [insert] LOG:  CREATING RELATION 2200/part_gg
    [insert] LOG:  CREATING RELATION 2200/part_gg1
    [insert] LOG:  CREATING RELATION 2200/part_gg2
    [insert] LOG:  CREATING RELATION 2200/part_gg2_1
    [insert] LOG:  CREATING RELATION 2200/part_gg2_2
    [create_table] LOG:  CREATING RELATION 2200/part_null
    [insert] LOG:  CREATING RELATION 2200/part_null
    [inherit] LOG:  CREATING RELATION 2200/part_null_xy
    [create_table] LOG:  CREATING RELATION 2200/part_null_z
    [alter_table] LOG:  CREATING RELATION 2200/part_rp
    [insert] LOG:  CREATING RELATION 2200/part_xx_yy
    [insert] LOG:  CREATING RELATION 2200/part_xx_yy_defpart
    [insert] LOG:  CREATING RELATION 2200/part_xx_yy_p1
    [create_table] LOG:  CREATING RELATION 2200/parted
    [triggers] LOG:  CREATING RELATION 2200/parted2_stmt_trig
    [triggers] LOG:  CREATING RELATION 2200/parted2_stmt_trig1
    [triggers] LOG:  CREATING RELATION 2200/parted2_stmt_trig2
    [create_table] LOG:  CREATING RELATION 2200/parted_col_comment
    [insert_conflict] LOG:  CREATING RELATION 2200/parted_conflict_test
    [insert_conflict] LOG:  CREATING RELATION 2200/parted_conflict_test_1
    [insert_conflict] LOG:  CREATING RELATION 2200/parted_conflict_test_1_b_key
    [inherit] LOG:  CREATING RELATION 2200/parted_minmax
    [inherit] LOG:  CREATING RELATION 2200/parted_minmax1
    [inherit] LOG:  CREATING RELATION 2200/parted_minmax1i
    [alter_table] LOG:  CREATING RELATION 2200/parted_no_parts
    [tablesample] LOG:  CREATING RELATION 2200/parted_sample
    [tablesample] LOG:  CREATING RELATION 2200/parted_sample_1
    [tablesample] LOG:  CREATING RELATION 2200/parted_sample_2
    [triggers] LOG:  CREATING RELATION 2200/parted_stmt_trig
    [triggers] LOG:  CREATING RELATION 2200/parted_stmt_trig1
    [triggers] LOG:  CREATING RELATION 2200/parted_stmt_trig2
    [inherit] LOG:  CREATING RELATION 2200/parted_tab
    [inherit] LOG:  CREATING RELATION 2200/parted_tab_part1
    [inherit] LOG:  CREATING RELATION 2200/parted_tab_part2
    [inherit] LOG:  CREATING RELATION 2200/parted_tab_part3
    [rules] LOG:  CREATING RELATION 2200/parted_table
    [rules] LOG:  CREATING RELATION 2200/parted_table_1
    [alter_table] LOG:  CREATING RELATION 2200/parted_validate_test
    [alter_table] LOG:  CREATING RELATION 2200/parted_validate_test_1
    [insert_conflict] LOG:  CREATING RELATION 2200/partial_key_index
    [alter_table] LOG:  CREATING RELATION 2200/partitioned
    [create_table] LOG:  CREATING RELATION 2200/partitioned
    [create_table] LOG:  CREATING RELATION 2200/partitioned
    [create_table] LOG:  CREATING RELATION 2200/partitioned
    [create_table] LOG:  CREATING RELATION 2200/partitioned
    [create_table] LOG:  CREATING RELATION 2200/partitioned
    [create_table] LOG:  CREATING RELATION 2200/partitioned
    [create_table] LOG:  CREATING RELATION 2200/partitioned
    [create_table] LOG:  CREATING RELATION 2200/partitioned
    [create_table] LOG:  CREATING RELATION 2200/partitioned
    [create_table] LOG:  CREATING RELATION 2200/partitioned
    [create_table] LOG:  CREATING RELATION 2200/partitioned
    [create_table] LOG:  CREATING RELATION 2200/partitioned
    [create_table] LOG:  CREATING RELATION 2200/partitioned
    [create_table] LOG:  CREATING RELATION 2200/partitioned
    [create_table] LOG:  CREATING RELATION 2200/partitioned
    [create_table] LOG:  CREATING RELATION 2200/partitioned
    [create_table] LOG:  CREATING RELATION 2200/partitioned
    [create_table] LOG:  CREATING RELATION 2200/partitioned
    [create_table] LOG:  CREATING RELATION 2200/partitioned
    [create_table] LOG:  CREATING RELATION 2200/partitioned2
    [plpgsql] LOG:  CREATING RELATION 2200/partitioned_table
    
    [updatable_views] LOG:  CREATING RELATION 2200/pt
    [foreign_data] LOG:  CREATING RELATION 2200/pt1
    [join] LOG:  CREATING RELATION 2200/pt1
    [updatable_views] LOG:  CREATING RELATION 2200/pt1
    [updatable_views] LOG:  CREATING RELATION 2200/pt11
    [join] LOG:  CREATING RELATION 2200/pt1p1
    [join] LOG:  CREATING RELATION 2200/pt1p1p1
    [join] LOG:  CREATING RELATION 2200/pt1p2
    [foreign_data] LOG:  CREATING RELATION 2200/pt2
    [foreign_data] LOG:  CREATING RELATION 2200/pt2_1
    [foreign_data] LOG:  CREATING RELATION 2200/pt2_1
    [foreign_data] LOG:  CREATING RELATION 2200/pt2_1
    [plpgsql] LOG:  CREATING RELATION 2200/pt_part1
    [plpgsql] LOG:  CREATING RELATION 2200/pt_part2
    
    [inherit] LOG:  CREATING RELATION 2200/range_list_parted
    [alter_table] LOG:  CREATING RELATION 2200/range_parted
    [create_table] LOG:  CREATING RELATION 2200/range_parted
    [insert] LOG:  CREATING RELATION 2200/range_parted
    [update] LOG:  CREATING RELATION 2200/range_parted
    [alter_table] LOG:  CREATING RELATION 2200/range_parted2
    [create_table] LOG:  CREATING RELATION 2200/range_parted2
    [create_table] LOG:  CREATING RELATION 2200/range_parted3
    [create_table] LOG:  CREATING RELATION 2200/range_parted4
    [create_table] LOG:  CREATING RELATION 2200/range_parted4_1
    [create_table] LOG:  CREATING RELATION 2200/range_parted4_2
    [create_table] LOG:  CREATING RELATION 2200/range_parted4_3
    
    [sequence] LOG:  CREATING RELATION 2200/seq
    [updatable_views] LOG:  CREATING RELATION 2200/seq
    [sequence] LOG:  CREATING RELATION 2200/seq2
    [sequence] LOG:  CREATING RELATION 2200/seq3
    [sequence] LOG:  CREATING RELATION 2200/seq3
    [sequence] LOG:  CREATING RELATION 2200/seq3
    [sequence] LOG:  CREATING RELATION 2200/seq3
    [sequence] LOG:  CREATING RELATION 2200/seq3
    [sequence] LOG:  CREATING RELATION 2200/seq3
    [sequence] LOG:  CREATING RELATION 2200/seq3
    [sequence] LOG:  CREATING RELATION 2200/seq3
    [sequence] LOG:  CREATING RELATION 2200/seq3
    [sequence] LOG:  CREATING RELATION 2200/seq3
    
    [join] LOG:  CREATING RELATION 2200/t1
    [privileges] LOG:  CREATING RELATION 2200/t1
    [updatable_views] LOG:  CREATING RELATION 2200/t1
    [updatable_views] LOG:  CREATING RELATION 2200/t1
    [updatable_views] LOG:  CREATING RELATION 2200/t1
    [updatable_views] LOG:  CREATING RELATION 2200/t11
    [updatable_views] LOG:  CREATING RELATION 2200/t111
    [updatable_views] LOG:  CREATING RELATION 2200/t111_a_idx
    [updatable_views] LOG:  CREATING RELATION 2200/t11_a_idx
    [updatable_views] LOG:  CREATING RELATION 2200/t12
    [updatable_views] LOG:  CREATING RELATION 2200/t12_a_idx
    [updatable_views] LOG:  CREATING RELATION 2200/t1_a_idx
    [privileges] LOG:  CREATING RELATION 2200/t1_pkey
    [join] LOG:  CREATING RELATION 2200/t2
    [updatable_views] LOG:  CREATING RELATION 2200/t2
    [join] LOG:  CREATING RELATION 2200/t3
    [alter_table] LOG:  CREATING RELATION 2200/tab1
    [alter_table] LOG:  CREATING RELATION 2200/tab2
    [triggers] LOG:  CREATING RELATION 2200/table1
    [triggers] LOG:  CREATING RELATION 2200/table2
    
    [alter_table] LOG:  CREATING RELATION 2200/test
    [with] LOG:  CREATING RELATION 2200/test
    [alter_table] LOG:  CREATING RELATION 2200/test1
    [copyselect] LOG:  CREATING RELATION 2200/test1
    [privileges] LOG:  CREATING RELATION 2200/test10b
    [privileges] LOG:  CREATING RELATION 2200/test11b
    [copyselect] LOG:  CREATING RELATION 2200/test1_id_seq
    [alter_table] LOG:  CREATING RELATION 2200/test2
    [copyselect] LOG:  CREATING RELATION 2200/test2
    [copyselect] LOG:  CREATING RELATION 2200/test2_id_seq
    [copyselect] LOG:  CREATING RELATION 2200/test3
    [privileges] LOG:  CREATING RELATION 2200/test5b
    [privileges] LOG:  CREATING RELATION 2200/test6b
    [privileges] LOG:  CREATING RELATION 2200/test7b
    [privileges] LOG:  CREATING RELATION 2200/test8a
    [privileges] LOG:  CREATING RELATION 2200/test8b
    [privileges] LOG:  CREATING RELATION 2200/test9a
    [privileges] LOG:  CREATING RELATION 2200/test9b
    [rules] LOG:  CREATING RELATION 2200/test_1
    [rules] LOG:  CREATING RELATION 2200/test_1_pkey
    [rules] LOG:  CREATING RELATION 2200/test_2
    [rules] LOG:  CREATING RELATION 2200/test_2_pkey
    [rules] LOG:  CREATING RELATION 2200/test_3
    [rules] LOG:  CREATING RELATION 2200/test_3_pkey
    [alter_table] LOG:  CREATING RELATION 2200/test_add_column
    [inherit] LOG:  CREATING RELATION 2200/test_constraints
    [inherit] LOG:  CREATING RELATION 2200/test_constraints_inh
    [inherit] LOG:  CREATING RELATION 2200/test_constraints_val1_val2_key
    [alter_table] LOG:  CREATING RELATION 2200/test_drop_constr_child
    [alter_table] LOG:  CREATING RELATION 2200/test_drop_constr_parent
    [inherit] LOG:  CREATING RELATION 2200/test_ex_constraints
    [inherit] LOG:  CREATING RELATION 2200/test_ex_constraints_c_excl
    [inherit] LOG:  CREATING RELATION 2200/test_ex_constraints_inh
    [drop_if_exists] LOG:  CREATING RELATION 2200/test_exists
    [inherit] LOG:  CREATING RELATION 2200/test_foreign_constraints
    [inherit] LOG:  CREATING RELATION 2200/test_foreign_constraints_inh
    [select_having] LOG:  CREATING RELATION 2200/test_having
    [drop_if_exists] LOG:  CREATING RELATION 2200/test_index_exists
    [alter_table] LOG:  CREATING RELATION 2200/test_inh_check
    [alter_table] LOG:  CREATING RELATION 2200/test_inh_check_child
    [create_table_like] LOG:  CREATING RELATION 2200/test_like_id_1
    [create_table_like] LOG:  CREATING RELATION 2200/test_like_id_1_a_seq
    [create_table_like] LOG:  CREATING RELATION 2200/test_like_id_2
    [create_table_like] LOG:  CREATING RELATION 2200/test_like_id_3
    [create_table_like] LOG:  CREATING RELATION 2200/test_like_id_3_a_seq
    [select_implicit] LOG:  CREATING RELATION 2200/test_missing_target
    [select_implicit] LOG:  CREATING RELATION 2200/test_missing_target2
    [select_implicit] LOG:  CREATING RELATION 2200/test_missing_target3
    [inherit] LOG:  CREATING RELATION 2200/test_primary_constraints
    [inherit] LOG:  CREATING RELATION 2200/test_primary_constraints_pkey
    [rangetypes] LOG:  CREATING RELATION 2200/test_range_elem
    [rangetypes] LOG:  CREATING RELATION 2200/test_range_elem_idx
    [rangetypes] LOG:  CREATING RELATION 2200/test_range_excl
    [rangetypes] LOG:  CREATING RELATION 2200/test_range_excl_room_during_excl
    [rangetypes] LOG:  CREATING RELATION 2200/test_range_excl_speaker_during_excl
    [rangetypes] LOG:  CREATING RELATION 2200/test_range_gist
    [rangetypes] LOG:  CREATING RELATION 2200/test_range_gist_idx
    [rangetypes] LOG:  CREATING RELATION 2200/test_range_gist_idx
    [rangetypes] LOG:  CREATING RELATION 2200/test_range_spgist
    [rangetypes] LOG:  CREATING RELATION 2200/test_range_spgist_idx
    [rangetypes] LOG:  CREATING RELATION 2200/test_range_spgist_idx
    [sequence] LOG:  CREATING RELATION 2200/test_seq1
    [alter_table] LOG:  CREATING RELATION 2200/test_storage
    [tablesample] LOG:  CREATING RELATION 2200/test_tablesample
    [tablesample] LOG:  CREATING RELATION 2200/test_tablesample_v1
    [tablesample] LOG:  CREATING RELATION 2200/test_tablesample_v2
    [alter_table] LOG:  CREATING RELATION 2200/test_tbl1
    [alter_table] LOG:  CREATING RELATION 2200/test_tbl2
    [alter_table] LOG:  CREATING RELATION 2200/test_tbl2_subclass
    [alter_table] LOG:  CREATING RELATION 2200/test_tbl3
    [alter_table] LOG:  CREATING RELATION 2200/test_tblx
    [tsearch] LOG:  CREATING RELATION 2200/test_tsquery
    [create_table] LOG:  CREATING RELATION 2200/test_tsvector
    [alter_table] LOG:  CREATING RELATION 2200/test_type
    [alter_table] LOG:  CREATING RELATION 2200/test_type1
    [alter_table] LOG:  CREATING RELATION 2200/test_type2
    [alter_table] LOG:  CREATING RELATION 2200/test_type3
    [alter_table] LOG:  CREATING RELATION 2200/test_type_diff
    [alter_table] LOG:  CREATING RELATION 2200/test_type_diff2
    [alter_table] LOG:  CREATING RELATION 2200/test_type_diff2_c1
    [alter_table] LOG:  CREATING RELATION 2200/test_type_diff2_c2
    [alter_table] LOG:  CREATING RELATION 2200/test_type_diff2_c3
    [alter_table] LOG:  CREATING RELATION 2200/test_type_diff_c
    [alter_table] LOG:  CREATING RELATION 2200/test_type_empty
    [drop_if_exists] LOG:  CREATING RELATION 2200/test_type_exists
    [alter_table] LOG:  CREATING RELATION 2200/test_typex
    [drop_if_exists] LOG:  CREATING RELATION 2200/test_view_exists
    [combocid] LOG:  CREATING RELATION 2200/testcase
    [combocid] LOG:  CREATING RELATION 2200/testcase_pkey
    [create_table] LOG:  CREATING RELATION 2200/testjsonb
    [insert_conflict] LOG:  CREATING RELATION 2200/testoids
    [insert_conflict] LOG:  CREATING RELATION 2200/testoids_pkey
    [publication] LOG:  CREATING RELATION 2200/testpub_parted
    [publication] LOG:  CREATING RELATION 2200/testpub_tbl1
    [publication] LOG:  CREATING RELATION 2200/testpub_tbl1_id_seq
    [publication] LOG:  CREATING RELATION 2200/testpub_tbl1_pkey
    [publication] LOG:  CREATING RELATION 2200/testpub_tbl2
    [publication] LOG:  CREATING RELATION 2200/testpub_tbl2_id_seq
    [publication] LOG:  CREATING RELATION 2200/testpub_tbl2_pkey
    [publication] LOG:  CREATING RELATION 2200/testpub_tbl3
    [publication] LOG:  CREATING RELATION 2200/testpub_tbl3a
    [publication] LOG:  CREATING RELATION 2200/testpub_view
    [rolenames] LOG:  CREATING RELATION 2200/testtab1
    [rolenames] LOG:  CREATING RELATION 2200/testtab2
    [rolenames] LOG:  CREATING RELATION 2200/testtab3
    [rolenames] LOG:  CREATING RELATION 2200/testtab4
    [rolenames] LOG:  CREATING RELATION 2200/testtab5
    [rolenames] LOG:  CREATING RELATION 2200/testtab6
    [privileges] LOG:  CREATING RELATION 2200/testtype1
    [rowtypes] LOG:  CREATING RELATION 2200/testtype1
    [rowtypes] LOG:  CREATING RELATION 2200/testtype1
    [rowtypes] LOG:  CREATING RELATION 2200/testtype2
    [rowtypes] LOG:  CREATING RELATION 2200/testtype3
    [rowtypes] LOG:  CREATING RELATION 2200/testtype3
    [rowtypes] LOG:  CREATING RELATION 2200/testtype4
    [rowtypes] LOG:  CREATING RELATION 2200/testtype5
    [rowtypes] LOG:  CREATING RELATION 2200/testtype5
    [rowtypes] LOG:  CREATING RELATION 2200/testtype6
    [rowtypes] LOG:  CREATING RELATION 2200/testtype6
    
    [alter_table] LOG:  CREATING RELATION 2200/tmp
    [alter_table] LOG:  CREATING RELATION 2200/tmp
    [alter_table] LOG:  CREATING RELATION 2200/tmp
    [alter_table] LOG:  CREATING RELATION 2200/tmp
    [constraints] LOG:  CREATING RELATION 2200/tmp
    [select] LOG:  CREATING RELATION 2200/tmp
    [select_into] LOG:  CREATING RELATION 2200/tmp1
    [select_into] LOG:  CREATING RELATION 2200/tmp1
    [alter_table] LOG:  CREATING RELATION 2200/tmp2
    [alter_table] LOG:  CREATING RELATION 2200/tmp2_pkey
    [alter_table] LOG:  CREATING RELATION 2200/tmp3
    [alter_table] LOG:  CREATING RELATION 2200/tmp4
    [alter_table] LOG:  CREATING RELATION 2200/tmp4_a_b_key
    [alter_table] LOG:  CREATING RELATION 2200/tmp5
    [alter_table] LOG:  CREATING RELATION 2200/tmp6
    [alter_table] LOG:  CREATING RELATION 2200/tmp7
    [alter_table] LOG:  CREATING RELATION 2200/tmp_array
    [alter_table] LOG:  CREATING RELATION 2200/tmp_array
    [alter_table] LOG:  CREATING RELATION 2200/tmp_array2
    [alter_table] LOG:  CREATING RELATION 2200/tmp_idx
    [alter_table] LOG:  CREATING RELATION 2200/tmp_view
    [indirect_toast] LOG:  CREATING RELATION 2200/toasttest
    [strings] LOG:  CREATING RELATION 2200/toasttest
    [strings] LOG:  CREATING RELATION 2200/toasttest
    [strings] LOG:  CREATING RELATION 2200/toasttest
    
    [alter_table] LOG:  CREATING RELATION 2200/unlogged1
    [create_table] LOG:  CREATING RELATION 2200/unlogged1
    [alter_table] LOG:  CREATING RELATION 2200/unlogged1_f1_seq
    [alter_table] LOG:  CREATING RELATION 2200/unlogged1_pkey
    [create_table] LOG:  CREATING RELATION 2200/unlogged1_pkey
    [alter_table] LOG:  CREATING RELATION 2200/unlogged2
    [create_table] LOG:  CREATING RELATION 2200/unlogged2
    [alter_table] LOG:  CREATING RELATION 2200/unlogged2_f1_seq
    [alter_table] LOG:  CREATING RELATION 2200/unlogged2_pkey
    [create_table] LOG:  CREATING RELATION 2200/unlogged2_pkey
    [alter_table] LOG:  CREATING RELATION 2200/unlogged3
    [alter_table] LOG:  CREATING RELATION 2200/unlogged3_f1_seq
    [alter_table] LOG:  CREATING RELATION 2200/unlogged3_pkey
    [create_index] LOG:  CREATING RELATION 2200/unlogged_hash_index
    [create_index] LOG:  CREATING RELATION 2200/unlogged_hash_table
    [alter_table] LOG:  CREATING RELATION 2200/unparted
    [create_table] LOG:  CREATING RELATION 2200/unparted
    
    [alter_table] LOG:  CREATING RELATION 2200/xxx
    [with] LOG:  CREATING RELATION 2200/z
    [with] LOG:  CREATING RELATION 2200/z_k_key
    
    [alter_generic] LOG:  CREATING ROLE regress_alter_user1
    [alter_table] LOG:  CREATING ROLE regress_alter_user1
    [alter_generic] LOG:  CREATING ROLE regress_alter_user2
    [alter_generic] LOG:  CREATING ROLE regress_alter_user3
    [alter_generic] LOG:  CREATING ROLE regress_alter_user5
    [alter_generic] LOG:  CREATING ROLE regress_alter_user6
    
    [create_procedure] LOG:  CREATING ROLE regress_user1
    [identity] LOG:  CREATING ROLE regress_user1
    [privileges] LOG:  CREATING ROLE regress_user1
    [privileges] LOG:  CREATING ROLE regress_user2
    [privileges] LOG:  CREATING ROLE regress_user3
    [privileges] LOG:  CREATING ROLE regress_user4
    [privileges] LOG:  CREATING ROLE regress_user5
    
    [rolenames] LOG:  CREATING ROLE session_user
    [insert] LOG:  CREATING ROLE someone_else
    [rolenames] LOG:  CREATING ROLE user
    
    [create_view] LOG:  CREATING SCHEMA test_schema
    [rolenames] LOG:  CREATING SCHEMA test_schema
    [namespace] LOG:  CREATING SCHEMA test_schema_1
    
    Some of these test pairs have enough conflicts that it may
    not be worth the work to eliminate them.  Not sure just what
    to change here.
    
    			regards, tom lane
    
    
  4. Re: Instability in parallel regression tests

    Thomas Munro <thomas.munro@enterprisedb.com> — 2018-03-15T02:42:02Z

    On Thu, Mar 15, 2018 at 3:32 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
    > ... I manually filtered
    > out a bunch of non-problems, in particular discarding names that are in
    > per-test schemas; I think it's all right to allow tests that are taking
    > that precaution to do what they like name-wise.
    
    What if we always did that?  That is, create a schema with a name
    corresponding to the .sql filename and make it default, as a
    convention?  That might be a smaller and more localised change than
    renaming all these objects.  It would also provide a convenient way to
    drop everything wholesale at the end.
    
    -- 
    Thomas Munro
    http://www.enterprisedb.com
    
    
    
  5. Re: Instability in parallel regression tests

    Tom Lane <tgl@sss.pgh.pa.us> — 2018-03-15T02:51:14Z

    Thomas Munro <thomas.munro@enterprisedb.com> writes:
    > On Thu, Mar 15, 2018 at 3:32 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
    >> ... I manually filtered
    >> out a bunch of non-problems, in particular discarding names that are in
    >> per-test schemas; I think it's all right to allow tests that are taking
    >> that precaution to do what they like name-wise.
    
    > What if we always did that?  That is, create a schema with a name
    > corresponding to the .sql filename and make it default, as a
    > convention?  That might be a smaller and more localised change than
    > renaming all these objects.  It would also provide a convenient way to
    > drop everything wholesale at the end.
    
    There's a lot of objects that we *want* propagated from earlier tests to
    later ones, and/or left around to help with pg_dump testing based on the
    final state of the regression database.  I don't think that just dropping
    them all would be an improvement.
    
    It might be possible to identify a set of tests that set up persistent
    objects as opposed to ones that don't, but it wouldn't be a trivial
    task.
    
    			regards, tom lane