diff options
Diffstat (limited to 'src/mongo/gotools/src/github.com/mongodb/mongo-tools/vendor/go.mongodb.org/mongo-driver/mongo/options/indexoptions.go')
-rw-r--r-- | src/mongo/gotools/src/github.com/mongodb/mongo-tools/vendor/go.mongodb.org/mongo-driver/mongo/options/indexoptions.go | 336 |
1 files changed, 0 insertions, 336 deletions
diff --git a/src/mongo/gotools/src/github.com/mongodb/mongo-tools/vendor/go.mongodb.org/mongo-driver/mongo/options/indexoptions.go b/src/mongo/gotools/src/github.com/mongodb/mongo-tools/vendor/go.mongodb.org/mongo-driver/mongo/options/indexoptions.go deleted file mode 100644 index a49e6ee9635..00000000000 --- a/src/mongo/gotools/src/github.com/mongodb/mongo-tools/vendor/go.mongodb.org/mongo-driver/mongo/options/indexoptions.go +++ /dev/null @@ -1,336 +0,0 @@ -// Copyright (C) MongoDB, Inc. 2017-present. -// -// Licensed under the Apache License, Version 2.0 (the "License"); you may -// not use this file except in compliance with the License. You may obtain -// a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 - -package options - -import ( - "time" -) - -// CreateIndexesOptions represents all possible options for the CreateOne() and CreateMany() functions. -type CreateIndexesOptions struct { - MaxTime *time.Duration // The maximum amount of time to allow the query to run. -} - -// CreateIndexes creates a new CreateIndexesOptions instance. -func CreateIndexes() *CreateIndexesOptions { - return &CreateIndexesOptions{} -} - -// SetMaxTime specifies the maximum amount of time to allow the query to run. -func (c *CreateIndexesOptions) SetMaxTime(d time.Duration) *CreateIndexesOptions { - c.MaxTime = &d - return c -} - -// MergeCreateIndexesOptions combines the given *CreateIndexesOptions into a single *CreateIndexesOptions in a last one -// wins fashion. -func MergeCreateIndexesOptions(opts ...*CreateIndexesOptions) *CreateIndexesOptions { - c := CreateIndexes() - for _, opt := range opts { - if opt == nil { - continue - } - if opt.MaxTime != nil { - c.MaxTime = opt.MaxTime - } - } - - return c -} - -// DropIndexesOptions represents all possible options for the DropIndexes() function. -type DropIndexesOptions struct { - MaxTime *time.Duration -} - -// DropIndexes creates a new DropIndexesOptions instance. -func DropIndexes() *DropIndexesOptions { - return &DropIndexesOptions{} -} - -// SetMaxTime specifies the maximum amount of time to allow the query to run. -func (d *DropIndexesOptions) SetMaxTime(duration time.Duration) *DropIndexesOptions { - d.MaxTime = &duration - return d -} - -// MergeDropIndexesOptions combines the given *DropIndexesOptions into a single *DropIndexesOptions in a last one -// wins fashion. -func MergeDropIndexesOptions(opts ...*DropIndexesOptions) *DropIndexesOptions { - c := DropIndexes() - for _, opt := range opts { - if opt == nil { - continue - } - if opt.MaxTime != nil { - c.MaxTime = opt.MaxTime - } - } - - return c -} - -// ListIndexesOptions represents all possible options for the ListIndexes() function. -type ListIndexesOptions struct { - BatchSize *int32 - MaxTime *time.Duration -} - -// ListIndexes creates a new ListIndexesOptions instance. -func ListIndexes() *ListIndexesOptions { - return &ListIndexesOptions{} -} - -// SetBatchSize specifies the number of documents to return in every batch. -func (l *ListIndexesOptions) SetBatchSize(i int32) *ListIndexesOptions { - l.BatchSize = &i - return l -} - -// SetMaxTime specifies the maximum amount of time to allow the query to run. -func (l *ListIndexesOptions) SetMaxTime(d time.Duration) *ListIndexesOptions { - l.MaxTime = &d - return l -} - -// MergeListIndexesOptions combines the given *ListIndexesOptions into a single *ListIndexesOptions in a last one -// wins fashion. -func MergeListIndexesOptions(opts ...*ListIndexesOptions) *ListIndexesOptions { - c := ListIndexes() - for _, opt := range opts { - if opt == nil { - continue - } - if opt.MaxTime != nil { - c.MaxTime = opt.MaxTime - } - } - - return c -} - -// IndexOptions represents all possible options to configure a new index. -type IndexOptions struct { - Background *bool - ExpireAfterSeconds *int32 - Name *string - Sparse *bool - StorageEngine interface{} - Unique *bool - Version *int32 - DefaultLanguage *string - LanguageOverride *string - TextVersion *int32 - Weights interface{} - SphereVersion *int32 - Bits *int32 - Max *float64 - Min *float64 - BucketSize *int32 - PartialFilterExpression interface{} - Collation *Collation - WildcardProjection interface{} -} - -// Index creates a new *IndexOptions -func Index() *IndexOptions { - return &IndexOptions{} -} - -// SetBackground sets the background option. If true, the server will create the index in the background and not block -// other tasks -func (i *IndexOptions) SetBackground(background bool) *IndexOptions { - i.Background = &background - return i -} - -// SetExpireAfterSeconds specifies the number of seconds for a document to remain in a collection. -func (i *IndexOptions) SetExpireAfterSeconds(seconds int32) *IndexOptions { - i.ExpireAfterSeconds = &seconds - return i -} - -// SetName specifies a name for the index. -// If not set, a name will be generated in the format "[field]_[direction]". -// If multiple indexes are created for the same key pattern with different collations, a name must be provided to avoid -// ambiguity. -func (i *IndexOptions) SetName(name string) *IndexOptions { - i.Name = &name - return i -} - -// SetSparse sets the sparse option. -// If true, the index will only reference documents with the specified field in the index. -func (i *IndexOptions) SetSparse(sparse bool) *IndexOptions { - i.Sparse = &sparse - return i -} - -// SetStorageEngine specifies the storage engine to use. -// Valid for server versions >= 3.0 -func (i *IndexOptions) SetStorageEngine(engine interface{}) *IndexOptions { - i.StorageEngine = engine - return i -} - -// SetUnique forces the index to be unique. -func (i *IndexOptions) SetUnique(unique bool) *IndexOptions { - i.Unique = &unique - return i -} - -// SetVersion specifies the index version number, either 0 or 1. -func (i *IndexOptions) SetVersion(version int32) *IndexOptions { - i.Version = &version - return i -} - -// SetDefaultLanguage specifies the default language for text indexes. -// If not set, this will default to english. -func (i *IndexOptions) SetDefaultLanguage(language string) *IndexOptions { - i.DefaultLanguage = &language - return i -} - -// SetLanguageOverride specifies the field in the document to override the language. -func (i *IndexOptions) SetLanguageOverride(override string) *IndexOptions { - i.LanguageOverride = &override - return i -} - -// SetTextVersion specifies the text index version number. -// MongoDB version 2.4 can only support version 1. -// MongoDB versions 2.6 and higher can support versions 1 or 2. -func (i *IndexOptions) SetTextVersion(version int32) *IndexOptions { - i.TextVersion = &version - return i -} - -// SetWeights specifies fields in the index and their corresponding weight values. -func (i *IndexOptions) SetWeights(weights interface{}) *IndexOptions { - i.Weights = weights - return i -} - -// SetSphereVersion specifies the 2dsphere index version number. -// MongoDB version 2.4 can only support version 1. -// MongoDB versions 2.6 and higher can support versions 1 or 2. -func (i *IndexOptions) SetSphereVersion(version int32) *IndexOptions { - i.SphereVersion = &version - return i -} - -// SetBits specifies the precision of the stored geo hash in the 2d index, from 1 to 32. -func (i *IndexOptions) SetBits(bits int32) *IndexOptions { - i.Bits = &bits - return i -} - -// SetMax specifies the maximum boundary for latitude and longitude in the 2d index. -func (i *IndexOptions) SetMax(max float64) *IndexOptions { - i.Max = &max - return i -} - -// SetMin specifies the minimum boundary for latitude and longitude in the 2d index. -func (i *IndexOptions) SetMin(min float64) *IndexOptions { - i.Min = &min - return i -} - -// SetBucketSize specifies number of units within which to group the location values in a geo haystack index. -func (i *IndexOptions) SetBucketSize(bucketSize int32) *IndexOptions { - i.BucketSize = &bucketSize - return i -} - -// SetPartialFilterExpression specifies a filter for use in a partial index. Only documents that match the filter -// expression are included in the index. -func (i *IndexOptions) SetPartialFilterExpression(expression interface{}) *IndexOptions { - i.PartialFilterExpression = expression - return i -} - -// SetCollation specifies a Collation to use for the operation. -// Valid for server versions >= 3.4 -func (i *IndexOptions) SetCollation(collation *Collation) *IndexOptions { - i.Collation = collation - return i -} - -// SetWildcardProjection specifies a wildcard projection for a wildcard index. -func (i *IndexOptions) SetWildcardProjection(wildcardProjection interface{}) *IndexOptions { - i.WildcardProjection = wildcardProjection - return i -} - -// MergeIndexOptions combines the given *IndexOptions into a single *IndexOptions in a last one wins fashion. -func MergeIndexOptions(opts ...*IndexOptions) *IndexOptions { - i := Index() - - for _, opt := range opts { - if opt.Background != nil { - i.Background = opt.Background - } - if opt.ExpireAfterSeconds != nil { - i.ExpireAfterSeconds = opt.ExpireAfterSeconds - } - if opt.Name != nil { - i.Name = opt.Name - } - if opt.Sparse != nil { - i.Sparse = opt.Sparse - } - if opt.StorageEngine != nil { - i.StorageEngine = opt.StorageEngine - } - if opt.Unique != nil { - i.Unique = opt.Unique - } - if opt.Version != nil { - i.Version = opt.Version - } - if opt.DefaultLanguage != nil { - i.DefaultLanguage = opt.DefaultLanguage - } - if opt.LanguageOverride != nil { - i.LanguageOverride = opt.LanguageOverride - } - if opt.TextVersion != nil { - i.TextVersion = opt.TextVersion - } - if opt.Weights != nil { - i.Weights = opt.Weights - } - if opt.SphereVersion != nil { - i.SphereVersion = opt.SphereVersion - } - if opt.Bits != nil { - i.Bits = opt.Bits - } - if opt.Max != nil { - i.Max = opt.Max - } - if opt.Min != nil { - i.Min = opt.Min - } - if opt.BucketSize != nil { - i.BucketSize = opt.BucketSize - } - if opt.PartialFilterExpression != nil { - i.PartialFilterExpression = opt.PartialFilterExpression - } - if opt.Collation != nil { - i.Collation = opt.Collation - } - if opt.WildcardProjection != nil { - i.WildcardProjection = opt.WildcardProjection - } - } - - return i -} |