sqlite

package
v1.1.1 Latest Latest
Warning

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

Go to latest
Published: Dec 17, 2024 License: MIT Imports: 24 Imported by: 1

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Open

func Open(path string) (*dsql.DB, error)

func OpenEphemeral

func OpenEphemeral(name string) (*dsql.DB, error)

Types

type MainDatabase

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

func NewMainDatabase

func NewMainDatabase(db *dsql.DB, log *zap.Logger, lqd, ltd time.Duration) (*MainDatabase, error)

NewMainDatabase creates a new SQLite backend.

func (*MainDatabase) ApplyMigration

func (b *MainDatabase) ApplyMigration(ctx context.Context, fn func(tx sql.Tx) (bool, error)) error

func (*MainDatabase) Close

func (b *MainDatabase) Close() error

func (*MainDatabase) CreateMigrationTable

func (b *MainDatabase) CreateMigrationTable(ctx context.Context) error

func (*MainDatabase) DB

func (b *MainDatabase) DB() *sql.DB

func (*MainDatabase) InsertDirectories added in v1.1.0

func (b *MainDatabase) InsertDirectories(ctx context.Context, tx sql.Tx, bucket, path string) (int64, error)

func (*MainDatabase) LoadSlabBuffers

func (b *MainDatabase) LoadSlabBuffers(ctx context.Context) ([]ssql.LoadedSlabBuffer, []string, error)

func (*MainDatabase) MakeDirsForPath

func (b *MainDatabase) MakeDirsForPath(ctx context.Context, tx sql.Tx, path string) (int64, error)

func (*MainDatabase) Migrate

func (b *MainDatabase) Migrate(ctx context.Context) error

func (*MainDatabase) Transaction

func (b *MainDatabase) Transaction(ctx context.Context, fn func(tx ssql.DatabaseTx) error) error

func (*MainDatabase) Version

func (b *MainDatabase) Version(ctx context.Context) (string, string, error)

type MainDatabaseTx

type MainDatabaseTx struct {
	sql.Tx
	// contains filtered or unexported fields
}

func (*MainDatabaseTx) AbortMultipartUpload

func (tx *MainDatabaseTx) AbortMultipartUpload(ctx context.Context, bucket, path string, uploadID string) error

func (*MainDatabaseTx) Accounts

func (tx *MainDatabaseTx) Accounts(ctx context.Context, owner string) ([]api.Account, error)

func (*MainDatabaseTx) AddMultipartPart

func (tx *MainDatabaseTx) AddMultipartPart(ctx context.Context, bucket, path, contractSet, eTag, uploadID string, partNumber int, slices object.SlabSlices) error

func (*MainDatabaseTx) AddPeer added in v1.1.0

func (tx *MainDatabaseTx) AddPeer(ctx context.Context, addr string) error

func (*MainDatabaseTx) AddWebhook

func (tx *MainDatabaseTx) AddWebhook(ctx context.Context, wh webhooks.Webhook) error

func (*MainDatabaseTx) AncestorContracts

func (tx *MainDatabaseTx) AncestorContracts(ctx context.Context, fcid types.FileContractID, startHeight uint64) ([]api.ArchivedContract, error)

func (*MainDatabaseTx) ArchiveContract

func (tx *MainDatabaseTx) ArchiveContract(ctx context.Context, fcid types.FileContractID, reason string) error

func (*MainDatabaseTx) Autopilot

func (tx *MainDatabaseTx) Autopilot(ctx context.Context, id string) (api.Autopilot, error)

func (*MainDatabaseTx) Autopilots

func (tx *MainDatabaseTx) Autopilots(ctx context.Context) ([]api.Autopilot, error)

func (*MainDatabaseTx) BanPeer added in v1.1.0

func (tx *MainDatabaseTx) BanPeer(ctx context.Context, addr string, duration time.Duration, reason string) error

func (*MainDatabaseTx) Bucket

func (tx *MainDatabaseTx) Bucket(ctx context.Context, bucket string) (api.Bucket, error)

func (*MainDatabaseTx) CharLengthExpr added in v1.1.0

func (tx *MainDatabaseTx) CharLengthExpr() string

func (*MainDatabaseTx) CompleteMultipartUpload

func (tx *MainDatabaseTx) CompleteMultipartUpload(ctx context.Context, bucket, key, uploadID string, parts []api.MultipartCompletedPart, opts api.CompleteMultipartOptions) (string, error)

func (*MainDatabaseTx) Contract added in v1.1.0

func (*MainDatabaseTx) ContractRoots

func (tx *MainDatabaseTx) ContractRoots(ctx context.Context, fcid types.FileContractID) ([]types.Hash256, error)

func (*MainDatabaseTx) ContractSetID added in v1.1.0

func (tx *MainDatabaseTx) ContractSetID(ctx context.Context, contractSet string) (int64, error)

func (*MainDatabaseTx) ContractSets

func (tx *MainDatabaseTx) ContractSets(ctx context.Context) ([]string, error)

func (*MainDatabaseTx) ContractSize

func (tx *MainDatabaseTx) ContractSize(ctx context.Context, id types.FileContractID) (api.ContractSize, error)

func (*MainDatabaseTx) ContractSizes

func (tx *MainDatabaseTx) ContractSizes(ctx context.Context) (map[types.FileContractID]api.ContractSize, error)

func (*MainDatabaseTx) Contracts

func (tx *MainDatabaseTx) Contracts(ctx context.Context, opts api.ContractsOpts) ([]api.ContractMetadata, error)

func (*MainDatabaseTx) CopyObject

func (tx *MainDatabaseTx) CopyObject(ctx context.Context, srcBucket, dstBucket, srcKey, dstKey, mimeType string, metadata api.ObjectUserMetadata) (api.ObjectMetadata, error)

func (*MainDatabaseTx) CreateBucket

func (tx *MainDatabaseTx) CreateBucket(ctx context.Context, bucket string, bp api.BucketPolicy) error

func (*MainDatabaseTx) DeleteBucket

func (tx *MainDatabaseTx) DeleteBucket(ctx context.Context, bucket string) error

func (*MainDatabaseTx) DeleteHostSector

func (tx *MainDatabaseTx) DeleteHostSector(ctx context.Context, hk types.PublicKey, root types.Hash256) (int, error)

func (*MainDatabaseTx) DeleteObject

func (tx *MainDatabaseTx) DeleteObject(ctx context.Context, bucket string, key string) (bool, error)

func (*MainDatabaseTx) DeleteObjects

func (tx *MainDatabaseTx) DeleteObjects(ctx context.Context, bucket string, key string, limit int64) (bool, error)

func (*MainDatabaseTx) DeleteSettings

func (tx *MainDatabaseTx) DeleteSettings(ctx context.Context, key string) error

func (*MainDatabaseTx) DeleteWebhook

func (tx *MainDatabaseTx) DeleteWebhook(ctx context.Context, wh webhooks.Webhook) error

func (*MainDatabaseTx) HostAllowlist

func (tx *MainDatabaseTx) HostAllowlist(ctx context.Context) ([]types.PublicKey, error)

func (*MainDatabaseTx) HostBlocklist

func (tx *MainDatabaseTx) HostBlocklist(ctx context.Context) ([]string, error)

func (*MainDatabaseTx) HostsForScanning

func (tx *MainDatabaseTx) HostsForScanning(ctx context.Context, maxLastScan time.Time, offset, limit int) ([]api.HostAddress, error)

func (*MainDatabaseTx) InsertBufferedSlab

func (tx *MainDatabaseTx) InsertBufferedSlab(ctx context.Context, fileName string, contractSetID int64, ec object.EncryptionKey, minShards, totalShards uint8) (int64, error)

func (*MainDatabaseTx) InsertContract added in v1.1.0

func (tx *MainDatabaseTx) InsertContract(ctx context.Context, rev rhpv2.ContractRevision, contractPrice, totalCost types.Currency, startHeight uint64, renewedFrom types.FileContractID, state string) (api.ContractMetadata, error)

func (*MainDatabaseTx) InsertDirectoriesDeprecated added in v1.1.0

func (tx *MainDatabaseTx) InsertDirectoriesDeprecated(ctx context.Context, bucket, path string) (int64, error)

func (*MainDatabaseTx) InsertMultipartUpload

func (tx *MainDatabaseTx) InsertMultipartUpload(ctx context.Context, bucket, key string, ec object.EncryptionKey, mimeType string, metadata api.ObjectUserMetadata) (string, error)

func (*MainDatabaseTx) InsertObject

func (tx *MainDatabaseTx) InsertObject(ctx context.Context, bucket, key, contractSet string, o object.Object, mimeType, eTag string, md api.ObjectUserMetadata) error

func (*MainDatabaseTx) InvalidateSlabHealthByFCID

func (tx *MainDatabaseTx) InvalidateSlabHealthByFCID(ctx context.Context, fcids []types.FileContractID, limit int64) (int64, error)

func (*MainDatabaseTx) ListBuckets

func (tx *MainDatabaseTx) ListBuckets(ctx context.Context) ([]api.Bucket, error)

func (*MainDatabaseTx) ListObjects

func (tx *MainDatabaseTx) ListObjects(ctx context.Context, bucket, prefix, sortBy, sortDir, marker string, limit int) (api.ObjectsListResponse, error)

func (*MainDatabaseTx) MakeDirsForPathDeprecated added in v1.1.0

func (tx *MainDatabaseTx) MakeDirsForPathDeprecated(ctx context.Context, path string) (int64, error)

func (*MainDatabaseTx) MarkPackedSlabUploaded added in v1.1.0

func (tx *MainDatabaseTx) MarkPackedSlabUploaded(ctx context.Context, slab api.UploadedPackedSlab) (string, error)

func (*MainDatabaseTx) MultipartUpload

func (tx *MainDatabaseTx) MultipartUpload(ctx context.Context, uploadID string) (api.MultipartUpload, error)

func (*MainDatabaseTx) MultipartUploadParts

func (tx *MainDatabaseTx) MultipartUploadParts(ctx context.Context, bucket, key, uploadID string, marker int, limit int64) (api.MultipartListPartsResponse, error)

func (*MainDatabaseTx) MultipartUploads

func (tx *MainDatabaseTx) MultipartUploads(ctx context.Context, bucket, prefix, keyMarker, uploadIDMarker string, limit int) (api.MultipartListUploadsResponse, error)

func (*MainDatabaseTx) Object added in v1.1.0

func (tx *MainDatabaseTx) Object(ctx context.Context, bucket, key string) (api.Object, error)

func (*MainDatabaseTx) ObjectEntries added in v1.1.0

func (tx *MainDatabaseTx) ObjectEntries(ctx context.Context, bucket, path, prefix, sortBy, sortDir, marker string, offset, limit int) ([]api.ObjectMetadata, bool, error)

func (*MainDatabaseTx) ObjectMetadata added in v1.1.0

func (tx *MainDatabaseTx) ObjectMetadata(ctx context.Context, bucket, path string) (api.Object, error)

func (*MainDatabaseTx) ObjectsBySlabKey added in v1.1.0

func (tx *MainDatabaseTx) ObjectsBySlabKey(ctx context.Context, bucket string, slabKey object.EncryptionKey) (metadata []api.ObjectMetadata, err error)

func (*MainDatabaseTx) ObjectsStats

func (*MainDatabaseTx) PeerBanned added in v1.1.0

func (tx *MainDatabaseTx) PeerBanned(ctx context.Context, addr string) (bool, error)

func (*MainDatabaseTx) PeerInfo added in v1.1.0

func (tx *MainDatabaseTx) PeerInfo(ctx context.Context, addr string) (syncer.PeerInfo, error)

func (*MainDatabaseTx) Peers added in v1.1.0

func (tx *MainDatabaseTx) Peers(ctx context.Context) ([]syncer.PeerInfo, error)

func (*MainDatabaseTx) ProcessChainUpdate added in v1.1.0

func (tx *MainDatabaseTx) ProcessChainUpdate(ctx context.Context, fn func(ssql.ChainUpdateTx) error) (err error)

func (*MainDatabaseTx) PrunableContractRoots added in v1.1.0

func (tx *MainDatabaseTx) PrunableContractRoots(ctx context.Context, fcid types.FileContractID, roots []types.Hash256) (indices []uint64, err error)

func (*MainDatabaseTx) PruneSlabs

func (tx *MainDatabaseTx) PruneSlabs(ctx context.Context, limit int64) (int64, error)

func (*MainDatabaseTx) RecordContractSpending added in v1.1.0

func (tx *MainDatabaseTx) RecordContractSpending(ctx context.Context, fcid types.FileContractID, revisionNumber, size uint64, newSpending api.ContractSpending) error

func (*MainDatabaseTx) RecordHostScans

func (tx *MainDatabaseTx) RecordHostScans(ctx context.Context, scans []api.HostScan) error

func (*MainDatabaseTx) RecordPriceTables

func (tx *MainDatabaseTx) RecordPriceTables(ctx context.Context, priceTableUpdates []api.HostPriceTableUpdate) error

func (*MainDatabaseTx) RemoveContractSet

func (tx *MainDatabaseTx) RemoveContractSet(ctx context.Context, contractSet string) error

func (*MainDatabaseTx) RemoveOfflineHosts

func (tx *MainDatabaseTx) RemoveOfflineHosts(ctx context.Context, minRecentFailures uint64, maxDownTime time.Duration) (int64, error)

func (*MainDatabaseTx) RenameObject

func (tx *MainDatabaseTx) RenameObject(ctx context.Context, bucket, keyOld, keyNew string, force bool) error

func (*MainDatabaseTx) RenameObjects

func (tx *MainDatabaseTx) RenameObjects(ctx context.Context, bucket, prefixOld, prefixNew string, force bool) error

func (*MainDatabaseTx) RenewContract added in v1.1.0

func (tx *MainDatabaseTx) RenewContract(ctx context.Context, rev rhpv2.ContractRevision, contractPrice, totalCost types.Currency, startHeight uint64, renewedFrom types.FileContractID, state string) (api.ContractMetadata, error)

func (*MainDatabaseTx) RenewedContract

func (tx *MainDatabaseTx) RenewedContract(ctx context.Context, renwedFrom types.FileContractID) (api.ContractMetadata, error)

func (*MainDatabaseTx) ResetChainState added in v1.1.0

func (tx *MainDatabaseTx) ResetChainState(ctx context.Context) error

func (*MainDatabaseTx) ResetLostSectors

func (tx *MainDatabaseTx) ResetLostSectors(ctx context.Context, hk types.PublicKey) error

func (*MainDatabaseTx) SaveAccounts

func (tx *MainDatabaseTx) SaveAccounts(ctx context.Context, accounts []api.Account) error

func (*MainDatabaseTx) ScanObjectMetadata added in v1.1.0

func (tx *MainDatabaseTx) ScanObjectMetadata(s ssql.Scanner, others ...any) (md api.ObjectMetadata, err error)

func (*MainDatabaseTx) SearchHosts

func (tx *MainDatabaseTx) SearchHosts(ctx context.Context, autopilotID, filterMode, usabilityMode, addressContains string, keyIn []types.PublicKey, offset, limit int) ([]api.Host, error)

func (*MainDatabaseTx) SearchObjects added in v1.1.0

func (tx *MainDatabaseTx) SearchObjects(ctx context.Context, bucket, substring string, offset, limit int) ([]api.ObjectMetadata, error)

func (*MainDatabaseTx) SelectObjectMetadataExpr added in v1.1.0

func (tx *MainDatabaseTx) SelectObjectMetadataExpr() string

func (*MainDatabaseTx) Setting

func (tx *MainDatabaseTx) Setting(ctx context.Context, key string) (string, error)

func (*MainDatabaseTx) Settings

func (tx *MainDatabaseTx) Settings(ctx context.Context) ([]string, error)

func (*MainDatabaseTx) Slab added in v1.1.0

func (*MainDatabaseTx) SlabBuffers

func (tx *MainDatabaseTx) SlabBuffers(ctx context.Context) (map[string]string, error)

func (*MainDatabaseTx) Tip added in v1.1.0

func (*MainDatabaseTx) UnhealthySlabs added in v1.1.0

func (tx *MainDatabaseTx) UnhealthySlabs(ctx context.Context, healthCutoff float64, set string, limit int) ([]api.UnhealthySlab, error)

func (*MainDatabaseTx) UnspentSiacoinElements added in v1.1.0

func (tx *MainDatabaseTx) UnspentSiacoinElements(ctx context.Context) (elements []types.SiacoinElement, err error)

func (*MainDatabaseTx) UpdateAutopilot

func (tx *MainDatabaseTx) UpdateAutopilot(ctx context.Context, ap api.Autopilot) error

func (*MainDatabaseTx) UpdateBucketPolicy

func (tx *MainDatabaseTx) UpdateBucketPolicy(ctx context.Context, bucket string, policy api.BucketPolicy) error

func (*MainDatabaseTx) UpdateContractSet added in v1.1.0

func (tx *MainDatabaseTx) UpdateContractSet(ctx context.Context, name string, toAdd, toRemove []types.FileContractID) error

func (*MainDatabaseTx) UpdateHostAllowlistEntries

func (tx *MainDatabaseTx) UpdateHostAllowlistEntries(ctx context.Context, add, remove []types.PublicKey, clear bool) error

func (*MainDatabaseTx) UpdateHostBlocklistEntries

func (tx *MainDatabaseTx) UpdateHostBlocklistEntries(ctx context.Context, add, remove []string, clear bool) error

func (*MainDatabaseTx) UpdateHostCheck

func (tx *MainDatabaseTx) UpdateHostCheck(ctx context.Context, autopilot string, hk types.PublicKey, hc api.HostCheck) error

func (*MainDatabaseTx) UpdatePeerInfo added in v1.1.0

func (tx *MainDatabaseTx) UpdatePeerInfo(ctx context.Context, addr string, fn func(*syncer.PeerInfo)) error

func (*MainDatabaseTx) UpdateSetting

func (tx *MainDatabaseTx) UpdateSetting(ctx context.Context, key, value string) error

func (*MainDatabaseTx) UpdateSlab

func (tx *MainDatabaseTx) UpdateSlab(ctx context.Context, s object.Slab, contractSet string, fcids []types.FileContractID) error

func (*MainDatabaseTx) UpdateSlabHealth

func (tx *MainDatabaseTx) UpdateSlabHealth(ctx context.Context, limit int64, minDuration, maxDuration time.Duration) (int64, error)

func (*MainDatabaseTx) WalletEventCount added in v1.1.0

func (tx *MainDatabaseTx) WalletEventCount(ctx context.Context) (count uint64, err error)

func (*MainDatabaseTx) WalletEvents added in v1.1.0

func (tx *MainDatabaseTx) WalletEvents(ctx context.Context, offset, limit int) ([]wallet.Event, error)

func (*MainDatabaseTx) Webhooks

func (tx *MainDatabaseTx) Webhooks(ctx context.Context) ([]webhooks.Webhook, error)

type MetricsDatabase

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

func NewMetricsDatabase

func NewMetricsDatabase(db *dsql.DB, log *zap.Logger, lqd, ltd time.Duration) (*MetricsDatabase, error)

NewSQLiteDatabase creates a new SQLite backend.

func (*MetricsDatabase) ApplyMigration

func (b *MetricsDatabase) ApplyMigration(ctx context.Context, fn func(tx sql.Tx) (bool, error)) error

func (*MetricsDatabase) Close

func (b *MetricsDatabase) Close() error

func (*MetricsDatabase) CreateMigrationTable

func (b *MetricsDatabase) CreateMigrationTable(ctx context.Context) error

func (*MetricsDatabase) DB

func (b *MetricsDatabase) DB() *sql.DB

func (*MetricsDatabase) Migrate

func (b *MetricsDatabase) Migrate(ctx context.Context) error

func (*MetricsDatabase) Transaction

func (b *MetricsDatabase) Transaction(ctx context.Context, fn func(tx ssql.MetricsDatabaseTx) error) error

func (*MetricsDatabase) Version

func (b *MetricsDatabase) Version(ctx context.Context) (string, string, error)

type MetricsDatabaseTx

type MetricsDatabaseTx struct {
	sql.Tx
	// contains filtered or unexported fields
}

func (*MetricsDatabaseTx) ContractMetrics

func (tx *MetricsDatabaseTx) ContractMetrics(ctx context.Context, start time.Time, n uint64, interval time.Duration, opts api.ContractMetricsQueryOpts) ([]api.ContractMetric, error)

func (*MetricsDatabaseTx) ContractPruneMetrics

func (tx *MetricsDatabaseTx) ContractPruneMetrics(ctx context.Context, start time.Time, n uint64, interval time.Duration, opts api.ContractPruneMetricsQueryOpts) ([]api.ContractPruneMetric, error)

func (*MetricsDatabaseTx) ContractSetChurnMetrics

func (tx *MetricsDatabaseTx) ContractSetChurnMetrics(ctx context.Context, start time.Time, n uint64, interval time.Duration, opts api.ContractSetChurnMetricsQueryOpts) ([]api.ContractSetChurnMetric, error)

func (*MetricsDatabaseTx) ContractSetMetrics

func (tx *MetricsDatabaseTx) ContractSetMetrics(ctx context.Context, start time.Time, n uint64, interval time.Duration, opts api.ContractSetMetricsQueryOpts) (metrics []api.ContractSetMetric, _ error)

func (*MetricsDatabaseTx) PruneMetrics

func (tx *MetricsDatabaseTx) PruneMetrics(ctx context.Context, metric string, cutoff time.Time) error

func (*MetricsDatabaseTx) RecordContractMetric

func (tx *MetricsDatabaseTx) RecordContractMetric(ctx context.Context, metrics ...api.ContractMetric) error

func (*MetricsDatabaseTx) RecordContractPruneMetric

func (tx *MetricsDatabaseTx) RecordContractPruneMetric(ctx context.Context, metrics ...api.ContractPruneMetric) error

func (*MetricsDatabaseTx) RecordContractSetChurnMetric

func (tx *MetricsDatabaseTx) RecordContractSetChurnMetric(ctx context.Context, metrics ...api.ContractSetChurnMetric) error

func (*MetricsDatabaseTx) RecordContractSetMetric

func (tx *MetricsDatabaseTx) RecordContractSetMetric(ctx context.Context, metrics ...api.ContractSetMetric) error

func (*MetricsDatabaseTx) RecordWalletMetric

func (tx *MetricsDatabaseTx) RecordWalletMetric(ctx context.Context, metrics ...api.WalletMetric) error

func (*MetricsDatabaseTx) WalletMetrics

func (tx *MetricsDatabaseTx) WalletMetrics(ctx context.Context, start time.Time, n uint64, interval time.Duration, opts api.WalletMetricsQueryOpts) ([]api.WalletMetric, error)

Jump to

Keyboard shortcuts

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