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);
}