• D
    Refactor basic partitioning tests from Tinc into ICW · 3d25eba8
    Daniel Gustafsson 提交于
    The storage/basic/partition tests were a collection of bugfixes from
    primarily older version of Greenplum. This moves the valuable tests
    over to ICW and removes the ones which are already covered in existing
    ICW suites. The decision for each individual tests is elaborated on in
    the list below:
    
    * MPP-3379 was testing an ancient bug and MPP-3553 a hypothetical
      bug from before the current partition code was written. Combined
      the two since the added clause will still cover the ancient 3379
      issue and remove the other from Tinc.
    
    * MPP-3625 was mostly already covered by existing tests in partition
      and bfv_partition. Added a test for splitting a non-existing default
      as that was the only thing covered.
    
    * MPP-6297 is testing the pg_get_partition_def() function after the
      partition hierarchy has been amended via ALTER TABLE, which is
      already covered by the partition suite. Additionally it tested
      running pg_dump, which use pg_get_partition_def() heavily, and
      this is covered by our pg_upgrade tests.
    
    * MPP-6379 tested that partitions inherited unique indexes, the test
      was moved to the partition_indexing suite.
    
    * MPP-6489 tested ALTER TABLE .. SET DISTRIBUTED BY for subpartitions
      which didn't seem covered in ICW so moved to alter_distribution_policy
      suite
    
    * MPP-7661 tested for an old bug where pg_dump incorrectly handled
      partition hierarchies created with the EVERY syntax. pg_upgrade
      tests in ICW will run this test on hierarchies from the partition
      suites so remove.
    
    * MPP-7734 tested for excessive memory consumption in the case of a
      very deep partitioning hierarchy. The issue in question was fixed
      in 4.0 and the test clocks in at ~ 1.5 minutes, so remove the test
      to save time in the test pipeline. The test was more of a stress
      test than a regression test at this point, and while thats not of
      no importance, we should run stresstests deliberately and not
      accidentally.
    
    * MPP-6537/6538 tested that new partitions introduced in the hierarchy
      correctly inherited the original owner. Test moved to the partition
      suite.
    
    * MPP-7002 tested that splitting partitions worked after a column
      had been dropped. Since we had a similar test already in the
      partition suite, extend that test to also cover splitting.
    
    * MPP-7164 is testing for partition rank after DDL operations on the
      partition hierarchy. I can see that we are testing something along
      the lines of this in ICW so pulled it across. In the process, fixed
      the test to actually run the SQL properly and not error out on a
      syntax error. Also removed a duplicated file for setting up the views.
    
    * MPP-9548 tested for the case of insert data into a column which
      was dropped and then re-added. Since we already had that covered
      in the partition suite, simply extended the comment on that case
      and added another projection to really cover it completely.
    
    * MPP-7232 tests that pg_get_partition_def() supports renamed partitions
      correctly. Added to ICW but the pg_dump test removed.
    
    * MPP-17740 tested the .. WITH (tablename = <t> ..) syntax which we
      to some extent already covered, but added a separate case to test
      permutations of it.
    
    * MPP-18673 covers an old intermittent bug where concurrent sessions
      splitting partitions would corrupt the relcache. The test in Tinc
      didn't however run concurrently so the underlying bug wasn't being
      tested, so remove the test. If we want a similar test at some point
      it should be an isolationtester suite.
    
    * MPP-17761 tests an old bug where splitting an added CO partition
      failed. Since we didn't have much in terms of testing splitting
      CO, extended the block doing split testing with that.
    
    * MPP-17707-* were essentially the same test but with varying storage
      options. While a lot of this is covered elsehwere, these tests were
      really easy to read so rolled them all into a new suite called
      partition_storage.
    
    * MPP-12775 covered yet another split/exchange scenario. Added a
      short variant to the partition suite.
    
    * MPP-17110 tests for an old regression in attribute encoding for
      added columns in partitioning hierarchies. Removed the part of
      the test that checked compression ratio as AO compression should
      be tested elsewhere.
    
    * The partition_ddl2 test was moved over as partition_ddl more or
      less unchanged.
    
    This also removes unused answer files mpp8031.ans.orca and query99
    for which there were no corresponding tests, as well as the data
    file used for copying data into the tests (a copy of which already
    exists in src/test/regress/data).
    3d25eba8
partition.out 529.7 KB