private boolean useSecondaryId(final MetadataQuery query) { return !MetadataType.STATS.equals(metadataType) || query.hasSecondaryId(); } }
@Override public boolean apply(final GeoWaveMetadata input) { if (query.hasPrimaryId() && !startsWith(input.getPrimaryId(), query.getPrimaryId())) { return false; } if (query.hasSecondaryId() && !Arrays.equals(input.getSecondaryId(), query.getSecondaryId())) { return false; } return true; } });
@Override public boolean apply(final GeoWaveMetadata input) { if (query.hasPrimaryId() && !startsWith(input.getPrimaryId(), query.getPrimaryId())) { return false; } if (query.hasSecondaryId() && !Arrays.equals(input.getSecondaryId(), query.getSecondaryId())) { return false; } return true; } });
@Override public boolean delete(final MetadataQuery query) { final Delete delete = operations.getDelete(operations.getMetadataTableName(metadataType)); if (query.hasPrimaryId()) { final Where where = delete.where( QueryBuilder.eq( CassandraMetadataWriter.PRIMARY_ID_KEY, ByteBuffer.wrap(query.getPrimaryId()))); if (query.hasSecondaryId()) { where.and( QueryBuilder.eq( CassandraMetadataWriter.SECONDARY_ID_KEY, ByteBuffer.wrap(query.getSecondaryId()))); } } // deleting by secondary ID without primary ID is not supported (and not // directly supported by cassandra, we'd have top query first to get // primary ID(s) and then delete, but this is not a use case necessary // at the moment operations.getSession().execute(delete); return true; }
final QueryRequest queryRequest = new QueryRequest(tableName); if (metadata.hasSecondaryId()) { queryRequest.withFilterExpression( DynamoDBOperations.METADATA_SECONDARY_ID_KEY
Iterator<GeoWaveMetadata> resultsIt; if (query.hasPrimaryId()) { if (query.hasSecondaryId()) { originalResults = table.iterator(query.getPrimaryId(), query.getSecondaryId()); resultsIt = originalResults; resultsIt = originalResults; if (query.hasPrimaryId() || query.hasSecondaryId()) { resultsIt = Iterators.filter(resultsIt, new Predicate<GeoWaveMetadata>() {
CassandraMetadataWriter.PRIMARY_ID_KEY, ByteBuffer.wrap(query.getPrimaryId()))); if (query.hasSecondaryId()) { where.and( QueryBuilder.eq( ByteBuffer.wrap(query.getSecondaryId()))); } else if (query.hasSecondaryId()) { select.allowFiltering().where( QueryBuilder.eq(
results = set; if (query.hasPrimaryId() || query.hasSecondaryId()) { results = Iterables.filter(results, new Predicate<GeoWaveMetadata>() {
final QueryRequest queryRequest = new QueryRequest(tableName); if (query.hasSecondaryId()) { queryRequest.withFilterExpression( DynamoDBOperations.METADATA_SECONDARY_ID_KEY if (query.hasSecondaryId()) { scan.addScanFilterEntry( DynamoDBOperations.METADATA_SECONDARY_ID_KEY,