Documentation ¶
Overview ¶
Package metadata provides access to databases and collections information.
Index ¶
- Constants
- type Collection
- type CollectionCreateParams
- type IndexInfo
- type IndexKeyPair
- type Registry
- func (r *Registry) Close()
- func (r *Registry) Collect(ch chan<- prometheus.Metric)
- func (r *Registry) CollectionCreate(ctx context.Context, params *CollectionCreateParams) (bool, error)
- func (r *Registry) CollectionDrop(ctx context.Context, dbName, collectionName string) (bool, error)
- func (r *Registry) CollectionGet(ctx context.Context, dbName, collectionName string) *Collection
- func (r *Registry) CollectionList(ctx context.Context, dbName string) ([]*Collection, error)
- func (r *Registry) CollectionRename(ctx context.Context, dbName, oldCollectionName, newCollectionName string) (bool, error)
- func (r *Registry) DatabaseDrop(ctx context.Context, dbName string) bool
- func (r *Registry) DatabaseGetExisting(ctx context.Context, dbName string) *fsql.DB
- func (r *Registry) DatabaseGetOrCreate(ctx context.Context, dbName string) (*fsql.DB, error)
- func (r *Registry) DatabaseList(ctx context.Context) []string
- func (r *Registry) Describe(ch chan<- *prometheus.Desc)
- func (r *Registry) IndexesCreate(ctx context.Context, dbName, collectionName string, indexes []IndexInfo) error
- func (r *Registry) IndexesDrop(ctx context.Context, dbName, collectionName string, indexNames []string) error
- type Settings
Constants ¶
const ( // DefaultColumn is a column name for all fields. DefaultColumn = backends.ReservedPrefix + "sjson" // IDColumn is a SQLite path expression for _id field. IDColumn = DefaultColumn + "->'$._id'" // RecordIDColumn is a name for RecordID column to store capped collection record id. RecordIDColumn = backends.ReservedPrefix + "record_id" )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Collection ¶ added in v1.7.0
Collection represents collection metadata.
Collection value should be immutable to avoid data races. Use [deepCopy] to replace the whole value instead of modifying fields of existing value.
func (Collection) Capped ¶ added in v1.14.0
func (c Collection) Capped() bool
Capped returns true if collection is capped.
type CollectionCreateParams ¶ added in v1.14.0
type CollectionCreateParams struct { DBName string Name string CappedSize int64 CappedDocuments int64 // contains filtered or unexported fields }
CollectionCreateParams contains parameters for CollectionCreate.
func (*CollectionCreateParams) Capped ¶ added in v1.14.0
func (ccp *CollectionCreateParams) Capped() bool
Capped returns true if capped collection creation is requested.
type IndexInfo ¶ added in v1.10.0
type IndexInfo struct { Name string `json:"name"` Key []IndexKeyPair `json:"key"` Unique bool `json:"unique"` }
IndexInfo represents information about a single index.
type IndexKeyPair ¶ added in v1.10.0
IndexKeyPair consists of a field name and a sort order that are part of the index.
type Registry ¶
type Registry struct { BatchSize int // contains filtered or unexported fields }
Registry provides access to SQLite databases and collections information.
Exported methods are safe for concurrent use. Unexported methods are not.
func NewRegistry ¶
NewRegistry creates a registry for SQLite databases in the directory specified by SQLite URI.
func (*Registry) Collect ¶ added in v1.7.0
func (r *Registry) Collect(ch chan<- prometheus.Metric)
Collect implements prometheus.Collector.
func (*Registry) CollectionCreate ¶
func (r *Registry) CollectionCreate(ctx context.Context, params *CollectionCreateParams) (bool, error)
CollectionCreate creates a collection in the database. Database will be created automatically if needed.
Returned boolean value indicates whether the collection was created. If collection already exists, (false, nil) is returned.
func (*Registry) CollectionDrop ¶
CollectionDrop drops a collection in the database.
Returned boolean value indicates whether the collection was dropped. If database or collection did not exist, (false, nil) is returned.
func (*Registry) CollectionGet ¶ added in v1.7.0
func (r *Registry) CollectionGet(ctx context.Context, dbName, collectionName string) *Collection
CollectionGet returns a copy of collection metadata. It can be safely modified by a caller.
If database or collection does not exist, nil is returned.
func (*Registry) CollectionList ¶
CollectionList returns a sorted copy of collections in the database.
If database does not exist, no error is returned.
func (*Registry) CollectionRename ¶ added in v1.9.0
func (r *Registry) CollectionRename(ctx context.Context, dbName, oldCollectionName, newCollectionName string) (bool, error)
CollectionRename renames a collection in the database.
The collection name is updated, but original table name is kept.
Returned boolean value indicates whether the collection was renamed. If database or collection did not exist, (false, nil) is returned.
func (*Registry) DatabaseDrop ¶
DatabaseDrop drops the database.
Returned boolean value indicates whether the database was dropped.
func (*Registry) DatabaseGetExisting ¶
DatabaseGetExisting returns a connection to existing database or nil if it doesn't exist.
func (*Registry) DatabaseGetOrCreate ¶
DatabaseGetOrCreate returns a connection to existing database or newly created database.
func (*Registry) DatabaseList ¶
DatabaseList returns a sorted list of existing databases.
func (*Registry) Describe ¶ added in v1.7.0
func (r *Registry) Describe(ch chan<- *prometheus.Desc)
Describe implements prometheus.Collector.
type Settings ¶ added in v1.10.0
type Settings struct { UUID string `json:"uuid"` Indexes []IndexInfo `json:"indexes"` CappedSize int64 `json:"cappedSize"` CappedDocuments int64 `json:"cappedDocuments"` }
Settings represents collection settings.