gocb

package module
v2.0.0-beta.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 3, 2019 License: Apache-2.0 Imports: 19 Imported by: 196

README

GoDoc

Couchbase Go Client

This is the official Couchbase Go SDK. If you are looking for our previous unofficial prototype Go client library, please see: http://www.github.com/couchbase/go-couchbase.

The Go SDK library allows you to connect to a Couchbase cluster from Go. It is written in pure Go, and uses the included gocbcore library to handle communicating to the cluster over the Couchbase binary protocol.

Source

The project source is hosted at http://github.com/couchbase/gocb.

Documentation

You can explore our API reference through godoc at https://godoc.org/github.com/couchbase/gocb.

You can also find documentation for the Go SDK at the Couchbase Developer Portal.

Bug Tracker

Issues are tracked on Couchbase's public issues.couchbase.com. Contact the site admins regarding login or other problems at issues.couchbase.com (officially) or ask around in couchbase/discuss on gitter.im (unofficially).

Installing

To install the latest stable version, run:

go get gopkg.in/couchbase/gocb.v1

To install the latest developer version, run:

go get github.com/couchbase/gocb

License

Copyright 2016 Couchbase Inc.

Licensed under the Apache License, Version 2.0.

See LICENSE for further details.

Documentation

Index

Constants

View Source
const (
	// AnalyticsScanConsistencyNotBounded indicates no data consistency is required.
	AnalyticsScanConsistencyNotBounded = AnalyticsScanConsistency(1)
	// AnalyticsScanConsistencyRequestPlus indicates that request-level data consistency is required.
	AnalyticsScanConsistencyRequestPlus = AnalyticsScanConsistency(2)
)
View Source
const (
	// ProductionDesignDocumentNamespace means that a design document resides in the production namespace.
	ProductionDesignDocumentNamespace = true

	// DevelopmentDesignDocumentNamespace means that a design document resides in the development namespace.
	DevelopmentDesignDocumentNamespace = false
)
View Source
const (
	// CouchbaseBucketType indicates a Couchbase bucket type.
	CouchbaseBucketType = BucketType("membase")

	// MemcachedBucketType indicates a Memcached bucket type.
	MemcachedBucketType = BucketType("memcached")

	// EphemeralBucketType indicates an Ephemeral bucket type.
	EphemeralBucketType = BucketType("ephemeral")
)
View Source
const (
	// ConflictResolutionTypeTimestamp specifies to use timestamp conflict resolution on the bucket.
	ConflictResolutionTypeTimestamp = ConflictResolutionType("lww")

	// ConflictResolutionTypeSequenceNumber specifies to use sequence number conflict resolution on the bucket.
	ConflictResolutionTypeSequenceNumber = ConflictResolutionType("seqno")
)
View Source
const (
	// EvictionPolicyTypeFull specifies to use full eviction for a bucket.
	EvictionPolicyTypeFull = EvictionPolicyType("fullEviction")

	// EvictionPolicyTypeValueOnly specifies to use value only eviction for a bucket.
	EvictionPolicyTypeValueOnly = EvictionPolicyType("valueOnly")
)
View Source
const (
	// CompressionModeOff specifies to use no compression for a bucket.
	CompressionModeOff = CompressionMode("off")

	// CompressionModePassive specifies to use passive compression for a bucket.
	CompressionModePassive = CompressionMode("passive")

	// CompressionModeActive specifies to use active compression for a bucket.
	CompressionModeActive = CompressionMode("active")
)
View Source
const (
	// DiagStateOk indicates that the connection state is ok.
	DiagStateOk = DiagConnState(0)

	// DiagStateDisconnected indicates that the connection is disconnected.
	DiagStateDisconnected = DiagConnState(1)
)
View Source
const (
	// StoreSemanticsReplace signifies to Replace the document, and fail if it does not exist.
	// This is the default action
	StoreSemanticsReplace = StoreSemantics(0)

	// StoreSemanticsUpsert signifies to replace the document or create it if it doesn't exist.
	StoreSemanticsUpsert = StoreSemantics(1)

	// StoreSemanticsInsert signifies to create the document, and fail if it exists.
	StoreSemanticsInsert = StoreSemantics(2)
)
View Source
const (
	// IndexTypeN1ql indicates that GSI was used to build the index.
	IndexTypeN1ql = IndexType("gsi")

	// IndexTypeView indicates that views were used to build the index.
	IndexTypeView = IndexType("views")
)
View Source
const (
	// KeyValueService represents a memcached service.
	KeyValueService = ServiceType(gocbcore.MemdService)

	// MgmtService represents a management service (typically ns_server).
	MgmtService = ServiceType(gocbcore.MgmtService)

	// CapiService represents a CouchAPI service (typically for views).
	CapiService = ServiceType(gocbcore.CapiService)

	// QueryService represents a N1QL service (typically for query).
	QueryService = ServiceType(gocbcore.N1qlService)

	// SearchService represents a full-text-search service.
	SearchService = ServiceType(gocbcore.FtsService)

	// AnalyticsService represents an analytics service.
	AnalyticsService = ServiceType(gocbcore.CbasService)
)
View Source
const (
	// QueryProfileNone disables query profiling
	QueryProfileNone = QueryProfileType("off")

	// QueryProfilePhases includes phase profiling information in the query response
	QueryProfilePhases = QueryProfileType("phases")

	// QueryProfileTimings includes timing profiling information in the query response
	QueryProfileTimings = QueryProfileType("timings")
)
View Source
const (
	// SubdocFlagNone indicates no special behaviours
	SubdocFlagNone = SubdocFlag(gocbcore.SubdocFlagNone)

	// SubdocFlagCreatePath indicates you wish to recursively create the tree of paths
	// if it does not already exist within the document.
	SubdocFlagCreatePath = SubdocFlag(gocbcore.SubdocFlagMkDirP)

	// SubdocFlagXattr indicates your path refers to an extended attribute rather than the document.
	SubdocFlagXattr = SubdocFlag(gocbcore.SubdocFlagXattrPath)

	// SubdocFlagUseMacros indicates that you wish macro substitution to occur on the value
	SubdocFlagUseMacros = SubdocFlag(gocbcore.SubdocFlagExpandMacros)
)
View Source
const (
	// SubdocDocFlagNone indicates no special behaviours
	SubdocDocFlagNone = SubdocDocFlag(gocbcore.SubdocDocFlagNone)

	// SubdocDocFlagMkDoc indicates that the document should be created if it does not already exist.
	SubdocDocFlagMkDoc = SubdocDocFlag(gocbcore.SubdocDocFlagMkDoc)

	// SubdocDocFlagAddDoc indices that the document should be created only if it does not already exist.
	SubdocDocFlagAddDoc = SubdocDocFlag(gocbcore.SubdocDocFlagReplaceDoc)

	// SubdocDocFlagAccessDeleted indicates that you wish to receive soft-deleted documents.
	SubdocDocFlagAccessDeleted = SubdocDocFlag(gocbcore.SubdocDocFlagAccessDeleted)
)
View Source
const (
	// DurabilityLevelMajority specifies that a mutation must be replicated (held in memory) to a majority of nodes.
	DurabilityLevelMajority = DurabilityLevel(1)

	// DurabilityLevelMajorityAndPersistOnMaster specifies that a mutation must be replicated (held in memory) to a
	// majority of nodes and also persisted (written to disk) on the active node.
	DurabilityLevelMajorityAndPersistOnMaster = DurabilityLevel(2)

	// DurabilityLevelPersistToMajority specifies that a mutation must be persisted (written to disk) to a majority
	// of nodes.
	DurabilityLevelPersistToMajority = DurabilityLevel(3)
)
View Source
const (
	// MutationMacroCAS can be used to tell the server to use the CAS macro.
	MutationMacroCAS = MutationMacro("${Mutation.CAS}")

	// MutationMacroSeqNo can be used to tell the server to use the seqno macro.
	MutationMacroSeqNo = MutationMacro("${Mutation.seqno}")

	// MutationMacroValueCRC32c can be used to tell the server to use the value_crc32c macro.
	MutationMacroValueCRC32c = MutationMacro("${Mutation.value_crc32c}")
)

Various logging levels (or subsystems) which can categorize the message. Currently these are ordered in decreasing severity.

View Source
const (
	// RedactNone indicates to perform no redactions
	RedactNone = LogRedactLevel(0)

	// RedactPartial indicates to redact all possible user-identifying information from logs.
	RedactPartial = LogRedactLevel(1)

	// RedactFull indicates to fully redact all possible identifying information from logs.
	RedactFull = LogRedactLevel(2)
)
View Source
const (
	// QueryScanConsistencyNotBounded indicates no data consistency is required.
	QueryScanConsistencyNotBounded = QueryScanConsistency(1)
	// QueryScanConsistencyRequestPlus indicates that request-level data consistency is required.
	QueryScanConsistencyRequestPlus = QueryScanConsistency(2)
)
View Source
const (
	// DefaultHighlightStyle specifies to use the default to highlight search result hits.
	DefaultHighlightStyle = SearchHighlightStyle("")

	// HtmlHighlightStyle specifies to use HTML tags to highlight search result hits.
	HtmlHighlightStyle = SearchHighlightStyle("html")

	// AnsiHightlightStyle specifies to use ANSI tags to highlight search result hits.
	AnsiHightlightStyle = SearchHighlightStyle("ansi")
)
View Source
const (
	// ViewScanConsistencyNotBounded indicates that no special behaviour should be used.
	ViewScanConsistencyNotBounded = ViewScanConsistency(1)
	// ViewScanConsistencyRequestPlus indicates to update the index before querying it.
	ViewScanConsistencyRequestPlus = ViewScanConsistency(2)
	// ViewScanConsistencyUpdateAfter indicates to update the index asynchronously after querying.
	ViewScanConsistencyUpdateAfter = ViewScanConsistency(3)
)
View Source
const (
	// ViewOrderingAscending indicates the query results should be sorted from lowest to highest.
	ViewOrderingAscending = ViewOrdering(1)
	// ViewOrderingDescending indicates the query results should be sorted from highest to lowest.
	ViewOrderingDescending = ViewOrdering(2)
)
View Source
const (
	// ViewErrorModeContinue indicates to continue gathering results on error.
	ViewErrorModeContinue = ViewErrorMode(1)

	// ViewErrorModeStop indicates to stop gathering results on error
	ViewErrorModeStop = ViewErrorMode(2)
)
View Source
const (
	// SearchScanConsistencyNotBounded indicates no data consistency is required.
	SearchScanConsistencyNotBounded = SearchScanConsistency(1)
)

Variables

This section is empty.

Functions

func ErrorCause

func ErrorCause(err error) error

ErrorCause returns the underlying cause of an error.

func Identifier

func Identifier() string

Identifier returns a string representation of the current SDK identifier.

func IsAnalyticsDatasetAlreadyExistsError

func IsAnalyticsDatasetAlreadyExistsError(err error) bool

IsAnalyticsDatasetAlreadyExistsError verifies that an analytics dataset already exists.

func IsAnalyticsDatasetNotFoundError

func IsAnalyticsDatasetNotFoundError(err error) bool

IsAnalyticsDatasetNotFoundError verifies that an analytics dataset could not be found.

func IsAnalyticsDataverseAlreadyExistsError

func IsAnalyticsDataverseAlreadyExistsError(err error) bool

IsAnalyticsDataverseAlreadyExistsError verifies that an analytics dataverse already exists.

func IsAnalyticsDataverseNotFoundError

func IsAnalyticsDataverseNotFoundError(err error) bool

IsAnalyticsDataverseNotFoundError verifies that an analytics dataverse could not be found.

func IsAnalyticsIndexAlreadyExistsError

func IsAnalyticsIndexAlreadyExistsError(err error) bool

IsAnalyticsIndexAlreadyExistsError verifies that an analytics index already exists.

func IsAnalyticsIndexNotFoundError

func IsAnalyticsIndexNotFoundError(err error) bool

IsAnalyticsIndexNotFoundError verifies that an analytics index could not be found.

func IsAnalyticsLinkNotFoundError

func IsAnalyticsLinkNotFoundError(err error) bool

IsAnalyticsLinkNotFoundError verifies that an analytics link could not be found.

func IsAuthenticationError

func IsAuthenticationError(err error) bool

IsAuthenticationError verifies whether or not the cause for an error is an authentication error.

func IsBucketExistsError

func IsBucketExistsError(err error) bool

IsBucketExistsError occurs when a specific bucket already exists.

func IsBucketMissingError

func IsBucketMissingError(err error) bool

IsBucketMissingError verifies whether or not the cause for an error is a bucket missing error.

func IsBucketNotFoundError

func IsBucketNotFoundError(err error) bool

IsBucketNotFoundError occurs when a specific bucket could not be found.

func IsCannotInsertValueError

func IsCannotInsertValueError(err error) bool

IsCannotInsertValueError indicates whether the passed error occurred because the target document is not flagged or recognized as JSON.

func IsCasMismatchError

func IsCasMismatchError(err error) bool

IsCasMismatchError verifies whether or not the cause for an error is a cas mismatch.

func IsCollectionExistsError

func IsCollectionExistsError(err error) bool

IsCollectionExistsError occurs when a specific collection already exists.

func IsCollectionNotFoundError

func IsCollectionNotFoundError(err error) bool

IsCollectionNotFoundError verifies whether or not the cause for an error is scope unknown.

func IsConfigurationError

func IsConfigurationError(err error) bool

IsConfigurationError verifies whether or not the cause for an error is a configuration error.

func IsDeltaRangeError

func IsDeltaRangeError(err error) bool

IsDeltaRangeError indicates whether the passed error occurred because for arithmetic subdoc operations, the operation will make the value out of valid range.

func IsDesignDocumentExistsError

func IsDesignDocumentExistsError(err error) bool

IsDesignDocumentExistsError occurs when a specific design document already exists.

func IsDesignDocumentNotFoundError

func IsDesignDocumentNotFoundError(err error) bool

IsDesignDocumentNotFoundError occurs when a specific design document could not be found.

func IsDesignDocumentPublishDropFailError

func IsDesignDocumentPublishDropFailError(err error) bool

IsDesignDocumentPublishDropFailError occurs when dropping a design document already exists.

func IsDocumentNotJsonEerror

func IsDocumentNotJsonEerror(err error) bool

IsDocumentNotJsonEerror indicates whether the passed error occurred because the existing document is not valid JSON.

func IsDocumentTooDeepError

func IsDocumentTooDeepError(err error) bool

IsDocumentTooDeepError indicates whether the passed error occurred because the target document's level of JSON nesting is too deep to be processed by the subdoc service.

func IsDurabilityError

func IsDurabilityError(err error) bool

IsDurabilityError verifies whether or not the cause for an error is due to a durability error.

func IsDurabilityImpossibleError

func IsDurabilityImpossibleError(err error) bool

IsDurabilityImpossibleError verifies whether or not the cause for an error is because the requested durability level is impossible given the cluster topology due to insufficient replica servers.

func IsDurabilityLevelInvalidError

func IsDurabilityLevelInvalidError(err error) bool

IsDurabilityLevelInvalidError verifies whether or not the cause for an error is because the requested durability level is invalid.

func IsGroupNotFoundError

func IsGroupNotFoundError(err error) bool

IsGroupNotFoundError verifies that a group could not be found.

func IsInvalidArgumentsError

func IsInvalidArgumentsError(err error) bool

IsInvalidArgumentsError indicates whether the passed error occurred due to invalid arguments being passed to an operation.

func IsInvalidIndexError

func IsInvalidIndexError(err error) bool

IsInvalidIndexError verifies whether or not the cause for an error is due to an invalid index being specified on a LookupInResult

func IsKeyExistsError

func IsKeyExistsError(err error) bool

IsKeyExistsError indicates whether the passed error is a key-value "Key Already Exists" error.

func IsKeyLockedError

func IsKeyLockedError(err error) bool

IsKeyLockedError indicates whether the passed error is a key-value operation failed due to the document being locked.

func IsKeyNotFoundError

func IsKeyNotFoundError(err error) bool

IsKeyNotFoundError indicates whether the passed error is a key-value "Key Not Found" error.

func IsKeyValueError

func IsKeyValueError(err error) bool

IsKeyValueError verifies whether or not the cause for an error is a KeyValueError.

func IsNoReplicasError

func IsNoReplicasError(err error) bool

IsNoReplicasError verifies whether or not the cause for an error is because of an the client could not locate a replica within the cluster map or replica read. The Bucket may not be configured to have replicas, which should be checked to ensure replica reads.

func IsNoResultsError

func IsNoResultsError(err error) bool

IsNoResultsError verifies whether or not the cause for an error is due no results being available to a query.

func IsNumRangeError

func IsNumRangeError(err error) bool

IsNumRangeError indicates whether the passed error occurred because for arithmetic subdoc operations, the existing number is out of the valid range.

func IsPathExistsError

func IsPathExistsError(err error) bool

IsPathExistsError indicates whether the passed error occurred because the last component of the path already exist despite the mutation operation expecting it not to exist (the mutation was expecting to create only the last part of the path and store the fragment there).

func IsPathInvalidError

func IsPathInvalidError(err error) bool

IsPathInvalidError indicates whether the passed error occurred because the path provided is invalid. For operations requiring an array index, this is returned if the last component of that path isn't an array. Similarly for operations requiring a dictionary, if the last component isn't a dictionary but eg. an array index.

func IsPathMismatchError

func IsPathMismatchError(err error) bool

IsPathMismatchError indicates whether the passed error occurred because the path component does not match the type of the element requested.

func IsPathNotFoundError

func IsPathNotFoundError(err error) bool

IsPathNotFoundError indicates whether the passed error is a key-value "sub-document path does not exist" error.

func IsPathTooDeepError

func IsPathTooDeepError(err error) bool

IsPathTooDeepError indicates whether the passed error occurred because the path is too large (ie. the string is too long) or too deep (more than 32 components).

func IsQueryIndexAlreadyExistsError

func IsQueryIndexAlreadyExistsError(err error) bool

IsQueryIndexAlreadyExistsError verifies that an index already exists.

func IsQueryIndexNotFoundError

func IsQueryIndexNotFoundError(err error) bool

IsQueryIndexNotFoundError verifies that an index could not be found.

func IsQueueOverloadError

func IsQueueOverloadError(err error) bool

IsQueueOverloadError verifies that the cause for an error is that more operations were dispatched than the client is capable of writing.

func IsRetryableError

func IsRetryableError(err error) bool

IsRetryableError indicates that the operation should be retried.

func IsScopeExistsError

func IsScopeExistsError(err error) bool

IsScopeExistsError occurs when a specific scope already exists.

func IsScopeNotFoundError

func IsScopeNotFoundError(err error) bool

IsScopeNotFoundError verifies whether or not the cause for an error is scope unknown.

func IsSearchIndexNotFoundError

func IsSearchIndexNotFoundError(err error) bool

IsSearchIndexNotFoundError verifies that an index could not be found.

func IsServiceNotAvailableError

func IsServiceNotAvailableError(err error) bool

IsServiceNotAvailableError indicates whether the passed error occurred due to the requested service not being available.

func IsServiceNotConfiguredError

func IsServiceNotConfiguredError(err error) bool

IsServiceNotConfiguredError verifies that no nodes could be found for the specified service.

func IsSubDocInvalidArgumentsError

func IsSubDocInvalidArgumentsError(err error) bool

IsSubDocInvalidArgumentsError indicates whether the passed error occurred because in a multi-specification, an invalid combination of commands were specified, including the case where too many paths were specified.

func IsSubdocPathExistsError

func IsSubdocPathExistsError(err error) bool

IsSubdocPathExistsError verifies whether or not the cause for an error is due to a subdoc operation path exists

func IsSubdocPathNotFoundError

func IsSubdocPathNotFoundError(err error) bool

IsSubdocPathNotFoundError verifies whether or not the cause for an error is due to a subdoc operation path not found.

func IsSyncWriteAmbiguousError

func IsSyncWriteAmbiguousError(err error) bool

IsSyncWriteAmbiguousError verifies whether or not the cause for an error is because the client could not locate a replica within the cluster map or replica read. The bucket may not be configured to have replicas, which should be checked to ensure replica reads.

func IsSyncWriteInProgressError

func IsSyncWriteInProgressError(err error) bool

IsSyncWriteInProgressError verifies whether or not the cause for an error is because of an attempt to mutate a document which has a SyncWrite pending. Client should retry, possibly with backoff.

func IsSyncWriteReCommitInProgressError

func IsSyncWriteReCommitInProgressError(err error) bool

IsSyncWriteReCommitInProgressError verifies whether or not the cause for an error is because of an attempt to mutate a key which has a SyncWrite recommit pending. Client should retry, possibly with backoff.

func IsTemporaryFailureError

func IsTemporaryFailureError(err error) bool

IsTemporaryFailureError indicates whether the passed error is a key-value "temporary failure, try again later" error.

func IsTimeoutError

func IsTimeoutError(err error) bool

IsTimeoutError verifies whether or not the cause for an error is a timeout.

func IsUserNotFoundError

func IsUserNotFoundError(err error) bool

IsUserNotFoundError verifies that a user could not be found.

func IsValueTooLargeError

func IsValueTooLargeError(err error) bool

IsValueTooLargeError indicates whether the passed error is a key-value "document value was too large" error.

func IsXattrUnknownMacroError

func IsXattrUnknownMacroError(err error) bool

IsXattrUnknownMacroError indicates whether the passed error occurred because the server has no knowledge of the requested macro.

func SetLogRedactionLevel

func SetLogRedactionLevel(level LogRedactLevel)

SetLogRedactionLevel specifies the level with which logs should be redacted.

func SetLogger

func SetLogger(logger Logger)

SetLogger sets a logger to be used by the library. A logger can be obtained via the DefaultStdioLogger() or VerboseStdioLogger() functions. You can also implement your own logger using the Logger interface.

func Version

func Version() string

Version returns a string representation of the current SDK version.

Types

type AllowQueryingSearchIndexOptions

type AllowQueryingSearchIndexOptions struct {
	Timeout time.Duration
	Context context.Context
}

AllowQueryingSearchIndexOptions is the set of options available to the search index AllowQuerying operation.

type AnalyticsDataset

type AnalyticsDataset struct {
	Name          string `json:"DatasetName"`
	DataverseName string `json:"DataverseName"`
	LinkName      string `json:"LinkName"`
	BucketName    string `json:"BucketName"`
}

AnalyticsDataset contains information about an analytics dataset,

type AnalyticsIndex

type AnalyticsIndex struct {
	Name          string `json:"IndexName"`
	DatasetName   string `json:"DatasetName"`
	DataverseName string `json:"DataverseName"`
	IsPrimary     bool   `json:"IsPrimary"`
}

AnalyticsIndex contains information about an analytics index,

type AnalyticsIndexManager

type AnalyticsIndexManager struct {
	// contains filtered or unexported fields
}

AnalyticsIndexManager provides methods for performing Couchbase Analytics index management. Volatile: This API is subject to change at any time.

ConnectLink connects an analytics link.

func (*AnalyticsIndexManager) CreateDataset

func (am *AnalyticsIndexManager) CreateDataset(datasetName, bucketName string, opts *CreateAnalyticsDatasetOptions) error

CreateDataset creates a new analytics dataset.

func (*AnalyticsIndexManager) CreateDataverse

func (am *AnalyticsIndexManager) CreateDataverse(dataverseName string, opts *CreateAnalyticsDataverseOptions) error

CreateDataverse creates a new analytics dataset.

func (*AnalyticsIndexManager) CreateIndex

func (am *AnalyticsIndexManager) CreateIndex(datasetName, indexName string, fields map[string]string, opts *CreateAnalyticsIndexOptions) error

CreateIndex creates a new analytics dataset.

DisconnectLink disconnects an analytics link.

func (*AnalyticsIndexManager) DropDataset

func (am *AnalyticsIndexManager) DropDataset(datasetName string, opts *DropAnalyticsDatasetOptions) error

DropDataset drops an analytics dataset.

func (*AnalyticsIndexManager) DropDataverse

func (am *AnalyticsIndexManager) DropDataverse(dataverseName string, opts *DropAnalyticsDataverseOptions) error

DropDataverse drops an analytics dataset.

func (*AnalyticsIndexManager) DropIndex

func (am *AnalyticsIndexManager) DropIndex(datasetName, indexName string, opts *DropAnalyticsIndexOptions) error

DropIndex drops an analytics index.

func (*AnalyticsIndexManager) GetAllDatasets

GetAllDatasets gets all analytics datasets.

func (*AnalyticsIndexManager) GetAllIndexes

GetAllIndexes gets all analytics indexes.

func (*AnalyticsIndexManager) GetPendingMutations

func (am *AnalyticsIndexManager) GetPendingMutations(opts *GetPendingMutationsAnalyticsOptions) (map[string]int, error)

GetPendingMutations returns the number of pending mutations for all indexes in the form of dataverse.dataset:mutations.

type AnalyticsIndexesError

type AnalyticsIndexesError interface {
	error
	HTTPStatus() int
	AnalyticsIndexNotFoundError() bool
	AnalyticsIndexExistsError() bool
	AnalyticsDatasetNotFoundError() bool
	AnalyticsDatasetExistsError() bool
	AnalyticsDataverseExistsError() bool
	AnalyticsDataverseNotFoundError() bool
	AnalyticsLinkNotFoundError() bool
}

AnalyticsIndexesError occurs for errors created By Couchbase Server when performing analytics index management.

type AnalyticsMetadata

type AnalyticsMetadata struct {
	// contains filtered or unexported fields
}

AnalyticsMetadata provides access to the metadata properties of an Analytics query result.

func (*AnalyticsMetadata) ClientContextID

func (r *AnalyticsMetadata) ClientContextID() string

ClientContextID returns the context ID used for this query.

func (*AnalyticsMetadata) Metrics

func (r *AnalyticsMetadata) Metrics() AnalyticsMetrics

Metrics returns metrics about execution of this result.

func (*AnalyticsMetadata) RequestID

func (r *AnalyticsMetadata) RequestID() string

RequestID returns the request ID used for this query.

func (*AnalyticsMetadata) Signature

func (r *AnalyticsMetadata) Signature() interface{}

Signature returns TODO

func (*AnalyticsMetadata) Status

func (r *AnalyticsMetadata) Status() string

Status returns the status for the results.

func (*AnalyticsMetadata) Warnings

func (r *AnalyticsMetadata) Warnings() []AnalyticsWarning

Warnings returns any warnings that occurred during query execution.

type AnalyticsMetrics

type AnalyticsMetrics struct {
	ElapsedTime      time.Duration
	ExecutionTime    time.Duration
	ResultCount      uint
	ResultSize       uint
	MutationCount    uint
	SortCount        uint
	ErrorCount       uint
	WarningCount     uint
	ProcessedObjects uint
}

AnalyticsMetrics encapsulates various metrics gathered during a queries execution.

type AnalyticsOptions

type AnalyticsOptions struct {
	// Timeout and context are used to control cancellation of the data stream. Any timeout or deadline will also be
	// propagated to the server.
	ServerSideTimeout    time.Duration
	Context              context.Context
	ClientContextID      string
	Raw                  map[string]interface{}
	Priority             bool
	PositionalParameters []interface{}
	NamedParameters      map[string]interface{}
	ReadOnly             bool
	ScanConsistency      AnalyticsScanConsistency

	// JSONSerializer is used to deserialize each row in the result. This should be a JSON deserializer as results are JSON.
	// NOTE: if not set then query will always default to DefaultJSONSerializer.
	Serializer JSONSerializer
}

AnalyticsOptions is the set of options available to an Analytics query.

type AnalyticsQueryError

type AnalyticsQueryError interface {
	error
	Code() uint32
	Message() string
	HTTPStatus() int
	Endpoint() string
	ContextID() string
}

AnalyticsQueryError occurs for errors created by Couchbase Server during Analytics query execution.

type AnalyticsResult

type AnalyticsResult struct {
	// contains filtered or unexported fields
}

AnalyticsResult allows access to the results of an Analytics query.

func (*AnalyticsResult) Close

func (r *AnalyticsResult) Close() error

Close marks the results as closed, returning any errors that occurred during reading the results.

func (*AnalyticsResult) Metadata

func (r *AnalyticsResult) Metadata() (*AnalyticsMetadata, error)

Metadata returns metadata for this result.

func (*AnalyticsResult) Next

func (r *AnalyticsResult) Next(valuePtr interface{}) bool

Next assigns the next result from the results into the value pointer, returning whether the read was successful.

func (*AnalyticsResult) NextBytes

func (r *AnalyticsResult) NextBytes() []byte

NextBytes returns the next result from the results as a byte array.

func (*AnalyticsResult) One

func (r *AnalyticsResult) One(valuePtr interface{}) error

One assigns the first value from the results into the value pointer. It will close the results but not before iterating through all remaining results, as such this should only be used for very small resultsets - ideally of, at most, length 1.

type AnalyticsScanConsistency

type AnalyticsScanConsistency int

AnalyticsScanConsistency indicates the level of data consistency desired for an analytics query.

type AnalyticsWarning

type AnalyticsWarning struct {
	Code    uint32 `json:"code"`
	Message string `json:"msg"`
}

AnalyticsWarning represents any warning generating during the execution of an Analytics query.

type AnalyzeDocumentOptions

type AnalyzeDocumentOptions struct {
	Timeout time.Duration
	Context context.Context
}

AnalyzeDocumentOptions is the set of options available to the search index AnalyzeDocument operation.

type AppendOp

type AppendOp struct {
	ID     string
	Value  string
	Result *MutationResult
	Err    error
	// contains filtered or unexported fields
}

AppendOp represents a type of `BulkOp` used for Append operations. See BulkOp.

type AppendOptions

type AppendOptions struct {
	Timeout         time.Duration
	Context         context.Context
	DurabilityLevel DurabilityLevel
	PersistTo       uint
	ReplicateTo     uint
	Cas             Cas
}

AppendOptions are the options available to the Append operation.

type ArrayAddUniqueSpecOptions

type ArrayAddUniqueSpecOptions struct {
	CreatePath bool
	IsXattr    bool
}

ArrayAddUniqueSpecOptions are the options available to subdocument ArrayAddUnique operations.

type ArrayAppendSpecOptions

type ArrayAppendSpecOptions struct {
	CreatePath bool
	IsXattr    bool
	// HasMultiple adds multiple values as elements to an array.
	// When used `value` in the spec must be an array type
	// ArrayAppend("path", []int{1,2,3,4}, ArrayAppendSpecOptions{HasMultiple:true}) =>
	//   "path" [..., 1,2,3,4]
	//
	// This is a more efficient version (at both the network and server levels)
	// of doing
	// spec.ArrayAppend("path", 1, nil)
	// spec.ArrayAppend("path", 2, nil)
	// spec.ArrayAppend("path", 3, nil)
	HasMultiple bool
}

ArrayAppendSpecOptions are the options available to subdocument ArrayAppend operations.

type ArrayInsertSpecOptions

type ArrayInsertSpecOptions struct {
	CreatePath bool
	IsXattr    bool
	// HasMultiple adds multiple values as elements to an array.
	// When used `value` in the spec must be an array type
	// ArrayInsert("path[1]", []int{1,2,3,4}, ArrayInsertSpecOptions{HasMultiple:true}) =>
	//   "path" [..., 1,2,3,4]
	//
	// This is a more efficient version (at both the network and server levels)
	// of doing
	// spec.ArrayInsert("path[2]", 1, nil)
	// spec.ArrayInsert("path[3]", 2, nil)
	// spec.ArrayInsert("path[4]", 3, nil)
	HasMultiple bool
}

ArrayInsertSpecOptions are the options available to subdocument ArrayInsert operations.

type ArrayPrependSpecOptions

type ArrayPrependSpecOptions struct {
	CreatePath bool
	IsXattr    bool
	// HasMultiple adds multiple values as elements to an array.
	// When used `value` in the spec must be an array type
	// ArrayPrepend("path", []int{1,2,3,4}, ArrayPrependSpecOptions{HasMultiple:true}) =>
	//   "path" [1,2,3,4, ....]
	//
	// This is a more efficient version (at both the network and server levels)
	// of doing
	// spec.ArrayPrepend("path", 1, nil)
	// spec.ArrayPrepend("path", 2, nil)
	// spec.ArrayPrepend("path", 3, nil)
	HasMultiple bool
}

ArrayPrependSpecOptions are the options available to subdocument ArrayPrepend operations.

type AuthCredsRequest

type AuthCredsRequest struct {
	Service  ServiceType
	Endpoint string
}

AuthCredsRequest encapsulates the data for a credential request from the new Authenticator interface. UNCOMMITTED

type AuthDomain

type AuthDomain string

AuthDomain specifies the user domain of a specific user

const (
	// LocalDomain specifies users that are locally stored in Couchbase.
	LocalDomain AuthDomain = "local"

	// ExternalDomain specifies users that are externally stored
	// (in LDAP for instance).
	ExternalDomain AuthDomain = "external"
)

type AuthenticationError

type AuthenticationError interface {
	AuthenticationError() bool
}

AuthenticationError represents an error caused by an authentication issue.

type Authenticator

type Authenticator interface {
	Credentials(req AuthCredsRequest) ([]UserPassPair, error)
}

Authenticator provides an interface to authenticate to each service. Note that only authenticators implemented here are stable, and support for custom authenticators is considered volatile.

type BinaryCollection

type BinaryCollection struct {
	// contains filtered or unexported fields
}

BinaryCollection is a set of binary operations.

func (*BinaryCollection) Append

func (c *BinaryCollection) Append(id string, val []byte, opts *AppendOptions) (mutOut *MutationResult, errOut error)

Append appends a byte value to a document.

func (*BinaryCollection) Decrement

func (c *BinaryCollection) Decrement(id string, opts *CounterOptions) (countOut *CounterResult, errOut error)

Decrement performs an atomic subtraction for an integer document. Passing a non-negative `initial` value will cause the document to be created if it did not already exist.

func (*BinaryCollection) Increment

func (c *BinaryCollection) Increment(id string, opts *CounterOptions) (countOut *CounterResult, errOut error)

Increment performs an atomic addition for an integer document. Passing a non-negative `initial` value will cause the document to be created if it did not already exist.

func (*BinaryCollection) Prepend

func (c *BinaryCollection) Prepend(id string, val []byte, opts *PrependOptions) (mutOut *MutationResult, errOut error)

Prepend prepends a byte value to a document.

type BooleanFieldQuery

type BooleanFieldQuery struct {
	// contains filtered or unexported fields
}

BooleanFieldQuery represents a FTS boolean field query.

func NewBooleanFieldQuery

func NewBooleanFieldQuery(val bool) *BooleanFieldQuery

NewBooleanFieldQuery creates a new BooleanFieldQuery.

func (*BooleanFieldQuery) Boost

func (q *BooleanFieldQuery) Boost(boost float32) *BooleanFieldQuery

Boost specifies the boost for this query.

func (*BooleanFieldQuery) Field

func (q *BooleanFieldQuery) Field(field string) *BooleanFieldQuery

Field specifies the field for this query.

func (BooleanFieldQuery) MarshalJSON

func (q BooleanFieldQuery) MarshalJSON() ([]byte, error)

MarshalJSON marshal's this query to JSON for the FTS REST API.

type BooleanQuery

type BooleanQuery struct {
	// contains filtered or unexported fields
}

BooleanQuery represents a FTS boolean query.

func NewBooleanQuery

func NewBooleanQuery() *BooleanQuery

NewBooleanQuery creates a new BooleanQuery.

func (*BooleanQuery) Boost

func (q *BooleanQuery) Boost(boost float32) *BooleanQuery

Boost specifies the boost for this query.

func (*BooleanQuery) MarshalJSON

func (q *BooleanQuery) MarshalJSON() ([]byte, error)

MarshalJSON marshal's this query to JSON for the FTS REST API.

func (*BooleanQuery) Must

func (q *BooleanQuery) Must(query SearchQuery) *BooleanQuery

Must specifies a query which must match.

func (*BooleanQuery) MustNot

func (q *BooleanQuery) MustNot(query SearchQuery) *BooleanQuery

MustNot specifies a query which must not match.

func (*BooleanQuery) Should

func (q *BooleanQuery) Should(query SearchQuery) *BooleanQuery

Should specifies a query which should match.

func (*BooleanQuery) ShouldMin

func (q *BooleanQuery) ShouldMin(min int) *BooleanQuery

ShouldMin specifies the minimum value before the should query will boost.

type Bucket

type Bucket struct {
	// contains filtered or unexported fields
}

Bucket represents a single bucket within a cluster.

func (*Bucket) Collection

func (b *Bucket) Collection(collectionName string) *Collection

Collection returns an instance of a collection from within the default scope. Volatile: This API is subject to change at any time.

func (*Bucket) CollectionManager

func (b *Bucket) CollectionManager() (*CollectionManager, error)

CollectionManager provides functions for managing collections. Volatile: This API is subject to change at any time.

func (*Bucket) DefaultCollection

func (b *Bucket) DefaultCollection() *Collection

DefaultCollection returns an instance of the default collection.

func (*Bucket) Name

func (b *Bucket) Name() string

Name returns the name of the bucket.

func (*Bucket) Ping

func (b *Bucket) Ping(opts *PingOptions) (*PingResult, error)

Ping will ping a list of services and verify they are active and responding in an acceptable period of time.

Volatile: This API is subject to change at any time.

func (*Bucket) Scope

func (b *Bucket) Scope(scopeName string) *Scope

Scope returns an instance of a Scope. Volatile: This API is subject to change at any time.

func (*Bucket) ViewIndexes

func (b *Bucket) ViewIndexes() (*ViewIndexManager, error)

ViewIndexes returns a ViewIndexManager instance for managing views. Volatile: This API is subject to change at any time.

func (*Bucket) ViewQuery

func (b *Bucket) ViewQuery(designDoc string, viewName string, opts *ViewOptions) (*ViewResult, error)

ViewQuery performs a view query and returns a list of rows or an error.

type BucketManager

type BucketManager struct {
	// contains filtered or unexported fields
}

BucketManager provides methods for performing bucket management operations. See BucketManager for methods that allow creating and removing buckets themselves. Volatile: This API is subject to change at any time.

func (*BucketManager) CreateBucket

func (bm *BucketManager) CreateBucket(settings CreateBucketSettings, opts *CreateBucketOptions) error

CreateBucket creates a bucket on the cluster.

func (*BucketManager) DropBucket

func (bm *BucketManager) DropBucket(name string, opts *DropBucketOptions) error

DropBucket will delete a bucket from the cluster by name.

func (*BucketManager) FlushBucket

func (bm *BucketManager) FlushBucket(name string, opts *FlushBucketOptions) error

FlushBucket will delete all the of the data from a bucket. Keep in mind that you must have flushing enabled in the buckets configuration.

func (*BucketManager) GetAllBuckets

func (bm *BucketManager) GetAllBuckets(opts *GetAllBucketsOptions) (map[string]BucketSettings, error)

GetAllBuckets returns a list of all active buckets on the cluster.

func (*BucketManager) GetBucket

func (bm *BucketManager) GetBucket(bucketName string, opts *GetBucketOptions) (*BucketSettings, error)

GetBucket returns settings for a bucket on the cluster.

func (*BucketManager) UpdateBucket

func (bm *BucketManager) UpdateBucket(settings BucketSettings, opts *UpdateBucketOptions) error

UpdateBucket updates a bucket on the cluster.

type BucketManagerError

type BucketManagerError interface {
	error
	HTTPStatus() int
	BucketNotFoundError() bool
	BucketExistsError() bool
}

BucketManagerError occurs for errors created By Couchbase Server when performing bucket management.

type BucketOptions

type BucketOptions struct {
	DisableMutationTokens bool
}

BucketOptions are the options available when connecting to a Bucket.

type BucketSettings

type BucketSettings struct {
	// Name is the name of the bucket and is required.
	Name string
	// FlushEnabled specifies whether or not to enable flush on the bucket.
	FlushEnabled bool
	// ReplicaIndexDisabled specifies whether or not to disable replica index.
	ReplicaIndexDisabled bool // inverted so that zero value matches server default.
	//  is the memory quota to assign to the bucket and is required.
	RAMQuotaMB int
	// NumReplicas is the number of replicas servers per vbucket and is required.
	// NOTE: If not set this will set 0 replicas.
	NumReplicas int
	// BucketType is the type of bucket this is. Defaults to CouchbaseBucketType.
	BucketType      BucketType
	EvictionPolicy  EvictionPolicyType
	MaxTTL          int
	CompressionMode CompressionMode
}

BucketSettings holds information about the settings for a bucket.

type BucketType

type BucketType string

BucketType specifies the kind of bucket.

type BuildDeferredQueryIndexOptions

type BuildDeferredQueryIndexOptions struct {
	Timeout time.Duration
	Context context.Context
}

BuildDeferredQueryIndexOptions is the set of options available to the query indexes BuildDeferredIndexes operation.

type BulkOp

type BulkOp interface {
	// contains filtered or unexported methods
}

BulkOp represents a single operation that can be submitted (within a list of more operations) to .Do() You can create a bulk operation by instantiating one of the implementations of BulkOp, such as GetOp, UpsertOp, ReplaceOp, and more.

type BulkOpOptions

type BulkOpOptions struct {
	Timeout time.Duration
	Context context.Context

	// Transcoder is used to encode values for operations that perform mutations and to decode values for
	// operations that fetch values. It does not apply to all BulkOp operations.
	Transcoder Transcoder
}

BulkOpOptions are the set of options available when performing BulkOps using Do.

type Cas

type Cas gocbcore.Cas

Cas represents the specific state of a document on the cluster.

type CertAuthenticator

type CertAuthenticator struct {
}

CertAuthenticator implements an Authenticator which can be used with certificate authentication.

func (CertAuthenticator) Credentials

func (ca CertAuthenticator) Credentials(req AuthCredsRequest) ([]UserPassPair, error)

Credentials returns the credentials for a particular service.

type Cluster

type Cluster struct {
	// contains filtered or unexported fields
}

Cluster represents a connection to a specific Couchbase cluster.

func Connect

func Connect(connStr string, opts ClusterOptions) (*Cluster, error)

Connect creates and returns a Cluster instance created using the provided options and connection string. The connection string properties are copied from (and should stay in sync with) the gocbcore agent.FromConnStr comment. Supported connSpecStr options are:

cacertpath (string) - Path to the CA certificate
certpath (string) - Path to your authentication certificate
keypath (string) - Path to your authentication key
config_total_timeout (int) - Maximum period to attempt to connect to cluster in ms.
config_node_timeout (int) - Maximum period to attempt to connect to a node in ms.
http_redial_period (int) - Maximum period to keep HTTP config connections open in ms.
http_retry_delay (int) - Period to wait between retrying nodes for HTTP config in ms.
config_poll_floor_interval (int) - Minimum time to wait between fetching configs via CCCP in ms.
config_poll_interval (int) - Period to wait between CCCP config polling in ms.
kv_pool_size (int) - The number of connections to establish per node.
max_queue_size (int) - The maximum size of the operation queues per node.
use_kverrmaps (bool) - Whether to enable error maps from the server.
use_enhanced_errors (bool) - Whether to enable enhanced error information.
fetch_mutation_tokens (bool) - Whether to fetch mutation tokens for operations.
compression (bool) - Whether to enable network-wise compression of documents.
compression_min_size (int) - The minimal size of the document to consider compression.
compression_min_ratio (float64) - The minimal compress ratio (compressed / original) for the document to be sent compressed.
server_duration (bool) - Whether to enable fetching server operation durations.
http_max_idle_conns (int) - Maximum number of idle http connections in the pool.
http_max_idle_conns_per_host (int) - Maximum number of idle http connections in the pool per host.
http_idle_conn_timeout (int) - Maximum length of time for an idle connection to stay in the pool in ms.
network (string) - The network type to use.
orphaned_response_logging (bool) - Whether to enable orphan response logging.
orphaned_response_logging_interval (int) - How often to log orphan responses in ms.
orphaned_response_logging_sample_size (int) - The number of samples to include in each orphaned response log.

func (*Cluster) AnalyticsIndexes

func (c *Cluster) AnalyticsIndexes() (*AnalyticsIndexManager, error)

AnalyticsIndexes returns an AnalyticsIndexManager for managing analytics indexes. Volatile: This API is subject to change at any time.

func (*Cluster) AnalyticsQuery

func (c *Cluster) AnalyticsQuery(statement string, opts *AnalyticsOptions) (*AnalyticsResult, error)

AnalyticsQuery performs an analytics query and returns a list of rows or an error.

func (*Cluster) Bucket

func (c *Cluster) Bucket(bucketName string, opts *BucketOptions) *Bucket

Bucket connects the cluster to server(s) and returns a new Bucket instance.

func (*Cluster) Buckets

func (c *Cluster) Buckets() (*BucketManager, error)

Buckets returns a BucketManager for managing buckets. Volatile: This API is subject to change at any time.

func (*Cluster) Close

func (c *Cluster) Close(opts *ClusterCloseOptions) error

Close shuts down all buckets in this cluster and invalidates any references this cluster has.

func (*Cluster) Diagnostics

func (c *Cluster) Diagnostics(opts *DiagnosticsOptions) (*DiagnosticsResult, error)

Diagnostics returns information about the internal state of the SDK.

Volatile: This API is subject to change at any time.

func (*Cluster) Query

func (c *Cluster) Query(statement string, opts *QueryOptions) (*QueryResult, error)

Query executes the N1QL query statement on the server n1qlEp. This function assumes that `opts` already contains all the required settings. This function will inject any additional connection or request-level settings into the `opts` map (currently this is only the timeout).

func (*Cluster) QueryIndexes

func (c *Cluster) QueryIndexes() (*QueryIndexManager, error)

QueryIndexes returns a QueryIndexManager for managing N1QL indexes. Volatile: This API is subject to change at any time.

func (*Cluster) SearchIndexes

func (c *Cluster) SearchIndexes() (*SearchIndexManager, error)

SearchIndexes returns a SearchIndexManager for managing Search indexes.

func (*Cluster) SearchQuery

func (c *Cluster) SearchQuery(indexName string, q SearchQuery, opts *SearchOptions) (*SearchResult, error)

SearchQuery performs a n1ql query and returns a list of rows or an error.

func (*Cluster) Users

func (c *Cluster) Users() (*UserManager, error)

Users returns a UserManager for managing users. Volatile: This API is subject to change at any time.

type ClusterCloseOptions

type ClusterCloseOptions struct {
}

ClusterCloseOptions is the set of options available when disconnecting from a Cluster.

type ClusterOptions

type ClusterOptions struct {
	Authenticator     Authenticator
	ConnectTimeout    time.Duration
	KVTimeout         time.Duration
	ViewTimeout       time.Duration
	QueryTimeout      time.Duration
	AnalyticsTimeout  time.Duration
	SearchTimeout     time.Duration
	ManagementTimeout time.Duration
	// Transcoder is used for trancoding data used in KV operations.
	Transcoder Transcoder
	// Serializer is used for deserialization of data used in query, analytics, view and search operations. This
	// will default to DefaultJSONSerializer. NOTE: This is entirely independent of Transcoder.
	Serializer            JSONSerializer
	DisableMutationTokens bool
}

ClusterOptions is the set of options available for creating a Cluster.

type Collection

type Collection struct {
	// contains filtered or unexported fields
}

Collection represents a single collection.

func (*Collection) Binary

func (c *Collection) Binary() *BinaryCollection

Binary creates and returns a BinaryCollection object.

func (*Collection) Do

func (c *Collection) Do(ops []BulkOp, opts *BulkOpOptions) error

Do execute one or more `BulkOp` items in parallel.

func (*Collection) Exists

func (c *Collection) Exists(id string, opts *ExistsOptions) (docOut *ExistsResult, errOut error)

Exists checks if a document exists for the given id.

func (*Collection) Get

func (c *Collection) Get(id string, opts *GetOptions) (docOut *GetResult, errOut error)

Get performs a fetch operation against the collection. This can take 3 paths, a standard full document fetch, a subdocument full document fetch also fetching document expiry (when WithExpiry is set), or a subdocument fetch (when Project is used).

func (*Collection) GetAllReplicas

func (c *Collection) GetAllReplicas(id string, opts *GetAllReplicaOptions) (docOut *GetAllReplicasResult, errOut error)

GetAllReplicas returns the value of a particular document from all replica servers. This will return an iterable which streams results one at a time.

func (*Collection) GetAndLock

func (c *Collection) GetAndLock(id string, lockTime time.Duration, opts *GetAndLockOptions) (docOut *GetResult, errOut error)

GetAndLock locks a document for a period of time, providing exclusive RW access to it. A lockTime value of over 30 seconds will be treated as 30 seconds. The resolution used to send this value to the server is seconds and is calculated using uint32(lockTime/time.Second).

func (*Collection) GetAndTouch

func (c *Collection) GetAndTouch(id string, expiry uint32, opts *GetAndTouchOptions) (docOut *GetResult, errOut error)

GetAndTouch retrieves a document and simultaneously updates its expiry time.

func (*Collection) GetAnyReplica

func (c *Collection) GetAnyReplica(id string, opts *GetAnyReplicaOptions) (docOut *GetReplicaResult, errOut error)

GetAnyReplica returns the value of a particular document from a replica server.

func (*Collection) Insert

func (c *Collection) Insert(id string, val interface{}, opts *InsertOptions) (mutOut *MutationResult, errOut error)

Insert creates a new document in the Collection.

func (*Collection) List

func (c *Collection) List(id string) *CouchbaseList

List returns a new CouchbaseList for the document specified by id.

func (*Collection) LookupIn

func (c *Collection) LookupIn(id string, ops []LookupInSpec, opts *LookupInOptions) (docOut *LookupInResult, errOut error)

LookupIn performs a set of subdocument lookup operations on the document identified by id.

func (*Collection) Map

func (c *Collection) Map(id string) *CouchbaseMap

Map returns a new CouchbaseMap.

func (*Collection) MutateIn

func (c *Collection) MutateIn(id string, ops []MutateInSpec, opts *MutateInOptions) (mutOut *MutateInResult, errOut error)

MutateIn performs a set of subdocument mutations on the document specified by id.

func (*Collection) Name

func (c *Collection) Name() string

Name returns the name of the collection.

func (*Collection) Queue

func (c *Collection) Queue(id string) *CouchbaseQueue

Queue returns a new CouchbaseQueue.

func (*Collection) Remove

func (c *Collection) Remove(id string, opts *RemoveOptions) (mutOut *MutationResult, errOut error)

Remove removes a document from the collection.

func (*Collection) Replace

func (c *Collection) Replace(id string, val interface{}, opts *ReplaceOptions) (mutOut *MutationResult, errOut error)

Replace updates a document in the collection.

func (*Collection) Set

func (c *Collection) Set(id string) *CouchbaseSet

Set returns a new CouchbaseSet.

func (*Collection) Touch

func (c *Collection) Touch(id string, expiry uint32, opts *TouchOptions) (mutOut *MutationResult, errOut error)

Touch touches a document, specifying a new expiry time for it.

func (*Collection) Unlock

func (c *Collection) Unlock(id string, cas Cas, opts *UnlockOptions) (mutOut *MutationResult, errOut error)

Unlock unlocks a document which was locked with GetAndLock.

func (*Collection) Upsert

func (c *Collection) Upsert(id string, val interface{}, opts *UpsertOptions) (mutOut *MutationResult, errOut error)

Upsert creates a new document in the Collection if it does not exist, if it does exist then it updates it.

type CollectionExistsOptions

type CollectionExistsOptions struct {
	Timeout time.Duration
	Context context.Context
}

CollectionExistsOptions is the set of options available to the CollectionExists operation.

type CollectionManager

type CollectionManager struct {
	// contains filtered or unexported fields
}

CollectionManager provides methods for performing collections management. Volatile: This API is subject to change at any time.

func (*CollectionManager) CollectionExists

func (cm *CollectionManager) CollectionExists(spec CollectionSpec, opts *CollectionExistsOptions) (bool, error)

CollectionExists verifies whether or not a collection exists on the bucket.

func (*CollectionManager) CreateCollection

func (cm *CollectionManager) CreateCollection(spec CollectionSpec, opts *CreateCollectionOptions) error

CreateCollection creates a new collection on the bucket.

func (*CollectionManager) CreateScope

func (cm *CollectionManager) CreateScope(scopeName string, opts *CreateScopeOptions) error

CreateScope creates a new scope on the bucket.

func (*CollectionManager) DropCollection

func (cm *CollectionManager) DropCollection(spec CollectionSpec, opts *DropCollectionOptions) error

DropCollection removes a collection.

func (*CollectionManager) DropScope

func (cm *CollectionManager) DropScope(scopeName string, opts *DropScopeOptions) error

DropScope removes a scope.

func (*CollectionManager) GetAllScopes

func (cm *CollectionManager) GetAllScopes(opts *GetAllScopesOptions) ([]ScopeSpec, error)

GetAllScopes gets all scopes from the bucket.

func (*CollectionManager) GetScope

func (cm *CollectionManager) GetScope(scopeName string, opts *GetScopeOptions) (*ScopeSpec, error)

GetScope gets a scope from the bucket.

func (*CollectionManager) ScopeExists

func (cm *CollectionManager) ScopeExists(scopeName string, opts *ScopeExistsOptions) (bool, error)

ScopeExists verifies whether or not a scope exists on the bucket.

type CollectionManagerError

type CollectionManagerError interface {
	error
	HTTPStatus() int
	CollectionNotFoundError() bool
	CollectionExistsError() bool
	ScopeNotFoundError() bool
	ScopeExistsError() bool
}

CollectionManagerError occurs for errors created By Couchbase Server when performing collection management.

type CollectionNotFoundError

type CollectionNotFoundError interface {
	CollectionNotFound() bool
}

CollectionNotFoundError returns whether or not an error occurred because a collection could not be found.

type CollectionSpec

type CollectionSpec struct {
	Name      string
	ScopeName string
}

CollectionSpec describes the specification of a collection.

type CompressionMode

type CompressionMode string

CompressionMode specifies the kind of compression to use for a bucket.

type ConfigurationError

type ConfigurationError interface {
	error
	ConfigurationError() bool
}

ConfigurationError occurs when the client is configured incorrectly.

type ConflictResolutionType

type ConflictResolutionType string

ConflictResolutionType specifies the kind of conflict resolution to use for a bucket.

type ConjunctionQuery

type ConjunctionQuery struct {
	// contains filtered or unexported fields
}

ConjunctionQuery represents a FTS conjunction query.

func NewConjunctionQuery

func NewConjunctionQuery(queries ...SearchQuery) *ConjunctionQuery

NewConjunctionQuery creates a new ConjunctionQuery.

func (*ConjunctionQuery) And

func (q *ConjunctionQuery) And(queries ...SearchQuery) *ConjunctionQuery

And adds new predicate queries to this conjunction query.

func (*ConjunctionQuery) Boost

func (q *ConjunctionQuery) Boost(boost float32) *ConjunctionQuery

Boost specifies the boost for this query.

func (ConjunctionQuery) MarshalJSON

func (q ConjunctionQuery) MarshalJSON() ([]byte, error)

MarshalJSON marshal's this query to JSON for the FTS REST API.

type ConnectAnalyticsLinkOptions

type ConnectAnalyticsLinkOptions struct {
	Timeout time.Duration
	Context context.Context
	// Name of the link, if empty defaults to Local
	LinkName string
}

ConnectAnalyticsLinkOptions is the set of options available to the AnalyticsManager ConnectLink operation.

type CouchbaseList

type CouchbaseList struct {
	// contains filtered or unexported fields
}

CouchbaseList represents a list document.

func (*CouchbaseList) Append

func (cl *CouchbaseList) Append(val interface{}) error

Append appends an item to the list.

func (*CouchbaseList) At

func (cl *CouchbaseList) At(index int, valuePtr interface{}) error

At retrieves the value specified at the given index from the list.

func (*CouchbaseList) Clear

func (cl *CouchbaseList) Clear() error

Clear clears a list, also removing it.

func (*CouchbaseList) IndexOf

func (cl *CouchbaseList) IndexOf(val interface{}) (int, error)

IndexOf gets the index of the item in the list.

func (*CouchbaseList) Iterator

func (cl *CouchbaseList) Iterator() ([]interface{}, error)

Iterator returns an iterable for all items in the list.

func (*CouchbaseList) Prepend

func (cl *CouchbaseList) Prepend(val interface{}) error

Prepend prepends an item to the list.

func (*CouchbaseList) RemoveAt

func (cl *CouchbaseList) RemoveAt(index int) error

RemoveAt removes the value specified at the given index from the list.

func (*CouchbaseList) Size

func (cl *CouchbaseList) Size() (int, error)

Size returns the size of the list.

type CouchbaseMap

type CouchbaseMap struct {
	// contains filtered or unexported fields
}

CouchbaseMap represents a map document.

func (*CouchbaseMap) Add

func (cl *CouchbaseMap) Add(id string, val interface{}) error

Add adds an item to the map.

func (*CouchbaseMap) At

func (cl *CouchbaseMap) At(id string, valuePtr interface{}) error

At retrieves the item for the given id from the map.

func (*CouchbaseMap) Clear

func (cl *CouchbaseMap) Clear() error

Clear clears a map, also removing it.

func (*CouchbaseMap) Exists

func (cl *CouchbaseMap) Exists(id string) (bool, error)

Exists verifies whether or a id exists in the map.

func (*CouchbaseMap) Iterator

func (cl *CouchbaseMap) Iterator() (map[string]interface{}, error)

Iterator returns an iterable for all items in the map.

func (*CouchbaseMap) Keys

func (cl *CouchbaseMap) Keys() ([]string, error)

Keys returns all of the keys within the map.

func (*CouchbaseMap) Remove

func (cl *CouchbaseMap) Remove(id string) error

Remove removes an item from the map.

func (*CouchbaseMap) Size

func (cl *CouchbaseMap) Size() (int, error)

Size returns the size of the map.

func (*CouchbaseMap) Values

func (cl *CouchbaseMap) Values() ([]interface{}, error)

Values returns all of the values within the map.

type CouchbaseQueue

type CouchbaseQueue struct {
	// contains filtered or unexported fields
}

CouchbaseQueue represents a queue document.

func (*CouchbaseQueue) Clear

func (cs *CouchbaseQueue) Clear() error

Clear clears a queue, also removing it.

func (*CouchbaseQueue) Iterator

func (cs *CouchbaseQueue) Iterator() ([]interface{}, error)

Iterator returns an iterable for all items in the queue.

func (*CouchbaseQueue) Pop

func (cs *CouchbaseQueue) Pop(valuePtr interface{}) error

Pop pops an items off of the queue.

func (*CouchbaseQueue) Push

func (cs *CouchbaseQueue) Push(val interface{}) error

Push pushes a value onto the queue.

func (*CouchbaseQueue) Size

func (cs *CouchbaseQueue) Size() (int, error)

Size returns the size of the queue.

type CouchbaseSet

type CouchbaseSet struct {
	// contains filtered or unexported fields
}

CouchbaseSet represents a set document.

func (*CouchbaseSet) Add

func (cs *CouchbaseSet) Add(val interface{}) error

Add adds a value to the set.

func (*CouchbaseSet) Clear

func (cs *CouchbaseSet) Clear() error

Clear clears a set, also removing it.

func (*CouchbaseSet) Contains

func (cs *CouchbaseSet) Contains(val string) (bool, error)

Contains verifies whether or not a value exists within the set.

func (*CouchbaseSet) Iterator

func (cs *CouchbaseSet) Iterator() ([]interface{}, error)

Iterator returns an iterable for all items in the set.

func (*CouchbaseSet) Remove

func (cs *CouchbaseSet) Remove(val string) error

Remove removes an value from the set.

func (*CouchbaseSet) Size

func (cs *CouchbaseSet) Size() (int, error)

Size returns the size of the set

func (*CouchbaseSet) Values

func (cs *CouchbaseSet) Values() ([]interface{}, error)

Values returns all of the values within the set.

type CountSpecOptions

type CountSpecOptions struct {
	IsXattr bool
}

CountSpecOptions are the options available to LookupIn subdoc Count operations.

type CounterOptions

type CounterOptions struct {
	Timeout time.Duration
	Context context.Context
	// Expiry is the length of time in seconds that the document will be stored in Couchbase.
	// A value of 0 will set the document to never expire.
	Expiry uint32
	// Initial, if non-negative, is the `initial` value to use for the document if it does not exist.
	// If present, this is the value that will be returned by a successful operation.
	Initial int64
	// Delta is the value to use for incrementing/decrementing if Initial is not present.
	Delta           uint64
	DurabilityLevel DurabilityLevel
	PersistTo       uint
	ReplicateTo     uint
	Cas             Cas
}

CounterOptions are the options available to the Counter operation.

type CounterResult

type CounterResult struct {
	MutationResult
	// contains filtered or unexported fields
}

CounterResult is the return type of counter operations.

func (CounterResult) Cas

func (mr CounterResult) Cas() Cas

Cas returns the Cas value for a document following an operation.

func (CounterResult) Content

func (mr CounterResult) Content() uint64

Content returns the new value for the counter document.

func (CounterResult) MutationToken

func (mr CounterResult) MutationToken() *MutationToken

MutationToken returns the mutation token belonging to an operation.

type CounterSpecOptions

type CounterSpecOptions struct {
	CreatePath bool
	IsXattr    bool
}

CounterSpecOptions are the options available to subdocument Increment and Decrement operations.

type CreateAnalyticsDatasetOptions

type CreateAnalyticsDatasetOptions struct {
	Timeout time.Duration
	Context context.Context

	IgnoreIfExists bool
	// Condition can be used to set the WHERE clause for the dataset creation.
	Condition     string
	DataverseName string
}

CreateAnalyticsDatasetOptions is the set of options available to the AnalyticsManager CreateDataset operation.

type CreateAnalyticsDataverseOptions

type CreateAnalyticsDataverseOptions struct {
	Timeout time.Duration
	Context context.Context

	IgnoreIfExists bool
}

CreateAnalyticsDataverseOptions is the set of options available to the AnalyticsManager CreateDataverse operation.

type CreateAnalyticsIndexOptions

type CreateAnalyticsIndexOptions struct {
	Timeout time.Duration
	Context context.Context

	IgnoreIfExists bool
	DataverseName  string
}

CreateAnalyticsIndexOptions is the set of options available to the AnalyticsManager CreateIndex operation.

type CreateBucketOptions

type CreateBucketOptions struct {
	Timeout time.Duration
	Context context.Context
}

CreateBucketOptions is the set of options available to the bucket manager CreateBucket operation.

type CreateBucketSettings

type CreateBucketSettings struct {
	BucketSettings
	ConflictResolutionType ConflictResolutionType
}

CreateBucketSettings are the settings available when creating a bucket.

type CreateCollectionOptions

type CreateCollectionOptions struct {
	Timeout time.Duration
	Context context.Context
}

CreateCollectionOptions is the set of options available to the CreateCollection operation.

type CreatePrimaryQueryIndexOptions

type CreatePrimaryQueryIndexOptions struct {
	Timeout time.Duration
	Context context.Context

	IgnoreIfExists bool
	Deferred       bool
	CustomName     string
}

CreatePrimaryQueryIndexOptions is the set of options available to the query indexes CreatePrimaryIndex operation.

type CreateQueryIndexOptions

type CreateQueryIndexOptions struct {
	Timeout time.Duration
	Context context.Context

	IgnoreIfExists bool
	Deferred       bool
}

CreateQueryIndexOptions is the set of options available to the query indexes CreateIndex operation.

type CreateScopeOptions

type CreateScopeOptions struct {
	Timeout time.Duration
	Context context.Context
}

CreateScopeOptions is the set of options available to the CreateScope operation.

type DateFacet

type DateFacet struct {
	// contains filtered or unexported fields
}

DateFacet is an FTS date range facet.

func NewDateFacet

func NewDateFacet(field string, size int) *DateFacet

NewDateFacet creates a new date range facet.

func (*DateFacet) AddRange

func (f *DateFacet) AddRange(name string, start, end string) *DateFacet

AddRange adds a new range to this date range facet.

func (DateFacet) MarshalJSON

func (f DateFacet) MarshalJSON() ([]byte, error)

MarshalJSON marshal's this facet to JSON for the FTS REST API.

type DateFacetResult

type DateFacetResult struct {
	Name  string `json:"name,omitempty"`
	Min   string `json:"min,omitempty"`
	Max   string `json:"max,omitempty"`
	Count int    `json:"count,omitempty"`
}

DateFacetResult holds the results of a date facet in search results.

type DateRangeQuery

type DateRangeQuery struct {
	// contains filtered or unexported fields
}

DateRangeQuery represents a FTS date range query.

func NewDateRangeQuery

func NewDateRangeQuery() *DateRangeQuery

NewDateRangeQuery creates a new DateRangeQuery.

func (*DateRangeQuery) Boost

func (q *DateRangeQuery) Boost(boost float32) *DateRangeQuery

Boost specifies the boost for this query.

func (*DateRangeQuery) DateTimeParser

func (q *DateRangeQuery) DateTimeParser(parser string) *DateRangeQuery

DateTimeParser specifies which date time string parser to use.

func (*DateRangeQuery) End

func (q *DateRangeQuery) End(end string, inclusive bool) *DateRangeQuery

End specifies the end value and inclusiveness for this range query.

func (*DateRangeQuery) Field

func (q *DateRangeQuery) Field(field string) *DateRangeQuery

Field specifies the field for this query.

func (DateRangeQuery) MarshalJSON

func (q DateRangeQuery) MarshalJSON() ([]byte, error)

MarshalJSON marshal's this query to JSON for the FTS REST API.

func (*DateRangeQuery) Start

func (q *DateRangeQuery) Start(start string, inclusive bool) *DateRangeQuery

Start specifies the start value and inclusiveness for this range query.

type DecrementOp

type DecrementOp struct {
	ID      string
	Delta   int64
	Initial int64
	Expiry  uint32

	Result *CounterResult
	Err    error
	// contains filtered or unexported fields
}

DecrementOp represents a type of `BulkOp` used for Decrement operations. See BulkOp.

type DefaultJSONSerializer

type DefaultJSONSerializer struct {
}

DefaultJSONSerializer implements the JSONSerializer interface using json.Marshal/Unmarshal.

func (*DefaultJSONSerializer) Deserialize

func (s *DefaultJSONSerializer) Deserialize(bytes []byte, out interface{}) error

Deserialize applies the json.Unmarshal behaviour to deserialize into a Go type

func (*DefaultJSONSerializer) Serialize

func (s *DefaultJSONSerializer) Serialize(value interface{}) ([]byte, error)

Serialize applies the json.Marshal behaviour to serialize a Go type

type DesignDocument

type DesignDocument struct {
	Name  string          `json:"-"`
	Views map[string]View `json:"views,omitempty"`
}

DesignDocument represents a Couchbase design document containing multiple views.

type DesignDocumentNamespace

type DesignDocumentNamespace bool

DesignDocumentNamespace represents which namespace a design document resides in.

type DiagConnState

type DiagConnState int

DiagConnState represents the state of a connection in a diagnostics report.

type DiagnosticsOptions

type DiagnosticsOptions struct {
	ReportID string
}

DiagnosticsOptions are the options that are available for use with the Diagnostics operation.

type DiagnosticsResult

type DiagnosticsResult struct {
	ID       string
	Version  int64
	SDK      string
	Services map[string][]EndPointDiagnostics
}

DiagnosticsResult encapsulates the results of a Diagnostics operation.

func (*DiagnosticsResult) MarshalJSON

func (report *DiagnosticsResult) MarshalJSON() ([]byte, error)

MarshalJSON generates a JSON representation of this diagnostics report.

type DisallowQueryingSearchIndexOptions

type DisallowQueryingSearchIndexOptions struct {
	Timeout time.Duration
	Context context.Context
}

DisallowQueryingSearchIndexOptions is the set of options available to the search index DisallowQuerying operation.

type DisconnectAnalyticsLinkOptions

type DisconnectAnalyticsLinkOptions struct {
	Timeout time.Duration
	Context context.Context
	// Name of the link, if empty defaults to Local
	LinkName string
}

DisconnectAnalyticsLinkOptions is the set of options available to the AnalyticsManager DisconnectLink operation.

type DisjunctionQuery

type DisjunctionQuery struct {
	// contains filtered or unexported fields
}

DisjunctionQuery represents a FTS disjunction query.

func NewDisjunctionQuery

func NewDisjunctionQuery(queries ...SearchQuery) *DisjunctionQuery

NewDisjunctionQuery creates a new DisjunctionQuery.

func (*DisjunctionQuery) Boost

func (q *DisjunctionQuery) Boost(boost float32) *DisjunctionQuery

Boost specifies the boost for this query.

func (DisjunctionQuery) MarshalJSON

func (q DisjunctionQuery) MarshalJSON() ([]byte, error)

MarshalJSON marshal's this query to JSON for the FTS REST API.

func (*DisjunctionQuery) Or

func (q *DisjunctionQuery) Or(queries ...SearchQuery) *DisjunctionQuery

Or adds new predicate queries to this disjunction query.

type DocIdQuery

type DocIdQuery struct {
	// contains filtered or unexported fields
}

DocIdQuery represents a FTS document id query.

func NewDocIdQuery

func NewDocIdQuery(ids ...string) *DocIdQuery

NewDocIdQuery creates a new DocIdQuery.

func (*DocIdQuery) AddDocIds

func (q *DocIdQuery) AddDocIds(ids ...string) *DocIdQuery

AddDocIds adds addition document ids to this query.

func (*DocIdQuery) Boost

func (q *DocIdQuery) Boost(boost float32) *DocIdQuery

Boost specifies the boost for this query.

func (*DocIdQuery) Field

func (q *DocIdQuery) Field(field string) *DocIdQuery

Field specifies the field for this query.

func (DocIdQuery) MarshalJSON

func (q DocIdQuery) MarshalJSON() ([]byte, error)

MarshalJSON marshal's this query to JSON for the FTS REST API.

type DropAnalyticsDatasetOptions

type DropAnalyticsDatasetOptions struct {
	Timeout time.Duration
	Context context.Context

	IgnoreIfNotExists bool
	DataverseName     string
}

DropAnalyticsDatasetOptions is the set of options available to the AnalyticsManager DropDataset operation.

type DropAnalyticsDataverseOptions

type DropAnalyticsDataverseOptions struct {
	Timeout time.Duration
	Context context.Context

	IgnoreIfNotExists bool
}

DropAnalyticsDataverseOptions is the set of options available to the AnalyticsManager DropDataverse operation.

type DropAnalyticsIndexOptions

type DropAnalyticsIndexOptions struct {
	Timeout time.Duration
	Context context.Context

	IgnoreIfNotExists bool
	DataverseName     string
}

DropAnalyticsIndexOptions is the set of options available to the AnalyticsManager DropIndex operation.

type DropBucketOptions

type DropBucketOptions struct {
	Timeout time.Duration
	Context context.Context
}

DropBucketOptions is the set of options available to the bucket manager DropBucket operation.

type DropCollectionOptions

type DropCollectionOptions struct {
	Timeout time.Duration
	Context context.Context
}

DropCollectionOptions is the set of options available to the DropCollection operation.

type DropDesignDocumentOptions

type DropDesignDocumentOptions struct {
	Timeout time.Duration
	Context context.Context
}

DropDesignDocumentOptions is the set of options available to the ViewIndexManager Upsert operation.

type DropGroupOptions

type DropGroupOptions struct {
	Timeout time.Duration
	Context context.Context
}

DropGroupOptions is the set of options available to the group manager Drop operation.

type DropPrimaryQueryIndexOptions

type DropPrimaryQueryIndexOptions struct {
	Timeout time.Duration
	Context context.Context

	IgnoreIfNotExists bool
	CustomName        string
}

DropPrimaryQueryIndexOptions is the set of options available to the query indexes DropPrimaryIndex operation.

type DropQueryIndexOptions

type DropQueryIndexOptions struct {
	Timeout time.Duration
	Context context.Context

	IgnoreIfNotExists bool
}

DropQueryIndexOptions is the set of options available to the query indexes DropIndex operation.

type DropScopeOptions

type DropScopeOptions struct {
	Timeout time.Duration
	Context context.Context
}

DropScopeOptions is the set of options available to the DropScope operation.

type DropSearchIndexOptions

type DropSearchIndexOptions struct {
	Timeout time.Duration
	Context context.Context
}

DropSearchIndexOptions is the set of options available to the search index DropIndex operation.

type DropUserOptions

type DropUserOptions struct {
	Timeout time.Duration
	Context context.Context

	DomainName string
}

DropUserOptions is the set of options available to the user manager Drop operation.

type DurabilityError

type DurabilityError interface {
	DurabilityError() bool
}

DurabilityError occurs when an error occurs during performing durability operations.

type DurabilityLevel

type DurabilityLevel uint8

DurabilityLevel specifies the level of synchronous replication to use.

type EndPointDiagnostics

type EndPointDiagnostics struct {
	Type         ServiceType
	State        DiagConnState
	Local        string
	Remote       string
	LastActivity time.Time
	Scope        string
	ID           string
}

EndPointDiagnostics represents a single entry in a diagnostics report.

type EvictionPolicyType

type EvictionPolicyType string

EvictionPolicyType specifies the kind of eviction policy to use for a bucket.

type ExistsOptions

type ExistsOptions struct {
	Timeout time.Duration
	Context context.Context
}

ExistsOptions are the options available to the Exists command.

type ExistsResult

type ExistsResult struct {
	Result
	// contains filtered or unexported fields
}

ExistsResult is the return type of Exist operations.

func (*ExistsResult) Exists

func (d *ExistsResult) Exists() bool

Exists returns whether or not the document exists.

type ExistsSpecOptions

type ExistsSpecOptions struct {
	IsXattr bool
}

ExistsSpecOptions are the options available to LookupIn subdoc Exists operations.

type FacetResult

type FacetResult struct {
	Field         string               `json:"field,omitempty"`
	Total         int                  `json:"total,omitempty"`
	Missing       int                  `json:"missing,omitempty"`
	Other         int                  `json:"other,omitempty"`
	Terms         []TermFacetResult    `json:"terms,omitempty"`
	NumericRanges []NumericFacetResult `json:"numeric_ranges,omitempty"`
	DateRanges    []DateFacetResult    `json:"date_ranges,omitempty"`
}

FacetResult holds the results of a specified facet in search results.

type FlushBucketOptions

type FlushBucketOptions struct {
	Timeout time.Duration
	Context context.Context
}

FlushBucketOptions is the set of options available to the bucket manager FlushBucket operation.

type FreezePlanSearchIndexOptions

type FreezePlanSearchIndexOptions struct {
	Timeout time.Duration
	Context context.Context
}

FreezePlanSearchIndexOptions is the set of options available to the search index FreezePlan operation.

type FtsFacet

type FtsFacet interface {
}

FtsFacet represents a facet for a search query.

type FtsSort

type FtsSort interface {
}

FtsSort represents an FTS sorting for a search query.

type GeoBoundingBoxQuery

type GeoBoundingBoxQuery struct {
	// contains filtered or unexported fields
}

GeoBoundingBoxQuery represents a FTS geographical bounding box query.

func NewGeoBoundingBoxQuery

func NewGeoBoundingBoxQuery(tlLon, tlLat, brLon, brLat float64) *GeoBoundingBoxQuery

NewGeoBoundingBoxQuery creates a new GeoBoundingBoxQuery.

func (*GeoBoundingBoxQuery) Boost

Boost specifies the boost for this query.

func (*GeoBoundingBoxQuery) Field

Field specifies the field for this query.

func (GeoBoundingBoxQuery) MarshalJSON

func (q GeoBoundingBoxQuery) MarshalJSON() ([]byte, error)

MarshalJSON marshal's this query to JSON for the FTS REST API.

type GeoDistanceQuery

type GeoDistanceQuery struct {
	// contains filtered or unexported fields
}

GeoDistanceQuery represents a FTS geographical distance query.

func NewGeoDistanceQuery

func NewGeoDistanceQuery(lon, lat float64, distance string) *GeoDistanceQuery

NewGeoDistanceQuery creates a new GeoDistanceQuery.

func (*GeoDistanceQuery) Boost

func (q *GeoDistanceQuery) Boost(boost float32) *GeoDistanceQuery

Boost specifies the boost for this query.

func (*GeoDistanceQuery) Field

func (q *GeoDistanceQuery) Field(field string) *GeoDistanceQuery

Field specifies the field for this query.

func (GeoDistanceQuery) MarshalJSON

func (q GeoDistanceQuery) MarshalJSON() ([]byte, error)

MarshalJSON marshal's this query to JSON for the FTS REST API.

type GetAllAnalyticsDatasetsOptions

type GetAllAnalyticsDatasetsOptions struct {
	Timeout time.Duration
	Context context.Context
}

GetAllAnalyticsDatasetsOptions is the set of options available to the AnalyticsManager GetAllDatasets operation.

type GetAllAnalyticsIndexesOptions

type GetAllAnalyticsIndexesOptions struct {
	Timeout time.Duration
	Context context.Context
}

GetAllAnalyticsIndexesOptions is the set of options available to the AnalyticsManager GetAllIndexes operation.

type GetAllBucketsOptions

type GetAllBucketsOptions struct {
	Timeout time.Duration
	Context context.Context
}

GetAllBucketsOptions is the set of options available to the bucket manager GetAll operation.

type GetAllDesignDocumentsOptions

type GetAllDesignDocumentsOptions struct {
	Timeout time.Duration
	Context context.Context
}

GetAllDesignDocumentsOptions is the set of options available to the ViewIndexManager GetAllDesignDocuments operation.

type GetAllGroupsOptions

type GetAllGroupsOptions struct {
	Timeout time.Duration
	Context context.Context
}

GetAllGroupsOptions is the set of options available to the group manager GetAll operation.

type GetAllQueryIndexesOptions

type GetAllQueryIndexesOptions struct {
	Timeout time.Duration
	Context context.Context
}

GetAllQueryIndexesOptions is the set of options available to the query indexes GetAllIndexes operation.

type GetAllReplicaOptions

type GetAllReplicaOptions struct {
	Timeout    time.Duration
	Context    context.Context
	Transcoder Transcoder
}

GetAllReplicaOptions are the options available to the GetAllReplicas command.

type GetAllReplicasResult

type GetAllReplicasResult struct {
	// contains filtered or unexported fields
}

GetAllReplicasResult is the return type of GetAllReplica operations.

func (*GetAllReplicasResult) Close

func (r *GetAllReplicasResult) Close() error

Close ends the stream and returns any errors that occurred.

func (*GetAllReplicasResult) Next

func (r *GetAllReplicasResult) Next(valuePtr *GetReplicaResult) bool

Next fetches the new replica.

type GetAllScopesOptions

type GetAllScopesOptions struct {
	Timeout time.Duration
	Context context.Context
}

GetAllScopesOptions is the set of options available to the GetAllScopes operation.

type GetAllSearchIndexOptions

type GetAllSearchIndexOptions struct {
	Timeout time.Duration
	Context context.Context
}

GetAllSearchIndexOptions is the set of options available to the search indexes GetAllIndexes operation.

type GetAllUsersOptions

type GetAllUsersOptions struct {
	Timeout time.Duration
	Context context.Context

	DomainName string
}

GetAllUsersOptions is the set of options available to the user manager GetAll operation.

type GetAndLockOptions

type GetAndLockOptions struct {
	Timeout    time.Duration
	Context    context.Context
	Transcoder Transcoder
}

GetAndLockOptions are the options available to the GetAndLock operation.

type GetAndTouchOp

type GetAndTouchOp struct {
	ID     string
	Expiry uint32
	Result *GetResult
	Err    error
	// contains filtered or unexported fields
}

GetAndTouchOp represents a type of `BulkOp` used for GetAndTouch operations. See BulkOp.

type GetAndTouchOptions

type GetAndTouchOptions struct {
	Timeout    time.Duration
	Context    context.Context
	Transcoder Transcoder
}

GetAndTouchOptions are the options available to the GetAndTouch operation.

type GetAnyReplicaOptions

type GetAnyReplicaOptions struct {
	Timeout    time.Duration
	Context    context.Context
	Transcoder Transcoder
}

GetAnyReplicaOptions are the options available to the GetAnyReplica command.

type GetBucketOptions

type GetBucketOptions struct {
	Timeout time.Duration
	Context context.Context
}

GetBucketOptions is the set of options available to the bucket manager GetBucket operation.

type GetDesignDocumentOptions

type GetDesignDocumentOptions struct {
	Timeout time.Duration
	Context context.Context
}

GetDesignDocumentOptions is the set of options available to the ViewIndexManager GetDesignDocument operation.

type GetGroupOptions

type GetGroupOptions struct {
	Timeout time.Duration
	Context context.Context
}

GetGroupOptions is the set of options available to the group manager Get operation.

type GetIndexedDocumentsCountOptions

type GetIndexedDocumentsCountOptions struct {
	Timeout time.Duration
	Context context.Context
}

GetIndexedDocumentsCountOptions is the set of options available to the search index GetIndexedDocumentsCount operation.

type GetOp

type GetOp struct {
	ID     string
	Result *GetResult
	Err    error
	// contains filtered or unexported fields
}

GetOp represents a type of `BulkOp` used for Get operations. See BulkOp.

type GetOptions

type GetOptions struct {
	Timeout    time.Duration
	Context    context.Context
	WithExpiry bool
	// Project causes the Get operation to only fetch the fields indicated
	// by the paths. The result of the operation is then treated as a
	// standard GetResult.
	Project    []string
	Transcoder Transcoder
}

GetOptions are the options available to a Get operation.

type GetPendingMutationsAnalyticsOptions

type GetPendingMutationsAnalyticsOptions struct {
	Timeout time.Duration
	Context context.Context
}

GetPendingMutationsAnalyticsOptions is the set of options available to the user manager GetPendingMutations operation.

type GetReplicaResult

type GetReplicaResult struct {
	GetResult
	// contains filtered or unexported fields
}

GetReplicaResult is the return type of GetReplica operations.

func (*GetReplicaResult) IsReplica

func (r *GetReplicaResult) IsReplica() bool

IsReplica returns whether or not this result came from a replica server.

type GetResult

type GetResult struct {
	Result
	// contains filtered or unexported fields
}

GetResult is the return type of Get operations.

func (*GetResult) Content

func (d *GetResult) Content(valuePtr interface{}) error

Content assigns the value of the result into the valuePtr using default decoding.

func (*GetResult) Expiry

func (d *GetResult) Expiry() *uint32

Expiry returns the expiry value for the result.

type GetRolesOptions

type GetRolesOptions struct {
	Timeout time.Duration
	Context context.Context
}

GetRolesOptions is the set of options available to the user manager GetRoles operation.

type GetScopeOptions

type GetScopeOptions struct {
	Timeout time.Duration
	Context context.Context
}

GetScopeOptions is the set of options available to the GetScope operation.

type GetSearchIndexOptions

type GetSearchIndexOptions struct {
	Timeout time.Duration
	Context context.Context
}

GetSearchIndexOptions is the set of options available to the search indexes GetIndex operation.

type GetSpecOptions

type GetSpecOptions struct {
	IsXattr bool
}

GetSpecOptions are the options available to LookupIn subdoc Get operations.

type GetUserOptions

type GetUserOptions struct {
	Timeout time.Duration
	Context context.Context

	DomainName string
}

GetUserOptions is the set of options available to the user manager Get operation.

type Group

type Group struct {
	Name               string `json:"id"`
	Description        string `json:"description"`
	Roles              []Role `json:"roles"`
	LDAPGroupReference string `json:"ldap_group_ref"`
}

Group represents a user group on the server.

type HTTPError

type HTTPError interface {
	error
	HTTPStatus() int
}

HTTPError indicates that an error occurred with a valid HTTP response for an operation.

type IncrementOp

type IncrementOp struct {
	ID      string
	Delta   int64
	Initial int64
	Expiry  uint32

	Result *CounterResult
	Err    error
	// contains filtered or unexported fields
}

IncrementOp represents a type of `BulkOp` used for Increment operations. See BulkOp.

type IndexType

type IndexType string

IndexType provides information on the type of indexer used for an index.

type InsertOp

type InsertOp struct {
	ID     string
	Value  interface{}
	Expiry uint32
	Result *MutationResult
	Err    error
	// contains filtered or unexported fields
}

InsertOp represents a type of `BulkOp` used for Insert operations. See BulkOp.

type InsertOptions

type InsertOptions struct {
	Timeout time.Duration
	Context context.Context
	// The expiry length in seconds
	Expiry          uint32
	PersistTo       uint
	ReplicateTo     uint
	DurabilityLevel DurabilityLevel
	Transcoder      Transcoder
}

InsertOptions are options that can be applied to an Insert operation.

type InsertSpecOptions

type InsertSpecOptions struct {
	CreatePath bool
	IsXattr    bool
}

InsertSpecOptions are the options available to subdocument Insert operations.

type InvalidArgumentsError

type InvalidArgumentsError interface {
	error
	InvalidArgumentsError() bool
}

InvalidArgumentsError indicates that invalid arguments were provided to an operation.

type InvalidIndexError

type InvalidIndexError interface {
	InvalidIndex() bool
}

InvalidIndexError occurs when an invalid index is specified on a LookupInResult.

type JSONSerializer

type JSONSerializer interface {
	// Serialize serializes an interface into bytes.
	Serialize(value interface{}) ([]byte, error)

	// Deserialize deserializes json bytes into an interface.
	Deserialize(bytes []byte, out interface{}) error
}

JSONSerializer is used a Transcoder for serialization/deserialization of JSON datatype valuess

type JSONTranscoder

type JSONTranscoder struct {
	// contains filtered or unexported fields
}

JSONTranscoder implements the default transcoding behavior and applies JSON transcoding to all values.

This will apply the following behavior to the value: binary ([]byte) -> error. default -> JSON value, JSON Flags.

func NewJSONTranscoder

func NewJSONTranscoder(serializer JSONSerializer) *JSONTranscoder

NewJSONTranscoder returns a new JSONTranscoder initialized to use the specified serializer. If the serializer is nil then it will use the DefaultJSONSerializer.

func (*JSONTranscoder) Decode

func (t *JSONTranscoder) Decode(bytes []byte, flags uint32, out interface{}) error

Decode applies JSON transcoding behaviour to decode into a Go type.

func (*JSONTranscoder) Encode

func (t *JSONTranscoder) Encode(value interface{}) ([]byte, uint32, error)

Encode applies JSON transcoding behaviour to encode a Go type.

type KeyValueError

type KeyValueError interface {
	error
	ID() string
	StatusCode() int // ?
	Opaque() uint32
	KeyValueError() bool
}

KeyValueError represents an error that occurred while executing a K/V operation. Assumes that the service has returned a response.

type LegacyTranscoder

type LegacyTranscoder struct {
	// contains filtered or unexported fields
}

LegacyTranscoder implements the behaviour for a backward-compatible transcoder. This transcoder implements behaviour matching that of gocb v1.

This will apply the following behavior to the value: binary ([]byte) -> binary bytes, Binary expectedFlags. string -> string bytes, String expectedFlags. default -> JSON value, JSON expectedFlags.

func NewLegacyTranscoder

func NewLegacyTranscoder(serializer JSONSerializer) *LegacyTranscoder

NewLegacyTranscoder returns a new LegacyTranscoder initialized to use the specified serializer. If the serializer is nil then it will use the DefaultJSONSerializer.

func (*LegacyTranscoder) Decode

func (t *LegacyTranscoder) Decode(bytes []byte, flags uint32, out interface{}) error

Decode applies legacy transcoding behaviour to decode into a Go type.

func (*LegacyTranscoder) Encode

func (t *LegacyTranscoder) Encode(value interface{}) ([]byte, uint32, error)

Encode applies legacy transcoding behavior to encode a Go type.

type LogLevel

type LogLevel gocbcore.LogLevel

LogLevel specifies the severity of a log message.

type LogRedactLevel

type LogRedactLevel int

LogRedactLevel specifies the degree with which to redact the logs.

type Logger

type Logger interface {
	// Outputs logging information:
	// level is the verbosity level
	// offset is the position within the calling stack from which the message
	// originated. This is useful for contextual loggers which retrieve file/line
	// information.
	Log(level LogLevel, offset int, format string, v ...interface{}) error
}

Logger defines a logging interface. You can either use one of the default loggers (DefaultStdioLogger(), VerboseStdioLogger()) or implement your own.

func DefaultStdioLogger

func DefaultStdioLogger() Logger

DefaultStdioLogger gets the default standard I/O logger.

gocb.SetLogger(gocb.DefaultStdioLogger())

func VerboseStdioLogger

func VerboseStdioLogger() Logger

VerboseStdioLogger is a more verbose level of DefaultStdioLogger(). Messages pertaining to the scheduling of ordinary commands (and their responses) will also be emitted.

gocb.SetLogger(gocb.VerboseStdioLogger())

type LookupInOptions

type LookupInOptions struct {
	Context    context.Context
	Timeout    time.Duration
	Serializer JSONSerializer
}

LookupInOptions are the set of options available to LookupIn.

type LookupInResult

type LookupInResult struct {
	Result
	// contains filtered or unexported fields
}

LookupInResult is the return type for LookupIn.

func (*LookupInResult) ContentAt

func (lir *LookupInResult) ContentAt(idx int, valuePtr interface{}) error

ContentAt retrieves the value of the operation by its index. The index is the position of the operation as it was added to the builder.

func (*LookupInResult) Exists

func (lir *LookupInResult) Exists(idx int) bool

Exists verifies that the item at idx exists.

type LookupInSpec

type LookupInSpec struct {
	// contains filtered or unexported fields
}

LookupInSpec is the representation of an operation available when calling LookupIn

func CountSpec

func CountSpec(path string, opts *CountSpecOptions) LookupInSpec

CountSpec allows you to retrieve the number of items in an array or keys within an dictionary within an element of a document.

func ExistsSpec

func ExistsSpec(path string, opts *ExistsSpecOptions) LookupInSpec

ExistsSpec is similar to Path(), but does not actually retrieve the value from the server. This may save bandwidth if you only need to check for the existence of a path (without caring for its content). You can check the status of this operation by using .ContentAt (and ignoring the value) or .Exists() on the LookupResult.

func GetSpec

func GetSpec(path string, opts *GetSpecOptions) LookupInSpec

GetSpec indicates a path to be retrieved from the document. The value of the path can later be retrieved from the LookupResult. The path syntax follows N1QL's path syntax (e.g. `foo.bar.baz`).

type MatchAllQuery

type MatchAllQuery struct {
	// contains filtered or unexported fields
}

MatchAllQuery represents a FTS match all query.

func NewMatchAllQuery

func NewMatchAllQuery() *MatchAllQuery

NewMatchAllQuery creates a new MatchAllQuery.

func (MatchAllQuery) MarshalJSON

func (q MatchAllQuery) MarshalJSON() ([]byte, error)

MarshalJSON marshal's this query to JSON for the FTS REST API.

type MatchNoneQuery

type MatchNoneQuery struct {
	// contains filtered or unexported fields
}

MatchNoneQuery represents a FTS match none query.

func NewMatchNoneQuery

func NewMatchNoneQuery() *MatchNoneQuery

NewMatchNoneQuery creates a new MatchNoneQuery.

func (MatchNoneQuery) MarshalJSON

func (q MatchNoneQuery) MarshalJSON() ([]byte, error)

MarshalJSON marshal's this query to JSON for the FTS REST API.

type MatchPhraseQuery

type MatchPhraseQuery struct {
	// contains filtered or unexported fields
}

MatchPhraseQuery represents a FTS match phrase query.

func NewMatchPhraseQuery

func NewMatchPhraseQuery(phrase string) *MatchPhraseQuery

NewMatchPhraseQuery creates a new MatchPhraseQuery

func (*MatchPhraseQuery) Analyzer

func (q *MatchPhraseQuery) Analyzer(analyzer string) *MatchPhraseQuery

Analyzer specifies the analyzer to use for this query.

func (*MatchPhraseQuery) Boost

func (q *MatchPhraseQuery) Boost(boost float32) *MatchPhraseQuery

Boost specifies the boost for this query.

func (*MatchPhraseQuery) Field

func (q *MatchPhraseQuery) Field(field string) *MatchPhraseQuery

Field specifies the field for this query.

func (MatchPhraseQuery) MarshalJSON

func (q MatchPhraseQuery) MarshalJSON() ([]byte, error)

MarshalJSON marshal's this query to JSON for the FTS REST API.

type MatchQuery

type MatchQuery struct {
	// contains filtered or unexported fields
}

MatchQuery represents a FTS match query.

func NewMatchQuery

func NewMatchQuery(match string) *MatchQuery

NewMatchQuery creates a new MatchQuery.

func (*MatchQuery) Analyzer

func (q *MatchQuery) Analyzer(analyzer string) *MatchQuery

Analyzer specifies the analyzer to use for this query.

func (*MatchQuery) Boost

func (q *MatchQuery) Boost(boost float32) *MatchQuery

Boost specifies the boost for this query.

func (*MatchQuery) Field

func (q *MatchQuery) Field(field string) *MatchQuery

Field specifies the field for this query.

func (*MatchQuery) Fuzziness

func (q *MatchQuery) Fuzziness(fuzziness int) *MatchQuery

Fuzziness specifies the fuziness for this query.

func (MatchQuery) MarshalJSON

func (q MatchQuery) MarshalJSON() ([]byte, error)

MarshalJSON marshal's this query to JSON for the FTS REST API.

func (*MatchQuery) PrefixLength

func (q *MatchQuery) PrefixLength(length int) *MatchQuery

PrefixLength specifies the prefix length from this query.

type MutateInOptions

type MutateInOptions struct {
	Timeout         time.Duration
	Context         context.Context
	Expiry          uint32
	Cas             Cas
	PersistTo       uint
	ReplicateTo     uint
	DurabilityLevel DurabilityLevel
	StoreSemantic   StoreSemantics
	Serializer      JSONSerializer
	// Internal: This should never be used and is not supported.
	AccessDeleted bool
}

MutateInOptions are the set of options available to MutateIn.

type MutateInResult

type MutateInResult struct {
	MutationResult
	// contains filtered or unexported fields
}

MutateInResult is the return type of any mutate in related operations. It contains Cas, mutation tokens and any returned content.

func (MutateInResult) ContentAt

func (mir MutateInResult) ContentAt(idx int, valuePtr interface{}) error

ContentAt retrieves the value of the operation by its index. The index is the position of the operation as it was added to the builder.

type MutateInSpec

type MutateInSpec struct {
	// contains filtered or unexported fields
}

MutateInSpec is the representation of an operation available when calling MutateIn

func ArrayAddUniqueSpec

func ArrayAddUniqueSpec(path string, val interface{}, opts *ArrayAddUniqueSpecOptions) MutateInSpec

ArrayAddUniqueSpec adds an dictionary add unique operation to this mutation operation set.

func ArrayAppendSpec

func ArrayAppendSpec(path string, val interface{}, opts *ArrayAppendSpecOptions) MutateInSpec

ArrayAppendSpec adds an element(s) to the end (i.e. right) of an array

func ArrayInsertSpec

func ArrayInsertSpec(path string, val interface{}, opts *ArrayInsertSpecOptions) MutateInSpec

ArrayInsertSpec inserts an element at a given position within an array. The position should be specified as part of the path, e.g. path.to.array[3]

func ArrayPrependSpec

func ArrayPrependSpec(path string, val interface{}, opts *ArrayPrependSpecOptions) MutateInSpec

ArrayPrependSpec adds an element to the beginning (i.e. left) of an array

func DecrementSpec

func DecrementSpec(path string, delta int64, opts *CounterSpecOptions) MutateInSpec

DecrementSpec adds a decrement operation to this mutation operation set.

func IncrementSpec

func IncrementSpec(path string, delta int64, opts *CounterSpecOptions) MutateInSpec

IncrementSpec adds an increment operation to this mutation operation set.

func InsertSpec

func InsertSpec(path string, val interface{}, opts *InsertSpecOptions) MutateInSpec

InsertSpec inserts a value at the specified path within the document.

func RemoveSpec

func RemoveSpec(path string, opts *RemoveSpecOptions) MutateInSpec

RemoveSpec removes the field at path.

func ReplaceSpec

func ReplaceSpec(path string, val interface{}, opts *ReplaceSpecOptions) MutateInSpec

ReplaceSpec replaces the value of the field at path.

func UpsertSpec

func UpsertSpec(path string, val interface{}, opts *UpsertSpecOptions) MutateInSpec

UpsertSpec creates a new value at the specified path within the document if it does not exist, if it does exist then it updates it.

type MutationMacro

type MutationMacro string

MutationMacro can be supplied to MutateIn operations to perform ExpandMacros operations.

type MutationResult

type MutationResult struct {
	Result
	// contains filtered or unexported fields
}

MutationResult is the return type of any store related operations. It contains Cas and mutation tokens.

func (MutationResult) MutationToken

func (mr MutationResult) MutationToken() *MutationToken

MutationToken returns the mutation token belonging to an operation.

type MutationState

type MutationState struct {
	// contains filtered or unexported fields
}

MutationState holds and aggregates MutationToken's across multiple operations.

func NewMutationState

func NewMutationState(tokens ...MutationToken) *MutationState

NewMutationState creates a new MutationState for tracking mutation state.

func (*MutationState) Add

func (mt *MutationState) Add(tokens ...MutationToken)

Add includes an operation's mutation information in this mutation state.

func (*MutationState) MarshalJSON

func (mt *MutationState) MarshalJSON() ([]byte, error)

MarshalJSON marshal's this mutation state to JSON.

func (*MutationState) UnmarshalJSON

func (mt *MutationState) UnmarshalJSON(data []byte) error

UnmarshalJSON unmarshal's a mutation state from JSON.

type MutationToken

type MutationToken struct {
	// contains filtered or unexported fields
}

MutationToken holds the mutation state information from an operation.

func (MutationToken) BucketName

func (mt MutationToken) BucketName() string

BucketName returns the name of the bucket that this token belongs to.

func (MutationToken) PartitionID

func (mt MutationToken) PartitionID() uint64

PartitionID returns the ID of the vbucket that this token belongs to.

func (MutationToken) PartitionUUID

func (mt MutationToken) PartitionUUID() uint64

PartitionUUID returns the UUID of the vbucket that this token belongs to.

func (MutationToken) SequenceNumber

func (mt MutationToken) SequenceNumber() uint64

SequenceNumber returns the sequence number of the vbucket that this token belongs to.

type NoResultsError

type NoResultsError interface {
	error
	NoResultsError() bool
}

NoResultsError occurs when when no results are available to a query.

type NumericFacet

type NumericFacet struct {
	// contains filtered or unexported fields
}

NumericFacet is an FTS numeric range facet.

func NewNumericFacet

func NewNumericFacet(field string, size int) *NumericFacet

NewNumericFacet creates a new numeric range facet.

func (*NumericFacet) AddRange

func (f *NumericFacet) AddRange(name string, start, end float64) *NumericFacet

AddRange adds a new range to this numeric range facet.

func (NumericFacet) MarshalJSON

func (f NumericFacet) MarshalJSON() ([]byte, error)

MarshalJSON marshal's this facet to JSON for the FTS REST API.

type NumericFacetResult

type NumericFacetResult struct {
	Name  string  `json:"name,omitempty"`
	Min   float64 `json:"min,omitempty"`
	Max   float64 `json:"max,omitempty"`
	Count int     `json:"count,omitempty"`
}

NumericFacetResult holds the results of a numeric facet in search results.

type NumericRangeQuery

type NumericRangeQuery struct {
	// contains filtered or unexported fields
}

NumericRangeQuery represents a FTS numeric range query.

func NewNumericRangeQuery

func NewNumericRangeQuery() *NumericRangeQuery

NewNumericRangeQuery creates a new NumericRangeQuery.

func (*NumericRangeQuery) Boost

func (q *NumericRangeQuery) Boost(boost float32) *NumericRangeQuery

Boost specifies the boost for this query.

func (*NumericRangeQuery) Field

func (q *NumericRangeQuery) Field(field string) *NumericRangeQuery

Field specifies the field for this query.

func (NumericRangeQuery) MarshalJSON

func (q NumericRangeQuery) MarshalJSON() ([]byte, error)

MarshalJSON marshal's this query to JSON for the FTS REST API.

func (*NumericRangeQuery) Max

func (q *NumericRangeQuery) Max(max float32, inclusive bool) *NumericRangeQuery

Max specifies the maximum value and inclusiveness for this range query.

func (*NumericRangeQuery) Min

func (q *NumericRangeQuery) Min(min float32, inclusive bool) *NumericRangeQuery

Min specifies the minimum value and inclusiveness for this range query.

type Origin

type Origin struct {
	Type string `json:"type"`
	Name string `json:"name"`
}

Origin indicates why a user has a specific role. Is the Origin Type is "user" then the role is assigned directly to the user. If the type is "group" then it means that the role has been inherited from the group identified by the Name field.

type PasswordAuthenticator

type PasswordAuthenticator struct {
	Username string
	Password string
}

PasswordAuthenticator implements an Authenticator which uses an RBAC username and password.

func (PasswordAuthenticator) Credentials

func (ra PasswordAuthenticator) Credentials(req AuthCredsRequest) ([]UserPassPair, error)

Credentials returns the credentials for a particular service.

type PauseIngestSearchIndexOptions

type PauseIngestSearchIndexOptions struct {
	Timeout time.Duration
	Context context.Context
}

PauseIngestSearchIndexOptions is the set of options available to the search index PauseIngest operation.

type PhraseQuery

type PhraseQuery struct {
	// contains filtered or unexported fields
}

PhraseQuery represents a FTS phrase query.

func NewPhraseQuery

func NewPhraseQuery(terms ...string) *PhraseQuery

NewPhraseQuery creates a new PhraseQuery.

func (*PhraseQuery) Boost

func (q *PhraseQuery) Boost(boost float32) *PhraseQuery

Boost specifies the boost for this query.

func (*PhraseQuery) Field

func (q *PhraseQuery) Field(field string) *PhraseQuery

Field specifies the field for this query.

func (PhraseQuery) MarshalJSON

func (q PhraseQuery) MarshalJSON() ([]byte, error)

MarshalJSON marshal's this query to JSON for the FTS REST API.

type PingOptions

type PingOptions struct {
	ServiceTypes []ServiceType
	ReportID     string
}

PingOptions are the options available to the Ping operation.

type PingResult

type PingResult struct {
	Services  map[ServiceType][]PingServiceEntry
	ConfigRev int64
	ID        string
}

PingResult encapsulates the details from a executed ping operation.

func (*PingResult) MarshalJSON

func (report *PingResult) MarshalJSON() ([]byte, error)

MarshalJSON generates a JSON representation of this ping report.

type PingServiceEntry

type PingServiceEntry struct {
	RemoteAddr string
	State      string
	Latency    time.Duration
	Scope      string
	ID         string
	Detail     string
}

PingServiceEntry represents a single entry in a ping report.

type PrefixQuery

type PrefixQuery struct {
	// contains filtered or unexported fields
}

PrefixQuery represents a FTS prefix query.

func NewPrefixQuery

func NewPrefixQuery(prefix string) *PrefixQuery

NewPrefixQuery creates a new PrefixQuery.

func (*PrefixQuery) Boost

func (q *PrefixQuery) Boost(boost float32) *PrefixQuery

Boost specifies the boost for this query.

func (*PrefixQuery) Field

func (q *PrefixQuery) Field(field string) *PrefixQuery

Field specifies the field for this query.

func (PrefixQuery) MarshalJSON

func (q PrefixQuery) MarshalJSON() ([]byte, error)

MarshalJSON marshal's this query to JSON for the FTS REST API.

type PrependOp

type PrependOp struct {
	ID     string
	Value  string
	Result *MutationResult
	Err    error
	// contains filtered or unexported fields
}

PrependOp represents a type of `BulkOp` used for Prepend operations. See BulkOp.

type PrependOptions

type PrependOptions struct {
	Timeout         time.Duration
	Context         context.Context
	DurabilityLevel DurabilityLevel
	PersistTo       uint
	ReplicateTo     uint
	Cas             Cas
}

PrependOptions are the options available to the Prepend operation.

type ProjectionErrors

type ProjectionErrors interface {
	error
	Errors() []KeyValueError
	ProjectionErrors() bool
}

ProjectionErrors is a collection of one or more KeyValueError that occurs during a Get with projections operation.

type PublishDesignDocumentOptions

type PublishDesignDocumentOptions struct {
	Timeout time.Duration
	Context context.Context
}

PublishDesignDocumentOptions is the set of options available to the ViewIndexManager PublishDesignDocument operation.

type QueryError

type QueryError interface {
	error
	Code() uint32
	Message() string
	HTTPStatus() int
	Endpoint() string
	ContextID() string
}

QueryError occurs for errors created by Couchbase Server during N1ql query execution.

type QueryIndex

type QueryIndex struct {
	Name      string    `json:"name"`
	IsPrimary bool      `json:"is_primary"`
	Type      IndexType `json:"using"`
	State     string    `json:"state"`
	Keyspace  string    `json:"keyspace_id"`
	Namespace string    `json:"namespace_id"`
	IndexKey  []string  `json:"index_key"`
}

QueryIndex represents a Couchbase GSI index.

type QueryIndexManager

type QueryIndexManager struct {
	// contains filtered or unexported fields
}

QueryIndexManager provides methods for performing Couchbase N1ql index management. Volatile: This API is subject to change at any time.

func (*QueryIndexManager) BuildDeferredIndexes

func (qm *QueryIndexManager) BuildDeferredIndexes(bucketName string, opts *BuildDeferredQueryIndexOptions) ([]string, error)

BuildDeferredIndexes builds all indexes which are currently in deferred state.

func (*QueryIndexManager) CreateIndex

func (qm *QueryIndexManager) CreateIndex(bucketName, indexName string, fields []string, opts *CreateQueryIndexOptions) error

CreateIndex creates an index over the specified fields.

func (*QueryIndexManager) CreatePrimaryIndex

func (qm *QueryIndexManager) CreatePrimaryIndex(bucketName string, opts *CreatePrimaryQueryIndexOptions) error

CreatePrimaryIndex creates a primary index. An empty customName uses the default naming.

func (*QueryIndexManager) DropIndex

func (qm *QueryIndexManager) DropIndex(bucketName, indexName string, opts *DropQueryIndexOptions) error

DropIndex drops a specific index by name.

func (*QueryIndexManager) DropPrimaryIndex

func (qm *QueryIndexManager) DropPrimaryIndex(bucketName string, opts *DropPrimaryQueryIndexOptions) error

DropPrimaryIndex drops the primary index. Pass an empty customName for unnamed primary indexes.

func (*QueryIndexManager) GetAllIndexes

func (qm *QueryIndexManager) GetAllIndexes(bucketName string, opts *GetAllQueryIndexesOptions) ([]QueryIndex, error)

GetAllIndexes returns a list of all currently registered indexes.

func (*QueryIndexManager) WatchIndexes

func (qm *QueryIndexManager) WatchIndexes(bucketName string, watchList []string, timeout WatchQueryIndexTimeout, opts *WatchQueryIndexOptions) error

WatchIndexes waits for a set of indexes to come online.

type QueryIndexesError

type QueryIndexesError interface {
	error
	HTTPStatus() int
	QueryIndexNotFoundError() bool
	QueryIndexExistsError() bool
}

QueryIndexesError occurs for errors created By Couchbase Server when performing query index management.

type QueryMetadata

type QueryMetadata struct {
	// contains filtered or unexported fields
}

QueryMetadata provides access to the metadata properties of a N1QL query result.

func (*QueryMetadata) ClientContextID

func (r *QueryMetadata) ClientContextID() string

ClientContextID returns the context ID used for this query.

func (*QueryMetadata) Metrics

func (r *QueryMetadata) Metrics() *QueryMetrics

Metrics returns metrics about execution of this result.

func (*QueryMetadata) Profile

func (r *QueryMetadata) Profile() interface{}

Profile returns the profile generated for this query.

func (*QueryMetadata) RequestID

func (r *QueryMetadata) RequestID() string

RequestID returns the request ID used for this query.

func (*QueryMetadata) Signature

func (r *QueryMetadata) Signature() interface{}

Signature returns the schema of the results.

func (*QueryMetadata) Warnings

func (r *QueryMetadata) Warnings() []QueryWarning

Warnings returns any warnings that were generated during execution of the query.

type QueryMetrics

type QueryMetrics struct {
	ElapsedTime   time.Duration
	ExecutionTime time.Duration
	ResultCount   uint
	ResultSize    uint
	MutationCount uint
	SortCount     uint
	ErrorCount    uint
	WarningCount  uint
}

QueryMetrics encapsulates various metrics gathered during a queries execution.

type QueryOptions

type QueryOptions struct {
	ScanConsistency QueryScanConsistency
	ConsistentWith  *MutationState
	AdHoc           bool
	Profile         QueryProfileType
	// ScanCap specifies the maximum buffered channel size between the indexer
	// client and the query service for index scans. This parameter controls
	// when to use scan backfill. Use a negative number to disable.
	ScanCap int
	// PipelineBatch controls the number of items execution operators can
	// batch for fetch from the KV node.
	PipelineBatch int
	// PipelineCap controls the maximum number of items each execution operator
	// can buffer between various operators.
	PipelineCap int
	// ScanWait specifies the maximum time wait for a scan.
	ScanWait time.Duration
	// ReadOnly controls whether a query can change a resulting recordset.  If
	// readonly is true, then only SELECT statements are permitted.
	ReadOnly bool
	// MaxParallelism controls the number of logical cores to use in parallel for this query.
	MaxParallelism  int
	ClientContextID string
	// Timeout and context are used to control cancellation of the data stream. Any timeout or deadline will also be
	// propagated to the server.
	Timeout              time.Duration
	Context              context.Context
	PositionalParameters []interface{}
	NamedParameters      map[string]interface{}
	// Metrics specifies whether or not to fetch metrics when executing the query.
	Metrics bool
	// Raw allows specifying custom query options.
	Raw map[string]interface{}

	// JSONSerializer is used to deserialize each row in the result. This should be a JSON deserializer as results are JSON.
	// NOTE: if not set then query will always default to DefaultJSONSerializer.
	Serializer JSONSerializer
}

QueryOptions represents the options available when executing a N1QL query.

type QueryProfileType

type QueryProfileType string

QueryProfileType specifies the profiling mode to use during a query.

type QueryResult

type QueryResult struct {
	// contains filtered or unexported fields
}

QueryResult allows access to the results of a N1QL query.

func (*QueryResult) Close

func (r *QueryResult) Close() error

Close marks the results as closed, returning any errors that occurred during reading the results.

func (*QueryResult) Metadata

func (r *QueryResult) Metadata() (*QueryMetadata, error)

Metadata returns metadata for this result.

func (*QueryResult) Next

func (r *QueryResult) Next(valuePtr interface{}) bool

Next assigns the next result from the results into the value pointer, returning whether the read was successful.

func (*QueryResult) NextBytes

func (r *QueryResult) NextBytes() []byte

NextBytes returns the next result from the results as a byte array.

func (*QueryResult) One

func (r *QueryResult) One(valuePtr interface{}) error

One assigns the first value from the results into the value pointer. It will close the results but not before iterating through all remaining results, as such this should only be used for very small resultsets - ideally of, at most, length 1.

type QueryScanConsistency

type QueryScanConsistency int

QueryScanConsistency indicates the level of data consistency desired for a query.

type QueryStringQuery

type QueryStringQuery struct {
	// contains filtered or unexported fields
}

QueryStringQuery represents a FTS string query.

func NewQueryStringQuery

func NewQueryStringQuery(query string) *QueryStringQuery

NewQueryStringQuery creates a new StringQuery.

func (*QueryStringQuery) Boost

func (q *QueryStringQuery) Boost(boost float32) *QueryStringQuery

Boost specifies the boost for this query.

func (QueryStringQuery) MarshalJSON

func (q QueryStringQuery) MarshalJSON() ([]byte, error)

MarshalJSON marshal's this query to JSON for the FTS REST API.

type QueryWarning

type QueryWarning struct {
	Code    uint32 `json:"code"`
	Message string `json:"msg"`
}

QueryWarning is the representation of any warnings that occurred during query execution.

type RawBinaryTranscoder

type RawBinaryTranscoder struct {
}

RawBinaryTranscoder implements passthrough behavior of raw binary data. This transcoder does not apply any serialization.

This will apply the following behavior to the value: binary ([]byte) -> binary bytes, binary expectedFlags. default -> error.

func NewRawBinaryTranscoder

func NewRawBinaryTranscoder() *RawBinaryTranscoder

NewRawBinaryTranscoder returns a new RawBinaryTranscoder.

func (*RawBinaryTranscoder) Decode

func (t *RawBinaryTranscoder) Decode(bytes []byte, flags uint32, out interface{}) error

Decode applies raw binary transcoding behaviour to decode into a Go type.

func (*RawBinaryTranscoder) Encode

func (t *RawBinaryTranscoder) Encode(value interface{}) ([]byte, uint32, error)

Encode applies raw binary transcoding behaviour to encode a Go type.

type RawJSONTranscoder

type RawJSONTranscoder struct {
}

RawJSONTranscoder implements passthrough behavior of JSON data. This transcoder does not apply any serialization. It will forward data across the network without incurring unnecessary parsing costs.

This will apply the following behavior to the value: binary ([]byte) -> JSON bytes, JSON expectedFlags. string -> JSON bytes, JSON expectedFlags. default -> error.

func NewRawJSONTranscoder

func NewRawJSONTranscoder() *RawJSONTranscoder

NewRawJSONTranscoder returns a new RawJSONTranscoder.

func (*RawJSONTranscoder) Decode

func (t *RawJSONTranscoder) Decode(bytes []byte, flags uint32, out interface{}) error

Decode applies raw JSON transcoding behaviour to decode into a Go type.

func (*RawJSONTranscoder) Encode

func (t *RawJSONTranscoder) Encode(value interface{}) ([]byte, uint32, error)

Encode applies raw JSON transcoding behaviour to encode a Go type.

type RawStringTranscoder

type RawStringTranscoder struct {
}

RawStringTranscoder implements passthrough behavior of raw string data. This transcoder does not apply any serialization.

This will apply the following behavior to the value: string -> string bytes, string expectedFlags. default -> error.

func NewRawStringTranscoder

func NewRawStringTranscoder() *RawStringTranscoder

NewRawStringTranscoder returns a new RawStringTranscoder.

func (*RawStringTranscoder) Decode

func (t *RawStringTranscoder) Decode(bytes []byte, flags uint32, out interface{}) error

Decode applies raw string transcoding behaviour to decode into a Go type.

func (*RawStringTranscoder) Encode

func (t *RawStringTranscoder) Encode(value interface{}) ([]byte, uint32, error)

Encode applies raw string transcoding behaviour to encode a Go type.

type RegexpQuery

type RegexpQuery struct {
	// contains filtered or unexported fields
}

RegexpQuery represents a FTS regular expression query.

func NewRegexpQuery

func NewRegexpQuery(regexp string) *RegexpQuery

NewRegexpQuery creates a new RegexpQuery.

func (*RegexpQuery) Boost

func (q *RegexpQuery) Boost(boost float32) *RegexpQuery

Boost specifies the boost for this query.

func (*RegexpQuery) Field

func (q *RegexpQuery) Field(field string) *RegexpQuery

Field specifies the field for this query.

func (RegexpQuery) MarshalJSON

func (q RegexpQuery) MarshalJSON() ([]byte, error)

MarshalJSON marshal's this query to JSON for the FTS REST API.

type RemoveOp

type RemoveOp struct {
	ID     string
	Cas    Cas
	Result *MutationResult
	Err    error
	// contains filtered or unexported fields
}

RemoveOp represents a type of `BulkOp` used for Remove operations. See BulkOp.

type RemoveOptions

type RemoveOptions struct {
	Timeout         time.Duration
	Context         context.Context
	Cas             Cas
	PersistTo       uint
	ReplicateTo     uint
	DurabilityLevel DurabilityLevel
}

RemoveOptions are the options available to the Remove command.

type RemoveSpecOptions

type RemoveSpecOptions struct {
	IsXattr bool
}

RemoveSpecOptions are the options available to subdocument Remove operations.

type ReplaceOp

type ReplaceOp struct {
	ID     string
	Value  interface{}
	Expiry uint32
	Cas    Cas
	Result *MutationResult
	Err    error
	// contains filtered or unexported fields
}

ReplaceOp represents a type of `BulkOp` used for Replace operations. See BulkOp.

type ReplaceOptions

type ReplaceOptions struct {
	Timeout         time.Duration
	Context         context.Context
	Expiry          uint32
	Cas             Cas
	PersistTo       uint
	ReplicateTo     uint
	DurabilityLevel DurabilityLevel
	Transcoder      Transcoder
}

ReplaceOptions are the options available to a Replace operation.

type ReplaceSpecOptions

type ReplaceSpecOptions struct {
	IsXattr bool
}

ReplaceSpecOptions are the options available to subdocument Replace operations.

type Result

type Result struct {
	// contains filtered or unexported fields
}

Result is the base type for the return types of operations

func (*Result) Cas

func (d *Result) Cas() Cas

Cas returns the cas of the result.

type ResumeIngestSearchIndexOptions

type ResumeIngestSearchIndexOptions struct {
	Timeout time.Duration
	Context context.Context
}

ResumeIngestSearchIndexOptions is the set of options available to the search index ResumeIngest operation.

type Role

type Role struct {
	Name   string `json:"role"`
	Bucket string `json:"bucket_name"`
}

Role represents a specific permission.

type RoleAndDescription

type RoleAndDescription struct {
	Role        Role
	DisplayName string
	Description string
}

RoleAndDescription represents a role with its display name and description.

type RoleAndOrigins

type RoleAndOrigins struct {
	Role    Role
	Origins []Origin
}

RoleAndOrigins associates a role with its origins.

type RowLocation

type RowLocation struct {
	Position       int    `json:"position,omitempty"`
	Start          int    `json:"start,omitempty"`
	End            int    `json:"end,omitempty"`
	ArrayPositions []uint `json:"array_positions,omitempty"`
}

RowLocation holds the location of a hit in a list of search results.

type Scope

type Scope struct {
	// contains filtered or unexported fields
}

Scope represents a single scope within a bucket.

func (*Scope) Collection

func (s *Scope) Collection(collectionName string) *Collection

Collection returns an instance of a collection. Volatile: This API is subject to change at any time.

func (*Scope) Name

func (s *Scope) Name() string

Name returns the name of the scope.

type ScopeExistsOptions

type ScopeExistsOptions struct {
	Timeout time.Duration
	Context context.Context
}

ScopeExistsOptions is the set of options available to the ScopeExists operation.

type ScopeSpec

type ScopeSpec struct {
	Name        string
	Collections []CollectionSpec
}

ScopeSpec describes the specification of a scope.

type SearchError

type SearchError interface {
	error
	Message() string
}

SearchError occurs for errors created by Couchbase Server during Search query execution.

type SearchErrors

type SearchErrors interface {
	error
	Errors() []SearchError
	HTTPStatus() int
	Endpoint() string
	ContextID() string
}

SearchErrors is a collection of one or more SearchError that occurs for errors created by Couchbase Server during Search query execution.

type SearchHighlightOptions

type SearchHighlightOptions struct {
	Style  SearchHighlightStyle
	Fields []string
}

SearchHighlightOptions are the options available for search highlighting.

type SearchHighlightStyle

type SearchHighlightStyle string

SearchHighlightStyle indicates the type of highlighting to use for a search query.

type SearchIndex

type SearchIndex struct {
	// UUID is required for updates. It provides a means of ensuring consistency, the UUID must match the UUID value
	// for the index on the server.
	UUID string `json:"uuid"`
	Name string `json:"name"`
	// SourceName is the name of the source of the data for the index e.g. bucket name.
	SourceName string `json:"sourceName,omitempty"`
	// Type is the type of index, e.g. fulltext-index or fulltext-alias.
	Type string `json:"type"`
	// IndexParams are index properties such as store type and mappings.
	Params map[string]interface{} `json:"params"`
	// SourceUUID is the UUID of the data source, this can be used to more tightly tie the index to a source.
	SourceUUID string `json:"sourceUUID,omitempty"`
	// SourceParams are extra parameters to be defined. These are usually things like advanced connection and tuning
	// parameters.
	SourceParams map[string]interface{} `json:"sourceParams,omitempty"`
	// SourceType is the type of the data source, e.g. couchbase or nil depending on the Type field.
	SourceType string `json:"sourceType"`
	// PlanParams are plan properties such as number of replicas and number of partitions.
	PlanParams map[string]interface{} `json:"planParams,omitempty"`
}

SearchIndex is used to define a search index.

type SearchIndexManager

type SearchIndexManager struct {
	// contains filtered or unexported fields
}

SearchIndexManager provides methods for performing Couchbase FTS index management. Experimental: This API is subject to change at any time.

func (*SearchIndexManager) AllowQuerying

func (sim *SearchIndexManager) AllowQuerying(indexName string, opts *AllowQueryingSearchIndexOptions) error

AllowQuerying allows querying against an index.

func (*SearchIndexManager) AnalyzeDocument

func (sim *SearchIndexManager) AnalyzeDocument(indexName string, doc interface{}, opts *AnalyzeDocumentOptions) ([]interface{}, error)

AnalyzeDocument returns how a doc is analyzed against a specific index.

func (*SearchIndexManager) DisallowQuerying

func (sim *SearchIndexManager) DisallowQuerying(indexName string, opts *AllowQueryingSearchIndexOptions) error

DisallowQuerying disallows querying against an index.

func (*SearchIndexManager) DropIndex

func (sim *SearchIndexManager) DropIndex(indexName string, opts *DropSearchIndexOptions) error

DropIndex removes the search index with the specific name.

func (*SearchIndexManager) FreezePlan

func (sim *SearchIndexManager) FreezePlan(indexName string, opts *AllowQueryingSearchIndexOptions) error

FreezePlan freezes the assignment of index partitions to nodes.

func (*SearchIndexManager) GetAllIndexes

func (sim *SearchIndexManager) GetAllIndexes(opts *GetAllSearchIndexOptions) ([]SearchIndex, error)

GetAllIndexes retrieves all of the search indexes for the cluster.

func (*SearchIndexManager) GetIndex

func (sim *SearchIndexManager) GetIndex(indexName string, opts *GetSearchIndexOptions) (*SearchIndex, error)

GetIndex retrieves a specific search index by name.

func (*SearchIndexManager) GetIndexedDocumentsCount

func (sim *SearchIndexManager) GetIndexedDocumentsCount(indexName string, opts *GetIndexedDocumentsCountOptions) (int, error)

GetIndexedDocumentsCount retrieves the document count for a search index.

func (*SearchIndexManager) PauseIngest

func (sim *SearchIndexManager) PauseIngest(indexName string, opts *PauseIngestSearchIndexOptions) error

PauseIngest pauses updates and maintenance for an index.

func (*SearchIndexManager) ResumeIngest

func (sim *SearchIndexManager) ResumeIngest(indexName string, opts *ResumeIngestSearchIndexOptions) error

ResumeIngest resumes updates and maintenance for an index.

func (*SearchIndexManager) UnfreezePlan

func (sim *SearchIndexManager) UnfreezePlan(indexName string, opts *AllowQueryingSearchIndexOptions) error

UnfreezePlan unfreezes the assignment of index partitions to nodes.

func (*SearchIndexManager) UpsertIndex

func (sim *SearchIndexManager) UpsertIndex(indexDefinition SearchIndex, opts *UpsertSearchIndexOptions) error

UpsertIndex creates or updates a search index.

type SearchIndexesError

type SearchIndexesError interface {
	error
	HTTPStatus() int
	SearchIndexNotFoundError() bool
}

SearchIndexesError occurs for errors created By Couchbase Server when performing search index management.

type SearchMetadata

type SearchMetadata struct {
	// contains filtered or unexported fields
}

SearchMetadata provides access to the metadata properties of a search query result.

func (SearchMetadata) Metrics

func (r SearchMetadata) Metrics() SearchMetrics

Metrics returns a SearchMetrics containing metrics about the result.

func (SearchMetadata) Status

func (r SearchMetadata) Status() SearchStatus

Status returns a SearchStatus containing information about the result.

type SearchMetrics

type SearchMetrics struct {
	// contains filtered or unexported fields
}

SearchMetrics contains metrics about the result.

func (SearchMetrics) MaxScore

func (r SearchMetrics) MaxScore() float64

MaxScore returns the highest score of all documents for this query.

func (SearchMetrics) Took

func (r SearchMetrics) Took() time.Duration

Took returns the time taken to execute the search.

func (SearchMetrics) TotalRows

func (r SearchMetrics) TotalRows() int

TotalRows is the actual number of rows before the limit was applied.

type SearchOptions

type SearchOptions struct {
	Limit     int
	Skip      int
	Explain   bool
	Highlight *SearchHighlightOptions
	Fields    []string
	Sort      []interface{}
	Facets    map[string]interface{}
	// Timeout and context are used to control cancellation of the data stream. Any timeout or deadline will also be
	// propagated to the server.
	Timeout         time.Duration
	Context         context.Context
	ScanConsistency SearchScanConsistency
	ConsistentWith  *MutationState

	// JSONSerializer is used to deserialize each row in the result. This should be a JSON deserializer as results are JSON.
	// NOTE: if not set then query will always default to DefaultJSONSerializer.
	Serializer JSONSerializer
}

SearchOptions represents a pending search query.

type SearchQuery

type SearchQuery interface {
}

SearchQuery represents a search query.

type SearchResult

type SearchResult struct {
	// contains filtered or unexported fields
}

SearchResult allows access to the results of a search query.

func (*SearchResult) Close

func (r *SearchResult) Close() error

Close marks the results as closed, returning any errors that occurred during reading the results.

func (SearchResult) Facets

func (r SearchResult) Facets() (map[string]FacetResult, error)

Facets contains the information relative to the facets requested in the search query.

func (*SearchResult) Metadata

func (r *SearchResult) Metadata() (*SearchMetadata, error)

Metadata returns metadata for this result.

func (*SearchResult) Next

func (r *SearchResult) Next(rowPtr *SearchRow) bool

Next assigns the next result from the results into the value pointer, returning whether the read was successful.

func (*SearchResult) NextBytes

func (r *SearchResult) NextBytes() []byte

NextBytes returns the next result from the results as a byte array.

func (*SearchResult) One

func (r *SearchResult) One(rowPtr *SearchRow) error

One assigns the first value from the results into the value pointer. It will close the results but not before iterating through all remaining results, as such this should only be used for very small resultsets - ideally

type SearchRow

type SearchRow struct {
	Index       string                              `json:"index,omitempty"`
	ID          string                              `json:"id,omitempty"`
	Score       float64                             `json:"score,omitempty"`
	Explanation map[string]interface{}              `json:"explanation,omitempty"`
	Locations   map[string]map[string][]RowLocation `json:"locations,omitempty"`
	Fragments   map[string][]string                 `json:"fragments,omitempty"`
	// contains filtered or unexported fields
}

SearchRow holds a single hit in a list of search results.

func (*SearchRow) Fields

func (row *SearchRow) Fields(valuePtr interface{}) error

Fields are any fields that were requested as a part of the search query.

type SearchScanConsistency

type SearchScanConsistency int

SearchScanConsistency indicates the level of data consistency desired for a search query.

type SearchSortField

type SearchSortField struct {
	// contains filtered or unexported fields
}

SearchSortField represents a FTS field sort.

func NewSearchSortField

func NewSearchSortField(field string) *SearchSortField

NewSearchSortField creates a new SearchSortField.

func (*SearchSortField) Descending

func (q *SearchSortField) Descending(descending bool) *SearchSortField

Descending specifies the ordering of the results.

func (SearchSortField) MarshalJSON

func (q SearchSortField) MarshalJSON() ([]byte, error)

MarshalJSON marshal's this query to JSON for the FTS REST API.

func (*SearchSortField) Missing

func (q *SearchSortField) Missing(missing string) *SearchSortField

Missing allows you to specify the FTS field sort missing behaviour.

func (*SearchSortField) Mode

func (q *SearchSortField) Mode(mode string) *SearchSortField

Mode allows you to specify the FTS field sort mode.

func (*SearchSortField) Type

func (q *SearchSortField) Type(value string) *SearchSortField

Type allows you to specify the FTS field sort type.

type SearchSortGeoDistance

type SearchSortGeoDistance struct {
	// contains filtered or unexported fields
}

SearchSortGeoDistance represents a FTS geo sort.

func NewSearchSortGeoDistance

func NewSearchSortGeoDistance(field string, lon, lat float64) *SearchSortGeoDistance

NewSearchSortGeoDistance creates a new SearchSortGeoDistance.

func (*SearchSortGeoDistance) Descending

func (q *SearchSortGeoDistance) Descending(descending bool) *SearchSortGeoDistance

Descending specifies the ordering of the results.

func (SearchSortGeoDistance) MarshalJSON

func (q SearchSortGeoDistance) MarshalJSON() ([]byte, error)

MarshalJSON marshal's this query to JSON for the FTS REST API.

func (*SearchSortGeoDistance) Unit

Unit specifies the unit used for sorting

type SearchSortId

type SearchSortId struct {
	// contains filtered or unexported fields
}

SearchSortId represents a FTS Document ID sort.

func NewSearchSortId

func NewSearchSortId() *SearchSortId

NewSearchSortId creates a new SearchSortScore.

func (*SearchSortId) Descending

func (q *SearchSortId) Descending(descending bool) *SearchSortId

Descending specifies the ordering of the results.

func (SearchSortId) MarshalJSON

func (q SearchSortId) MarshalJSON() ([]byte, error)

MarshalJSON marshal's this query to JSON for the FTS REST API.

type SearchSortScore

type SearchSortScore struct {
	// contains filtered or unexported fields
}

SearchSortScore represents a FTS score sort.

func NewSearchSortScore

func NewSearchSortScore() *SearchSortScore

NewSearchSortScore creates a new SearchSortScore.

func (*SearchSortScore) Descending

func (q *SearchSortScore) Descending(descending bool) *SearchSortScore

Descending specifies the ordering of the results.

func (SearchSortScore) MarshalJSON

func (q SearchSortScore) MarshalJSON() ([]byte, error)

MarshalJSON marshal's this query to JSON for the FTS REST API.

type SearchStatus

type SearchStatus struct {
	// contains filtered or unexported fields
}

SearchStatus contains information about the status of the result.

func (SearchStatus) ErrorCount

func (r SearchStatus) ErrorCount() int

ErrorCount is the number of errors for the results.

func (SearchStatus) IsSuccess

func (r SearchStatus) IsSuccess() bool

IsSuccess verifies whether or not the search request was successful.

func (SearchStatus) SuccessCount

func (r SearchStatus) SuccessCount() int

SuccessCount is the number of successes for the results.

func (SearchStatus) TotalCount

func (r SearchStatus) TotalCount() int

TotalCount is the total number of results returning, including errors.

type ServiceNotAvailableError

type ServiceNotAvailableError interface {
	ServiceNotAvailableError() bool
}

ServiceNotAvailableError represents that the service used for an operation is not available.

type ServiceType

type ServiceType gocbcore.ServiceType

ServiceType specifies a particular Couchbase service type.

type StoreSemantics

type StoreSemantics uint8

StoreSemantics is used to define the document level action to take during a MutateIn operation.

type SubdocDocFlag

type SubdocDocFlag gocbcore.SubdocDocFlag

SubdocDocFlag specifies document-level flags for a sub-document operation.

type SubdocFlag

type SubdocFlag gocbcore.SubdocFlag

SubdocFlag provides special handling flags for sub-document operations

type TemporaryFailureError

type TemporaryFailureError interface {
	TemporaryFailureError() bool
}

TemporaryFailureError represents an error that is temporary.

type TermFacet

type TermFacet struct {
	// contains filtered or unexported fields
}

TermFacet is an FTS term facet.

func NewTermFacet

func NewTermFacet(field string, size int) *TermFacet

NewTermFacet creates a new TermFacet

func (TermFacet) MarshalJSON

func (f TermFacet) MarshalJSON() ([]byte, error)

MarshalJSON marshal's this facet to JSON for the FTS REST API.

type TermFacetResult

type TermFacetResult struct {
	Term  string `json:"term,omitempty"`
	Count int    `json:"count,omitempty"`
}

TermFacetResult holds the results of a term facet in search results.

type TermQuery

type TermQuery struct {
	// contains filtered or unexported fields
}

TermQuery represents a FTS term query.

func NewTermQuery

func NewTermQuery(term string) *TermQuery

NewTermQuery creates a new TermQuery.

func (*TermQuery) Boost

func (q *TermQuery) Boost(boost float32) *TermQuery

Boost specifies the boost for this query.

func (*TermQuery) Field

func (q *TermQuery) Field(field string) *TermQuery

Field specifies the field for this query.

func (*TermQuery) Fuzziness

func (q *TermQuery) Fuzziness(fuzziness int) *TermQuery

Fuzziness specifies the fuziness for this query.

func (TermQuery) MarshalJSON

func (q TermQuery) MarshalJSON() ([]byte, error)

MarshalJSON marshal's this query to JSON for the FTS REST API.

func (*TermQuery) PrefixLength

func (q *TermQuery) PrefixLength(length int) *TermQuery

PrefixLength specifies the prefix length from this query.

type TermRangeQuery

type TermRangeQuery struct {
	// contains filtered or unexported fields
}

TermRangeQuery represents a FTS term range query.

func NewTermRangeQuery

func NewTermRangeQuery(term string) *TermRangeQuery

NewTermRangeQuery creates a new TermRangeQuery.

func (*TermRangeQuery) Boost

func (q *TermRangeQuery) Boost(boost float32) *TermRangeQuery

Boost specifies the boost for this query.

func (*TermRangeQuery) Field

func (q *TermRangeQuery) Field(field string) *TermRangeQuery

Field specifies the field for this query.

func (TermRangeQuery) MarshalJSON

func (q TermRangeQuery) MarshalJSON() ([]byte, error)

MarshalJSON marshal's this query to JSON for the FTS REST API.

func (*TermRangeQuery) Max

func (q *TermRangeQuery) Max(max string, inclusive bool) *TermRangeQuery

Max specifies the maximum value and inclusiveness for this range query.

func (*TermRangeQuery) Min

func (q *TermRangeQuery) Min(min string, inclusive bool) *TermRangeQuery

Min specifies the minimum value and inclusiveness for this range query.

type TimeoutError added in v2.1.1

type TimeoutError interface {
	Timeout() bool
}

TimeoutError occurs when an operation times out.

type TouchOp

type TouchOp struct {
	ID     string
	Expiry uint32
	Result *MutationResult
	Err    error
	// contains filtered or unexported fields
}

TouchOp represents a type of `BulkOp` used for Touch operations. See BulkOp.

type TouchOptions

type TouchOptions struct {
	Timeout time.Duration
	Context context.Context
}

TouchOptions are the options available to the Touch operation.

type Transcoder

type Transcoder interface {
	// Decodes retrieved bytes into a Go type.
	Decode([]byte, uint32, interface{}) error

	// Encodes a Go type into bytes for storage.
	Encode(interface{}) ([]byte, uint32, error)
}

Transcoder provides an interface for transforming Go values to and from raw bytes for storage and retreival from Couchbase data storage.

type UnfreezePlanSearchIndexOptions

type UnfreezePlanSearchIndexOptions struct {
	Timeout time.Duration
	Context context.Context
}

UnfreezePlanSearchIndexOptions is the set of options available to the search index UnfreezePlan operation.

type UnlockOptions

type UnlockOptions struct {
	Timeout time.Duration
	Context context.Context
}

UnlockOptions are the options available to the GetAndLock operation.

type UpdateBucketOptions

type UpdateBucketOptions struct {
	Timeout time.Duration
	Context context.Context
}

UpdateBucketOptions is the set of options available to the bucket manager UpdateBucket operation.

type UpsertDesignDocumentOptions

type UpsertDesignDocumentOptions struct {
	Timeout time.Duration
	Context context.Context
}

UpsertDesignDocumentOptions is the set of options available to the ViewIndexManager UpsertDesignDocument operation.

type UpsertGroupOptions

type UpsertGroupOptions struct {
	Timeout time.Duration
	Context context.Context
}

UpsertGroupOptions is the set of options available to the group manager Upsert operation.

type UpsertOp

type UpsertOp struct {
	ID     string
	Value  interface{}
	Expiry uint32
	Cas    Cas
	Result *MutationResult
	Err    error
	// contains filtered or unexported fields
}

UpsertOp represents a type of `BulkOp` used for Upsert operations. See BulkOp.

type UpsertOptions

type UpsertOptions struct {
	Timeout time.Duration
	Context context.Context
	// The expiry length in seconds
	Expiry          uint32
	PersistTo       uint
	ReplicateTo     uint
	DurabilityLevel DurabilityLevel
	Transcoder      Transcoder
}

UpsertOptions are options that can be applied to an Upsert operation.

type UpsertSearchIndexOptions

type UpsertSearchIndexOptions struct {
	Timeout time.Duration
	Context context.Context
}

UpsertSearchIndexOptions is the set of options available to the search index manager UpsertIndex operation.

type UpsertSpecOptions

type UpsertSpecOptions struct {
	CreatePath bool
	IsXattr    bool
}

UpsertSpecOptions are the options available to subdocument Upsert operations.

type UpsertUserOptions

type UpsertUserOptions struct {
	Timeout time.Duration
	Context context.Context

	DomainName string
}

UpsertUserOptions is the set of options available to the user manager Upsert operation.

type User

type User struct {
	Username    string
	DisplayName string
	// Roles are the roles assigned to the user that are of type "user".
	Roles    []Role
	Groups   []string
	Password string
}

User represents a user which was retrieved from the server.

type UserAndMetadata

type UserAndMetadata struct {
	Domain AuthDomain
	User   User
	// EffectiveRoles are all of the user's roles, regardless of origin.
	EffectiveRoles []Role
	// EffectiveRolesAndOrigins is the same as EffectiveRoles but with origin information included.
	EffectiveRolesAndOrigins []RoleAndOrigins
	ExternalGroups           []string
	PasswordChanged          time.Time
}

UserAndMetadata represents a user and user metadata from the server.

type UserManager

type UserManager struct {
	// contains filtered or unexported fields
}

UserManager provides methods for performing Couchbase user management. Volatile: This API is subject to change at any time.

func (*UserManager) DropGroup

func (um *UserManager) DropGroup(groupName string, opts *DropGroupOptions) error

DropGroup removes a group from the server.

func (*UserManager) DropUser

func (um *UserManager) DropUser(name string, opts *DropUserOptions) error

DropUser removes a built-in RBAC user on the cluster.

func (*UserManager) GetAllGroups

func (um *UserManager) GetAllGroups(opts *GetAllGroupsOptions) ([]Group, error)

GetAllGroups fetches all groups from the server.

func (*UserManager) GetAllUsers

func (um *UserManager) GetAllUsers(opts *GetAllUsersOptions) ([]UserAndMetadata, error)

GetAllUsers returns a list of all the users from the cluster.

func (*UserManager) GetGroup

func (um *UserManager) GetGroup(groupName string, opts *GetGroupOptions) (*Group, error)

GetGroup fetches a single group from the server.

func (*UserManager) GetRoles

func (um *UserManager) GetRoles(opts *GetRolesOptions) ([]RoleAndDescription, error)

GetRoles lists the roles supported by the cluster.

func (*UserManager) GetUser

func (um *UserManager) GetUser(name string, opts *GetUserOptions) (*UserAndMetadata, error)

GetUser returns the data for a particular user

func (*UserManager) UpsertGroup

func (um *UserManager) UpsertGroup(group Group, opts *UpsertGroupOptions) error

UpsertGroup creates, or updates, a group on the server.

func (*UserManager) UpsertUser

func (um *UserManager) UpsertUser(user User, opts *UpsertUserOptions) error

UpsertUser updates a built-in RBAC user on the cluster.

type UserManagerError

type UserManagerError interface {
	error
	HTTPStatus() int
	UserNotFoundError() bool
	GroupNotFoundError() bool
}

UserManagerError occurs for errors created By Couchbase Server when performing user management.

type UserPassPair

type UserPassPair gocbcore.UserPassPair

UserPassPair represents a username and password pair.

type View

type View struct {
	Map    string `json:"map,omitempty"`
	Reduce string `json:"reduce,omitempty"`
}

View represents a Couchbase view within a design document.

type ViewErrorMode

type ViewErrorMode int

ViewErrorMode pecifies the behaviour of the query engine should an error occur during the gathering of view index results which would result in only partial results being available.

type ViewIndexManager

type ViewIndexManager struct {
	// contains filtered or unexported fields
}

ViewIndexManager provides methods for performing View management. Volatile: This API is subject to change at any time.

func (*ViewIndexManager) DropDesignDocument

func (vm *ViewIndexManager) DropDesignDocument(name string, namespace DesignDocumentNamespace, opts *DropDesignDocumentOptions) error

DropDesignDocument will remove a design document from the given bucket.

func (*ViewIndexManager) GetAllDesignDocuments

func (vm *ViewIndexManager) GetAllDesignDocuments(namespace DesignDocumentNamespace, opts *GetAllDesignDocumentsOptions) ([]*DesignDocument, error)

GetAllDesignDocuments will retrieve all design documents for the given bucket.

func (*ViewIndexManager) GetDesignDocument

func (vm *ViewIndexManager) GetDesignDocument(name string, namespace DesignDocumentNamespace, opts *GetDesignDocumentOptions) (*DesignDocument, error)

GetDesignDocument retrieves a single design document for the given bucket.

func (*ViewIndexManager) PublishDesignDocument

func (vm *ViewIndexManager) PublishDesignDocument(name string, opts *PublishDesignDocumentOptions) error

PublishDesignDocument publishes a design document to the given bucket.

func (*ViewIndexManager) UpsertDesignDocument

func (vm *ViewIndexManager) UpsertDesignDocument(ddoc DesignDocument, namespace DesignDocumentNamespace, opts *UpsertDesignDocumentOptions) error

UpsertDesignDocument will insert a design document to the given bucket, or update an existing design document with the same name.

type ViewIndexesError

type ViewIndexesError interface {
	error
	HTTPStatus() int
	DesignDocumentNotFoundError() bool
	DesignDocumentExistsError() bool
	DesignDocumentPublishDropFailError() bool
}

ViewIndexesError occurs for errors created By Couchbase Server when performing index management.

type ViewMetadata

type ViewMetadata struct {
	// contains filtered or unexported fields
}

ViewMetadata provides access to the metadata properties of a view query result.

func (*ViewMetadata) Debug

func (r *ViewMetadata) Debug() interface{}

Debug returns the debug information associated with the query, if requested.

func (*ViewMetadata) TotalRows

func (r *ViewMetadata) TotalRows() int

TotalRows returns the total number of rows in the view, can be greater than the number of rows returned.

type ViewOptions

type ViewOptions struct {
	ScanConsistency ViewScanConsistency
	Skip            uint
	Limit           uint
	Order           ViewOrdering
	Reduce          bool
	Group           bool
	GroupLevel      uint
	Key             interface{}
	Keys            []interface{}
	StartKey        interface{}
	EndKey          interface{}
	InclusiveEnd    bool
	StartKeyDocID   string
	EndKeyDocID     string
	Namespace       DesignDocumentNamespace
	Raw             map[string]string
	// Timeout and context are used to control cancellation of the data stream.
	Context context.Context
	Timeout time.Duration
	OnError ViewErrorMode
	Debug   bool

	// JSONSerializer is used to deserialize each row in the result. This should be a JSON deserializer as results are JSON.
	// NOTE: if not set then views will always default to DefaultJSONSerializer.
	Serializer JSONSerializer
}

ViewOptions represents the options available when executing view query.

type ViewOrdering

type ViewOrdering int

ViewOrdering specifies the ordering for the view queries results.

type ViewQueryError

type ViewQueryError interface {
	error
	Reason() string
	Message() string
}

ViewQueryError is the error type for an error that occurs during view query execution.

type ViewQueryErrors

type ViewQueryErrors interface {
	error
	Errors() []ViewQueryError
	HTTPStatus() int
	Endpoint() string
}

ViewQueryErrors is a collection of one or more ViewQueryError that occurs for errors created by Couchbase Server during View query execution.

type ViewResult

type ViewResult struct {
	// contains filtered or unexported fields
}

ViewResult implements an iterator interface which can be used to iterate over the rows of the query results.

func (*ViewResult) Close

func (r *ViewResult) Close() error

Close marks the results as closed, returning any errors that occurred during reading the results.

func (*ViewResult) Metadata

func (r *ViewResult) Metadata() (*ViewMetadata, error)

Metadata returns metadata for this result.

func (*ViewResult) Next

func (r *ViewResult) Next(rowPtr *ViewRow) bool

Next assigns the next result from the results into the value pointer, returning whether the read was successful.

func (*ViewResult) NextBytes

func (r *ViewResult) NextBytes() []byte

NextBytes returns the next result from the results as a byte array.

func (*ViewResult) One

func (r *ViewResult) One(rowPtr *ViewRow) error

One assigns the first value from the results into the value pointer. It will close the results but not before iterating through all remaining results, as such this should only be used for very small resultsets - ideally of, at most, length 1.

type ViewRow

type ViewRow struct {
	ID string
	// contains filtered or unexported fields
}

ViewRow provides access to a single view query row.

func (*ViewRow) Key

func (r *ViewRow) Key(keyPtr interface{}) error

Key assigns the current result key from the results into the value pointer, returning any error that occurred.

func (*ViewRow) Value

func (r *ViewRow) Value(valuePtr interface{}) error

Value assigns the current result value from the results into the value pointer, returning any error that occurred.

type ViewScanConsistency

type ViewScanConsistency int

ViewScanConsistency specifies the consistency required for a view query.

type WatchQueryIndexOptions

type WatchQueryIndexOptions struct {
	WatchPrimary bool
}

WatchQueryIndexOptions is the set of options available to the query indexes Watch operation.

type WatchQueryIndexTimeout

type WatchQueryIndexTimeout struct {
	Timeout time.Duration
	Context context.Context
}

WatchQueryIndexTimeout is used for setting a timeout value for the query indexes WatchIndexes operation.

type WildcardQuery

type WildcardQuery struct {
	// contains filtered or unexported fields
}

WildcardQuery represents a FTS wildcard query.

func NewWildcardQuery

func NewWildcardQuery(wildcard string) *WildcardQuery

NewWildcardQuery creates a new WildcardQuery.

func (*WildcardQuery) Boost

func (q *WildcardQuery) Boost(boost float32) *WildcardQuery

Boost specifies the boost for this query.

func (*WildcardQuery) Field

func (q *WildcardQuery) Field(field string) *WildcardQuery

Field specifies the field for this query.

func (WildcardQuery) MarshalJSON

func (q WildcardQuery) MarshalJSON() ([]byte, error)

MarshalJSON marshal's this query to JSON for the FTS REST API.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL