Search in sources :

Example 1 with IndexEntry

use of com.tuplejump.stargate.lucene.IndexEntryCollector.IndexEntry in project stargate-core by tuplejump.

the class ResultMapper method getColumnSlices.

private ColumnSlice[] getColumnSlices(Collection<IndexEntry> entries) {
    ColumnSlice[] columnSlices = new ColumnSlice[entries.size()];
    int i = 0;
    for (IndexEntry entry : entries) {
        Composite start = tableMapper.start(entry.clusteringKey);
        Composite end = tableMapper.end(start);
        ColumnSlice columnSlice = new ColumnSlice(start, end);
        columnSlices[i++] = columnSlice;
    }
    return columnSlices;
}
Also used : Composite(org.apache.cassandra.db.composites.Composite) ColumnSlice(org.apache.cassandra.db.filter.ColumnSlice) IndexEntry(com.tuplejump.stargate.lucene.IndexEntryCollector.IndexEntry)

Example 2 with IndexEntry

use of com.tuplejump.stargate.lucene.IndexEntryCollector.IndexEntry in project stargate-core by tuplejump.

the class ResultMapper method getPagedColumnSlices.

private ColumnSlice[] getPagedColumnSlices(DecoratedKey dk, Collection<IndexEntry> entries, int pageSize) {
    ArrayList<ColumnSlice> columnSlices = new ArrayList<>(Math.min(entries.size(), pageSize));
    for (IndexEntry entry : entries) {
        CellName cellName = entry.clusteringKey;
        if (!filter.columnFilter(dk.getKey()).maySelectPrefix(tableMapper.table.getComparator(), cellName.start())) {
            continue;
        }
        Composite start = tableMapper.start(cellName);
        Composite end = tableMapper.end(start);
        ColumnSlice columnSlice = new ColumnSlice(start, end);
        columnSlices.add(columnSlice);
        if (columnSlices.size() == pageSize) {
            break;
        }
    }
    return columnSlices.toArray(new ColumnSlice[columnSlices.size()]);
}
Also used : Composite(org.apache.cassandra.db.composites.Composite) ColumnSlice(org.apache.cassandra.db.filter.ColumnSlice) ArrayList(java.util.ArrayList) IndexEntry(com.tuplejump.stargate.lucene.IndexEntryCollector.IndexEntry) CellName(org.apache.cassandra.db.composites.CellName)

Aggregations

IndexEntry (com.tuplejump.stargate.lucene.IndexEntryCollector.IndexEntry)2 Composite (org.apache.cassandra.db.composites.Composite)2 ColumnSlice (org.apache.cassandra.db.filter.ColumnSlice)2 ArrayList (java.util.ArrayList)1 CellName (org.apache.cassandra.db.composites.CellName)1