Java源码示例:com.datastax.driver.core.querybuilder.Select.Selection
示例1
private List<Invitation> listByIndex(Statement idxStmt, Predicate<Row> filter) {
final List<String> codes = new ArrayList<>();
session.execute(idxStmt).forEach((r) -> { codes.add(r.getString(Column.code.name())); });
if(codes.isEmpty()) {
return Collections.emptyList();
}
Selection sel = QueryBuilder.select();
for(Column c : Column.values()) {
sel.column(c.name());
}
Statement getInvites = sel
.from(TABLE)
.where(QueryBuilder.in(Column.code.name(), codes.toArray()))
.setConsistencyLevel(ConsistencyLevel.LOCAL_QUORUM);
List<Invitation> invitations = new ArrayList<>(codes.size());
session.execute(getInvites).forEach((r) -> { if(filter.test(r)) { invitations.add(build(r)); } });
return invitations;
}
示例2
public static Selection select(List<CassandraColumnHandle> columns)
{
Selection selection = QueryBuilder.select();
for (CassandraColumnHandle column : columns) {
selection.column(validColumnName(column.getName()));
}
return selection;
}
示例3
public static Select from(Selection selection, CassandraTableHandle tableHandle)
{
String schema = validSchemaName(tableHandle.getSchemaName());
String table = validTableName(tableHandle.getTableName());
return selection.from(schema, table);
}