cache

package
v0.3.0-rc.4 Latest Latest
Warning

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

Go to latest
Published: Nov 23, 2021 License: AGPL-3.0 Imports: 11 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type CacheStats added in v0.1.0

type CacheStats struct {
	// keep count of hits and misses
	Hits   int
	Misses int
}

type IndexBucket

type IndexBucket struct {
	Items []*IndexItem
}

IndexBucket contains index items for all cache results for a given table and qual set

func (*IndexBucket) Append

func (b *IndexBucket) Append(item *IndexItem) *IndexBucket

func (*IndexBucket) Get

func (b *IndexBucket) Get(columns []string, limit int64) *IndexItem

Get finds an index item which satisfies all columns

type IndexItem

type IndexItem struct {
	Columns []string
	Key     string
	Limit   int64
}

IndexItem stores the columns and cached index for a single cached query result note - this index item it tied to a specific table and set of quals

func NewIndexItem added in v0.0.42

func NewIndexItem(columns []string, key string, limit int64) *IndexItem

func (IndexItem) SatisfiesColumns

func (i IndexItem) SatisfiesColumns(columns []string) bool

func (IndexItem) SatisfiesLimit added in v0.0.42

func (i IndexItem) SatisfiesLimit(limit int64) bool

type QueryCache

type QueryCache struct {
	Stats *CacheStats
	// contains filtered or unexported fields
}

func NewQueryCache

func NewQueryCache() (*QueryCache, error)

func (*QueryCache) BuildIndexKey

func (c *QueryCache) BuildIndexKey(connection *steampipeconfig.ConnectionPlugin, table string, qualMap map[string]*proto.Quals) string

func (*QueryCache) BuildResultKey

func (c *QueryCache) BuildResultKey(connection *steampipeconfig.ConnectionPlugin, table string, qualMap map[string]*proto.Quals, columns []string) string

func (*QueryCache) Clear added in v0.2.0

func (c *QueryCache) Clear()

func (*QueryCache) Get

func (c *QueryCache) Get(connection *steampipeconfig.ConnectionPlugin, table string, qualMap map[string]*proto.Quals, columns []string, limit int64) *QueryResult

func (*QueryCache) Set

func (c *QueryCache) Set(connection *steampipeconfig.ConnectionPlugin, table string, qualMap map[string]*proto.Quals, columns []string, limit int64, result *QueryResult, ttl time.Duration) bool

type QueryResult

type QueryResult struct {
	Rows []map[string]interface{}
}

func (*QueryResult) Append

func (q *QueryResult) Append(row map[string]interface{})

Jump to

Keyboard shortcuts

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