use of com.couchbase.client.java.query.QueryResult in project couchbase-jvm-clients by couchbase.
the class ParameterizedQueryExample method main.
public static void main(String... args) {
Cluster cluster = Cluster.connect("127.0.0.1", "Administrator", "password");
Bucket bucket = cluster.bucket("travel-sample");
QueryResult result = cluster.query("select * from `travel-sample` where type = ? limit 5", queryOptions().parameters(JsonArray.from("airport")));
System.out.println(result.rowsAsObject());
result = cluster.query("select * from `travel-sample` where type = $type limit 5", queryOptions().parameters(JsonObject.create().put("type", "airport")));
System.out.println(result.rowsAsObject());
}
use of com.couchbase.client.java.query.QueryResult in project couchbase-jvm-clients by couchbase.
the class QueryCollectionIntegrationTest method performsNonAdhocQuery.
@Test
void performsNonAdhocQuery() {
Scope scope = cluster.bucket(config().bucketname()).scope(SCOPE_NAME);
Collection collection = scope.collection(COLLECTION_NAME);
String id = insertDoc(collection);
QueryResult result = scope.query("select meta().id as id from `" + COLLECTION_NAME + "`", queryOptions().scanConsistency(QueryScanConsistency.REQUEST_PLUS).adhoc(false));
boolean hasDoc = false;
for (JsonObject row : result.rowsAsObject()) {
if (row.getString("id").equals(id)) {
hasDoc = true;
}
}
assertTrue(hasDoc);
}
use of com.couchbase.client.java.query.QueryResult in project couchbase-jvm-clients by couchbase.
the class QueryCollectionIntegrationTest method consistentWith.
// Test for MB-46876
@Test
void consistentWith() {
String id = UUID.randomUUID().toString();
Scope scope = cluster.bucket(config().bucketname()).scope(SCOPE_NAME);
Collection collection = scope.collection(COLLECTION_NAME);
MutationResult mr = collection.insert(id, FOO_CONTENT);
QueryOptions options = queryOptions().consistentWith(MutationState.from(mr.mutationToken().get())).parameters(JsonArray.from(id));
QueryResult result = scope.query("select * from `" + COLLECTION_NAME + "` where meta().id=$1", options);
List<JsonObject> rows = result.rowsAs(JsonObject.class);
assertEquals(1, rows.size());
assertEquals(FOO_CONTENT, rows.get(0).getObject(COLLECTION_NAME));
}
use of com.couchbase.client.java.query.QueryResult in project couchbase-jvm-clients by couchbase.
the class QueryConcurrencyIntegrationTest method setup.
@BeforeAll
static void setup() {
cluster = createCluster(env -> env.ioConfig(IoConfig.enableMutationTokens(true)));
Bucket bucket = cluster.bucket(config().bucketname());
Collection collection = bucket.defaultCollection();
bucket.waitUntilReady(Duration.ofSeconds(5));
waitForService(bucket, ServiceType.QUERY);
waitForQueryIndexerToHaveKeyspace(cluster, config().bucketname());
bucketName = "`" + config().bucketname() + "`";
createPrimaryIndex(cluster, config().bucketname());
for (int i = 0; i < numDocsInserted; i++) {
collection.insert("doc-" + i, FOO_CONTENT);
}
Util.waitUntilCondition(() -> {
QueryResult countResult = cluster.query("select count(*) as count from " + bucketName, queryOptions().scanConsistency(QueryScanConsistency.REQUEST_PLUS));
return countResult.rowsAsObject().get(0).getInt("count") >= numDocsInserted;
}, Duration.ofSeconds(10), Duration.ofSeconds(1));
QueryResult countResult = cluster.query("select count(*) as count from " + bucketName, queryOptions().scanConsistency(QueryScanConsistency.REQUEST_PLUS));
assertTrue(numDocsInserted <= countResult.rowsAsObject().get(0).getInt("count"));
}
use of com.couchbase.client.java.query.QueryResult in project couchbase-jvm-clients by couchbase.
the class QueryIntegrationTest method handlesPreparedStatementsWithNamedArgs.
@Test
void handlesPreparedStatementsWithNamedArgs() {
String id = insertDoc();
for (int i = 0; i < 10; i++) {
QueryOptions options = queryOptions().scanConsistency(QueryScanConsistency.REQUEST_PLUS).parameters(JsonObject.create().put("id", id)).adhoc(false);
QueryResult result = cluster.query("select " + bucketName + ".* from " + bucketName + " where meta().id=$id", options);
List<JsonObject> rows = result.rowsAs(JsonObject.class);
assertEquals(1, rows.size());
assertEquals(FOO_CONTENT, rows.get(0));
}
}
Aggregations