@InterfaceStability.Committed @InterfaceAudience.Public public interface BucketManager
Bucket
.
Operations provided on the BucketManager
can be used to perform administrative tasks which require
bucket-level credentials like managing DesignDocument
s or flushing a Bucket
. Access to the
underlying AsyncBucketManager
is provided through the async()
method.Modifier and Type | Method and Description |
---|---|
AsyncBucketManager |
async()
Returns the underlying
AsyncBucketManager for asynchronous execution. |
List<String> |
buildN1qlDeferredIndexes()
Instruct the query engine to trigger the build of indexes that have been deferred, within the default management
timeout.
|
List<String> |
buildN1qlDeferredIndexes(long timeout,
TimeUnit timeUnit)
Instruct the query engine to trigger the build of indexes that have been deferred, within a custom timeout.
|
boolean |
createN1qlIndex(String indexName,
boolean ignoreIfExist,
boolean defer,
Object... fields)
Create a secondary index for the current bucket, with the default management timeout.
|
boolean |
createN1qlIndex(String indexName,
List<Object> fields,
Expression whereClause,
boolean ignoreIfExist,
boolean defer)
Create a secondary index for the current bucket, with the default management timeout.
|
boolean |
createN1qlIndex(String indexName,
List<Object> fields,
Expression whereClause,
boolean ignoreIfExist,
boolean defer,
long timeout,
TimeUnit timeUnit)
Create a secondary index for the current bucket, with a custom timeout.
|
boolean |
createN1qlPrimaryIndex(boolean ignoreIfExist,
boolean defer)
Create a primary index for the current bucket, within the default management timeout.
|
boolean |
createN1qlPrimaryIndex(boolean ignoreIfExist,
boolean defer,
long timeout,
TimeUnit timeUnit)
Create a primary index for the current bucket, within a custom timeout.
|
boolean |
createN1qlPrimaryIndex(String customName,
boolean ignoreIfExist,
boolean defer)
Create a custom-named primary index for the current bucket, within the default management timeout.
|
boolean |
createN1qlPrimaryIndex(String customName,
boolean ignoreIfExist,
boolean defer,
long timeout,
TimeUnit timeUnit)
Create a custom-named primary index for the current bucket, within a custom timeout.
|
boolean |
dropN1qlIndex(String name,
boolean ignoreIfNotExist)
Drop the given secondary index associated with the current bucket, within the default management timeout.
|
boolean |
dropN1qlIndex(String name,
boolean ignoreIfNotExist,
long timeout,
TimeUnit timeUnit)
Drop the given secondary index associated with the current bucket, within a custom timeout.
|
boolean |
dropN1qlPrimaryIndex(boolean ignoreIfNotExist)
Drop the default primary index (
Index.PRIMARY_NAME ) associated with the current bucket, within the default management timeout. |
boolean |
dropN1qlPrimaryIndex(boolean ignoreIfNotExist,
long timeout,
TimeUnit timeUnit)
Drop the default primary index (
Index.PRIMARY_NAME ) associated with the current bucket, within a custom timeout. |
boolean |
dropN1qlPrimaryIndex(String customName,
boolean ignoreIfNotExist)
Drop the given custom-named primary index associated with the current bucket, within the default management timeout.
|
boolean |
dropN1qlPrimaryIndex(String customName,
boolean ignoreIfNotExist,
long timeout,
TimeUnit timeUnit)
Drop the given custom-named primary index associated with the current bucket, within a custom timeout.
|
Boolean |
flush()
Flushes the bucket (removes all data) with the default management timeout.
|
Boolean |
flush(long timeout,
TimeUnit timeUnit)
Flushes the bucket (removes all data) with a custom timeout.
|
DesignDocument |
getDesignDocument(String name)
Loads a published
DesignDocument by its name with the default management timeout. |
DesignDocument |
getDesignDocument(String name,
boolean development)
Loads a
DesignDocument by its name from either development or production with the default management
timeout. |
DesignDocument |
getDesignDocument(String name,
boolean development,
long timeout,
TimeUnit timeUnit)
Loads a
DesignDocument s by its name from either development or production with a custom timeout. |
DesignDocument |
getDesignDocument(String name,
long timeout,
TimeUnit timeUnit)
Loads a published
DesignDocument by its name with the a custom timeout. |
List<DesignDocument> |
getDesignDocuments()
Loads all published
DesignDocument s with the default management timeout. |
List<DesignDocument> |
getDesignDocuments(boolean development)
Loads all
DesignDocument s from either development or production with the default management timeout. |
List<DesignDocument> |
getDesignDocuments(boolean development,
long timeout,
TimeUnit timeUnit)
Loads all
DesignDocument s from either development or production with a custom timeout. |
List<DesignDocument> |
getDesignDocuments(long timeout,
TimeUnit timeUnit)
Loads all published
DesignDocument s with a custom timeout. |
BucketInfo |
info()
Returns information about the connected bucket with the default management timeout.
|
BucketInfo |
info(long timeout,
TimeUnit timeUnit)
Returns information about the connected bucket with a custom timeout.
|
DesignDocument |
insertDesignDocument(DesignDocument designDocument)
Inserts a
DesignDocument into production if it does not exist with the default management timeout. |
DesignDocument |
insertDesignDocument(DesignDocument designDocument,
boolean development)
Inserts a
DesignDocument into development or production if it does not exist with the default
management timeout. |
DesignDocument |
insertDesignDocument(DesignDocument designDocument,
boolean development,
long timeout,
TimeUnit timeUnit)
Inserts a
DesignDocument into development or production if it does not exist with a custom timeout. |
DesignDocument |
insertDesignDocument(DesignDocument designDocument,
long timeout,
TimeUnit timeUnit)
Inserts a
DesignDocument into production if it does not exist with a custom timeout. |
List<IndexInfo> |
listN1qlIndexes()
List all N1QL GSI indexes that are registered for the current bucket, with the default management timeout.
|
List<IndexInfo> |
listN1qlIndexes(long timeout,
TimeUnit timeUnit)
List all N1QL GSI indexes that are registered for the current bucket, with a custom timeout.
|
DesignDocument |
publishDesignDocument(String name)
Publishes a
DesignDocument from development into production with the default management timeout. |
DesignDocument |
publishDesignDocument(String name,
boolean overwrite)
Publishes a
DesignDocument from development into production with the default management timeout. |
DesignDocument |
publishDesignDocument(String name,
boolean overwrite,
long timeout,
TimeUnit timeUnit)
Publishes a
DesignDocument from development into production with a custom timeout. |
DesignDocument |
publishDesignDocument(String name,
long timeout,
TimeUnit timeUnit)
Publishes a
DesignDocument from development into production with a custom timeout. |
Boolean |
removeDesignDocument(String name)
Removes a
DesignDocument from production by its name with the default management timeout. |
Boolean |
removeDesignDocument(String name,
boolean development)
Removes a
DesignDocument from production or development by its name with the default management timeout. |
Boolean |
removeDesignDocument(String name,
boolean development,
long timeout,
TimeUnit timeUnit)
Removes a
DesignDocument from production or development by its name with a custom timeout. |
Boolean |
removeDesignDocument(String name,
long timeout,
TimeUnit timeUnit)
Removes a
DesignDocument from production by its name with a custom timeout. |
DesignDocument |
upsertDesignDocument(DesignDocument designDocument)
Upserts (inserts or replaces) a
DesignDocument into production with the default management timeout. |
DesignDocument |
upsertDesignDocument(DesignDocument designDocument,
boolean development)
Upserts (inserts or replaces) a
DesignDocument into production or development with the default management
timeout. |
DesignDocument |
upsertDesignDocument(DesignDocument designDocument,
boolean development,
long timeout,
TimeUnit timeUnit)
Upserts (inserts or replaces) a
DesignDocument into production or development with a custom timeout. |
DesignDocument |
upsertDesignDocument(DesignDocument designDocument,
long timeout,
TimeUnit timeUnit)
Upserts (inserts or replaces) a
DesignDocument into production with a custom timeout. |
List<IndexInfo> |
watchN1qlIndexes(List<String> watchList,
long watchTimeout,
TimeUnit watchTimeUnit)
Watches all given indexes (possibly including the primary one), polling the query service until they become
"online" or the watchTimeout has expired.
|
AsyncBucketManager async()
AsyncBucketManager
for asynchronous execution.BucketInfo info()
BucketInfo
.BucketInfo info(long timeout, TimeUnit timeUnit)
timeout
- the custom timeout.timeUnit
- the time unit for the custom timeout.BucketInfo
.Boolean flush()
Boolean flush(long timeout, TimeUnit timeUnit)
timeout
- the custom timeout.timeUnit
- the time unit for the custom timeout.List<DesignDocument> getDesignDocuments()
DesignDocument
s with the default management timeout.
This method throws:
- java.util.concurrent.TimeoutException: If the timeout is exceeded.
- com.couchbase.client.java.error.TranscodingException: If the server response could not be parsed.DesignDocument
s.List<DesignDocument> getDesignDocuments(long timeout, TimeUnit timeUnit)
DesignDocument
s with a custom timeout.
This method throws:
- java.util.concurrent.TimeoutException: If the timeout is exceeded.
- com.couchbase.client.java.error.TranscodingException: If the server response could not be parsed.timeout
- the custom timeout.timeUnit
- the time unit for the custom timeout.DesignDocument
s.List<DesignDocument> getDesignDocuments(boolean development)
DesignDocument
s from either development or production with the default management timeout.
This method throws:
- java.util.concurrent.TimeoutException: If the timeout is exceeded.
- com.couchbase.client.java.error.TranscodingException: If the server response could not be parsed.development
- if DesignDocument
s should be loaded from development or from production.DesignDocument
s.List<DesignDocument> getDesignDocuments(boolean development, long timeout, TimeUnit timeUnit)
DesignDocument
s from either development or production with a custom timeout.
This method throws:
- java.util.concurrent.TimeoutException: If the timeout is exceeded.
- com.couchbase.client.java.error.TranscodingException: If the server response could not be parsed.development
- if DesignDocument
s should be loaded from development or from production.timeout
- the custom timeout.timeUnit
- the time unit for the custom timeout.DesignDocument
s.DesignDocument getDesignDocument(String name)
DesignDocument
by its name with the default management timeout.
This method throws:
- java.util.concurrent.TimeoutException: If the timeout is exceeded.
- com.couchbase.client.java.error.TranscodingException: If the server response could not be parsed.
- com.couchbase.client.java.error.DesignDocumentDoesNotExistException: If DesignDocument
is not found.name
- the name of the DesignDocument
.DesignDocument
if found.DesignDocument getDesignDocument(String name, long timeout, TimeUnit timeUnit)
DesignDocument
by its name with the a custom timeout.
This method throws:
- java.util.concurrent.TimeoutException: If the timeout is exceeded.
- com.couchbase.client.java.error.TranscodingException: If the server response could not be parsed.
- com.couchbase.client.java.error.DesignDocumentDoesNotExistException: If DesignDocument
is not found.name
- the name of the DesignDocument
.timeout
- the custom timeout.timeUnit
- the time unit for the custom timeout.DesignDocument
if found.DesignDocument getDesignDocument(String name, boolean development)
DesignDocument
by its name from either development or production with the default management
timeout.
This method throws:
- java.util.concurrent.TimeoutException: If the timeout is exceeded.
- com.couchbase.client.java.error.TranscodingException: If the server response could not be parsed.
- com.couchbase.client.java.error.DesignDocumentDoesNotExistException: If DesignDocument
is not found.name
- the name of the DesignDocument
.development
- if DesignDocument
should be loaded from development or from production.DesignDocument
if found.DesignDocument getDesignDocument(String name, boolean development, long timeout, TimeUnit timeUnit)
DesignDocument
s by its name from either development or production with a custom timeout.
This method throws:
- java.util.concurrent.TimeoutException: If the timeout is exceeded.
- com.couchbase.client.java.error.TranscodingException: If the server response could not be parsed.
- com.couchbase.client.java.error.DesignDocumentDoesNotExistException: If DesignDocument
is not found.name
- the name of the DesignDocument
.development
- if DesignDocument
should be loaded from development or from production.timeout
- the custom timeout.timeUnit
- the time unit for the custom timeout.DesignDocument
if found.DesignDocument insertDesignDocument(DesignDocument designDocument)
DesignDocument
into production if it does not exist with the default management timeout.
Note that inserting a DesignDocument
is not an atomic operation, but instead internally performs a
getDesignDocument(String)
operation first. While expected to be very uncommon, a race condition may
happen if two users at the same time perform this operation with the same DesignDocument
.
This method throws:
- java.util.concurrent.TimeoutException: If the timeout is exceeded.
- com.couchbase.client.java.error.TranscodingException: If the server response could not be parsed.
- com.couchbase.client.java.error.DesignDocumentAlreadyExistsException: If the DesignDocument
exists.designDocument
- the DesignDocument
to insert.DesignDocument
on success.DesignDocument insertDesignDocument(DesignDocument designDocument, long timeout, TimeUnit timeUnit)
DesignDocument
into production if it does not exist with a custom timeout.
Note that inserting a DesignDocument
is not an atomic operation, but instead internally performs a
getDesignDocument(String)
operation first. While expected to be very uncommon, a race condition may
happen if two users at the same time perform this operation with the same DesignDocument
.
This method throws:
- java.util.concurrent.TimeoutException: If the timeout is exceeded.
- com.couchbase.client.java.error.TranscodingException: If the server response could not be parsed.
- com.couchbase.client.java.error.DesignDocumentAlreadyExistsException: If the DesignDocument
exists.designDocument
- the DesignDocument
to insert.timeout
- the custom timeout.timeUnit
- the time unit for the custom timeout.DesignDocument
on success.DesignDocument insertDesignDocument(DesignDocument designDocument, boolean development)
DesignDocument
into development or production if it does not exist with the default
management timeout.
Note that inserting a DesignDocument
is not an atomic operation, but instead internally performs a
getDesignDocument(String)
operation first. While expected to be very uncommon, a race condition may
happen if two users at the same time perform this operation with the same DesignDocument
.
This method throws:
- java.util.concurrent.TimeoutException: If the timeout is exceeded.
- com.couchbase.client.java.error.TranscodingException: If the server response could not be parsed.
- com.couchbase.client.java.error.DesignDocumentAlreadyExistsException: If the DesignDocument
exists.designDocument
- the DesignDocument
to insert.development
- if it should be inserted into development or production (published).DesignDocument
on success.DesignDocument insertDesignDocument(DesignDocument designDocument, boolean development, long timeout, TimeUnit timeUnit)
DesignDocument
into development or production if it does not exist with a custom timeout.
Note that inserting a DesignDocument
is not an atomic operation, but instead internally performs a
getDesignDocument(String)
operation first. While expected to be very uncommon, a race condition may
happen if two users at the same time perform this operation with the same DesignDocument
.
This method throws:
- java.util.concurrent.TimeoutException: If the timeout is exceeded.
- com.couchbase.client.java.error.TranscodingException: If the server response could not be parsed.
- com.couchbase.client.java.error.DesignDocumentAlreadyExistsException: If the DesignDocument
exists.designDocument
- the DesignDocument
to insert.development
- if it should be inserted into development or production (published).timeout
- the custom timeout.timeUnit
- the time unit for the custom timeout.DesignDocument
on success.DesignDocument upsertDesignDocument(DesignDocument designDocument)
DesignDocument
into production with the default management timeout.
If you want to add or update view definitions to an existing design document, you need to make sure you have
all the views (including old ones) in the DesignDocument. Use getDesignDocument(String)
to get the
old list and add your new view to it before calling this method.
This method throws:
- java.util.concurrent.TimeoutException: If the timeout is exceeded.
- com.couchbase.client.java.error.TranscodingException: If the server response could not be parsed.designDocument
- the DesignDocument
to upsert.DesignDocument
on success.DesignDocument upsertDesignDocument(DesignDocument designDocument, long timeout, TimeUnit timeUnit)
DesignDocument
into production with a custom timeout.
If you want to add or update view definitions to an existing design document, you need to make sure you have
all the views (including old ones) in the DesignDocument. Use getDesignDocument(String)
to get the
old list and add your new view to it before calling this method.
This method throws:
- java.util.concurrent.TimeoutException: If the timeout is exceeded.
- com.couchbase.client.java.error.TranscodingException: If the server response could not be parsed.designDocument
- the DesignDocument
to upsert.timeout
- the custom timeout.timeUnit
- the time unit for the custom timeout.DesignDocument
on success.DesignDocument upsertDesignDocument(DesignDocument designDocument, boolean development)
DesignDocument
into production or development with the default management
timeout.
If you want to add or update view definitions to an existing design document, you need to make sure you have
all the views (including old ones) in the DesignDocument. Use getDesignDocument(String)
to get the
old list and add your new view to it before calling this method.
This method throws:
- java.util.concurrent.TimeoutException: If the timeout is exceeded.
- com.couchbase.client.java.error.TranscodingException: If the server response could not be parsed.designDocument
- the DesignDocument
to upsert.development
- if the DesignDocument
should be upserted into development or production.DesignDocument
on success.DesignDocument upsertDesignDocument(DesignDocument designDocument, boolean development, long timeout, TimeUnit timeUnit)
DesignDocument
into production or development with a custom timeout.
If you want to add or update view definitions to an existing design document, you need to make sure you have
all the views (including old ones) in the DesignDocument. Use getDesignDocument(String)
to get the
old list and add your new view to it before calling this method.
This method throws:
- java.util.concurrent.TimeoutException: If the timeout is exceeded.
- com.couchbase.client.java.error.TranscodingException: If the server response could not be parsed.designDocument
- the DesignDocument
to upsert.development
- if the DesignDocument
should be upserted into development or production.timeout
- the custom timeout.timeUnit
- the time unit for the custom timeout.DesignDocument
on success.Boolean removeDesignDocument(String name)
DesignDocument
from production by its name with the default management timeout.
This method throws:
- java.util.concurrent.TimeoutException: If the timeout is exceeded.
- com.couchbase.client.java.error.DesignDocumentDoesNotExistException: If DesignDocument
is not found.name
- the name of the DesignDocument
.Boolean removeDesignDocument(String name, long timeout, TimeUnit timeUnit)
DesignDocument
from production by its name with a custom timeout.
This method throws:
- java.util.concurrent.TimeoutException: If the timeout is exceeded.
- com.couchbase.client.java.error.DesignDocumentDoesNotExistException: If DesignDocument
is not found.name
- the name of the DesignDocument
.timeout
- the custom timeout.timeUnit
- the time unit for the custom timeout.Boolean removeDesignDocument(String name, boolean development)
DesignDocument
from production or development by its name with the default management timeout.
This method throws:
- java.util.concurrent.TimeoutException: If the timeout is exceeded.
- com.couchbase.client.java.error.DesignDocumentDoesNotExistException: If DesignDocument
is not found.name
- the name of the DesignDocument
.development
- if the DesignDocument
should be removed from development or production.Boolean removeDesignDocument(String name, boolean development, long timeout, TimeUnit timeUnit)
DesignDocument
from production or development by its name with a custom timeout.
This method throws:
- java.util.concurrent.TimeoutException: If the timeout is exceeded.
- com.couchbase.client.java.error.DesignDocumentDoesNotExistException: If DesignDocument
is not found.name
- the name of the DesignDocument
.development
- if the DesignDocument
should be removed from development or production.timeout
- the custom timeout.timeUnit
- the time unit for the custom timeout.DesignDocument publishDesignDocument(String name)
DesignDocument
from development into production with the default management timeout.
Note that this method does not override a already existing DesignDocument
(see publishDesignDocument(String, boolean)
) as an alternative.
This method throws:
- java.util.concurrent.TimeoutException: If the timeout is exceeded.
- com.couchbase.client.java.error.DesignDocumentAlreadyExistsException: If the DesignDocument
already
exists.
- com.couchbase.client.java.error.TranscodingException: If the server response could not be parsed.
- com.couchbase.client.java.error.DesignDocumentDoesNotExistException: If DesignDocument
is not found
in development.name
- the name of the DesignDocument
to publish.DesignDocument
on success.DesignDocument publishDesignDocument(String name, long timeout, TimeUnit timeUnit)
DesignDocument
from development into production with a custom timeout.
Note that this method does not override a already existing DesignDocument
(see publishDesignDocument(String, boolean)
) as an alternative.
This method throws:
- java.util.concurrent.TimeoutException: If the timeout is exceeded.
- com.couchbase.client.java.error.DesignDocumentAlreadyExistsException: If the DesignDocument
already
exists.
- com.couchbase.client.java.error.TranscodingException: If the server response could not be parsed.
- com.couchbase.client.java.error.DesignDocumentDoesNotExistException: If DesignDocument
is not found
in development.name
- the name of the DesignDocument
to publish.timeout
- the custom timeout.timeUnit
- the time unit for the custom timeout.DesignDocument
on success.DesignDocument publishDesignDocument(String name, boolean overwrite)
DesignDocument
from development into production with the default management timeout.
This method throws:
- java.util.concurrent.TimeoutException: If the timeout is exceeded.
- com.couchbase.client.java.error.DesignDocumentAlreadyExistsException: If the DesignDocument
already
exists and override is set to false.
- com.couchbase.client.java.error.TranscodingException: If the server response could not be parsed.
- com.couchbase.client.java.error.DesignDocumentDoesNotExistException: If DesignDocument
is not found
in development.name
- the name of the DesignDocument
to publish.overwrite
- if an existing DesignDocument
should be overridden.DesignDocument
on success.DesignDocument publishDesignDocument(String name, boolean overwrite, long timeout, TimeUnit timeUnit)
DesignDocument
from development into production with a custom timeout.
This method throws:
- java.util.concurrent.TimeoutException: If the timeout is exceeded.
- com.couchbase.client.java.error.DesignDocumentAlreadyExistsException: If the DesignDocument
already
exists and override is set to false.
- com.couchbase.client.java.error.TranscodingException: If the server response could not be parsed.
- com.couchbase.client.java.error.DesignDocumentDoesNotExistException: If DesignDocument
is not found
in development.name
- the name of the DesignDocument
to publish.overwrite
- if an existing DesignDocument
should be overridden.timeout
- the custom timeout.timeUnit
- the time unit for the custom timeout.DesignDocument
on success.List<IndexInfo> listN1qlIndexes()
IndexInfo
(can be empty if no index
is defined for this bucket).TranscodingException
- if the server response couldn't be parsed.List<IndexInfo> listN1qlIndexes(long timeout, TimeUnit timeUnit)
timeout
- the custom timeout.timeUnit
- the time unit for the custom timeout.IndexInfo
(can be empty if no index
is defined for this bucket).TranscodingException
- if the server response couldn't be parsed.boolean createN1qlPrimaryIndex(boolean ignoreIfExist, boolean defer)
ignoreIfExist
- if a primary index already exists, an exception will be thrown unless this is set to true.defer
- true to defer building of the index until buildN1qlDeferredIndexes()
is called (or a direct call
to the corresponding query service API).IndexAlreadyExistsException
- if the index already exists and ignoreIfExist is set to false.CouchbaseException
- if another error occurs during index creation.boolean createN1qlPrimaryIndex(boolean ignoreIfExist, boolean defer, long timeout, TimeUnit timeUnit)
ignoreIfExist
- if a primary index already exists, an exception will be thrown unless this is set to true.defer
- true to defer building of the index until buildN1qlDeferredIndexes()
is called (or a direct call
to the corresponding query service API).timeout
- the custom timeout.timeUnit
- the time unit for the custom timeout.IndexAlreadyExistsException
- if the index already exists and ignoreIfExist is set to false.CouchbaseException
- if another error occurs during index creation.boolean createN1qlPrimaryIndex(String customName, boolean ignoreIfExist, boolean defer)
ignoreIfExist
- if a primary index already exists, an exception will be thrown unless this is set to true.defer
- true to defer building of the index until buildN1qlDeferredIndexes()
is called (or a direct call
to the corresponding query service API).customName
- the custom name for the primary index.IndexAlreadyExistsException
- if the index already exists and ignoreIfExist is set to false.CouchbaseException
- if another error occurs during index creation.boolean createN1qlPrimaryIndex(String customName, boolean ignoreIfExist, boolean defer, long timeout, TimeUnit timeUnit)
ignoreIfExist
- if a primary index already exists, an exception will be thrown unless this is set to true.defer
- true to defer building of the index until buildN1qlDeferredIndexes()
is called (or a direct call
to the corresponding query service API).timeout
- the custom timeout.timeUnit
- the time unit for the custom timeout.customName
- the custom name for the primary index.IndexAlreadyExistsException
- if the index already exists and ignoreIfExist is set to false.CouchbaseException
- if another error occurs during index creation.boolean createN1qlIndex(String indexName, boolean ignoreIfExist, boolean defer, Object... fields)
Expression
or String
), but has the limitation that a WHERE clause cannot be set.indexName
- the name of the index.ignoreIfExist
- if a secondary index already exists with that name, an exception will be thrown unless this
is set to true.defer
- true to defer building of the index until buildN1qlDeferredIndexes()
is called (or a direct call
to the corresponding query service API).fields
- the JSON fields to index, in either Expression
or String
form.IndexAlreadyExistsException
- if the index already exists and ignoreIfExist is set to false.CouchbaseException
- if another error occurs during index creation.createN1qlIndex(String, List, Expression, boolean, boolean)
boolean createN1qlIndex(String indexName, List<Object> fields, Expression whereClause, boolean ignoreIfExist, boolean defer)
Expression
for the
WHERE clause of the index (which can be null).indexName
- the name of the index.fields
- the List of JSON fields to index, in either Expression
or String
form.whereClause
- the Expression
to use in the WHERE clause of the index.ignoreIfExist
- if a secondary index already exists with that name, an exception will be thrown unless this
is set to true.defer
- true to defer building of the index until buildN1qlDeferredIndexes()
is called (or a direct call
to the corresponding query service API).IndexAlreadyExistsException
- if the index already exists and ignoreIfExist is set to false.CouchbaseException
- if another error occurs during index creation.boolean createN1qlIndex(String indexName, List<Object> fields, Expression whereClause, boolean ignoreIfExist, boolean defer, long timeout, TimeUnit timeUnit)
Expression
for the
WHERE clause of the index (which can be null).indexName
- the name of the index.fields
- the List of JSON fields to index, in either Expression
or String
form.whereClause
- the Expression
to use in the WHERE clause of the index.ignoreIfExist
- if a secondary index already exists with that name, an exception will be thrown unless this
is set to true.defer
- true to defer building of the index until buildN1qlDeferredIndexes()
is called (or a direct call
to the corresponding query service API).timeout
- the custom timeout.timeUnit
- the unit for the custom timeout.IndexAlreadyExistsException
- if the index already exists and ignoreIfExist is set to false.CouchbaseException
- if another error occurs during index creation.boolean dropN1qlPrimaryIndex(boolean ignoreIfNotExist)
Index.PRIMARY_NAME
) associated with the current bucket, within the default management timeout.
The index management API only deals with GSI type of indexes, which allows it to uniquely identify indexes
by name.ignoreIfNotExist
- if true, attempting to drop on a bucket without any primary index won't cause an exception to be propagated.IndexDoesNotExistException
- if the primary index doesn't exist and ignoreIfNotExist is set to false.CouchbaseException
- if another error occurs during index drop.boolean dropN1qlPrimaryIndex(boolean ignoreIfNotExist, long timeout, TimeUnit timeUnit)
Index.PRIMARY_NAME
) associated with the current bucket, within a custom timeout.
The index management API only deals with GSI type of indexes, which allows it to uniquely identify indexes
by name.ignoreIfNotExist
- if true, attempting to drop on a bucket without any primary index won't cause an exception to be propagated.timeout
- the custom timeout.timeUnit
- the unit for the custom timeout.IndexDoesNotExistException
- if the primary index doesn't exist and ignoreIfNotExist is set to false.CouchbaseException
- if another error occurs during index drop.boolean dropN1qlPrimaryIndex(String customName, boolean ignoreIfNotExist)
ignoreIfNotExist
- if true, attempting to drop on a bucket without any primary index won't cause an exception to be propagated.customName
- the custom name for the primary index.IndexDoesNotExistException
- if the primary index doesn't exist and ignoreIfNotExist is set to false.CouchbaseException
- if another error occurs during index drop.boolean dropN1qlPrimaryIndex(String customName, boolean ignoreIfNotExist, long timeout, TimeUnit timeUnit)
ignoreIfNotExist
- if true, attempting to drop on a bucket without any primary index won't cause an exception to be propagated.timeout
- the custom timeout.timeUnit
- the unit for the custom timeout.customName
- the custom name for the primary index.IndexDoesNotExistException
- if the primary index doesn't exist and ignoreIfNotExist is set to false.CouchbaseException
- if another error occurs during index drop.boolean dropN1qlIndex(String name, boolean ignoreIfNotExist)
ignoreIfNotExist
- if true, attempting to drop on a bucket without the specified index won't cause an exception to be propagated.IndexDoesNotExistException
- if the secondary index doesn't exist and ignoreIfNotExist is set to false.CouchbaseException
- if another error occurs during index drop.boolean dropN1qlIndex(String name, boolean ignoreIfNotExist, long timeout, TimeUnit timeUnit)
ignoreIfNotExist
- if true, attempting to drop on a bucket without the specified index won't cause an exception to be propagated.timeout
- the custom timeout.timeUnit
- the unit for the custom timeout.IndexDoesNotExistException
- if the secondary index doesn't exist and ignoreIfNotExist is set to false.CouchbaseException
- if another error occurs during index drop.List<String> buildN1qlDeferredIndexes()
List
of index names, the names of the indexes that have been triggered.to poll for a list of indexes to become online.
List<String> buildN1qlDeferredIndexes(long timeout, TimeUnit timeUnit)
timeout
- the custom timeout.timeUnit
- the unit for the custom timeout.List
of index names, the names of the indexes that have been triggered.to poll for a list of indexes to become online.
List<IndexInfo> watchN1qlIndexes(List<String> watchList, long watchTimeout, TimeUnit watchTimeUnit)
DefaultAsyncBucketManager.INDEX_WATCH_LOG_NAME
" logger
to see various stages of the polling.
You can also watch a primary index by using the Index.PRIMARY_NAME
constant.watchList
- the names of the SECONDARY indexes to watch (can be empty).watchTimeout
- the maximum duration for which to poll for the index to become online.watchTimeUnit
- the time unit for the watchTimeout.List
of the IndexInfo
for the indexes that went online during the watch period. Can be
empty if all indexes where online, no index to watch or no index became online within the watchTimeout timeframe.Copyright © 2015 Couchbase, Inc.