postgres

package
v0.4.11 Latest Latest
Warning

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

Go to latest
Published: Jun 6, 2021 License: Apache-2.0 Imports: 32 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func TestDB

func TestDB(ctx context.Context, t testing.TB) *pgxpool.Pool

Types

type Store

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

store implements all interfaces in the vulnstore package

func NewVulnStore

func NewVulnStore(pool *pgxpool.Pool) *Store

func (*Store) DeleteUpdateOperations

func (s *Store) DeleteUpdateOperations(ctx context.Context, id ...uuid.UUID) (int64, error)

DeleteUpdateOperations implements vulnstore.Updater.

func (*Store) GC

func (s *Store) GC(ctx context.Context, keep int) (int64, error)

GC is split into two phases, first it will identify any update operations which are older then the provided keep value and delete these.

Next it will perform chunked deletions of any vulns from the vuln table which are not longer referenced by update operations.

The GC is throttled to not overload the database with cascade deletes. If a full GC is required run this method until the returned int64 value is 0.

func (*Store) Get

func (s *Store) Get(ctx context.Context, records []*claircore.IndexRecord, opts vulnstore.GetOpts) (map[string][]*claircore.Vulnerability, error)

Get implements vulnstore.Vulnerability.

func (*Store) GetLatestUpdateRef

func (s *Store) GetLatestUpdateRef(ctx context.Context, kind driver.UpdateKind) (uuid.UUID, error)

GetLatestUpdateRef implements driver.Updater.

func (*Store) GetLatestUpdateRefs

func (s *Store) GetLatestUpdateRefs(ctx context.Context, kind driver.UpdateKind) (map[string][]driver.UpdateOperation, error)

func (*Store) GetUpdateDiff

func (s *Store) GetUpdateDiff(ctx context.Context, prev, cur uuid.UUID) (*driver.UpdateDiff, error)

func (*Store) GetUpdateOperations

func (s *Store) GetUpdateOperations(ctx context.Context, kind driver.UpdateKind, updater ...string) (map[string][]driver.UpdateOperation, error)

func (*Store) Initialized

func (s *Store) Initialized(ctx context.Context) (bool, error)

func (*Store) UpdateVulnerabilities

func (s *Store) UpdateVulnerabilities(ctx context.Context, updater string, fingerprint driver.Fingerprint, vulns []*claircore.Vulnerability) (uuid.UUID, error)

UpdateVulnerabilities implements vulnstore.Updater.

Jump to

Keyboard shortcuts

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