Class Db2PartitionControl


  • public class Db2PartitionControl
    extends Object
    Business logic to add new partitions to the given table
    • Constructor Detail

      • Db2PartitionControl

        public Db2PartitionControl​(ICatalogAccess ica,
                                   Date today)
        Public constructor
        Parameters:
        ica -
        today -
    • Method Detail

      • pushAhead

        public void pushAhead​(String schema,
                              String table,
                              int future,
                              PartitionUnit pu,
                              int unitsToKeep,
                              int partMaintBatchSize)
        Make sure the named table has at least N future partitions
        Parameters:
        schema -
        table -
        future -
        pu -
        unitsToKeep -
        partMaintBatchSize -
      • getHighValueDate

        protected Date getHighValueDate​(PartitionInfo pi)
        Get the highValue as a Date from the PartitionInfo
        Parameters:
        pi -
        Returns:
      • getLowValueDate

        protected Date getLowValueDate​(PartitionInfo pi)
        Get the lowValue as a Date from the PartitionInfo
        Parameters:
        pi -
        Returns:
      • rollOff

        public void rollOff​(String schema,
                            String table,
                            int unitsToKeep,
                            PartitionUnit pu,
                            int partMaintBatchSize)
        Drop old partitions we no longer need. In DB2 this process is a little more work than it ought to be. You can't simply drop the partition; instead you have to detach it into a standalone table, and then an asynchronous process makes that standalone table available at some later point in time. So we can't drop the table right away, we have to wait for it to become available
        Parameters:
        schema -
        table -
        unitsToKeep -
        pu -
        partMaintBatchSize -