database

package
v0.0.85 Latest Latest
Warning

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

Go to latest
Published: Dec 30, 2022 License: Apache-2.0 Imports: 18 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func InTransaction added in v0.0.43

func InTransaction(db *sql.DB, txFunc func(*sql.Tx) error) (err error)

InTransaction make sure a function is properly using the transaction

Types

type AssetRegistry

type AssetRegistry struct {
	// contains filtered or unexported fields
}

AssetRegistry store ID of assets in a cache

func (*AssetRegistry) Get

func (ar *AssetRegistry) Get(a knowledge.AssetKey) (int64, bool)

Get id of an asset

func (*AssetRegistry) Set

func (ar *AssetRegistry) Set(a knowledge.AssetKey, idx int64)

Set id of an asset

type MariaDB

type MariaDB struct {
	// contains filtered or unexported fields
}

MariaDB mariadb as graph storage backend

func NewMariaDB

func NewMariaDB(cfg MariaDBConfig) *MariaDB

NewMariaDB create an instance of mariadb

func (*MariaDB) Close

func (m *MariaDB) Close() error

Close close the connection to maria

func (*MariaDB) CollectMetrics added in v0.0.59

func (m *MariaDB) CollectMetrics(ctx context.Context) (map[string]int, error)

func (*MariaDB) CountAssets

func (m *MariaDB) CountAssets(ctx context.Context) (int64, error)

CountAssets count the total number of assets in db.

func (*MariaDB) CountAssetsBySource added in v0.0.52

func (m *MariaDB) CountAssetsBySource(ctx context.Context) (map[string]int64, error)

CountAssetsBySource count the total number of assets in db by source

func (*MariaDB) CountRelations

func (m *MariaDB) CountRelations(ctx context.Context) (int64, error)

CountRelations count the total number of relations in db.

func (*MariaDB) CountRelationsBySource added in v0.0.52

func (m *MariaDB) CountRelationsBySource(ctx context.Context) (map[string]int64, error)

CountRelationsBySource count the total number of relations in db by source.

func (*MariaDB) FlushAll

func (m *MariaDB) FlushAll(ctx context.Context) error

FlushAll flush the database

func (*MariaDB) GetAssetSources added in v0.0.54

func (m *MariaDB) GetAssetSources(ctx context.Context, ids []string) (map[string][]string, error)

func (*MariaDB) GetRelationSources added in v0.0.54

func (m *MariaDB) GetRelationSources(ctx context.Context, ids []string) (map[string][]string, error)

func (*MariaDB) InitializeSchema

func (m *MariaDB) InitializeSchema() error

InitializeSchema initialize the schema of the database

func (*MariaDB) InsertAssets added in v0.0.25

func (m *MariaDB) InsertAssets(ctx context.Context, source string, assets []knowledge.Asset) error

InsertAssets insert multiple assets into the graph of the given source

func (*MariaDB) InsertRelations added in v0.0.25

func (m *MariaDB) InsertRelations(ctx context.Context, source string, relations []knowledge.Relation) error

InsertRelations upsert one relation into the graph of the given source

func (*MariaDB) ListSources

func (m *MariaDB) ListSources(ctx context.Context) (map[string]string, error)

ListSources list sources with their authentication tokens

func (*MariaDB) LoadSchema

func (m *MariaDB) LoadSchema(ctx context.Context, sourceName string) (schema.SchemaGraph, error)

LoadSchema load the schema graph of the source from DB

func (*MariaDB) Query

func (m *MariaDB) Query(ctx context.Context, sqlTranslation knowledge.SQLTranslation) (*knowledge.GraphQueryResult, error)

Query the database with provided intermediate query representation

func (*MariaDB) ReadGraph

func (m *MariaDB) ReadGraph(ctx context.Context, sourceName string, encoder *knowledge.GraphEncoder) error

ReadGraph read source subgraph

func (*MariaDB) RemoveAssets added in v0.0.25

func (m *MariaDB) RemoveAssets(ctx context.Context, source string, assets []knowledge.Asset) error

RemoveAssets remove one asset from the graph of the given source

func (*MariaDB) RemoveRelations added in v0.0.25

func (m *MariaDB) RemoveRelations(ctx context.Context, source string, relations []knowledge.Relation) error

RemoveRelations remove relations from the graph of the given source

func (*MariaDB) SaveFailedQuery added in v0.0.6

func (m *MariaDB) SaveFailedQuery(ctx context.Context, cypher, sql string, err error) error

SaveFailedQuery log an entry to mark a failed query

func (*MariaDB) SaveSchema

func (m *MariaDB) SaveSchema(ctx context.Context, sourceName string, schema schema.SchemaGraph) error

SaveSchema save the schema graph in database

func (*MariaDB) SaveSuccessfulQuery added in v0.0.6

func (m *MariaDB) SaveSuccessfulQuery(ctx context.Context, cypher, sql string, duration time.Duration) error

SaveSuccessfulQuery log an entry to mark a successful query

type MariaDBConfig added in v0.0.74

type MariaDBConfig struct {
	Username               string
	Password               string
	Host                   string
	DatabaseName           string
	AllowCleartextPassword bool
	MaxIdleConns           int
	MaxOpenConns           int
}

type MariaDBCursor

type MariaDBCursor struct {
	Projections []knowledge.Projection
	// contains filtered or unexported fields
}

MariaDBCursor is a cursor of data retrieved by MariaDB

func NewMariaDBCursor added in v0.0.13

func NewMariaDBCursor(ctx context.Context, database *sql.DB, sqlTranslation knowledge.SQLTranslation) (*MariaDBCursor, error)

NewMariaDBCursor create a new instance of MariaDBCursor

func (*MariaDBCursor) Close

func (mc *MariaDBCursor) Close() error

Close the cursor

func (*MariaDBCursor) HasMore

func (mc *MariaDBCursor) HasMore() bool

HasMore tells whether there are more data to retrieve from the cursor

func (*MariaDBCursor) Read

func (mc *MariaDBCursor) Read(ctx context.Context, doc interface{}) error

Read read one more item from the cursor

Jump to

Keyboard shortcuts

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