final List<KeyValue> result ) { final FijiColumnName column = familyRequest.getColumnName(); if (result.size() == 0) { return ImmutableList.of(); final int length = Math.min(columnEnd - columnStart, familyRequest.getMaxVersions());
if (otherCol.getFilter() != null) { + otherCol.getName() + " has a filter."); if (otherCol.getQualifier() == null) { Column outFamily = otherCol; if (myCol.getFamily().equals(otherCol.getFamily())) { outFamily = mergeColumn(myCol.getFamily(), null, myCol, outFamily); families.add(outFamily.getFamily()); if (myCol.getFilter() != null) { + myCol.getName() + " has a filter."); if (myCol.getQualifier() == null && !families.contains(myCol.getFamily())) { Column outFamily = myCol; if (otherCol.getFamily().equals(myCol.getFamily())) { outFamily = mergeColumn(myCol.getFamily(), null, outFamily, otherCol); families.add(outFamily.getFamily()); if (otherCol.getQualifier() != null && !families.contains(otherCol.getFamily())) { Column myCol = getColumn(otherCol.getFamily(), otherCol.getQualifier()); if (null == myCol) { outCols.add(mergeColumn(myCol.getFamily(), myCol.getQualifier(), myCol, otherCol));
values.add(columnRequest.getMaxVersions()); if (columnRequest.getPageSize() != 0) { boundStatement.setFetchSize(columnRequest.getPageSize());
final FijiColumnName fijiColumnName = columnRequest.getColumnName(); final HBaseColumnName hbaseColumnName = mColumnNameTranslator.toHBaseColumnName(fijiColumnName); if (!columnRequest.isPagingEnabled()) { completelyPaged = false; largestMaxVersions = Math.max(largestMaxVersions, columnRequest.getMaxVersions());
if (columnRequest.isPagingEnabled()) { pagedRequestBuilder.newColumnsDef(columnRequest); } else {
if (columnRequest.getFilter() != null) { throw new UnsupportedOperationException( String.format("Cassandra Fiji does not support filters on column requests: %s.", columnRequest)); if (columnRequest.isPagingEnabled()) { pagedRequestBuilder.newColumnsDef(columnRequest); } else {
) { final FijiURI tableURI = table.getURI(); final FijiColumnName column = columnRequest.getColumnName(); final CassandraColumnName cassandraColumn; try { } else { if (columnRequest.getMaxVersions() != 0) { LOG.warn("Cassandra Fiji can not efficiently get a column family with max versions" + " (column family: {}, max version: {}). Filtering versions on the client.", column, columnRequest.getMaxVersions());
if (numVersions >= columnRequest.getMaxVersions()) { LOG.debug("Skipping remaining cells because we hit max versions requested: " + columnRequest.getMaxVersions()); break;
) throws IOException { final FijiColumnName fijiColumnName = columnRequest.getColumnName(); if (columnRequest.isPagingEnabled() || (fijiColumnName.isFullyQualified() && (columnRequest.getMaxVersions() == 1))) { if (columnRequest.getFilter() != null) { filter.addFilter( columnRequest.getFilter().toHBaseFilter(fijiColumnName, filterContext)); if (columnRequest.isPagingEnabled()) { filter.addFilter(new FirstKeyOnlyFilter());
if (!mColumnRequest.isPagingEnabled()) { throw new FijiColumnPagingNotEnabledException( String.format("Paging is not enabled for column '%s' from table %s.", mDefaultPageSize = mColumnRequest.getPageSize(); mEntityId = entityId; mTable = table; mTotalVersions = mColumnRequest.getMaxVersions(); mVersionsCount = 0;
mColumnRequest.getFilter(), // user filter new FijiPaginationFilter(pageSize), // Select at most 1 version per qualifier new StripValueColumnFilter()); // discard the cell content, we just need the qualifiers
mColumnRequest.getFilter(), // user filter new FijiPaginationFilter(pageSize), // Select at most one version / qualifier. new StripValueColumnFilter()); // discard the cell content, we just need the qualifiers
layout.getFamilyMap().get(columnRequest.getFamily()).getLocalityGroup().getId(); localityGroups.add(localityGroupId);
final Column exactRequest = dataRequest.getColumn(column); if (exactRequest != null) { Preconditions.checkArgument(!exactRequest.isPagingEnabled(), "Paging is enabled for column %s in data request %s.", exactRequest, dataRequest); return true; !familyRequest.isPagingEnabled(), "Paging is enabled for column %s in data request %s.", familyRequest, dataRequest); return true; boolean requestContainsColumns = false; for (final Column columnRequest : dataRequest.getColumns()) { if (columnRequest.getColumnName().getFamily().equals(column.getFamily())) { Preconditions.checkArgument( !columnRequest.isPagingEnabled(), "Paging is enabled for column %s in data request %s.", columnRequest, dataRequest); requestContainsColumns = true;
.withFilter(familyRequest.getFilter()) .withPageSize(familyRequest.getPageSize()) .withMaxVersions(familyRequest.getMaxVersions()) .add(column.getFamily(), column.getQualifier(), familyRequest.getReaderSpec()); if (columnRequest.getColumnName().getFamily().equals(column.getFamily())) { columnRequests.add(columnRequest);
final int mMaxVersions = columnRequest.getMaxVersions(); final long mMinTimestamp = dataRequest.getMinTimestamp(); final long mMaxTimestamp = dataRequest.getMaxTimestamp();
!columnRequest.isPagingEnabled(), "CassandraMaterializedFijiResult can not be created with a paged data request: %s.", dataRequest); columnRequest.getColumnName(), CassandraFijiResult.<T>getColumn( table,
if (column.getQualifier() == null) { final boolean isNotDuplicate = families.add(column.getFamily()); Preconditions.checkState(isNotDuplicate, "Duplicate definition for family '%s'.", column.getFamily()); Preconditions.checkState(!familiesOfColumns.contains(column.getFamily()), "FijiDataRequest may not simultaneously contain definitions for family '%s' " + "and definitions for fully qualified columns in family '%s'.", column.getFamily(), column.getFamily()); final boolean isNotDuplicate = columns.add(column.getColumnName()); Preconditions.checkState(isNotDuplicate, "Duplicate definition for column '%s'.", column); Preconditions.checkState(!families.contains(column.getFamily()), "FijiDataRequest may not simultaneously contain definitions for family '%s' " + "and definitions for fully qualified columns '%s'.", column.getFamily(), column.getColumnName()); familiesOfColumns.add(column.getFamily());
.withTimeRange(mDataRequest.getMinTimestamp(), mPageMaxTimestamp) .addColumns(ColumnsDef.create() .withFilter(mColumnRequest.getFilter()) .withMaxVersions(maxVersions) .add(mColumnName))
ImmutableMap.builder(); for (FijiDataRequest.Column column : mDataRequest.getColumns()) { if (column.getReaderSpec() != null) { overridesBuilder.put(column.getColumnName(), column.getReaderSpec());