Class TableOutputMeta

All Implemented Interfaces:
Cloneable, ProvidesDatabaseConnectionInformation, ProvidesModelerMeta, StepAttributesInterface, StepMetaInterface

public class TableOutputMeta extends BaseDatabaseStepMeta implements StepMetaInterface, ProvidesModelerMeta
Table Output meta data.
Since:
2-jun-2003
Author:
Matt Casters
  • Constructor Details

    • TableOutputMeta

      public TableOutputMeta()
  • Method Details

    • metaSetTruncateTable

      public void metaSetTruncateTable(String value)
    • metaSetSpecifyDatabaseFields

      public void metaSetSpecifyDatabaseFields(String value)
      Do we explicitly select the fields to update in the database
    • metaSetIgnoreInsertErrors

      public void metaSetIgnoreInsertErrors(String value)
    • metaSetUseBatchUpdate

      public void metaSetUseBatchUpdate(String value)
    • metaSetPartitionOverTables

      public void metaSetPartitionOverTables(String value)
    • metaSetTableNameDefinedInField

      public void metaSetTableNameDefinedInField(String value)
    • metaSetReturningGeneratedKeys

      public void metaSetReturningGeneratedKeys(String value)
    • metaSetConnection

      public void metaSetConnection(String connectionName) throws org.pentaho.di.core.exception.KettleException
      Throws:
      org.pentaho.di.core.exception.KettleException
    • getGeneratedKeyField

      public String getGeneratedKeyField()
      Returns:
      Returns the generatedKeyField.
    • setGeneratedKeyField

      public void setGeneratedKeyField(String generatedKeyField)
      Parameters:
      generatedKeyField - The generatedKeyField to set.
    • isReturningGeneratedKeys

      public boolean isReturningGeneratedKeys()
      Returns:
      Returns the returningGeneratedKeys.
    • setReturningGeneratedKeys

      public void setReturningGeneratedKeys(boolean returningGeneratedKeys)
      Parameters:
      returningGeneratedKeys - The returningGeneratedKeys to set.
    • isTableNameInTable

      public boolean isTableNameInTable()
      Returns:
      Returns the tableNameInTable.
    • setTableNameInTable

      public void setTableNameInTable(boolean tableNameInTable)
      Parameters:
      tableNameInTable - The tableNameInTable to set.
    • getTableNameField

      public String getTableNameField()
      Returns:
      Returns the tableNameField.
    • setTableNameField

      public void setTableNameField(String tableNameField)
      Parameters:
      tableNameField - The tableNameField to set.
    • isTableNameInField

      public boolean isTableNameInField()
      Returns:
      Returns the tableNameInField.
    • setTableNameInField

      public void setTableNameInField(boolean tableNameInField)
      Parameters:
      tableNameInField - The tableNameInField to set.
    • isPartitioningDaily

      public boolean isPartitioningDaily()
      Returns:
      Returns the partitioningDaily.
    • setPartitioningDaily

      public void setPartitioningDaily(boolean partitioningDaily)
      Parameters:
      partitioningDaily - The partitioningDaily to set.
    • isPartitioningMonthly

      public boolean isPartitioningMonthly()
      Returns:
      Returns the partitioningMontly.
    • setPartitioningMonthly

      public void setPartitioningMonthly(boolean partitioningMontly)
      Parameters:
      partitioningMontly - The partitioningMontly to set.
    • isPartitioningEnabled

      public boolean isPartitioningEnabled()
      Returns:
      Returns the partitioningEnabled.
    • setPartitioningEnabled

      public void setPartitioningEnabled(boolean partitioningEnabled)
      Parameters:
      partitioningEnabled - The partitioningEnabled to set.
    • getPartitioningField

      public String getPartitioningField()
      Returns:
      Returns the partitioningField.
    • setPartitioningField

      public void setPartitioningField(String partitioningField)
      Parameters:
      partitioningField - The partitioningField to set.
    • allocate

      public void allocate(int nrRows)
    • loadXML

      public void loadXML(Node stepnode, List<org.pentaho.di.core.database.DatabaseMeta> databases, org.pentaho.metastore.api.IMetaStore metaStore) throws org.pentaho.di.core.exception.KettleXMLException
      Description copied from interface: StepMetaInterface
      Load the values for this step from an XML Node
      Specified by:
      loadXML in interface StepMetaInterface
      Overrides:
      loadXML in class BaseStepMeta
      Parameters:
      stepnode - the Node to get the info from
      databases - The available list of databases to reference to
      metaStore - the metastore to optionally load external reference metadata from
      Throws:
      org.pentaho.di.core.exception.KettleXMLException - When an unexpected XML error occurred. (malformed etc.)
    • clone

      public Object clone()
      Description copied from interface: StepMetaInterface
      Make an exact copy of this step, make sure to explicitly copy Collections etc.
      Specified by:
      clone in interface StepMetaInterface
      Overrides:
      clone in class BaseStepMeta
      Returns:
      an exact copy of this step
    • getDatabaseMeta

      public org.pentaho.di.core.database.DatabaseMeta getDatabaseMeta()
      Description copied from interface: ProvidesDatabaseConnectionInformation
      Returns the database meta for this step
      Specified by:
      getDatabaseMeta in interface ProvidesDatabaseConnectionInformation
      Specified by:
      getDatabaseMeta in class BaseDatabaseStepMeta
      Returns:
      Returns the database.
    • setDatabaseMeta

      public void setDatabaseMeta(org.pentaho.di.core.database.DatabaseMeta database)
      Parameters:
      database - The database to set.
    • getCommitSize

      public String getCommitSize()
      Returns:
      Returns the commitSize.
    • setCommitSize

      public void setCommitSize(int commitSizeInt)
      Parameters:
      commitSizeInt - The commitSize to set.
    • setCommitSize

      public void setCommitSize(String commitSize)
      Parameters:
      commitSize - The commitSize to set.
    • getTableName

      public String getTableName()
      Description copied from interface: ProvidesDatabaseConnectionInformation
      Returns the table name for this step
      Specified by:
      getTableName in interface ProvidesDatabaseConnectionInformation
      Returns:
      the table name
    • setTableName

      public void setTableName(String tableName)
      Assign the table name to write to.
      Parameters:
      tableName - The table name to set
    • getTablename

      @Deprecated public String getTablename()
      Deprecated.
      Returns:
      Returns the tablename.
    • setTablename

      @Deprecated public void setTablename(String tablename)
      Deprecated.
      Parameters:
      tablename - The tablename to set.
    • truncateTable

      public boolean truncateTable()
      Returns:
      Returns the truncate table flag.
    • setTruncateTable

      public void setTruncateTable(boolean truncateTable)
      Parameters:
      truncateTable - The truncate table flag to set.
    • setIgnoreErrors

      public void setIgnoreErrors(boolean ignoreErrors)
      Parameters:
      ignoreErrors - The ignore errors flag to set.
    • ignoreErrors

      public boolean ignoreErrors()
      Returns:
      Returns the ignore errors flag.
    • setSpecifyFields

      public void setSpecifyFields(boolean specifyFields)
      Parameters:
      specifyFields - The specify fields flag to set.
    • specifyFields

      public boolean specifyFields()
      Returns:
      Returns the specify fields flag.
    • setUseBatchUpdate

      public void setUseBatchUpdate(boolean useBatchUpdate)
      Parameters:
      useBatchUpdate - The useBatchUpdate flag to set.
    • useBatchUpdate

      public boolean useBatchUpdate()
      Returns:
      Returns the useBatchUpdate flag.
    • setDefault

      public void setDefault()
      Description copied from interface: StepMetaInterface
      Set default values
      Specified by:
      setDefault in interface StepMetaInterface
    • getXML

      public String getXML()
      Description copied from class: BaseStepMeta
      Produces the XML string that describes this step's information.
      Specified by:
      getXML in interface StepMetaInterface
      Overrides:
      getXML in class BaseStepMeta
      Returns:
      String containing the XML describing this step.
    • readRep

      public void readRep(Repository rep, org.pentaho.metastore.api.IMetaStore metaStore, org.pentaho.di.repository.ObjectId id_step, List<org.pentaho.di.core.database.DatabaseMeta> databases) throws org.pentaho.di.core.exception.KettleException
      Description copied from interface: StepMetaInterface
      Read the steps information from a Kettle repository
      Specified by:
      readRep in interface StepMetaInterface
      Overrides:
      readRep in class BaseStepMeta
      Parameters:
      rep - The repository to read from
      metaStore - The MetaStore to read external information from
      id_step - The step ID
      databases - The databases to reference
      Throws:
      org.pentaho.di.core.exception.KettleException - When an unexpected error occurred (database, network, etc)
    • saveRep

      public void saveRep(Repository rep, org.pentaho.metastore.api.IMetaStore metaStore, org.pentaho.di.repository.ObjectId id_transformation, org.pentaho.di.repository.ObjectId id_step) throws org.pentaho.di.core.exception.KettleException
      Description copied from interface: StepMetaInterface
      Save the steps data into a Kettle repository
      Specified by:
      saveRep in interface StepMetaInterface
      Overrides:
      saveRep in class BaseStepMeta
      Parameters:
      rep - The Kettle repository to save to
      metaStore - the metaStore to optionally write to
      id_transformation - The transformation ID
      id_step - The step ID
      Throws:
      org.pentaho.di.core.exception.KettleException - When an unexpected error occurred (database, network, etc)
    • getFields

      public void getFields(org.pentaho.di.core.row.RowMetaInterface row, String origin, org.pentaho.di.core.row.RowMetaInterface[] info, StepMeta nextStep, org.pentaho.di.core.variables.VariableSpace space, Repository repository, org.pentaho.metastore.api.IMetaStore metaStore) throws org.pentaho.di.core.exception.KettleStepException
      Description copied from class: BaseStepMeta
      Gets the fields.
      Specified by:
      getFields in interface StepMetaInterface
      Overrides:
      getFields in class BaseStepMeta
      Parameters:
      row - the input row meta that is modified in this method to reflect the output row metadata of the step
      origin - Name of the step to use as input for the origin field in the values
      info - Fields used as extra lookup information
      nextStep - the next step that is targeted
      space - the space The variable space to use to replace variables
      repository - the repository to use to load Kettle metadata objects impacting the output fields
      metaStore - the MetaStore to use to load additional external data or metadata impacting the output fields
      Throws:
      org.pentaho.di.core.exception.KettleStepException - the kettle step exception
    • check

      public void check(List<org.pentaho.di.core.CheckResultInterface> remarks, TransMeta transMeta, StepMeta stepMeta, org.pentaho.di.core.row.RowMetaInterface prev, String[] input, String[] output, org.pentaho.di.core.row.RowMetaInterface info, org.pentaho.di.core.variables.VariableSpace space, Repository repository, org.pentaho.metastore.api.IMetaStore metaStore)
      Description copied from interface: StepMetaInterface
      Checks the settings of this step and puts the findings in a remarks List.
      Specified by:
      check in interface StepMetaInterface
      Overrides:
      check in class BaseStepMeta
      Parameters:
      remarks - The list to put the remarks in @see org.pentaho.di.core.CheckResult
      stepMeta - The stepMeta to help checking
      prev - The fields coming from the previous step
      input - The input step names
      output - The output step names
      info - The fields that are used as information by the step
      space - the variable space to resolve variable expressions with
      repository - the repository to use to load Kettle metadata objects impacting the output fields
      metaStore - the MetaStore to use to load additional external data or metadata impacting the output fields
    • getStep

      public StepInterface getStep(StepMeta stepMeta, StepDataInterface stepDataInterface, int cnr, TransMeta transMeta, Trans trans)
      Description copied from interface: StepMetaInterface
      Get the executing step, needed by Trans to launch a step.
      Specified by:
      getStep in interface StepMetaInterface
      Parameters:
      stepMeta - The step info
      stepDataInterface - the step data interface linked to this step. Here the step can store temporary data, database connections, etc.
      cnr - The copy nr to get
      transMeta - The transformation info
      trans - The launching transformation
    • getStepData

      public StepDataInterface getStepData()
      Description copied from interface: StepMetaInterface
      Get a new instance of the appropriate data class. This data class implements the StepDataInterface. It basically contains the persisting data that needs to live on, even if a worker thread is terminated.
      Specified by:
      getStepData in interface StepMetaInterface
      Returns:
      The appropriate StepDataInterface class.
    • analyseImpact

      public void analyseImpact(List<DatabaseImpact> impact, TransMeta transMeta, StepMeta stepMeta, org.pentaho.di.core.row.RowMetaInterface prev, String[] input, String[] output, org.pentaho.di.core.row.RowMetaInterface info, Repository repository, org.pentaho.metastore.api.IMetaStore metaStore)
      Description copied from class: BaseStepMeta
      Each step must be able to report on the impact it has on a database, table field, etc.
      Specified by:
      analyseImpact in interface StepMetaInterface
      Overrides:
      analyseImpact in class BaseStepMeta
      Parameters:
      impact - The list of impacts @see org.pentaho.di.transMeta.DatabaseImpact
      transMeta - The transformation information
      stepMeta - The step information
      prev - The fields entering this step
      input - The previous step names
      output - The output step names
      info - The fields used as information by this step
      repository - the repository to use to load Kettle metadata objects impacting the output fields
      metaStore - the MetaStore to use to load additional external data or metadata impacting the output fields
    • getSQLStatements

      public org.pentaho.di.core.SQLStatement getSQLStatements(TransMeta transMeta, StepMeta stepMeta, org.pentaho.di.core.row.RowMetaInterface prev, Repository repository, org.pentaho.metastore.api.IMetaStore metaStore)
      Description copied from class: BaseStepMeta
      Standard method to return an SQLStatement object with SQL statements that the step needs in order to work correctly. This can mean "create table", "create index" statements but also "alter table ... add/drop/modify" statements.
      Specified by:
      getSQLStatements in interface StepMetaInterface
      Overrides:
      getSQLStatements in class BaseStepMeta
      Parameters:
      transMeta - TransInfo object containing the complete transformation
      stepMeta - StepMeta object containing the complete step
      prev - Row containing meta-data for the input fields (no data)
      repository - the repository to use to load Kettle metadata objects impacting the output fields
      metaStore - the MetaStore to use to load additional external data or metadata impacting the output fields
      Returns:
      The SQL Statements for this step. If nothing has to be done, the SQLStatement.getSQL() == null. @see SQLStatement
    • getSQLStatements

      public org.pentaho.di.core.SQLStatement getSQLStatements(TransMeta transMeta, StepMeta stepMeta, org.pentaho.di.core.row.RowMetaInterface prev, String tk, boolean use_autoinc, String pk)
    • getRequiredFields

      public org.pentaho.di.core.row.RowMetaInterface getRequiredFields(org.pentaho.di.core.variables.VariableSpace space) throws org.pentaho.di.core.exception.KettleException
      Description copied from class: BaseStepMeta
      The natural way of data flow in a transformation is source-to-target. However, this makes mapping to target tables difficult to do. To help out here, we supply information to the transformation meta-data model about which fields are required for a step. This allows us to automate certain tasks like the mapping to pre-defined tables. The Table Output step in this case will output the fields in the target table using this method.

      This default implementation returns an empty row meaning that no fields are required for this step to operate.

      Specified by:
      getRequiredFields in interface StepMetaInterface
      Overrides:
      getRequiredFields in class BaseStepMeta
      Parameters:
      space - the variable space to use to do variable substitution.
      Returns:
      the required fields for this steps meta data.
      Throws:
      org.pentaho.di.core.exception.KettleException - in case the required fields can't be determined
    • getUsedDatabaseConnections

      public org.pentaho.di.core.database.DatabaseMeta[] getUsedDatabaseConnections()
      Description copied from class: BaseStepMeta
      This method returns all the database connections that are used by the step.
      Specified by:
      getUsedDatabaseConnections in interface StepMetaInterface
      Overrides:
      getUsedDatabaseConnections in class BaseStepMeta
      Returns:
      an array of database connections meta-data. Return an empty array if no connections are used.
    • getFieldStream

      public String[] getFieldStream()
      Returns:
      Fields containing the values in the input stream to insert.
    • setFieldStream

      public void setFieldStream(String[] fieldStream)
      Parameters:
      fieldStream - The fields containing the values in the input stream to insert in the table.
    • getRowMeta

      public org.pentaho.di.core.row.RowMeta getRowMeta(StepDataInterface stepData)
      Specified by:
      getRowMeta in interface ProvidesModelerMeta
    • getDatabaseFields

      public List<String> getDatabaseFields()
      Specified by:
      getDatabaseFields in interface ProvidesModelerMeta
    • getStreamFields

      public List<String> getStreamFields()
      Specified by:
      getStreamFields in interface ProvidesModelerMeta
    • getFieldDatabase

      public String[] getFieldDatabase()
      Returns:
      Fields containing the fieldnames in the database insert.
    • setFieldDatabase

      public void setFieldDatabase(String[] fieldDatabase)
      Parameters:
      fieldDatabase - The fields containing the names of the fields to insert.
    • getSchemaName

      public String getSchemaName()
      Description copied from interface: ProvidesDatabaseConnectionInformation
      Returns the schema name for this step.
      Specified by:
      getSchemaName in interface ProvidesDatabaseConnectionInformation
      Returns:
      the schemaName
    • setSchemaName

      public void setSchemaName(String schemaName)
      Parameters:
      schemaName - the schemaName to set
    • supportsErrorHandling

      public boolean supportsErrorHandling()
      Specified by:
      supportsErrorHandling in interface StepMetaInterface
      Overrides:
      supportsErrorHandling in class BaseStepMeta
      Returns:
      true if this step supports error "reporting" on rows: the ability to send rows to a certain target step.
    • getMissingDatabaseConnectionInformationMessage

      public String getMissingDatabaseConnectionInformationMessage()
      Description copied from interface: ProvidesDatabaseConnectionInformation
      Provides a way for this object to return a custom message when database connection information is incomplete or missing. If this returns null a default message will be displayed for missing information.
      Specified by:
      getMissingDatabaseConnectionInformationMessage in interface ProvidesDatabaseConnectionInformation
      Returns:
      A friendly message that describes that database connection information is missing and, potentially, why.
    • setConnection

      public void setConnection(String connectionName) throws org.pentaho.di.core.exception.KettleException
      Throws:
      org.pentaho.di.core.exception.KettleException