dispatch

package
v0.0.17 Latest Latest
Warning

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

Go to latest
Published: Oct 25, 2018 License: Apache-2.0 Imports: 12 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var ErrArrayFilters = errors.New("array filters cannot be set for server versions < 3.6")

ErrArrayFilters is caused if array filters are given for an invalid server version.

View Source
var ErrCollation = errors.New("collation cannot be set for server versions < 3.4")

ErrCollation is caused if a collation is given for an invalid server version.

Functions

func AbortTransaction added in v0.0.12

AbortTransaction handles the full cycle dispatch and execution of abortting a transaction against the provided topology.

func Aggregate

func Aggregate(
	ctx context.Context,
	cmd command.Aggregate,
	topo *topology.Topology,
	readSelector, writeSelector description.ServerSelector,
	clientID uuid.UUID,
	pool *session.Pool,
) (command.Cursor, error)

Aggregate handles the full cycle dispatch and execution of an aggregate command against the provided topology.

func BulkWrite added in v0.0.16

func BulkWrite(
	ctx context.Context,
	ns command.Namespace,
	models []WriteModel,
	topo *topology.Topology,
	selector description.ServerSelector,
	clientID uuid.UUID,
	pool *session.Pool,
	retryWrite bool,
	sess *session.Client,
	writeConcern *writeconcern.WriteConcern,
	ordered bool,
	clock *session.ClusterClock,
	bypassDocValidation bool,
	bypassDocValidationSet bool,
) (result.BulkWrite, error)

BulkWrite handles the full dispatch cycle for a bulk write operation.

func CommitTransaction added in v0.0.12

CommitTransaction handles the full cycle dispatch and execution of committing a transaction against the provided topology.

func Count

func Count(
	ctx context.Context,
	cmd command.Count,
	topo *topology.Topology,
	selector description.ServerSelector,
	clientID uuid.UUID,
	pool *session.Pool,
) (int64, error)

Count handles the full cycle dispatch and execution of a count command against the provided topology.

func CountDocuments added in v0.0.11

func CountDocuments(
	ctx context.Context,
	cmd command.CountDocuments,
	topo *topology.Topology,
	selector description.ServerSelector,
	clientID uuid.UUID,
	pool *session.Pool,
) (int64, error)

CountDocuments handles the full cycle dispatch and execution of a countDocuments command against the provided topology.

func CreateIndexes

func CreateIndexes(
	ctx context.Context,
	cmd command.CreateIndexes,
	topo *topology.Topology,
	selector description.ServerSelector,
	clientID uuid.UUID,
	pool *session.Pool,
) (result.CreateIndexes, error)

CreateIndexes handles the full cycle dispatch and execution of a createIndexes command against the provided topology.

func Delete

func Delete(
	ctx context.Context,
	cmd command.Delete,
	topo *topology.Topology,
	selector description.ServerSelector,
	clientID uuid.UUID,
	pool *session.Pool,
	retryWrite bool,
) (result.Delete, error)

Delete handles the full cycle dispatch and execution of a delete command against the provided topology.

func Distinct

func Distinct(
	ctx context.Context,
	cmd command.Distinct,
	topo *topology.Topology,
	selector description.ServerSelector,
	clientID uuid.UUID,
	pool *session.Pool,
) (result.Distinct, error)

Distinct handles the full cycle dispatch and execution of a distinct command against the provided topology.

func DropCollection added in v0.0.4

func DropCollection(
	ctx context.Context,
	cmd command.DropCollection,
	topo *topology.Topology,
	selector description.ServerSelector,
	clientID uuid.UUID,
	pool *session.Pool,
) (bson.Reader, error)

DropCollection handles the full cycle dispatch and execution of a dropCollection command against the provided topology.

func DropDatabase added in v0.0.4

func DropDatabase(
	ctx context.Context,
	cmd command.DropDatabase,
	topo *topology.Topology,
	selector description.ServerSelector,
	clientID uuid.UUID,
	pool *session.Pool,
) (bson.Reader, error)

DropDatabase handles the full cycle dispatch and execution of a dropDatabase command against the provided topology.

func DropIndexes

func DropIndexes(
	ctx context.Context,
	cmd command.DropIndexes,
	topo *topology.Topology,
	selector description.ServerSelector,
	clientID uuid.UUID,
	pool *session.Pool,
) (bson.Reader, error)

DropIndexes handles the full cycle dispatch and execution of a dropIndexes command against the provided topology.

func EndSessions added in v0.0.10

func EndSessions(
	ctx context.Context,
	cmd command.EndSessions,
	topo *topology.Topology,
	selector description.ServerSelector,
) ([]result.EndSessions, []error)

EndSessions handles the full cycle dispatch and execution of an endSessions command against the provided topology.

func Find

func Find(
	ctx context.Context,
	cmd command.Find,
	topo *topology.Topology,
	selector description.ServerSelector,
	clientID uuid.UUID,
	pool *session.Pool,
) (command.Cursor, error)

Find handles the full cycle dispatch and execution of a find command against the provided topology.

func FindOneAndDelete

func FindOneAndDelete(
	ctx context.Context,
	cmd command.FindOneAndDelete,
	topo *topology.Topology,
	selector description.ServerSelector,
	clientID uuid.UUID,
	pool *session.Pool,
	retryWrite bool,
) (result.FindAndModify, error)

FindOneAndDelete handles the full cycle dispatch and execution of a FindOneAndDelete command against the provided topology.

func FindOneAndReplace

func FindOneAndReplace(
	ctx context.Context,
	cmd command.FindOneAndReplace,
	topo *topology.Topology,
	selector description.ServerSelector,
	clientID uuid.UUID,
	pool *session.Pool,
	retryWrite bool,
) (result.FindAndModify, error)

FindOneAndReplace handles the full cycle dispatch and execution of a FindOneAndReplace command against the provided topology.

func FindOneAndUpdate

func FindOneAndUpdate(
	ctx context.Context,
	cmd command.FindOneAndUpdate,
	topo *topology.Topology,
	selector description.ServerSelector,
	clientID uuid.UUID,
	pool *session.Pool,
	retryWrite bool,
) (result.FindAndModify, error)

FindOneAndUpdate handles the full cycle dispatch and execution of a FindOneAndUpdate command against the provided topology.

func Insert

func Insert(
	ctx context.Context,
	cmd command.Insert,
	topo *topology.Topology,
	selector description.ServerSelector,
	clientID uuid.UUID,
	pool *session.Pool,
	retryWrite bool,
) (result.Insert, error)

Insert handles the full cycle dispatch and execution of an insert command against the provided topology.

func ListCollections

func ListCollections(
	ctx context.Context,
	cmd command.ListCollections,
	topo *topology.Topology,
	selector description.ServerSelector,
	clientID uuid.UUID,
	pool *session.Pool,
) (command.Cursor, error)

ListCollections handles the full cycle dispatch and execution of a listCollections command against the provided topology.

func ListDatabases

func ListDatabases(
	ctx context.Context,
	cmd command.ListDatabases,
	topo *topology.Topology,
	selector description.ServerSelector,
	clientID uuid.UUID,
	pool *session.Pool,
) (result.ListDatabases, error)

ListDatabases handles the full cycle dispatch and execution of a listDatabases command against the provided topology.

func ListIndexes

func ListIndexes(
	ctx context.Context,
	cmd command.ListIndexes,
	topo *topology.Topology,
	selector description.ServerSelector,
	clientID uuid.UUID,
	pool *session.Pool,
) (command.Cursor, error)

ListIndexes handles the full cycle dispatch and execution of a listIndexes command against the provided topology.

func Read added in v0.0.9

func Read(
	ctx context.Context,
	cmd command.Read,
	topo *topology.Topology,
	selector description.ServerSelector,
	clientID uuid.UUID,
	pool *session.Pool,
) (bson.Reader, error)

Read handles the full cycle dispatch and execution of a read command against the provided topology.

func Update

func Update(
	ctx context.Context,
	cmd command.Update,
	topo *topology.Topology,
	selector description.ServerSelector,
	clientID uuid.UUID,
	pool *session.Pool,
	retryWrite bool,
) (result.Update, error)

Update handles the full cycle dispatch and execution of an update command against the provided topology.

func Write added in v0.0.9

func Write(
	ctx context.Context,
	cmd command.Write,
	topo *topology.Topology,
	selector description.ServerSelector,
	clientID uuid.UUID,
	pool *session.Pool,
) (bson.Reader, error)

Write handles the full cycle dispatch and execution of a write command against the provided topology.

Types

type BulkWriteError added in v0.0.16

type BulkWriteError struct {
	result.WriteError
	Model WriteModel
}

BulkWriteError is an error from one operation in a bulk write.

type BulkWriteException added in v0.0.16

type BulkWriteException struct {
	WriteConcernError *result.WriteConcernError
	WriteErrors       []BulkWriteError
}

BulkWriteException is a collection of errors returned by a bulk write operation.

func (BulkWriteException) Error added in v0.0.16

func (BulkWriteException) Error() string

type DeleteManyModel added in v0.0.16

type DeleteManyModel struct {
	Filter    interface{}
	Collation *option.Collation
}

DeleteManyModel is the write model for deleteMany operations.

type DeleteOneModel added in v0.0.16

type DeleteOneModel struct {
	Filter    interface{}
	Collation *option.Collation
}

DeleteOneModel is the write model for delete operations.

type InsertOneModel added in v0.0.16

type InsertOneModel struct {
	Document interface{}
}

InsertOneModel is the write model for insert operations.

type ReplaceOneModel added in v0.0.16

type ReplaceOneModel struct {
	Filter      interface{}
	Replacement interface{}
	UpdateModel
}

ReplaceOneModel is the write model for replace operations.

type UpdateManyModel added in v0.0.16

type UpdateManyModel struct {
	Filter interface{}
	Update interface{}
	// default is to not send a value. for servers < 3.6, error raised if value given. for unack writes using opcodes,
	// error raised if value given
	ArrayFilters []interface{}
	UpdateModel
}

UpdateManyModel is the write model for updateMany operations.

type UpdateModel added in v0.0.16

type UpdateModel struct {
	Collation *option.Collation
	Upsert    bool
	UpsertSet bool
}

UpdateModel contains the fields that are shared between the ReplaceOneModel, UpdateOneModel, and UpdateManyModel types

type UpdateOneModel added in v0.0.16

type UpdateOneModel struct {
	Filter interface{}
	Update interface{}
	// default is to not send a value. for servers < 3.6, error raised if value given. for unack writes using opcodes,
	// error raised if value given
	ArrayFilters []interface{}
	UpdateModel
}

UpdateOneModel is the write model for update operations.

type WriteModel added in v0.0.16

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

WriteModel is the interface satisfied by all models for bulk writes.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL