Package org.apache.ignite.internal.processors.cache.persistence.tree

## Class BPlusTree.RemoveRange

- java.lang.Object
- - org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree.Get
  - - org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree.Remove
    - - org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree.RemoveRange

All Implemented Interfaces:
  `ReuseBag`

Enclosing class:
  BPlusTree<L,​T extends L>

    protected class BPlusTree.RemoveRange
    extends BPlusTree.Remove

The operation of deleting a range of values.

Performs the removal of several elements from the leaf at once.

### Constructor Summary

Constructors
`protected` `RemoveRange​(L lower, L upper, boolean needOld, Object x, int limit)`

### Method Summary

All Methods Instance Methods Concrete Methods
`protected boolean` `ceil()`
`protected BPlusTree.Result` `finish​(BPlusTree.Result res)` Finish the operation.
`protected boolean` `releaseForRetry​(org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree.Tail<L> t)`
`protected void` `removeDataRowFromLeaf​(long pageId, long page, long pageAddr, Boolean walPlc, BPlusIO<L> io, int cnt, int idx)`

### Methods inherited from class org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree.Remove

`addFreePage, doRemove, doRemoveFromLeaf, finishOrLockTail, finishTail, isEmpty, isRemoved, lockForward, pollFreePage`

### Methods inherited from class org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree.Get

`row`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Constructor Detail

#### RemoveRange

    protected RemoveRange​(L lower,
                          L upper,
                          boolean needOld,
                          Object x,
                          int limit)

Parameters:
  `lower` - Lower bound (inclusive).
  `upper` - Upper bound (inclusive).
  `needOld` - `True` If need return old value.
  `x` - Implementation specific argument, `null` always means that we need a full detached data row.
  `limit` - Limit of processed entries by single call, `0` or negative value for no limit.

### Method Detail

#### ceil

    protected boolean ceil()

Overrides:
  `ceil` in class `BPlusTree.Remove`
Returns:
  Flag indicating that values are removed using an interval (i.e. `BPlusTree.Get.row` specifies the start of the interval, not an exact match).

#### removeDataRowFromLeaf

    protected void removeDataRowFromLeaf​(long pageId,
                                         long page,
                                         long pageAddr,
                                         Boolean walPlc,
                                         BPlusIO<L> io,
                                         int cnt,
                                         int idx)
                                  throws IgniteCheckedException

Overrides:
  `removeDataRowFromLeaf` in class `BPlusTree.Remove`
Parameters:
  `pageId` - Page ID.
  `page` - Page pointer.
  `pageAddr` - Page address.
  `walPlc` - Full page WAL record policy.
  `io` - IO.
  `cnt` - Count.
  `idx` - Index to remove.
Throws:
  `IgniteCheckedException` - If failed.

#### releaseForRetry

    protected boolean releaseForRetry​(org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree.Tail<L> t)

Overrides:
  `releaseForRetry` in class `BPlusTree.Remove`
Parameters:
  `t` - Tail to release.
Returns:
  `true` If we need to retry or `false` to exit.

#### finish

    protected BPlusTree.Result finish​(BPlusTree.Result res)

Finish the operation.

Overrides:
  `finish` in class `BPlusTree.Remove`