com.datastax.driver.core.querybuilder.Select类的使用及代码示例

x33g5p2x  于2022-01-30 转载在 其他  
字(14.1k)|赞(0)|评价(0)|浏览(218)

本文整理了Java中com.datastax.driver.core.querybuilder.Select类的一些代码示例,展示了Select类的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Select类的具体详情如下:
包路径:com.datastax.driver.core.querybuilder.Select
类名称:Select

Select介绍

[英]A built SELECT statement.
[中]一个内置的SELECT语句。

代码示例

代码示例来源:origin: apache/usergrid

private <T> T getValuesCQL(
  final MapScope scope, final Collection<String> keys, final ResultsBuilderCQL<T> builder ) {
  final List<ByteBuffer> serializedKeys = new ArrayList<>();
  keys.forEach(key -> serializedKeys.add(getMapEntryPartitionKey(scope,key)));
  Clause in = QueryBuilder.in("key", serializedKeys );
  Statement statement = QueryBuilder.select().all().from(MAP_ENTRIES_TABLE)
    .where(in);
  ResultSet resultSet = session.execute(statement);
  return builder.buildResultsCQL( resultSet );
}

代码示例来源:origin: kaaproject/kaa

/**
 * Get all entities from cassandra database.
 * @return <code>List</code> of entities
 */
public List<T> find() {
 LOG.debug("Get all entities from column family {}", getColumnFamilyName());
 return findListByStatement(
   QueryBuilder.select()
     .all().from(getColumnFamilyName())
     .setConsistencyLevel(getReadConsistencyLevel()));
}

代码示例来源:origin: io.zipkin.zipkin2/zipkin-storage-cassandra-v1

Factory(Session session, TimestampCodec timestampCodec) {
 this.session = session;
 this.timestampCodec = timestampCodec;
 this.preparedStatement =
   session.prepare(
     QueryBuilder.select("ts", "trace_id")
       .from(Tables.SERVICE_SPAN_NAME_INDEX)
       .where(
         QueryBuilder.eq(
           "service_span_name", QueryBuilder.bindMarker("service_span_name")))
       .and(QueryBuilder.gte("ts", QueryBuilder.bindMarker("start_ts")))
       .and(QueryBuilder.lte("ts", QueryBuilder.bindMarker("end_ts")))
       .limit(QueryBuilder.bindMarker("limit_"))
       .orderBy(QueryBuilder.desc("ts")));
}

代码示例来源:origin: brianfrankcooper/YCSB

selectBuilder = QueryBuilder.select().all();
 } else {
  selectBuilder = QueryBuilder.select();
  for (String col : fields) {
   ((Select.Selection) selectBuilder).column(col);
 stmt = session.prepare(selectBuilder.from(table)
             .where(QueryBuilder.eq(YCSB_KEY, QueryBuilder.bindMarker()))
             .limit(1));
 stmt.setConsistencyLevel(readConsistencyLevel);
 if (trace) {
logger.debug("key = {}", key);
ResultSet rs = session.execute(stmt.bind(key));

代码示例来源:origin: kaaproject/kaa

@Override
public CassandraEndpointUser findByExternalIdAndTenantId(String externalId, String tenantId) {
 LOG.debug("Try to find endpoint user by external id {} and tenant id {}",
   externalId, tenantId);
 Where where = select().from(getColumnFamilyName())
   .where(eq(EP_USER_EXTERNAL_ID_PROPERTY, externalId))
   .and(eq(EP_USER_TENANT_ID_PROPERTY, tenantId));
 LOG.trace("Try to find endpoint user by cql select {}", where);
 CassandraEndpointUser endpointUser = findOneByStatement(where);
 LOG.trace("Found {} endpoint user", endpointUser);
 return endpointUser;
}

代码示例来源:origin: io.zipkin.java/zipkin-storage-cassandra

@Override public CheckResult check() {
 try {
  session.get().execute(QueryBuilder.select("trace_id").from("traces").limit(1));
 } catch (RuntimeException e) {
  return CheckResult.failed(e);
 }
 return CheckResult.OK;
}

代码示例来源:origin: Netflix/conductor

/**
 * @return cql query statement to retrieve the workflow_id for a particular task_id from the "task_lookup" table
 */
public String getSelectTaskFromLookupTableStatement() {
  return QueryBuilder.select(WORKFLOW_ID_KEY)
      .from(keyspace, TABLE_TASK_LOOKUP)
      .where(eq(TASK_ID_KEY, bindMarker()))
      .getQueryString();
}

代码示例来源:origin: com.datastax.cassandra/cassandra-driver-core

@Test(groups = "short")
public void should_support_per_partition_limit() throws Exception {
 assertThat(session().execute(select().all().from("test_ppl").perPartitionLimit(2)))
   .contains(
     row(0, 0, 0),
 assertThat(session().execute(select().all().from("test_ppl").perPartitionLimit(2).limit(6)))
   .hasSize(6);
 assertThat(session().execute(select().all().from("test_ppl").perPartitionLimit(2).limit(5)))
   .contains(row(0, 0, 0), row(0, 1, 1), row(1, 0, 0), row(1, 1, 1), row(2, 0, 0));
       .execute(select().all().from("test_ppl").where(in("a", 2, 3)).perPartitionLimit(2)))
   .contains(row(2, 0, 0), row(2, 1, 1), row(3, 0, 0), row(3, 1, 1));
 assertThat(
           .where(in("a", 2, 3))
           .perPartitionLimit(bindMarker())
           .limit(3)
           .getQueryString(),
         2))
   .hasSize(3);
           .where(in("a", 1, 2, 3))
           .perPartitionLimit(bindMarker())
           .limit(3)
           .getQueryString(),
         2))
   .hasSize(3);

代码示例来源:origin: com.datastax.cassandra/cassandra-driver-core

.execute(
        select("a", "b", "e", count("b"), max("e"))
          .from(table)
          .where(eq("b", 2))
          .groupBy("a", "b")
          .allowFiltering()))
  .containsExactly(row(1, 2, 6, 2L, 12), row(2, 2, 6, 1L, 6));
      .execute(
        select("a", "b", "e", count("b"), max("e"))
          .from(table)
          .groupBy("a", "b")
          .limit(2)))
  .containsExactly(row(1, 2, 6, 2L, 12), row(1, 4, 12, 2L, 24));
      .execute(
        select("a", "b", "e", count("b"), max("e"))
          .from(table)
          .groupBy("a", "b")
          .perPartitionLimit(1)))
  .containsExactly(row(1, 2, 6, 2L, 12), row(2, 2, 6, 1L, 6), row(4, 8, 24, 1L, 24));
          .groupBy("a", "b")
          .perPartitionLimit(1)
          .limit(2)))
  .containsExactly(row(1, 2, 6, 2L, 12), row(2, 2, 6, 1L, 6));
assertThat(session().execute(select("a", count("a")).distinct().from(table).groupBy("a")))
  .containsExactly(row(1, 1L), row(2, 1L), row(4, 1L));

代码示例来源:origin: com.datastax.cassandra/cassandra-driver-core

select = select().all().from("foo").where(eq("k", 4)).and(gt("c", "a")).and(lte("c", "z"));
assertEquals(select.toString(), query);
  select().all().from("foo").where().and(eq("k", 4)).and(gt("c", "a")).and(lte("c", "z"));
assertEquals(select.toString(), query);
    .from("foo")
    .where(in("a", InetAddress.getByName("127.0.0.1"), InetAddress.getByName("127.0.0.3")))
    .limit(42);
assertEquals(select.toString(), query);
select = select().writeTime("a").ttl("a").from("foo").allowFiltering();
assertEquals(select.toString(), query);
    .limit(bindMarker("limit"));
assertEquals(select.toString(), query);
    .where(in("k"))
    .where()
select = select("a").from("foo").where(in("k"));
assertEquals(select.toString(), query);
select = select("a").from("foo").where(in("k", bindMarker()));
assertEquals(select.toString(), query);
select = select("a").distinct().from("foo").where(eq("k", 1));

代码示例来源:origin: com.datastax.cassandra/cassandra-driver-core

@Test(groups = "short")
public void should_handle_contains_on_list_with_index() {
 PreparedStatement byBuyer =
   session()
     .prepare(
       select("id", "description", "buyers")
         .from("products")
         .where(contains("buyers", bindMarker("buyer"))));
 ResultSet results = session().execute(byBuyer.bind().setInt("buyer", 4));
 Row row = results.one();
 assertThat(row).isNotNull();
 assertThat(row.getInt("id")).isEqualTo(38471);
 assertThat(row.getList("buyers", Integer.class)).contains(4);
}

代码示例来源:origin: com.bazaarvoice.emodb/emodb-sor

/**
 * Reads columns from the delta or delta history table.  The range of columns, order, and limit can be
 * parameterized.
 */
private ResultSet columnScan(DeltaPlacement placement, TableDDL tableDDL, ByteBuffer rowKey, Range<RangeTimeUUID> columnRange,
               boolean ascending, int limit, ConsistencyLevel consistency) {
  Select.Where where = selectFrom(tableDDL)
      .where(eq(tableDDL.getRowKeyColumnName(), rowKey));
  if (columnRange.hasLowerBound()) {
    if (columnRange.lowerBoundType() == BoundType.CLOSED) {
      where = where.and(gte(tableDDL.getChangeIdColumnName(), columnRange.lowerEndpoint().getUuid()));
    } else {
      where = where.and(gt(tableDDL.getChangeIdColumnName(), columnRange.lowerEndpoint().getUuid()));
    }
  }
  if (columnRange.hasUpperBound()) {
    if (columnRange.upperBoundType() == BoundType.CLOSED) {
      where = where.and(lte(tableDDL.getChangeIdColumnName(), columnRange.upperEndpoint().getUuid()));
    } else {
      where = where.and(lt(tableDDL.getChangeIdColumnName(), columnRange.upperEndpoint().getUuid()));
    }
  }
  Statement statement = where
      .orderBy(ascending ? asc(tableDDL.getChangeIdColumnName()) : desc(tableDDL.getChangeIdColumnName()))
      .limit(limit)
      .setConsistencyLevel(consistency);
  return AdaptiveResultSet.executeAdaptiveQuery(placement.getKeyspace().getCqlSession(), statement, _driverConfig.getSingleRowFetchSize());
}

代码示例来源:origin: org.apache.james/apache-james-mailbox-cassandra

private PreparedStatement prepareReadStatement(Session session) {
  return session.prepare(select(UID)
    .from(TABLE_NAME)
    .where(eq(MAILBOX_ID, bindMarker(MAILBOX_ID)))
    .orderBy(asc(UID))
    .limit(1));
}

代码示例来源:origin: com.datastax.cassandra/cassandra-driver-core

@Test(groups = "unit")
public void should_handle_per_partition_limit_clause() {
 assertThat(select().all().from("foo").perPartitionLimit(2).toString())
   .isEqualTo("SELECT * FROM foo PER PARTITION LIMIT 2;");
 assertThat(select().all().from("foo").perPartitionLimit(bindMarker()).toString())
   .isEqualTo("SELECT * FROM foo PER PARTITION LIMIT ?;");
 assertThat(select().all().from("foo").perPartitionLimit(bindMarker("limit")).toString())
   .isEqualTo("SELECT * FROM foo PER PARTITION LIMIT :limit;");
 assertThat(select().all().from("foo").perPartitionLimit(2).limit(bindMarker()).toString())
   .isEqualTo("SELECT * FROM foo PER PARTITION LIMIT 2 LIMIT ?;");
 assertThat(
       .where(in("a", 2, 4))
       .perPartitionLimit(2)
       .limit(3)
       .toString())
   .isEqualTo("SELECT * FROM foo WHERE a IN (2,4) PER PARTITION LIMIT 2 LIMIT 3;");
 assertThat(
       .where(eq("a", bindMarker()))
       .perPartitionLimit(bindMarker())
       .limit(3)
       .toString())
   .isEqualTo("SELECT * FROM foo WHERE a=? PER PARTITION LIMIT ? LIMIT 3;");
 assertThat(
       .where(eq("a", bindMarker()))
       .orderBy(desc("b"))
       .perPartitionLimit(2)
       .limit(3)

代码示例来源:origin: tech.aroma.banana/banana-data-operations

private Statement createQueryToFindMessagesByApplication(String applicationId)
{
  UUID appId = UUID.fromString(applicationId);
  
  return queryBuilder
    .select()
    .all()
    .from(Messages.TABLE_NAME)
    .where(eq(APP_ID, appId))
    .orderBy(desc(MESSAGE_ID))
    .limit(3000);
}

代码示例来源:origin: com.datastax.cassandra/cassandra-driver-core

/** @test_category queries:builder */
 @Test(groups = "unit")
 public void should_handle_allow_filtering() {
  assertThat(select().all().from("foo").allowFiltering().toString())
    .isEqualTo("SELECT * FROM foo ALLOW FILTERING;");
  assertThat(select().all().from("foo").where(eq("x", 42)).allowFiltering().toString())
    .isEqualTo("SELECT * FROM foo WHERE x=42 ALLOW FILTERING;");
 }
}

代码示例来源:origin: jooby-project/jooby

private static String selectSQL(final String table) {
 return select().from(table).where(eq(ID, raw("?"))).getQueryString();
}

代码示例来源:origin: com.datastax.cassandra/cassandra-driver-core

select = select().all().from("foo").where(eq("k", "4 AND c=5"));
assertEquals(select.toString(), query);
select = select().all().from("foo").where(eq("k", "4' AND c='5"));
assertEquals(select.toString(), query);
select = select().all().from("foo").where(eq("k", "4' OR '1'='1"));
assertEquals(select.toString(), query);
select = select().all().from("foo").where(eq("k", "4; --test comment;"));
assertEquals(select.toString(), query);
select = select("a", "b").from("foo").where(in("a", "b", "c'); --comment"));
assertEquals(select.toString(), query);
  select("a", "b")
    .from("foo")
    .where(in("a", Sets.newLinkedHashSet(Arrays.asList("a", "b", "c"))));
assertEquals(select.toString(), query);
select = select().writeTime("a) FROM bar; --").ttl("a").from("foo").allowFiltering();
assertEquals(select.toString(), query);
select = select().writeTime("a").ttl("a) FROM bar; --").from("foo").allowFiltering();
assertEquals(select.toString(), query);
select = select().all().from("foo").where(gt("k=1 OR k", 42)).limit(42);
assertEquals(select.toString(), query);

代码示例来源:origin: Netflix/CassJMeter

@Override
public ResponseData get(Object rkey, Object colName) throws OperationException {
  Session session = DataStaxClientConnection.instance.session();
  TableMetadata tm = DataStaxClientConnection.instance.getKeyspaceMetadata().getTable(cfName);
  String partitionKey = tm.getPartitionKey().get(0).getName();
  
  Query query = QueryBuilder.select(colName.toString()).from(cfName).where(QueryBuilder.eq(partitionKey, rkey)).limit(1000000)
      .setConsistencyLevel(ConsistencyLevel.valueOf(com.netflix.jmeter.properties.Properties.instance.cassandra.getReadConsistency()));
  
  ResultSetFuture rs = session.executeAsync(query);
  int size = 0;
  try {
    Row row = rs.getUninterruptibly(1000000, TimeUnit.MILLISECONDS).one();
    size = row != null ? row.getBytesUnsafe(colName.toString()).capacity() : 0;
  }
  catch (TimeoutException e) {
    e.printStackTrace();
    throw new OperationException(e);
  }
  return new DataStaxClientResponseData("", size, "", 0, rkey, colName, null);
}

代码示例来源:origin: com.datastax.cassandra/cassandra-driver-core

assertThat(select().all().from("foo").groupBy("c1", column("c2"), raw("c3")).toString())
  .isEqualTo("SELECT * FROM foo GROUP BY c1,c2,c3;");
assertThat(
    select()
      .all()
      .from("foo")
      .groupBy("c1", column("c2"), raw("c3"))
      .orderBy(asc("c1"))
      .toString())
  .isEqualTo("SELECT * FROM foo GROUP BY c1,c2,c3 ORDER BY c1 ASC;");
assertThat(
    select()
      .all()
      .from("foo")
      .where(eq("x", 42))
      .groupBy("c1", column("c2"), raw("c3"))
      .toString())
  .isEqualTo("SELECT * FROM foo WHERE x=42 GROUP BY c1,c2,c3;");
assertThat(
      .all()
      .from("foo")
      .where(eq("x", 42))
      .groupBy("c1", column("c2"), raw("c3"))
      .orderBy(asc("c1"))
      .toString())
  .isEqualTo("SELECT * FROM foo WHERE x=42 GROUP BY c1,c2,c3 ORDER BY c1 ASC;");
try {
 select().all().from("foo").groupBy("foo").groupBy("bar");

相关文章