Class ReadAllCache

  • All Implemented Interfaces:
    DatabaseLookupData.Cache

    public class ReadAllCache
    extends Object
    implements DatabaseLookupData.Cache
    This is a read-only array-based cache to be used in DatabaseLookup when "Load All Data In Cache" checkbox is selected. Internally, it uses some optimizations to reduce memory consumption.
    Author:
    Andrey Khayrutdinov
    • Method Detail

      • getRowFromCache

        public Object[] getRowFromCache​(org.pentaho.di.core.row.RowMetaInterface lookupMeta,
                                        Object[] lookupRow)
                                 throws org.pentaho.di.core.exception.KettleException
        Description copied from interface: DatabaseLookupData.Cache
        Returns the very first data row that matches all conditions or null if none has been found. Note, cache should keep the order in which elements were put into it.
        Specified by:
        getRowFromCache in interface DatabaseLookupData.Cache
        Parameters:
        lookupMeta - meta object for dealing with lookupRow
        lookupRow - tuple containing values for comparison
        Returns:
        first matching data row or null
        Throws:
        org.pentaho.di.core.exception.KettleException
      • storeRowInCache

        public void storeRowInCache​(DatabaseLookupMeta meta,
                                    org.pentaho.di.core.row.RowMetaInterface lookupMeta,
                                    Object[] lookupRow,
                                    Object[] add)
        Description copied from interface: DatabaseLookupData.Cache
        Saved add as data row and lookupRow as a key for searching it.
        Specified by:
        storeRowInCache in interface DatabaseLookupData.Cache
        Parameters:
        meta - step's meta
        lookupMeta - lookupRow's meta
        lookupRow - tuple of keys
        add - tuple of data