Class WriteCursorConstantAction

    • Field Detail

      • conglomId

        long conglomId
        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.
      • indexCIDS

        long[] indexCIDS
      • indexNames

        java.lang.String[] indexNames
      • deferred

        boolean deferred
      • targetProperties

        private java.util.Properties targetProperties
      • targetUUID

        UUID targetUUID
      • lockMode

        int lockMode
      • fkInfo

        private FKInfo[] fkInfo
      • baseRowReadMap

        private int[] baseRowReadMap
      • streamStorableHeapColIds

        private int[] streamStorableHeapColIds
      • singleRowSource

        boolean singleRowSource
      • underMerge

        private boolean underMerge
        True if this is an action of a MERGE statement
    • Constructor Detail

      • WriteCursorConstantAction

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

        public WriteCursorConstantAction​(long conglomId,
                                         StaticCompiledOpenConglomInfo heapSCOCI,
                                         IndexRowGenerator[] irgs,
                                         long[] indexCIDS,
                                         StaticCompiledOpenConglomInfo[] indexSCOCIs,
                                         java.lang.String[] indexNames,
                                         boolean deferred,
                                         java.util.Properties targetProperties,
                                         UUID targetUUID,
                                         int lockMode,
                                         FKInfo[] fkInfo,
                                         TriggerInfo triggerInfo,
                                         FormatableBitSet baseRowReadList,
                                         int[] baseRowReadMap,
                                         int[] streamStorableHeapColIds,
                                         boolean singleRowSource,
                                         boolean underMerge)
        Make the ConstantAction for a DELETE, INSERT, or UPDATE statement.
        Parameters:
        conglomId - Conglomerate ID of heap.
        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
        targetProperties - Properties on the target table
        targetUUID - UUID of target table
        lockMode - The lock mode to use on the target table
        fkInfo - Structure containing foreign key info, if any (may be null)
        triggerInfo - Structure containing trigger info, if any (may be null)
        baseRowReadMap - BaseRowReadMap[heapColId]->ReadRowColumnId. (0 based)
        streamStorableHeapColIds - Null for non rep. (0 based)
        singleRowSource - Whether or not source is a single row source
        underMerge - True if this action is under a MERGE statement
    • Method Detail

      • getFKInfo

        final FKInfo[] getFKInfo()
        Gets the foreign key information for this constant action. A full list of foreign keys was compiled into this constant action.
        Returns:
        the list of foreign keys to enforce for this action
      • getTriggerInfo

        TriggerInfo getTriggerInfo()
        Basically, the same as getFKInfo but for triggers.
        Returns:
        the triggers that should be fired
      • readExternal

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

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

        public boolean underMerge()
        Return true if this is an action of a MERGE statement
      • getConglomerateId

        public long getConglomerateId()
        Get the conglomerate id for the changed heap.
        Returns:
        the conglomerate id.
      • getTargetProperties

        public java.util.Properties getTargetProperties()
        Get the targetProperties from the constant action.
        Returns:
        The targetProperties
      • getProperty

        public java.lang.String getProperty​(java.lang.String key)
        The the value of the specified key, if it exists, from the targetProperties.
        Parameters:
        key - The key to search for
        Returns:
        The value for the specified key if it exists, otherwise null. (Return null if targetProperties is null.)
      • getBaseRowReadMap

        public int[] getBaseRowReadMap()
      • getStreamStorableHeapColIds

        public int[] getStreamStorableHeapColIds()
      • getIndexNameFromCID

        public java.lang.String getIndexNameFromCID​(long indexCID)
        get the index name given the conglomerate id of the index.
        Parameters:
        indexCID - conglomerate ID of the index.
        Returns:
        index name of given index.
      • getIndexNames

        public java.lang.String[] getIndexNames()