Я не могу создать первичный индекс на диване с помощью скрипта groovy. Ниже приведены строки кода, которые я использовал: -
@Grab('com.couchbase.client:java-client:2.2.6')
import java.util.concurrent.CountDownLatch;
import com.couchbase.client.java.Bucket;
import com.couchbase.client.java.Cluster;
import com.couchbase.client.java.CouchbaseCluster;
import com.couchbase.client.java.document.JsonDocument;
import com.couchbase.client.java.document.json.JsonObject;
import com.couchbase.client.java.CouchbaseCluster
import com.couchbase.client.java.query.N1qlQuery;
import com.couchbase.client.java.query.N1qlQueryResult;
import com.couchbase.client.java.query.N1qlQueryRow;
import com.couchbase.client.java.query.SimpleN1qlQuery;
import com.couchbase.client.java.env.CouchbaseEnvironment;
import com.couchbase.client.java.env.DefaultCouchbaseEnvironment;
CouchbaseEnvironment env = DefaultCouchbaseEnvironment.builder().connectTimeout(10000).build();
def cluster = CouchbaseCluster.create(env, IPADDRESS);
def bucket = cluster.openBucket(BUCKET_NAME, BUCKET_PASSWORD);
log.info "Connection done"
String queryString = "CREATE PRIMARY INDEX `PrimInd` ON BUCKET_NAME"
bucket.query(N1qlQuery.simple(queryString))
log.info "Primary index created"
Это дает мне ошибку, как показано ниже: -
java.lang.RuntimeException: java.util.concurrent.TimeoutException at this line:-
bucket.query(N1qlQuery.simple(queryString))
Соединение выполняется правильно, и тот же запрос работает на сервере Couchbase. Итак, я думаю, что есть проблема с моим кодом.
Не могли бы вы помочь мне в этом?
"CREATE PRIMARY INDEX `PrimInd` ON `BUCKET_NAME`"
не должно быть"CREATE PRIMARY INDEX `PrimInd` ON `$BUCKET_NAME`"
? - person tim_yates   schedule 26.02.2018PrimInd
НА$demo
- person avidCoder   schedule 26.02.2018BUCKET_NAME
дальше по сценарию, затем литералBUCKET_NAME
в запросе - person tim_yates   schedule 26.02.2018