Class InsertUpdate

All Implemented Interfaces:
org.pentaho.di.core.ExtensionDataInterface, HasLogChannelInterface, org.pentaho.di.core.logging.LoggingObjectInterface, org.pentaho.di.core.logging.LoggingObjectLifecycleInterface, org.pentaho.di.core.variables.VariableSpace, StepInterface

public class InsertUpdate extends BaseDatabaseStep implements StepInterface
Performs a lookup in a database table. If the key doesn't exist it inserts values into the table, otherwise it performs an update of the changed values. If nothing changed, do nothing.
Since:
26-apr-2003
Author:
Matt
  • Constructor Details

  • Method Details

    • lookupValues

      protected void lookupValues(org.pentaho.di.core.row.RowMetaInterface rowMeta, Object[] row) throws org.pentaho.di.core.exception.KettleException
      Throws:
      org.pentaho.di.core.exception.KettleException
    • processRow

      public boolean processRow(StepMetaInterface smi, StepDataInterface sdi) throws org.pentaho.di.core.exception.KettleException
      Description copied from interface: StepInterface
      Perform the equivalent of processing one row. Typically this means reading a row from input (getRow()) and passing a row to output (putRow)).
      Specified by:
      processRow in interface StepInterface
      Overrides:
      processRow in class BaseStep
      Parameters:
      smi - The steps metadata to work with
      sdi - The steps temporary working data to work with (database connections, result sets, caches, temporary variables, etc.)
      Returns:
      false if no more rows can be processed or an error occurred.
      Throws:
      org.pentaho.di.core.exception.KettleException
    • setLookup

      public void setLookup(org.pentaho.di.core.row.RowMetaInterface rowMeta) throws org.pentaho.di.core.exception.KettleDatabaseException
      Throws:
      org.pentaho.di.core.exception.KettleDatabaseException
    • prepareUpdate

      public void prepareUpdate(org.pentaho.di.core.row.RowMetaInterface rowMeta) throws org.pentaho.di.core.exception.KettleDatabaseException
      Throws:
      org.pentaho.di.core.exception.KettleDatabaseException
    • init

      public boolean init(StepMetaInterface smi, StepDataInterface sdi)
      Description copied from interface: StepInterface
      Initialize and do work where other steps need to wait for...
      Specified by:
      init in interface StepInterface
      Overrides:
      init in class BaseDatabaseStep
      Parameters:
      smi - The metadata to work with
      sdi - The data to initialize
    • getPKG

      protected Class<?> getPKG()
      Description copied from class: BaseDatabaseStep
      Returns the specific step class needed for logging
      Specified by:
      getPKG in class BaseDatabaseStep
      Returns:
      the specific step class needed for logging
    • dispose

      public void dispose(StepMetaInterface smi, StepDataInterface sdi)
      Description copied from interface: StepInterface
      Dispose of this step: close files, empty logs, etc.
      Specified by:
      dispose in interface StepInterface
      Overrides:
      dispose in class BaseDatabaseStep
      Parameters:
      smi - The metadata to work with
      sdi - The data to dispose of