Class InsertConstantAction

java.lang.Object
org.apache.derby.impl.sql.execute.WriteCursorConstantAction
org.apache.derby.impl.sql.execute.InsertConstantAction
All Implemented Interfaces:
Externalizable, Serializable, Formatable, TypedFormat, ConstantAction

public class InsertConstantAction extends WriteCursorConstantAction
This class describes compiled constants that are passed into InsertResultSets.
See Also:
  • Field Details

    • indexedCols

      boolean[] indexedCols
      This class implements Formatable. But it is NOT used across either major or minor releases. It is only written persistently in stored prepared statements, not in the replication stage. SO, IT IS OK TO CHANGE ITS read/writeExternal.
    • schemaName

      private String schemaName
    • tableName

      private String tableName
    • columnNames

      private String[] columnNames
    • autoincRowLocation

      RowLocation[] autoincRowLocation
      An array of row location objects (0 based), one for each column in the table. If the column is an autoincrement table then the array points to the row location of the column in SYSCOLUMNS. if not, then it contains null.
    • autoincIncrement

      private long[] autoincIncrement
    • firstAutoGenColumn

      private transient int firstAutoGenColumn
      Position of autogenerated column
    • hasDeferrableChecks

      public final boolean hasDeferrableChecks
    • identitySequenceUUIDString

      String identitySequenceUUIDString
  • Constructor Details

    • InsertConstantAction

      public InsertConstantAction()
      Public niladic constructor. Needed for Formatable interface to work.
    • InsertConstantAction

      InsertConstantAction(TableDescriptor tableDescriptor, long conglomId, StaticCompiledOpenConglomInfo heapSCOCI, IndexRowGenerator[] irgs, long[] indexCIDS, StaticCompiledOpenConglomInfo[] indexSCOCIs, String[] indexNames, boolean deferred, boolean hasDeferrableChecks, Properties targetProperties, UUID targetUUID, int lockMode, FKInfo[] fkInfo, TriggerInfo triggerInfo, int[] streamStorableHeapColIds, boolean[] indexedCols, boolean singleRowSource, RowLocation[] autoincRowLocation, boolean underMerge, String identitySequenceUUIDString)
      Make the ConstantAction for an INSERT statement.
      Parameters:
      tableDescriptor -
      conglomId - Conglomerate ID.
      heapSCOCI - StaticCompiledOpenConglomInfo for heap.
      irgs - Index descriptors
      indexCIDS - Conglomerate IDs of indices
      indexSCOCIs - StaticCompiledOpenConglomInfos for indexes.
      indexNames - Names of indices on this table for error reporting.
      deferred - True means process as a deferred insert.
      hasDeferrableChecks - The target table has deferrable CHECK constraints
      targetProperties - Properties on the target table.
      targetUUID - UUID of target table
      lockMode - The lockMode to use on the target table
      fkInfo - Array of structures containing foreign key info, if any (may be null)
      triggerInfo - Array of structures containing trigger info, if any (may be null)
      streamStorableHeapColIds - Null for non rep. (0 based)
      indexedCols - boolean[] of which (0-based) columns are indexed.
      singleRowSource - Whether or not source is a single row source
      autoincRowLocation - Array of rowlocations of autoincrement values in SYSCOLUMNS for each ai column.
      underMerge - True if this is an action of a MERGE statement.
      identitySequenceUUIDString - For 10.11 and higher, the handle on the sequence for the identity column
  • Method Details

    • readExternal

      public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException
      Description copied from class: WriteCursorConstantAction
      Read this object from a stream of stored objects.
      Specified by:
      readExternal in interface Externalizable
      Overrides:
      readExternal in class WriteCursorConstantAction
      Parameters:
      in - read this.
      Throws:
      IOException - thrown on error
      ClassNotFoundException - thrown on error
    • writeExternal

      public void writeExternal(ObjectOutput out) throws IOException
      Write this object to a stream of stored objects.
      Specified by:
      writeExternal in interface Externalizable
      Overrides:
      writeExternal in class WriteCursorConstantAction
      Parameters:
      out - write bytes here.
      Throws:
      IOException - thrown on error
    • getAutoGenColumn

      public int getAutoGenColumn()
      Get the 0-based position of the autogenerated column
    • getSchemaName

      public String getSchemaName()
      Gets the name of the schema that the table is in
      Returns:
      schema name
    • getTableName

      public String getTableName()
      Gets the name of the table being inserted into
      Returns:
      name of table being inserted into
    • getColumnName

      public String getColumnName(int i)
      gets the name of the desired column in the taget table.
      Parameters:
      i - the column number
    • getColumnNames

      String[] getColumnNames()
      get the array of column names in the target table.
    • getAutoincIncrement

      public long getAutoincIncrement(int i)
      gets the increment value for a column.
      Parameters:
      i - the column number
    • hasAutoincrement

      public boolean hasAutoincrement()
      Does the target table has autoincrement columns.
      Returns:
      True if the table has ai columns
    • getAutoincRowLocation

      RowLocation[] getAutoincRowLocation()
      gets the row location
    • getTypeFormatId

      public int getTypeFormatId()
      Get the formatID which corresponds to this class.
      Returns:
      the formatID of this class