satellitedb

package
v0.27.0-rc-crdb Latest Latest
Warning

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

Go to latest
Published: Dec 5, 2019 License: AGPL-3.0 Imports: 45 Imported by: 6

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	// ErrMigrate is for tracking migration errors
	ErrMigrate = errs.Class("migrate")
	// ErrMigrateMinVersion is for migration min version errors
	ErrMigrateMinVersion = errs.Class("migrate min version")
)
View Source
var (
	// ErrDifferentStorageNodes is returned when ProcessOrders gets orders from different storage nodes.
	ErrDifferentStorageNodes = errs.Class("different storage nodes")
)
View Source
var (
	// Error is the default satellitedb errs class
	Error = errs.Class("satellitedb")
)

Functions

func New

func New(log *zap.Logger, databaseURL string) (satellite.DB, error)

New creates instance of database supports postgres

Types

type ConsoleDB

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

ConsoleDB contains access to different satellite databases.

func (*ConsoleDB) APIKeys

func (db *ConsoleDB) APIKeys() console.APIKeys

APIKeys is a getter for APIKeys repository.

func (*ConsoleDB) BeginTx

func (db *ConsoleDB) BeginTx(ctx context.Context) (console.DBTx, error)

BeginTx is a method for opening transaction.

func (*ConsoleDB) ProjectMembers

func (db *ConsoleDB) ProjectMembers() console.ProjectMembers

ProjectMembers is a getter for ProjectMembers repository.

func (*ConsoleDB) Projects

func (db *ConsoleDB) Projects() console.Projects

Projects is a getter for Projects repository.

func (*ConsoleDB) RegistrationTokens

func (db *ConsoleDB) RegistrationTokens() console.RegistrationTokens

RegistrationTokens is a getter for RegistrationTokens repository.

func (*ConsoleDB) ResetPasswordTokens added in v0.12.0

func (db *ConsoleDB) ResetPasswordTokens() console.ResetPasswordTokens

ResetPasswordTokens is a getter for ResetPasswordTokens repository.

func (*ConsoleDB) UserCredits added in v0.14.0

func (db *ConsoleDB) UserCredits() console.UserCredits

UserCredits is a getter for console.UserCredits repository.

func (*ConsoleDB) Users

func (db *ConsoleDB) Users() console.Users

Users is getter a for Users repository.

type DB

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

DB contains access to different database tables

func (*DB) Attribution added in v0.14.0

func (db *DB) Attribution() attribution.DB

Attribution is a getter for value attribution repository

func (*DB) Buckets added in v0.15.0

func (db *DB) Buckets() metainfo.BucketsDB

Buckets returns database for interacting with buckets

func (*DB) CheckVersion added in v0.25.0

func (db *DB) CheckVersion() error

CheckVersion confirms the database is at the desired version

func (*DB) Close

func (db *DB) Close() error

Close is used to close db connection

func (*DB) Console

func (db *DB) Console() console.DB

Console returns database for storing users, projects and api keys

func (*DB) Containment added in v0.12.0

func (db *DB) Containment() audit.Containment

Containment returns database for storing pending audit info

func (*DB) CreateTables

func (db *DB) CreateTables() error

CreateTables is a method for creating all tables for database

func (*DB) GracefulExit added in v0.22.0

func (db *DB) GracefulExit() gracefulexit.DB

GracefulExit returns database for graceful exit

func (*DB) Irreparable

func (db *DB) Irreparable() irreparable.DB

Irreparable returns database for storing segments that failed repair

func (*DB) Orders

func (db *DB) Orders() orders.DB

Orders returns database for storing orders

func (*DB) OverlayCache

func (db *DB) OverlayCache() overlay.DB

OverlayCache is a getter for overlay cache repository

func (*DB) PeerIdentities added in v0.19.0

func (db *DB) PeerIdentities() overlay.PeerIdentities

PeerIdentities returns a storage for peer identities

func (*DB) PostgresMigration

func (db *DB) PostgresMigration() *migrate.Migration

PostgresMigration returns steps needed for migrating postgres database.

func (*DB) ProjectAccounting added in v0.12.0

func (db *DB) ProjectAccounting() accounting.ProjectAccounting

ProjectAccounting returns database for tracking project data use

func (*DB) RepairQueue

func (db *DB) RepairQueue() queue.RepairQueue

RepairQueue is a getter for RepairQueue repository

func (*DB) Rewards added in v0.15.0

func (db *DB) Rewards() rewards.DB

Rewards returns database for storing offers

func (*DB) StoragenodeAccounting added in v0.12.0

func (db *DB) StoragenodeAccounting() accounting.StoragenodeAccounting

StoragenodeAccounting returns database for tracking storagenode usage

func (*DB) StripeCoinPayments added in v0.25.0

func (db *DB) StripeCoinPayments() stripecoinpayments.DB

StripeCoinPayments returns database for stripecoinpayments.

func (*DB) TestDBAccess

func (db *DB) TestDBAccess() *dbx.DB

TestDBAccess for raw database access, should not be used outside of migration tests.

type DBTx

type DBTx struct {
	*ConsoleDB
}

DBTx extends Database with transaction scope.

func (*DBTx) Commit

func (db *DBTx) Commit() error

Commit is a method for committing and closing transaction.

func (*DBTx) Rollback

func (db *DBTx) Rollback() error

Rollback is a method for rollback and closing transaction.

type ProjectAccounting added in v0.12.0

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

ProjectAccounting implements the accounting/db ProjectAccounting interface

func (*ProjectAccounting) CreateStorageTally added in v0.12.0

func (db *ProjectAccounting) CreateStorageTally(ctx context.Context, tally accounting.BucketStorageTally) (err error)

CreateStorageTally creates a record in the bucket_storage_tallies accounting table

func (*ProjectAccounting) GetAllocatedBandwidthTotal added in v0.12.0

func (db *ProjectAccounting) GetAllocatedBandwidthTotal(ctx context.Context, projectID uuid.UUID, from time.Time) (_ int64, err error)

GetAllocatedBandwidthTotal returns the sum of GET bandwidth usage allocated for a projectID for a time frame

func (*ProjectAccounting) GetBucketTotals added in v0.26.0

func (db *ProjectAccounting) GetBucketTotals(ctx context.Context, projectID uuid.UUID, cursor accounting.BucketUsageCursor, since, before time.Time) (_ *accounting.BucketUsagePage, err error)

GetBucketTotals retrieves bucket usage totals for period of time

func (*ProjectAccounting) GetBucketUsageRollups added in v0.26.0

func (db *ProjectAccounting) GetBucketUsageRollups(ctx context.Context, projectID uuid.UUID, since, before time.Time) (_ []accounting.BucketUsageRollup, err error)

GetBucketUsageRollups retrieves summed usage rollups for every bucket of particular project for a given period

func (*ProjectAccounting) GetProjectBandwidthLimit added in v0.27.0

func (db *ProjectAccounting) GetProjectBandwidthLimit(ctx context.Context, projectID uuid.UUID) (_ memory.Size, err error)

GetProjectBandwidthLimit returns project bandwidth usage limit.

func (*ProjectAccounting) GetProjectStorageLimit added in v0.27.0

func (db *ProjectAccounting) GetProjectStorageLimit(ctx context.Context, projectID uuid.UUID) (_ memory.Size, err error)

GetProjectStorageLimit returns project storage usage limit.

func (*ProjectAccounting) GetProjectTotal added in v0.26.0

func (db *ProjectAccounting) GetProjectTotal(ctx context.Context, projectID uuid.UUID, since, before time.Time) (usage *accounting.ProjectUsage, err error)

GetProjectTotal retrieves project usage for a given period

func (*ProjectAccounting) GetStorageTotals added in v0.12.0

func (db *ProjectAccounting) GetStorageTotals(ctx context.Context, projectID uuid.UUID) (inline int64, remote int64, err error)

GetStorageTotals returns the current inline and remote storage usage for a projectID

func (*ProjectAccounting) GetTallies added in v0.21.0

func (db *ProjectAccounting) GetTallies(ctx context.Context) (tallies []accounting.BucketTally, err error)

GetTallies saves the latest bucket info

func (*ProjectAccounting) SaveTallies added in v0.12.0

func (db *ProjectAccounting) SaveTallies(ctx context.Context, intervalStart time.Time, bucketTallies map[string]*accounting.BucketTally) (err error)

SaveTallies saves the latest bucket info

func (*ProjectAccounting) UpdateProjectBandwidthLimit added in v1.4.3

func (db *ProjectAccounting) UpdateProjectBandwidthLimit(ctx context.Context, projectID uuid.UUID, limit memory.Size) (err error)

UpdateProjectBandwidthLimit updates project bandwidth usage limit.

func (*ProjectAccounting) UpdateProjectStorageLimit

func (db *ProjectAccounting) UpdateProjectStorageLimit(ctx context.Context, projectID uuid.UUID, limit memory.Size) (err error)

UpdateProjectStorageLimit updates project storage usage limit.

type StoragenodeAccounting added in v0.12.0

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

StoragenodeAccounting implements the accounting/db StoragenodeAccounting interface

func (*StoragenodeAccounting) DeleteTalliesBefore added in v0.12.0

func (db *StoragenodeAccounting) DeleteTalliesBefore(ctx context.Context, latestRollup time.Time) (err error)

DeleteTalliesBefore deletes all raw tallies prior to some time

func (*StoragenodeAccounting) GetBandwidthSince added in v0.12.0

func (db *StoragenodeAccounting) GetBandwidthSince(ctx context.Context, latestRollup time.Time) (_ []*accounting.StoragenodeBandwidthRollup, err error)

GetBandwidthSince retrieves all storagenode_bandwidth_rollup entires since latestRollup

func (*StoragenodeAccounting) GetTallies added in v0.12.0

GetTallies retrieves all raw tallies

func (*StoragenodeAccounting) GetTalliesSince added in v0.12.0

func (db *StoragenodeAccounting) GetTalliesSince(ctx context.Context, latestRollup time.Time) (_ []*accounting.StoragenodeStorageTally, err error)

GetTalliesSince retrieves all raw tallies since latestRollup

func (*StoragenodeAccounting) LastTimestamp added in v0.12.0

func (db *StoragenodeAccounting) LastTimestamp(ctx context.Context, timestampType string) (_ time.Time, err error)

LastTimestamp records the greatest last tallied time

func (*StoragenodeAccounting) QueryPaymentInfo added in v0.12.0

func (db *StoragenodeAccounting) QueryPaymentInfo(ctx context.Context, start time.Time, end time.Time) (_ []*accounting.CSVRow, err error)

QueryPaymentInfo queries Overlay, Accounting Rollup on nodeID

func (*StoragenodeAccounting) QueryStorageNodeUsage added in v0.18.0

func (db *StoragenodeAccounting) QueryStorageNodeUsage(ctx context.Context, nodeID storj.NodeID, start time.Time, end time.Time) (_ []accounting.StorageNodeUsage, err error)

QueryStorageNodeUsage returns slice of StorageNodeUsage for given period

func (*StoragenodeAccounting) SaveRollup added in v0.12.0

func (db *StoragenodeAccounting) SaveRollup(ctx context.Context, latestRollup time.Time, stats accounting.RollupStats) (err error)

SaveRollup records raw tallies of at rest data to the database

func (*StoragenodeAccounting) SaveTallies added in v0.12.0

func (db *StoragenodeAccounting) SaveTallies(ctx context.Context, latestTally time.Time, nodeData map[storj.NodeID]float64) (err error)

SaveTallies records raw tallies of at rest data to the database

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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