gocb

package module
v2.0.0-alpha.4 Latest Latest
Warning

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

Go to latest
Published: Jul 25, 2019 License: Apache-2.0 Imports: 20 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 (
	// Couchbase indicates a Couchbase bucket type.
	Couchbase = BucketType("couchbase")

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

	// Ephemeral indicates an Ephemeral bucket type.
	Ephemeral = BucketType("ephemeral")
)
View Source
const (
	// AuthTypeNone disables authentication.
	AuthTypeNone = AuthType("none")

	// AuthTypeSasl specifies to use sasl authentication.
	AuthTypeSasl = AuthType("sasl")
)
View Source
const (
	// ConflictResolutionTypeLww speficies to use lww conflict resolution on the bucket.
	ConflictResolutionTypeLww = ConflictResolutionType("lww")

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

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

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

	// CompressionModeActive specifies to use active compression for a bucket.
	CompressionModeActive = ConflictResolutionType("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 (
	// 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 (
	// MemdService represents a memcached service.
	MemdService = 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)

	// SubdocDocFlagReplaceDoc indices that this operation should be a replace rather than upsert.
	SubdocDocFlagReplaceDoc = 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)

	// DurabilityLevelMajorityAndPersistActive 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.
	DurabilityLevelMajorityAndPersistActive = 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 (
	// NotBounded indicates no data consistency is required.
	NotBounded = ConsistencyMode(1)
	// RequestPlus indicates that request-level data consistency is required.
	RequestPlus = ConsistencyMode(2)
	// StatementPlus indicates that statement-level data consistency is required.
	StatementPlus = ConsistencyMode(3)
)
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 (
	// Before indicates to update the index before querying it.
	Before = StaleMode(1)
	// None indicates that no special behaviour should be used.
	None = StaleMode(2)
	// After indicates to update the index asynchronously after querying.
	After = StaleMode(3)
)
View Source
const (
	// Ascending indicates the query results should be sorted from lowest to highest.
	Ascending = SortOrder(1)
	// Descending indicates the query results should be sorted from highest to lowest.
	Descending = SortOrder(2)
)

Variables

View Source
var (

	// ErrNoOpenBuckets occurs when a cluster-level operation is performed before any buckets are opened.
	ErrNoOpenBuckets = errors.New("You must open a bucket before you can perform cluster level operations.")
	// ErrFacetNoRanges occurs when a range-based facet is specified but no ranges were indicated.
	ErrFacetNoRanges = errors.New("At least one range must be specified on a facet.")

	// ErrSearchIndexInvalidName occurs when an invalid name was specified for a search index.
	ErrSearchIndexInvalidName = errors.New("An invalid search index name was specified.")
	// ErrSearchIndexMissingType occurs when no type was specified for a search index.
	ErrSearchIndexMissingType = errors.New("No search index type was specified.")
	// ErrSearchIndexInvalidSourceType occurs when an invalid source type was specific for a search index.
	ErrSearchIndexInvalidSourceType = errors.New("An invalid search index source type was specified.")
	// ErrSearchIndexInvalidSourceName occurs when an invalid source name was specific for a search index.
	ErrSearchIndexInvalidSourceName = errors.New("An invalid search index source name was specified.")
	// ErrSearchIndexAlreadyExists occurs when an invalid source name was specific for a search index.
	ErrSearchIndexAlreadyExists = errors.New("The search index specified already exists.")
	// ErrSearchIndexInvalidIngestControlOp occurs when an invalid ingest control op was specific for a search index.
	ErrSearchIndexInvalidIngestControlOp = errors.New("An invalid search index ingest control op was specified.")
	// ErrSearchIndexInvalidQueryControlOp occurs when an invalid query control op was specific for a search index.
	ErrSearchIndexInvalidQueryControlOp = errors.New("An invalid search index query control op was specified.")
	// ErrSearchIndexInvalidPlanFreezeControlOp occurs when an invalid plan freeze control op was specific for a search index.
	ErrSearchIndexInvalidPlanFreezeControlOp = errors.New("An invalid search index plan freeze control op was specified.")

	// ErrDispatchFail occurs when we failed to execute an operation due to internal routing issues.
	ErrDispatchFail = gocbcore.ErrDispatchFail
	// ErrBadHosts occurs when an invalid list of hosts is specified for bootstrapping.
	ErrBadHosts = gocbcore.ErrBadHosts
	// ErrProtocol occurs when an invalid protocol is specified for bootstrapping.
	ErrProtocol = gocbcore.ErrProtocol
	// ErrInvalidServer occurs when a specified server index is invalid.
	ErrInvalidServer = gocbcore.ErrInvalidServer
	// ErrInvalidVBucket occurs when a specified vbucket index is invalid.
	ErrInvalidVBucket = gocbcore.ErrInvalidVBucket
	// ErrInvalidReplica occurs when a specified replica index is invalid.
	ErrInvalidReplica = gocbcore.ErrInvalidReplica
	// ErrInvalidCert occurs when the specified certificate is not valid.
	ErrInvalidCert = gocbcore.ErrInvalidCert
	// ErrInvalidCredentials is returned when an invalid set of credentials is provided for a service.
	ErrInvalidCredentials = gocbcore.ErrInvalidCredentials

	// ErrShutdown occurs when an operation is performed on a bucket that has been closed.
	ErrShutdown = gocbcore.ErrShutdown
	// ErrOverload occurs when more operations were dispatched than the client is capable of writing.
	ErrOverload = gocbcore.ErrOverload
)

Functions

func ErrorCause

func ErrorCause(err error) error

ErrorCause returns the underlying cause of an error.

func ExponentialDelayFunction

func ExponentialDelayFunction(retryDelay uint, retries uint) time.Duration

ExponentialDelayFunction provides retry delay durations (ms) following an exponential increment pattern

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 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 IsInvalidArgumentsError

func IsInvalidArgumentsError(err error) bool

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

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 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 IsServiceNotAvailableError

func IsServiceNotAvailableError(err error) bool

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

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 key which has a SyncWrite 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 LinearDelayFunction

func LinearDelayFunction(retryDelay uint, retries uint) time.Duration

LinearDelayFunction provides retry delay durations (ms) following a linear increment pattern

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 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 AnalyticsDeferredResultHandle

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

AnalyticsDeferredResultHandle allows access to the handle of a deferred Analytics query.

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

func (*AnalyticsDeferredResultHandle) Close

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

func (*AnalyticsDeferredResultHandle) Next

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

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

func (*AnalyticsDeferredResultHandle) NextBytes

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

NextBytes returns the next result from the results as a byte array. TODO: how to deadline/timeout this?

func (*AnalyticsDeferredResultHandle) One

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

One assigns the first value from the results into the value pointer.

func (*AnalyticsDeferredResultHandle) Status

Status triggers a network call to the handle URI, returning the current status of the long running query. TODO: how to deadline/timeout this?

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. Experimental: This API is subject to change at any time.

func (am *AnalyticsIndexManager) ConnectLink(linkName string, opts *ConnectAnalyticsLinkOptions) error

ConnectLink connects an analytics link.

func (*AnalyticsIndexManager) CreateDataset

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

CreateDataset creates a new analytics dataset.

func (*AnalyticsIndexManager) CreateIndex

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

CreateIndex creates a new analytics dataset.

func (am *AnalyticsIndexManager) DisconnectLink(linkName string, opts *DisconnectAnalyticsLinkOptions) error

DisconnectLink disconnects an analytics link.

func (*AnalyticsIndexManager) DropDataset

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

DropDataset 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
	AnalyticsLinkNotFoundError() bool
}

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

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 AnalyticsQueryOptions

type AnalyticsQueryOptions 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
	RawParam             map[string]interface{}
	Priority             bool
	PositionalParameters []interface{}
	NamedParameters      map[string]interface{}

	// Experimental: This API is subject to change at any time.
	Deferred 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 query will always default to DefaultJSONSerializer.
	Serializer JSONSerializer
}

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

type AnalyticsResultMetrics

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

AnalyticsResultMetrics encapsulates various metrics gathered during a queries execution.

type AnalyticsResults

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

AnalyticsResults allows access to the results of an Analytics query.

func (*AnalyticsResults) Close

func (r *AnalyticsResults) Close() error

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

func (*AnalyticsResults) Handle

Handle returns a deferred result handle. This can be polled to verify whether the result is ready to be read.

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

func (*AnalyticsResults) Metadata

Metadata returns metadata for this result.

func (*AnalyticsResults) Next

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

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

func (*AnalyticsResults) NextBytes

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

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

func (*AnalyticsResults) One

func (r *AnalyticsResults) 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 AnalyticsResultsMetadata

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

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

func (*AnalyticsResultsMetadata) ClientContextID

func (r *AnalyticsResultsMetadata) ClientContextID() string

ClientContextID returns the context ID used for this query.

func (*AnalyticsResultsMetadata) Metrics

Metrics returns metrics about execution of this result.

func (*AnalyticsResultsMetadata) RequestID

func (r *AnalyticsResultsMetadata) RequestID() string

RequestID returns the request ID used for this query.

func (*AnalyticsResultsMetadata) Signature

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

Signature returns TODO

func (*AnalyticsResultsMetadata) Status

func (r *AnalyticsResultsMetadata) Status() string

Status returns the status for the results.

func (*AnalyticsResultsMetadata) Warnings

Warnings returns any warnings that occurred during query execution.

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 AppendOptions

type AppendOptions struct {
	Timeout         time.Duration
	Context         context.Context
	DurabilityLevel DurabilityLevel
}

AppendOptions are the options available to the Append operation.

type AuthCredsRequest

type AuthCredsRequest struct {
	Service  ServiceType
	Endpoint string
	Bucket   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 = "external"
)

type AuthType

type AuthType string

AuthType specifies the kind of auth to use for a bucket.

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 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 FtsQuery) *BooleanQuery

Must specifies a query which must match.

func (*BooleanQuery) MustNot

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

MustNot specifies a query which must not match.

func (*BooleanQuery) Should

func (q *BooleanQuery) Should(query FtsQuery) *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(scopeName string, collectionName string, opts *CollectionOptions) *Collection

Collection returns an instance of a collection.

func (*Bucket) CollectionManager

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

CollectionManager provides functions for managing collections.

func (*Bucket) DefaultCollection

func (b *Bucket) DefaultCollection(opts *CollectionOptions) *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) (*PingReport, error)

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

Experimental: 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.

func (*Bucket) ViewIndexes

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

ViewIndexes returns a ViewIndexManager instance for managing views.

func (*Bucket) ViewQuery

func (b *Bucket) ViewQuery(designDoc string, viewName string, opts *ViewOptions) (*ViewResults, 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.

func (*BucketManager) Create

func (bm *BucketManager) Create(settings BucketSettings, opts *CreateBucketOptions) error

Create creates a bucket on the cluster.

func (*BucketManager) Drop

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

Drop will delete a bucket from the cluster by name.

func (*BucketManager) Flush

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

Flush 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) Get

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

Get returns settings for a bucket on the cluster.

func (*BucketManager) GetAll

func (bm *BucketManager) GetAll(opts *GetAllBucketOptions) (map[string]BucketSettings, error)

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

func (*BucketManager) Upsert

func (bm *BucketManager) Upsert(settings BucketSettings, opts *UpsertBucketOptions) error

Upsert creates or 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 {
	UseMutationTokens bool
}

BucketOptions are the options available when connecting to a Bucket.

type BucketSettings

type BucketSettings struct {
	Name                   string
	Password               string
	FlushEnabled           bool
	ReplicaIndexDisabled   bool // inverted so that zero value matches server default.
	RAMQuotaMB             int
	NumReplicas            int
	BucketType             BucketType
	AuthType               AuthType
	ConflictResolutionType ConflictResolutionType
	EvictionPolicy         EvictionPolicyType
	MaxTTL                 int
	CompressionMode        CompressionMode
	ProxyPort              int
}

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 BuildDeferred operation.

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 *AnalyticsQueryOptions) (*AnalyticsResults, 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.

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.

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

func (*Cluster) Query

func (c *Cluster) Query(statement string, opts *QueryOptions) (*QueryResults, 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.

func (*Cluster) SearchQuery

func (c *Cluster) SearchQuery(q SearchQuery, opts *SearchQueryOptions) (*SearchResults, 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.

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
	EnableTracing     bool
	// 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
}

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() *CollectionBinary

Binary creates and returns a CollectionBinary object.

func (*Collection) Exists

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

Exists checks if a document exists for the given key.

func (*Collection) Get

func (c *Collection) Get(key 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(key string, opts *GetFromReplicaOptions) (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(key string, expiration uint32, opts *GetAndLockOptions) (docOut *GetResult, errOut error)

GetAndLock locks a document for a period of time, providing exclusive RW access to it.

func (*Collection) GetAndTouch

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

GetAndTouch retrieves a document and simultaneously updates its expiry time.

func (*Collection) GetAnyReplica

func (c *Collection) GetAnyReplica(key string, opts *GetFromReplicaOptions) (docOut *GetReplicaResult, errOut error)

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

func (*Collection) Insert

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

Insert creates a new document in the Collection.

func (*Collection) LookupIn

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

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

func (*Collection) MutateIn

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

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

func (*Collection) Remove

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

Remove removes a document from the collection.

func (*Collection) Replace

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

Replace updates a document in the collection.

func (*Collection) Touch

func (c *Collection) Touch(key string, expiration 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(key string, opts *UnlockOptions) (mutOut *MutationResult, errOut error)

Unlock unlocks a document which was locked with GetAndLock.

func (*Collection) Upsert

func (c *Collection) Upsert(key 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 CollectionBinary

type CollectionBinary struct {
	*Collection
}

CollectionBinary is a set of binary operations.

func (*CollectionBinary) Append

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

Append appends a byte value to a document.

func (*CollectionBinary) Decrement

func (c *CollectionBinary) Decrement(key 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 (*CollectionBinary) Increment

func (c *CollectionBinary) Increment(key 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 (*CollectionBinary) Prepend

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

Prepend prepends a byte value to a document.

type CollectionManager

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

CollectionManager provides methods for performing collections management.

func (*CollectionManager) CreateCollection

func (cm *CollectionManager) CreateCollection(scopeName, collectionName string, 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(scopeName, collectionName string, opts *DropCollectionOptions) error

DropCollection removes a collection.

func (*CollectionManager) DropScope

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

DropScope removes a scope.

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 CollectionOptions

type CollectionOptions struct {
	// Timeout specifies the amount of time to wait for the collection ID to be fetched.
	Timeout time.Duration
	Context context.Context
}

CollectionOptions are the options available when opening 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 ...FtsQuery) *ConjunctionQuery

NewConjunctionQuery creates a new ConjunctionQuery.

func (*ConjunctionQuery) And

func (q *ConjunctionQuery) And(queries ...FtsQuery) *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
}

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

type ConsistencyMode

type ConsistencyMode int

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

type CounterOptions

type CounterOptions struct {
	Timeout time.Duration
	Context context.Context
	// Expiration 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.
	Expiration 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
}

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 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
}

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

type CreateAnalyticsIndexOptions

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

	IgnoreIfExists bool
}

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 Create operation.

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 CreatePrimary 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 Create operation.

type CreateScopeOptions

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

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

type CreateViewIndexOptions

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

	IsProduction bool
}

CreateViewIndexOptions is the set of options available to the ViewIndexManager Create 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 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 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 DefaultTranscoder

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

DefaultTranscoder implements the default transcoding behaviour of all Couchbase SDKs.

func NewDefaultTranscoder

func NewDefaultTranscoder(serializer JSONSerializer) *DefaultTranscoder

NewDefaultTranscoder returns a new DefaultTranscoder initialized to use DefaultSerializer.∂

func (*DefaultTranscoder) Decode

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

Decode applies the default Couchbase transcoding behaviour to decode into a Go type.

func (*DefaultTranscoder) Encode

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

Encode applies the default Couchbase transcoding behaviour to encode a Go type.

type DelayRetryBehavior

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

DelayRetryBehavior provides the behavior to use when retrying queries with a backoff delay

func StandardDelayRetryBehavior

func StandardDelayRetryBehavior(maxRetries uint, retryDelay uint, delayLimit time.Duration, delayFunc RetryDelayFunction) *DelayRetryBehavior

StandardDelayRetryBehavior provides a DelayRetryBehavior that will retry at most maxRetries number of times and with an initial retry delay of retryDelay (ms) up to a maximum delay of delayLimit

func (*DelayRetryBehavior) CanRetry

func (rb *DelayRetryBehavior) CanRetry(retries uint) bool

CanRetry determines whether or not the query can be retried according to the behavior

func (*DelayRetryBehavior) NextInterval

func (rb *DelayRetryBehavior) NextInterval(retries uint) time.Duration

NextInterval calculates what the next retry interval (ms) should be given how many retries there have been already

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 DiagConnState

type DiagConnState int

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

type DiagnosticEntry

type DiagnosticEntry struct {
	Service      ServiceType
	State        DiagConnState
	LocalAddr    string
	RemoteAddr   string
	LastActivity time.Time
}

DiagnosticEntry represents a single entry 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
	ConfigRev int64
	SDK       string
	Services  []DiagnosticEntry
}

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 DisconnectAnalyticsLinkOptions

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

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 ...FtsQuery) *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 ...FtsQuery) *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
}

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

type DropAnalyticsIndexOptions

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

	IgnoreIfNotExists bool
}

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 Drop operation.

type DropCollectionOptions

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

DropCollectionOptions is the set of options available to the DropCollection 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 DropPrimary 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 Drop operation.

type DropScopeOptions

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

DropScopeOptions is the set of options available to the DropScope 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 DropViewIndexOptions

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

	IsProduction bool
}

DropViewIndexOptions is the set of options available to the ViewIndexManager Upsert 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 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 FlushBucketOptions

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

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

type FtsFacet

type FtsFacet interface {
}

FtsFacet represents a facet for a search query.

type FtsQuery

type FtsQuery interface {
}

FtsQuery represents an FTS query 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(tlLat, tlLon, brLat, brLon 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(lat, lon 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 GetAllBucketOptions

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

GetAllBucketOptions is the set of options available to the bucket 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 GetAll operation.

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 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 GetAllViewIndexOptions

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

GetAllViewIndexOptions is the set of options available to the ViewIndexManager 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 GetAndTouchOptions

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

GetAndTouchOptions are the options available to the GetAndTouch operation.

type GetBucketOptions

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

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

type GetFromReplicaOptions

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

GetFromReplicaOptions are the options available to the Get Replica commands.

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    *ProjectOptions
	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) IsMaster

func (r *GetReplicaResult) IsMaster() bool

IsMaster returns whether or not this result came from the active 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.

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 GetViewIndexOptions

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

	IsProduction bool
}

GetViewIndexOptions is the set of options available to the ViewIndexManager Get operation.

type HTTPError

type HTTPError interface {
	error
	HTTPStatus() int
}

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

type IndexType

type IndexType string

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

type InsertOptions

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

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

type InvalidArgumentsError

type InvalidArgumentsError interface {
	error
	InvalidArgumentsError() bool
}

InvalidArgumentsError indicates that invalid arguments were provided to an operation.

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 values.

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 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 LookupInOp

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

LookupInOp is the representation of an operation available when calling LookupIn

type LookupInOptions

type LookupInOptions struct {
	Context    context.Context
	Timeout    time.Duration
	WithExpiry bool
	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 {
}

LookupInSpec provides a way to create LookupInOps.

func (LookupInSpec) Count

func (spec LookupInSpec) Count(path string, opts *LookupInSpecCountOptions) LookupInOp

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

func (LookupInSpec) Exists

func (spec LookupInSpec) Exists(path string, opts *LookupInSpecExistsOptions) LookupInOp

Exists 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 (LookupInSpec) Get

func (spec LookupInSpec) Get(path string, opts *LookupInSpecGetOptions) LookupInOp

Get 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`).

func (LookupInSpec) GetFull

GetFull indicates that a full document should be retrieved. This command allows you to do things like combine with Get to fetch a document with certain Xattrs

type LookupInSpecCountOptions

type LookupInSpecCountOptions struct {
	IsXattr bool
}

LookupInSpecCountOptions are the options available to LookupIn subdoc Count operations.

type LookupInSpecExistsOptions

type LookupInSpecExistsOptions struct {
	IsXattr bool
}

LookupInSpecExistsOptions are the options available to LookupIn subdoc Exists operations.

type LookupInSpecGetFullOptions

type LookupInSpecGetFullOptions struct {
}

LookupInSpecGetFullOptions are the options available to LookupIn subdoc GetFull operations. There are currently no options and this is left empty for future extensibility.

type LookupInSpecGetOptions

type LookupInSpecGetOptions struct {
	IsXattr bool
}

LookupInSpecGetOptions are the options available to LookupIn subdoc Get operations.

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 MutateInOp

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

MutateInOp is the representation of an operation available when calling MutateIn

type MutateInOptions

type MutateInOptions struct {
	Timeout         time.Duration
	Context         context.Context
	Expiration      uint32
	Cas             Cas
	PersistTo       uint
	ReplicateTo     uint
	DurabilityLevel DurabilityLevel
	InsertDocument  bool
	UpsertDocument  bool
	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 {
}

MutateInSpec provides a way to create MutateInOps.

func (MutateInSpec) ArrayAddUnique

func (spec MutateInSpec) ArrayAddUnique(path string, val interface{}, opts *MutateInSpecArrayAddUniqueOptions) MutateInOp

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

func (MutateInSpec) ArrayAppend

func (spec MutateInSpec) ArrayAppend(path string, val interface{}, opts *MutateInSpecArrayAppendOptions) MutateInOp

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

func (MutateInSpec) ArrayInsert

func (spec MutateInSpec) ArrayInsert(path string, val interface{}, opts *MutateInSpecArrayInsertOptions) MutateInOp

ArrayInsert 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 (MutateInSpec) ArrayPrepend

func (spec MutateInSpec) ArrayPrepend(path string, val interface{}, opts *MutateInSpecArrayPrependOptions) MutateInOp

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

func (MutateInSpec) Decrement

func (spec MutateInSpec) Decrement(path string, delta int64, opts *MutateInSpecCounterOptions) MutateInOp

Decrement adds a decrement operation to this mutation operation set.

func (MutateInSpec) Increment

func (spec MutateInSpec) Increment(path string, delta int64, opts *MutateInSpecCounterOptions) MutateInOp

Increment adds an increment operation to this mutation operation set.

func (MutateInSpec) Insert

func (spec MutateInSpec) Insert(path string, val interface{}, opts *MutateInSpecInsertOptions) MutateInOp

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

func (MutateInSpec) Remove

func (spec MutateInSpec) Remove(path string, opts *MutateInSpecRemoveOptions) MutateInOp

Remove removes the field at path.

func (MutateInSpec) RemoveFull

func (spec MutateInSpec) RemoveFull() (*MutateInOp, error)

RemoveFull removes the full document, including metadata.

func (MutateInSpec) Replace

func (spec MutateInSpec) Replace(path string, val interface{}, opts *MutateInSpecReplaceOptions) MutateInOp

Replace replaces the value of the field at path.

func (MutateInSpec) Upsert

func (spec MutateInSpec) Upsert(path string, val interface{}, opts *MutateInSpecUpsertOptions) MutateInOp

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

func (MutateInSpec) UpsertFull

func (spec MutateInSpec) UpsertFull(val interface{}, opts *MutateInSpecUpsertFullOptions) MutateInOp

UpsertFull creates a new document if it does not exist, if it does exist then it updates it. This command allows you to do things like updating xattrs whilst upserting a document.

type MutateInSpecArrayAddUniqueOptions

type MutateInSpecArrayAddUniqueOptions struct {
	CreatePath bool
	IsXattr    bool
}

MutateInSpecArrayAddUniqueOptions are the options available to subdocument ArrayAddUnique operations.

type MutateInSpecArrayAppendOptions

type MutateInSpecArrayAppendOptions 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}, MutateInSpecArrayAppendOptions{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
}

MutateInSpecArrayAppendOptions are the options available to subdocument ArrayAppend operations.

type MutateInSpecArrayInsertOptions

type MutateInSpecArrayInsertOptions 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}, MutateInSpecArrayInsertOptions{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
}

MutateInSpecArrayInsertOptions are the options available to subdocument ArrayInsert operations.

type MutateInSpecArrayPrependOptions

type MutateInSpecArrayPrependOptions 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}, MutateInSpecArrayPrependOptions{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
}

MutateInSpecArrayPrependOptions are the options available to subdocument ArrayPrepend operations.

type MutateInSpecCounterOptions

type MutateInSpecCounterOptions struct {
	CreatePath bool
	IsXattr    bool
}

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

type MutateInSpecInsertOptions

type MutateInSpecInsertOptions struct {
	CreatePath bool
	IsXattr    bool
}

MutateInSpecInsertOptions are the options available to subdocument Insert operations.

type MutateInSpecRemoveOptions

type MutateInSpecRemoveOptions struct {
	IsXattr bool
}

MutateInSpecRemoveOptions are the options available to subdocument Remove operations.

type MutateInSpecReplaceOptions

type MutateInSpecReplaceOptions struct {
	IsXattr bool
}

MutateInSpecReplaceOptions are the options available to subdocument Replace operations.

type MutateInSpecUpsertFullOptions

type MutateInSpecUpsertFullOptions struct {
}

MutateInSpecUpsertFullOptions are the options available to subdocument UpsertFull operations. Currently exists for future extensibility and consistency.

type MutateInSpecUpsertOptions

type MutateInSpecUpsertOptions struct {
	CreatePath bool
	IsXattr    bool
}

MutateInSpecUpsertOptions are the options available to subdocument Upsert operations.

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.

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 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 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 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 {
	Services []ServiceType
	ReportID string
}

PingOptions are the options available to the Ping operation.

type PingReport

type PingReport struct {
	Services []PingServiceEntry
	ID       string
}

PingReport encapsulates the details from a executed ping operation.

func (*PingReport) MarshalJSON

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

MarshalJSON generates a JSON representation of this ping report.

type PingServiceEntry

type PingServiceEntry struct {
	Service  ServiceType
	Endpoint string
	Success  bool
	Latency  time.Duration
}

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 PrependOptions

type PrependOptions struct {
	Timeout         time.Duration
	Context         context.Context
	DurabilityLevel DurabilityLevel
}

PrependOptions are the options available to the Prepend operation.

type ProjectOptions

type ProjectOptions struct {
	Fields                 []string
	IgnorePathMissingError bool
}

ProjectOptions are the options for using projections as a part of a Get request.

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 PublishViewIndexOptions

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

PublishViewIndexOptions is the set of options available to the ViewIndexManager Publish 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.

func (*QueryIndexManager) BuildDeferred

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

BuildDeferred builds all indexes which are currently in deferred state.

func (*QueryIndexManager) Create

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

Create creates an index over the specified fields.

func (*QueryIndexManager) CreatePrimary

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

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

func (*QueryIndexManager) Drop

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

Drop drops a specific index by name.

func (*QueryIndexManager) DropPrimary

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

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

func (*QueryIndexManager) GetAll

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

GetAll returns a list of all currently registered indexes.

func (*QueryIndexManager) Watch

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

Watch 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 QueryOptions

type QueryOptions struct {
	Consistency    ConsistencyMode
	ConsistentWith *MutationState
	Prepared       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
	// ReadOnly controls whether a query can change a resulting recordset.  If
	// readonly is true, then only SELECT statements are permitted.
	ReadOnly        bool
	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{}
	// Custom allows specifying custom query options.
	Custom 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 QueryResultMetrics

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

QueryResultMetrics encapsulates various metrics gathered during a queries execution.

type QueryResults

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

QueryResults allows access to the results of a N1QL query.

func (*QueryResults) Close

func (r *QueryResults) Close() error

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

func (*QueryResults) Metadata

func (r *QueryResults) Metadata() (*QueryResultsMetadata, error)

Metadata returns metadata for this result.

func (*QueryResults) Next

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

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

func (*QueryResults) NextBytes

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

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

func (*QueryResults) One

func (r *QueryResults) 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 QueryResultsMetadata

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

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

func (*QueryResultsMetadata) ClientContextID

func (r *QueryResultsMetadata) ClientContextID() string

ClientContextID returns the context ID used for this query.

func (*QueryResultsMetadata) Metrics

Metrics returns metrics about execution of this result.

func (*QueryResultsMetadata) RequestID

func (r *QueryResultsMetadata) RequestID() string

RequestID returns the request ID used for this query.

func (*QueryResultsMetadata) Signature

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

Signature returns the schema of the results.

func (*QueryResultsMetadata) SourceEndpoint

func (r *QueryResultsMetadata) SourceEndpoint() string

SourceEndpoint returns the endpoint used for execution of this query. VOLATILE

func (*QueryResultsMetadata) Warnings

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

Warnings returns any warnings that were generated during execution of the 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 Range

type Range struct {
	Start        interface{}
	End          interface{}
	InclusiveEnd bool
}

Range specifies a value range to get results between.

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 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 ReplaceOptions

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

ReplaceOptions are the options available to a Replace operation.

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.

func (*Result) Expiration

func (d *Result) Expiration() uint32

Expiration returns the expiration value for the result.

func (*Result) HasExpiration

func (d *Result) HasExpiration() bool

HasExpiration verifies whether or not the result has an expiration value.

type RetryBehavior

type RetryBehavior interface {
	NextInterval(retries uint) time.Duration
	CanRetry(retries uint) bool
}

RetryBehavior defines the behavior to be used for retries

type RetryDelayFunction

type RetryDelayFunction func(retryDelay uint, retries uint) time.Duration

RetryDelayFunction is called to get the next try delay

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, opts *CollectionOptions) *Collection

Collection returns an instance of a collection.

func (*Scope) DefaultCollection

func (s *Scope) DefaultCollection(opts *CollectionOptions) *Collection

DefaultCollection returns an instance of the default collection.

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 SearchQuery

type SearchQuery struct {
	Name  string
	Query interface{}
}

SearchQuery represents a pending search query.

type SearchQueryOptions

type SearchQueryOptions 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
	Consistency    ConsistencyMode
	ConsistentWith *MutationState
}

SearchQueryOptions represents a pending search query.

type SearchResultDateFacet

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

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

type SearchResultFacet

type SearchResultFacet struct {
	Field         string                     `json:"field,omitempty"`
	Total         int                        `json:"total,omitempty"`
	Missing       int                        `json:"missing,omitempty"`
	Other         int                        `json:"other,omitempty"`
	Terms         []SearchResultTermFacet    `json:"terms,omitempty"`
	NumericRanges []SearchResultNumericFacet `json:"numeric_ranges,omitempty"`
	DateRanges    []SearchResultDateFacet    `json:"date_ranges,omitempty"`
}

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

type SearchResultHit

type SearchResultHit 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][]SearchResultLocation `json:"locations,omitempty"`
	Fragments   map[string][]string                          `json:"fragments,omitempty"`
	Fields      map[string]interface{}                       `json:"fields,omitempty"`
}

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

type SearchResultLocation

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

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

type SearchResultNumericFacet

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

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

type SearchResultStatus

type SearchResultStatus struct {
	Total      int `json:"total,omitempty"`
	Failed     int `json:"failed,omitempty"`
	Successful int `json:"successful,omitempty"`
}

SearchResultStatus holds the status information for an executed search query.

type SearchResultTermFacet

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

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

type SearchResults

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

SearchResults allows access to the results of a search query.

func (*SearchResults) Close

func (r *SearchResults) Close() error

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

func (SearchResults) Facets

func (r SearchResults) Facets() (map[string]SearchResultFacet, error)

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

func (*SearchResults) Metadata

func (r *SearchResults) Metadata() (*SearchResultsMetadata, error)

Metadata returns metadata for this result.

func (*SearchResults) Next

func (r *SearchResults) Next(hitPtr *SearchResultHit) bool

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

func (*SearchResults) NextBytes

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

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

func (*SearchResults) One

func (r *SearchResults) One(hitPtr *SearchResultHit) 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 SearchResultsMetadata

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

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

func (SearchResultsMetadata) ErrorCount

func (r SearchResultsMetadata) ErrorCount() int

ErrorCount is the number of errors for the results.

func (SearchResultsMetadata) MaxScore

func (r SearchResultsMetadata) MaxScore() float64

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

func (SearchResultsMetadata) SuccessCount

func (r SearchResultsMetadata) SuccessCount() int

SuccessCount is the number of successes for the results.

func (SearchResultsMetadata) Took

Took returns the time taken to execute the search.

func (SearchResultsMetadata) TotalHits

func (r SearchResultsMetadata) TotalHits() int

TotalHits is the actual number of hits before the limit was applied.

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, lat, lon 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 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 SortOrder

type SortOrder int

SortOrder specifies the ordering for the view queries results.

type StaleMode

type StaleMode int

StaleMode specifies the consistency required for a view query.

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 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 TouchOptions

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

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 UnlockOptions

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

UnlockOptions are the options available to the GetAndLock operation.

type UpsertBucketOptions

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

UpsertBucketOptions is the set of options available to the bucket manager Upsert operation.

type UpsertOptions

type UpsertOptions struct {
	Timeout time.Duration
	Context context.Context
	// The expiration length in seconds
	Expiration      uint32
	PersistTo       uint
	ReplicateTo     uint
	DurabilityLevel DurabilityLevel
	Transcoder      Transcoder
}

UpsertOptions are options that can be applied to an Upsert operation.

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 UpsertViewIndexOptions

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

	IsProduction bool
}

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

type User

type User struct {
	ID    string
	Name  string
	Type  string
	Roles []UserRole
}

User represents a user which was retrieved from the server.

type UserManager

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

UserManager provides methods for performing Couchbase user management.

func (*UserManager) Drop

func (um *UserManager) Drop(name string, opts *DropUserOptions) error

Drop removes a built-in RBAC user on the cluster.

func (*UserManager) Get

func (um *UserManager) Get(name string, opts *GetUserOptions) (*User, error)

Get returns the data for a particular user

func (*UserManager) GetAll

func (um *UserManager) GetAll(opts *GetAllUsersOptions) ([]*User, error)

GetAll returns a list of all the users from the cluster.

func (*UserManager) Upsert

func (um *UserManager) Upsert(name string, password string, roles []UserRole, opts *UpsertUserOptions) error

Upsert updates a built-in RBAC user on the cluster.

type UserManagerError

type UserManagerError interface {
	error
	HTTPStatus() int
	UserNotFoundError() 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 UserRole

type UserRole struct {
	Role       string
	BucketName string
}

UserRole represents a role for a particular user on the server.

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 ViewIndexManager

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

ViewIndexManager provides methods for performing View management.

func (*ViewIndexManager) Create

Create inserts a design document to the given bucket.

func (*ViewIndexManager) Drop

func (vm *ViewIndexManager) Drop(name string, opts *DropViewIndexOptions) error

Drop will remove a design document from the given bucket.

func (*ViewIndexManager) Get

Get retrieves a single design document for the given bucket.

func (*ViewIndexManager) GetAll

GetAll will retrieve all design documents for the given bucket.

func (*ViewIndexManager) Publish

func (vm *ViewIndexManager) Publish(name string, opts *PublishViewIndexOptions) error

Publish publishes a design document to the given bucket.

func (*ViewIndexManager) Upsert

Upsert 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 ViewOptions

type ViewOptions struct {
	Stale        StaleMode
	Skip         uint
	Limit        uint
	Order        SortOrder
	Reduce       bool
	Group        bool
	GroupLevel   uint
	Key          interface{}
	Keys         []interface{}
	Range        *Range
	IDRangeStart string
	IDRangeEnd   string
	Development  bool
	Custom       map[string]string
	// Timeout and context are used to control cancellation of the data stream.
	Context context.Context
	Timeout time.Duration
}

ViewOptions represents the options available when executing view query.

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 ViewResults

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

ViewResults implements an iterator interface which can be used to iterate over the rows of the query results.

func (*ViewResults) Close

func (r *ViewResults) Close() error

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

func (*ViewResults) Metadata

func (r *ViewResults) Metadata() (*ViewResultsMetadata, error)

Metadata returns metadata for this result.

func (*ViewResults) Next

func (r *ViewResults) Next(rowPtr *ViewRow) bool

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

func (*ViewResults) NextBytes

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

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

func (*ViewResults) One

func (r *ViewResults) 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 ViewResultsMetadata

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

ViewResultsMetadata provides access to the metadata properties of a view query result.

func (*ViewResultsMetadata) TotalRows

func (r *ViewResultsMetadata) TotalRows() int

TotalRows returns the total number of rows in the view, can be greater than the number of rows returned.

type ViewRow

type ViewRow struct {
	ID  string
	Key interface{}
	// contains filtered or unexported fields
}

ViewRow provides access to a single view query row.

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 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 Watch 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