Search in sources :

Example 6 with H2Cursor

use of org.apache.ignite.internal.processors.query.h2.H2Cursor in project ignite by apache.

the class H2TreeIndex method find.

/**
 * {@inheritDoc}
 */
@Override
public Cursor find(Session ses, SearchRow lower, SearchRow upper) {
    assert lower == null || lower instanceof H2Row : lower;
    assert upper == null || upper instanceof H2Row : upper;
    try {
        T2<IndexRow, IndexRow> key = prepareIndexKeys(lower, upper);
        QueryContext qctx = ses != null ? H2Utils.context(ses) : null;
        GridCursor<IndexRow> cursor = queryIndex.find(key.get1(), key.get2(), true, true, segment(qctx), idxQryContext(qctx));
        GridCursor<H2Row> h2cursor = new IndexValueCursor<>(cursor, this::mapIndexRow);
        return new H2Cursor(h2cursor);
    } catch (IgniteCheckedException e) {
        throw DbException.convert(e);
    }
}
Also used : IgniteCheckedException(org.apache.ignite.IgniteCheckedException) IndexRow(org.apache.ignite.internal.cache.query.index.sorted.IndexRow) H2Cursor(org.apache.ignite.internal.processors.query.h2.H2Cursor) IndexQueryContext(org.apache.ignite.internal.cache.query.index.sorted.inline.IndexQueryContext) QueryContext(org.apache.ignite.internal.processors.query.h2.opt.QueryContext) H2Row(org.apache.ignite.internal.processors.query.h2.opt.H2Row) IndexValueCursor(org.apache.ignite.internal.cache.query.index.sorted.IndexValueCursor)

Aggregations

H2Cursor (org.apache.ignite.internal.processors.query.h2.H2Cursor)6 IgniteCheckedException (org.apache.ignite.IgniteCheckedException)4 IndexRow (org.apache.ignite.internal.cache.query.index.sorted.IndexRow)4 IndexValueCursor (org.apache.ignite.internal.cache.query.index.sorted.IndexValueCursor)3 IndexQueryContext (org.apache.ignite.internal.cache.query.index.sorted.inline.IndexQueryContext)2 H2Row (org.apache.ignite.internal.processors.query.h2.opt.H2Row)2 QueryContext (org.apache.ignite.internal.processors.query.h2.opt.QueryContext)2 Lock (java.util.concurrent.locks.Lock)1 ReadWriteLock (java.util.concurrent.locks.ReadWriteLock)1 ReentrantReadWriteLock (java.util.concurrent.locks.ReentrantReadWriteLock)1 GridH2Row (org.apache.ignite.internal.processors.query.h2.opt.GridH2Row)1 CursorIteratorWrapper (org.apache.ignite.internal.processors.query.h2.opt.join.CursorIteratorWrapper)1 IndexingQueryCacheFilter (org.apache.ignite.spi.indexing.IndexingQueryCacheFilter)1 SearchRow (org.h2.result.SearchRow)1 Value (org.h2.value.Value)1 ValueGeometry (org.h2.value.ValueGeometry)1 Geometry (org.locationtech.jts.geom.Geometry)1