Class UpdateConstantAction

    • Field Detail

      • changedColumnIds

        int[] changedColumnIds
        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.
      • positionedUpdate

        private boolean positionedUpdate
      • numColumns

        int numColumns
      • schemaName

        private java.lang.String schemaName
      • tableName

        private java.lang.String tableName
      • columnNames

        private java.lang.String[] columnNames
      • identitySequenceUUIDString

        java.lang.String identitySequenceUUIDString
      • 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
    • Constructor Detail

      • UpdateConstantAction

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

        UpdateConstantAction​(TableDescriptor targetTableDesc,
                             StaticCompiledOpenConglomInfo heapSCOCI,
                             IndexRowGenerator[] irgs,
                             long[] indexCIDS,
                             StaticCompiledOpenConglomInfo[] indexSCOCIs,
                             java.lang.String[] indexNames,
                             boolean deferred,
                             UUID targetUUID,
                             int lockMode,
                             int[] changedColumnIds,
                             FKInfo[] fkInfo,
                             TriggerInfo triggerInfo,
                             FormatableBitSet baseRowReadList,
                             int[] baseRowReadMap,
                             int[] streamStorableHeapColIds,
                             int numColumns,
                             boolean positionedUpdate,
                             boolean singleRowSource,
                             RowLocation[] autoincRowLocation,
                             boolean underMerge,
                             java.lang.String identitySequenceUUIDString)
                      throws StandardException
        Make the ConstantAction for an UPDATE statement.
        Parameters:
        targetTableDesc - descriptor for the table to be updated
        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 update.
        targetUUID - UUID of target table
        lockMode - The lock mode to use (row or table, see TransactionController)
        changedColumnIds - Array of ids of changed columns
        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)
        baseRowReadList - Map of columns read in. 1 based.
        baseRowReadMap - BaseRowReadMap[heapColId]->ReadRowColumnId. (0 based)
        streamStorableHeapColIds - Null for non rep. (0 based)
        numColumns - Number of columns being read.
        positionedUpdate - is this a positioned update
        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
        Throws:
        StandardException
    • Method Detail

      • 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
      • readExternal

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

        public void writeExternal​(java.io.ObjectOutput out)
                           throws java.io.IOException
        Description copied from class: WriteCursorConstantAction
        Write this object to a stream of stored objects.
        Specified by:
        writeExternal in interface java.io.Externalizable
        Overrides:
        writeExternal in class WriteCursorConstantAction
        Parameters:
        out - write bytes here.
        Throws:
        java.io.IOException - thrown on error
        See Also:
        Externalizable.writeExternal(java.io.ObjectOutput)
      • getTypeFormatId

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

        public java.lang.String getSchemaName()
      • getTableName

        public java.lang.String getTableName()
      • getColumnName

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

        java.lang.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