Interface ETLDest

    • Method Detail

      • prepareForNewPartition

        boolean prepareForNewPartition​(String pvName,
                                       Event ev,
                                       ArchDBRTypes archDBRType,
                                       ETLContext context)
                                throws IOException
        This informs the destination that we are switching to a new partition and this dest needs to execute its pre-processing for a new partition. For example, in a PlainPBStorage plugin, this will close the previous fileoutputstreams if any, open a new stream to the file backing the new partition writing a header if needed.
        Parameters:
        pvName - The name of PV.
        ev - This is used to determine the partition for the new partition
        archDBRType - ArchDBRTypes
        context - ETLContext
        Returns:
        boolean True or False
        Throws:
        IOException -  
      • appendToETLAppendData

        boolean appendToETLAppendData​(String pvName,
                                      EventStream stream,
                                      ETLContext context)
                               throws IOException
        This appends an EventStream to the ETL append data for a PV.
        Parameters:
        pvName - The name of PV.
        stream - The EventStream to append to the append data for a PV.
        context - ETLContext
        Returns:
        boolean True or False
        Throws:
        IOException -  
      • commitETLAppendData

        boolean commitETLAppendData​(String pvName,
                                    ETLContext context)
                             throws IOException
        This concatenates the ETL append data for a PV with the PV's destination data.
        Parameters:
        pvName - The name of PV.
        context - ETLContext
        Returns:
        boolean True or False
        Throws:
        IOException -  
      • runPostProcessors

        boolean runPostProcessors​(String pvName,
                                  ArchDBRTypes dbrtype,
                                  ETLContext context)
                           throws IOException
        Run the post processors associated with this plugin if any for this pv. The post processing is done after the commit and outside of the ETL transaction. This process is expected to catch up on previously missed/incomplete computation of cached post processing files. I can think of at least two usecases for this - one where we decide to go back and add a post processor for a pv and one where we change the algorithm for the post processor and want to recompute all the cached files again.
        Parameters:
        pvName - The name of PV.
        dbrtype - ArchDBRTypes
        context - ETLContext
        Returns:
        boolean True or False
        Throws:
        IOException -  
      • getDescription

        String getDescription()