Search in sources :

Example 1 with H2RowLinkIO

use of org.apache.ignite.internal.processors.query.h2.database.io.H2RowLinkIO in project ignite by apache.

the class H2Tree method getRow.

/**
 * {@inheritDoc}
 */
@Override
protected GridH2Row getRow(BPlusIO<SearchRow> io, long pageAddr, int idx, Object filter) throws IgniteCheckedException {
    if (filter != null) {
        // Filter out not interesting partitions without deserializing the row.
        IndexingQueryCacheFilter filter0 = (IndexingQueryCacheFilter) filter;
        long link = ((H2RowLinkIO) io).getLink(pageAddr, idx);
        int part = PageIdUtils.partId(PageIdUtils.pageId(link));
        if (!filter0.applyPartition(part))
            return null;
    }
    return (GridH2Row) io.getLookupRow(this, pageAddr, idx);
}
Also used : GridH2Row(org.apache.ignite.internal.processors.query.h2.opt.GridH2Row) H2RowLinkIO(org.apache.ignite.internal.processors.query.h2.database.io.H2RowLinkIO) IndexingQueryCacheFilter(org.apache.ignite.spi.indexing.IndexingQueryCacheFilter)

Aggregations

H2RowLinkIO (org.apache.ignite.internal.processors.query.h2.database.io.H2RowLinkIO)1 GridH2Row (org.apache.ignite.internal.processors.query.h2.opt.GridH2Row)1 IndexingQueryCacheFilter (org.apache.ignite.spi.indexing.IndexingQueryCacheFilter)1