Interface GenericScanController

    • Method Detail

      • close

        void close()
            throws StandardException
        Close the scan. This method always succeeds, and never throws any exceptions. Callers must not use the scan controller after closing it; they are strongly advised to clear out the scan controller reference after closing.
        Throws:
        StandardException - Standard exception policy.
      • getScanInfo

        ScanInfo getScanInfo()
                      throws StandardException
        Return ScanInfo object which describes performance of scan.

        Return ScanInfo object which contains information about the current state of the scan.

        The statistics gathered by the scan are not reset to 0 by a reopenScan(), rather they continue to accumulate.

        Returns:
        The ScanInfo object which contains info about current scan.
        Throws:
        StandardException - Standard exception policy.
        See Also:
        ScanInfo
      • isKeyed

        boolean isKeyed()
        Return whether this is a keyed conglomerate.

        Returns:
        whether this is a keyed conglomerate.
      • isTableLocked

        boolean isTableLocked()
        Return whether this scan is table locked.

        Implementation of this is not complete. Currently it does not give back the right information on covering locks or lock escalation. If the openScan() caller specifies a MODE_TABLE as the lock_level then this routine will always return true. If the openScan() caller specifies a MODE_RECORD as the lock_level then this routine will return true iff the lock level of the system has been overridden either by the derby.storage.rowLocking=false property, or by a shipped configuration which disables row locking.

        Returns:
        whether this scan is table locked.
      • newRowLocationTemplate

        RowLocation newRowLocationTemplate()
                                    throws StandardException
        Return a row location object to be used in calls to fetchLocation.

        Return a row location object of the correct type to be used in calls to fetchLocation.

        Returns:
        a row location object to be used in calls to fetchLocation.
        Throws:
        StandardException - Standard exception policy.
      • reopenScan

        void reopenScan​(DataValueDescriptor[] startKeyValue,
                        int startSearchOperator,
                        Qualifier[][] qualifier,
                        DataValueDescriptor[] stopKeyValue,
                        int stopSearchOperator)
                 throws StandardException
        Reposition the current scan. This call is semantically the same as if the current scan had been closed and a openScan() had been called instead. The scan is reopened with against the same conglomerate, and the scan is reopened with the same "scan column list", "hold" and "forUpdate" parameters passed in the original openScan.

        The statistics gathered by the scan are not reset to 0 by a reopenScan(), rather they continue to accumulate.

        Parameters:
        startKeyValue - An indexable row which holds a (partial) key value which, in combination with the startSearchOperator, defines the starting position of the scan. If null, the starting position of the scan is the first row of the conglomerate.
        startSearchOperator - an operator which defines how the startKeyValue is to be searched for. If startSearchOperator is ScanController.GE, the scan starts on the first row which is greater than or equal to the startKeyValue. If startSearchOperation is ScanController.GT, the scan starts on the first row whose key is greater than startKeyValue. The startSearchOperation parameter is ignored if the startKeyValue parameter is null.
        qualifier - An array of qualifiers which, applied to each key, restrict the rows returned by the scan. Rows for which any one of the qualifiers returns false are not returned by the scan. If null, all rows are returned.
        stopKeyValue - An indexable row which holds a (partial) key value which, in combination with the stopSearchOperator, defines the ending position of the scan. If null, the ending position of the scan is the last row of the conglomerate.
        stopSearchOperator - an operator which defines how the stopKeyValue is used to determine the scan stopping position. If stopSearchOperation is ScanController.GE, the scan stops just before the first row which is greater than or equal to the stopKeyValue. If stopSearchOperation is ScanController.GT, the scan stops just before the first row whose key is greater than startKeyValue. The stopSearchOperation parameter is ignored if the stopKeyValue parameter is null.
        Throws:
        StandardException - Standard exception policy.
      • reopenScanByRowLocation

        void reopenScanByRowLocation​(RowLocation startRowLocation,
                                     Qualifier[][] qualifier)
                              throws StandardException
        Reposition the current scan. This call is semantically the same as if the current scan had been closed and a openScan() had been called instead. The scan is reopened against the same conglomerate, and the scan is reopened with the same "scan column list", "hold" and "forUpdate" parameters passed in the original openScan.

        The statistics gathered by the scan are not reset to 0 by a reopenScan(), rather they continue to accumulate.

        Note that this operation is currently only supported on Heap conglomerates. Also note that order of rows within are heap are not guaranteed, so for instance positioning at a RowLocation in the "middle" of a heap, then inserting more data, then continuing the scan is not guaranteed to see the new rows - they may be put in the "beginning" of the heap.

        Parameters:
        startRowLocation - An existing RowLocation within the conglomerate, at which to position the start of the scan. The scan will begin at this location and continue forward until the end of the conglomerate. Positioning at a non-existent RowLocation (ie. an invalid one or one that had been deleted), will result in an exception being thrown when the first next operation is attempted.
        qualifier - An array of qualifiers which, applied to each key, restrict the rows returned by the scan. Rows for which any one of the qualifiers returns false are not returned by the scan. If null, all rows are returned.
        Throws:
        StandardException - Standard exception policy.