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 ¶
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 ¶
func (c Collection) Capped() bool
Capped returns true if collection is capped.
type CollectionCreateParams ¶
type CollectionCreateParams struct { DBName string Name string CappedSize int64 CappedDocuments int64 // contains filtered or unexported fields }
CollectionCreateParams contains parameters for CollectionCreate.
func (*CollectionCreateParams) Capped ¶
func (ccp *CollectionCreateParams) Capped() bool
Capped returns true if capped collection creation is requested.
type IndexInfo ¶
type IndexInfo struct { Name string `json:"name"` Key []IndexKeyPair `json:"key"` Unique bool `json:"unique"` }
IndexInfo represents information about a single index.
type IndexKeyPair ¶
IndexKeyPair consists of a field name and a sort order that are part of the index.
type Registry ¶
type Registry struct {
// 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 ¶
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 ¶
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 ¶
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 ¶
func (r *Registry) Describe(ch chan<- *prometheus.Desc)
Describe implements prometheus.Collector.