db

package
v0.9.5 Latest Latest
Warning

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

Go to latest
Published: May 9, 2024 License: Apache-2.0 Imports: 24 Imported by: 1

Documentation

Index

Constants

This section is empty.

Variables

View Source
var ErrDBLocked = xerrors.New("database is locked")

ErrDBLocked :

Functions

This section is empty.

Types

type DB

type DB interface {
	Name() string
	OpenDB(string, string, bool, Option) error
	CloseDB() error
	MigrateDB() error

	IsGovalDictModelV1() (bool, error)
	GetFetchMeta() (*models.FetchMeta, error)
	UpsertFetchMeta(*models.FetchMeta) error

	GetByPackName(family string, osVer string, packName string, arch string) ([]models.Definition, error)
	GetByCveID(family string, osVer string, cveID string, arch string) ([]models.Definition, error)
	InsertOval(*models.Root) error
	CountDefs(string, string) (int, error)
	GetLastModified(string, string) (time.Time, error)
}

DB is interface for a database driver

func NewDB

func NewDB(dbType, dbPath string, debugSQL bool, option Option) (driver DB, err error)

NewDB return DB accessor.

type IndexChunk added in v0.7.0

type IndexChunk struct {
	From, To int
}

IndexChunk has a starting point and an ending point for Chunk

type Option added in v0.7.0

type Option struct {
	RedisTimeout time.Duration
}

Option :

type RDBDriver added in v0.7.0

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

RDBDriver is Driver for RDB

func (*RDBDriver) CloseDB added in v0.7.0

func (r *RDBDriver) CloseDB() (err error)

CloseDB close Database

func (*RDBDriver) CountDefs added in v0.7.0

func (r *RDBDriver) CountDefs(family, osVer string) (int, error)

CountDefs counts the number of definitions specified by args

func (*RDBDriver) GetByCveID added in v0.7.0

func (r *RDBDriver) GetByCveID(family, osVer, cveID, arch string) ([]models.Definition, error)

GetByCveID select OVAL definition related to OS Family, osVer, cveID

func (*RDBDriver) GetByPackName added in v0.7.0

func (r *RDBDriver) GetByPackName(family, osVer, packName, arch string) ([]models.Definition, error)

GetByPackName select OVAL definition related to OS Family, osVer, packName

func (*RDBDriver) GetFetchMeta added in v0.7.0

func (r *RDBDriver) GetFetchMeta() (fetchMeta *models.FetchMeta, err error)

GetFetchMeta get FetchMeta from Database

func (*RDBDriver) GetLastModified added in v0.7.0

func (r *RDBDriver) GetLastModified(family, osVer string) (time.Time, error)

GetLastModified get last modified time of OVAL in roots

func (*RDBDriver) InsertOval added in v0.7.0

func (r *RDBDriver) InsertOval(root *models.Root) error

InsertOval inserts OVAL

func (*RDBDriver) IsGovalDictModelV1 added in v0.7.0

func (r *RDBDriver) IsGovalDictModelV1() (bool, error)

IsGovalDictModelV1 determines if the DB was created at the time of goval-dictionary Model v1

func (*RDBDriver) MigrateDB added in v0.7.0

func (r *RDBDriver) MigrateDB() error

MigrateDB migrates Database

func (*RDBDriver) Name added in v0.7.0

func (r *RDBDriver) Name() string

Name is driver name

func (*RDBDriver) OpenDB added in v0.7.0

func (r *RDBDriver) OpenDB(dbType, dbPath string, debugSQL bool, _ Option) (err error)

OpenDB opens Database

func (*RDBDriver) UpsertFetchMeta added in v0.7.0

func (r *RDBDriver) UpsertFetchMeta(fetchMeta *models.FetchMeta) error

UpsertFetchMeta upsert FetchMeta to Database

type RedisDriver

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

RedisDriver is Driver for Redis

func (*RedisDriver) CloseDB

func (r *RedisDriver) CloseDB() (err error)

CloseDB close Database

func (*RedisDriver) CountDefs

func (r *RedisDriver) CountDefs(family, osVer string) (int, error)

CountDefs counts the number of definitions specified by args

func (*RedisDriver) GetByCveID

func (r *RedisDriver) GetByCveID(family, osVer, cveID, arch string) ([]models.Definition, error)

GetByCveID select OVAL definition related to OS Family, osVer, cveID

func (*RedisDriver) GetByPackName

func (r *RedisDriver) GetByPackName(family, osVer, packName, arch string) ([]models.Definition, error)

GetByPackName select OVAL definition related to OS Family, osVer, packName, arch

func (*RedisDriver) GetFetchMeta added in v0.6.0

func (r *RedisDriver) GetFetchMeta() (*models.FetchMeta, error)

GetFetchMeta get FetchMeta from Database

func (*RedisDriver) GetLastModified

func (r *RedisDriver) GetLastModified(family, osVer string) (time.Time, error)

GetLastModified get last modified time of OVAL in roots

func (*RedisDriver) InsertOval

func (r *RedisDriver) InsertOval(root *models.Root) (err error)

InsertOval inserts OVAL

func (*RedisDriver) IsGovalDictModelV1 added in v0.6.0

func (r *RedisDriver) IsGovalDictModelV1() (bool, error)

IsGovalDictModelV1 determines if the DB was created at the time of goval-dictionary Model v1

func (*RedisDriver) MigrateDB added in v0.7.0

func (r *RedisDriver) MigrateDB() error

MigrateDB migrates Database

func (*RedisDriver) Name

func (r *RedisDriver) Name() string

Name is driver name

func (*RedisDriver) OpenDB

func (r *RedisDriver) OpenDB(_, dbPath string, _ bool, option Option) error

OpenDB opens Database

func (*RedisDriver) UpsertFetchMeta added in v0.6.0

func (r *RedisDriver) UpsertFetchMeta(fetchMeta *models.FetchMeta) error

UpsertFetchMeta upsert FetchMeta to Database

Jump to

Keyboard shortcuts

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