ref

package
v0.80.1 Latest Latest
Warning

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

Go to latest
Published: Sep 5, 2022 License: Apache-2.0 Imports: 33 Imported by: 0

Documentation

Index

Constants

View Source
const BatchUpdateSQLSize = 10000
View Source
const IteratorPrefetchSize = 1000

IteratorPrefetchSize is the amount of records to maybeFetch from PG

View Source
const MaxBatchDelay = time.Millisecond * 3

MaxBatchDelay - 3ms was chosen as a max delay time for critical path queries. It trades off amount of queries per second (and thus effectiveness of the batching mechanism) with added latency. Since reducing # of expensive operations is only beneficial when there are a lot of concurrent requests,

the sweet spot is probably between 1-5 milliseconds (representing 200-1000 requests/second to the data store).

3ms of delay with ~300 requests/second per resource sounds like a reasonable tradeoff.

Variables

View Source
var ErrIteratorClosed = errors.New("iterator already closed")

Functions

func CommitDataToCommitRecord added in v0.70.0

func CommitDataToCommitRecord(c *graveler.CommitData) *graveler.CommitRecord

func CommitRecordToCommitData added in v0.70.0

func CommitRecordToCommitData(c *commitRecord) *graveler.CommitData

func FindMergeBase added in v0.41.1

func FindMergeBase(ctx context.Context, getter CommitGetter, repository *graveler.RepositoryRecord, leftID, rightID graveler.CommitID) (*graveler.Commit, error)

FindMergeBase finds the best common ancestor according to the definition in the git-merge-base documentation: https://git-scm.com/docs/git-merge-base One common ancestor is better than another common ancestor if the latter is an ancestor of the former.

func Migrate added in v0.70.0

func Migrate(ctx context.Context, d *pgxpool.Pool, cfg blockparams.AdapterConfig, writer io.Writer) error

func MigrateWithBlockstore added in v0.70.1

func MigrateWithBlockstore(ctx context.Context, d *pgxpool.Pool, writer io.Writer, bs block.Adapter, bsPrefix string) error

func ParseRef added in v0.44.1

func ParseRef(r graveler.Ref) (graveler.RawRef, error)

func ResolveRawRef added in v0.44.1

func ResolveRawRef(ctx context.Context, store Store, addressProvider ident.AddressProvider, repository *graveler.RepositoryRecord, rawRef graveler.RawRef) (*graveler.ResolvedRef, error)

Types

type BranchByCommitIterator added in v0.70.0

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

BranchByCommitIterator iterates over repository's branches ordered by Commit ID. Currently, implemented as in-mem iterator

func NewBranchByCommitIterator added in v0.70.0

func NewBranchByCommitIterator(ctx context.Context, store *kv.StoreMessage, repo *graveler.RepositoryRecord) (*BranchByCommitIterator, error)

func (*BranchByCommitIterator) Close added in v0.70.0

func (b *BranchByCommitIterator) Close()

func (*BranchByCommitIterator) Err added in v0.70.0

func (b *BranchByCommitIterator) Err() error

func (*BranchByCommitIterator) Next added in v0.70.0

func (b *BranchByCommitIterator) Next() bool

func (*BranchByCommitIterator) SeekGE added in v0.70.0

func (*BranchByCommitIterator) SortByCommitID added in v0.70.0

func (b *BranchByCommitIterator) SortByCommitID(i, j int) bool

func (*BranchByCommitIterator) Value added in v0.70.0

type BranchIteratorOption added in v0.45.1

type BranchIteratorOption func(bi *DBBranchIterator)

func WithOrderByCommitID added in v0.48.1

func WithOrderByCommitID() BranchIteratorOption

type BranchLocker

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

BranchLocker enforces the branch locking logic with Postgres advisory lock The lock can be held by an arbitrary number of Writers or a single MetadataUpdater.

func NewBranchLocker

func NewBranchLocker(db db.Database) *BranchLocker

func (*BranchLocker) MetadataUpdater

func (l *BranchLocker) MetadataUpdater(ctx context.Context, repository *graveler.RepositoryRecord, branchID graveler.BranchID, lockedFn graveler.BranchLockerFunc) (interface{}, error)

MetadataUpdater tries to lock as committer using a Postgres advisory lock for the span of calling `lockedFn`. It returns ErrLockNotAcquired if it fails to acquire the lock.

func (*BranchLocker) Writer

func (l *BranchLocker) Writer(ctx context.Context, repository *graveler.RepositoryRecord, branchID graveler.BranchID, lockedFn graveler.BranchLockerFunc) (interface{}, error)

Writer tries to acquire write lock using a Postgres advisory lock for the span of calling `lockedFn`. Returns ErrLockNotAcquired if it cannot acquire the lock.

type BranchSimpleIterator added in v0.70.0

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

BranchSimpleIterator Iterates over repository's branches in a sorted way, since the branches are already sorted in DB according to BranchID

func NewBranchSimpleIterator added in v0.70.0

func NewBranchSimpleIterator(ctx context.Context, store *kv.StoreMessage, repo *graveler.RepositoryRecord) (*BranchSimpleIterator, error)

func (*BranchSimpleIterator) Close added in v0.70.0

func (bi *BranchSimpleIterator) Close()

func (*BranchSimpleIterator) Err added in v0.70.0

func (bi *BranchSimpleIterator) Err() error

func (*BranchSimpleIterator) Next added in v0.70.0

func (bi *BranchSimpleIterator) Next() bool

func (*BranchSimpleIterator) SeekGE added in v0.70.0

func (bi *BranchSimpleIterator) SeekGE(id graveler.BranchID)

func (*BranchSimpleIterator) Value added in v0.70.0

type CommitGetter

type CommitGetter interface {
	GetCommit(ctx context.Context, repository *graveler.RepositoryRecord, commitID graveler.CommitID) (*graveler.Commit, error)
}

type CommitIterator

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

func NewCommitIterator

func NewCommitIterator(ctx context.Context, repository *graveler.RepositoryRecord, start graveler.CommitID, manager graveler.RefManager) *CommitIterator

NewCommitIterator returns an iterator over all commits in the given repository. Ordering is based on the Commit Creation Date.

func (*CommitIterator) Close

func (ci *CommitIterator) Close()

func (*CommitIterator) Err

func (ci *CommitIterator) Err() error

func (*CommitIterator) Next

func (ci *CommitIterator) Next() bool

func (*CommitIterator) SeekGE

func (ci *CommitIterator) SeekGE(id graveler.CommitID)

SeekGE skip under the point of 'id' commit ID based on a new

The list of commit

func (*CommitIterator) Value

func (ci *CommitIterator) Value() *graveler.CommitRecord

type CommitNode added in v0.62.0

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

type CommitsGenerationPriorityQueue added in v0.41.1

type CommitsGenerationPriorityQueue []*graveler.CommitRecord

CommitsGenerationPriorityQueue implements heap.Interface such that the commit with the greatest Generation value is at the root of the heap.

func NewCommitsGenerationPriorityQueue added in v0.41.1

func NewCommitsGenerationPriorityQueue() CommitsGenerationPriorityQueue

func (CommitsGenerationPriorityQueue) Len added in v0.41.1

func (CommitsGenerationPriorityQueue) Less added in v0.41.1

func (*CommitsGenerationPriorityQueue) Pop added in v0.41.1

func (c *CommitsGenerationPriorityQueue) Pop() interface{}

func (*CommitsGenerationPriorityQueue) Push added in v0.41.1

func (c *CommitsGenerationPriorityQueue) Push(x interface{})

func (CommitsGenerationPriorityQueue) Swap added in v0.41.1

func (c CommitsGenerationPriorityQueue) Swap(i, j int)

type CompareFunc added in v0.70.0

type CompareFunc func(i, j int) bool

CompareFunc type used for sorting in InMemIterator, it is a strictly bigger comparison function required for the sort.Slice algorithm, implementors need to decide how to handle equal values

type DBBranchIterator added in v0.70.0

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

func NewDBBranchIterator added in v0.70.0

func NewDBBranchIterator(ctx context.Context, db db.Database, repositoryID graveler.RepositoryID, prefetchSize int, opts ...BranchIteratorOption) *DBBranchIterator

func (*DBBranchIterator) Close added in v0.70.0

func (ri *DBBranchIterator) Close()

func (*DBBranchIterator) Err added in v0.70.0

func (ri *DBBranchIterator) Err() error

func (*DBBranchIterator) Next added in v0.70.0

func (ri *DBBranchIterator) Next() bool

func (*DBBranchIterator) SeekGE added in v0.70.0

func (ri *DBBranchIterator) SeekGE(id graveler.BranchID)

func (*DBBranchIterator) Value added in v0.70.0

func (ri *DBBranchIterator) Value() *graveler.BranchRecord

type DBManager added in v0.69.1

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

func NewPGRefManager

func NewPGRefManager(executor batch.Batcher, db db.Database, addressProvider ident.AddressProvider) *DBManager

func (*DBManager) AddCommit added in v0.69.1

func (m *DBManager) AddCommit(ctx context.Context, repository *graveler.RepositoryRecord, commit graveler.Commit) (graveler.CommitID, error)

func (*DBManager) BranchUpdate added in v0.70.0

BranchUpdate Implement refManager interface - in DB implementation simply panics

func (*DBManager) CreateBareRepository added in v0.69.1

func (m *DBManager) CreateBareRepository(ctx context.Context, repositoryID graveler.RepositoryID, repository graveler.Repository) (*graveler.RepositoryRecord, error)

func (*DBManager) CreateBranch added in v0.69.1

func (m *DBManager) CreateBranch(ctx context.Context, repository *graveler.RepositoryRecord, branchID graveler.BranchID, branch graveler.Branch) error

func (*DBManager) CreateRepository added in v0.69.1

func (m *DBManager) CreateRepository(ctx context.Context, repositoryID graveler.RepositoryID, repository graveler.Repository) (*graveler.RepositoryRecord, error)

func (*DBManager) CreateTag added in v0.69.1

func (m *DBManager) CreateTag(ctx context.Context, repository *graveler.RepositoryRecord, tagID graveler.TagID, commitID graveler.CommitID) error

func (*DBManager) DeleteBranch added in v0.69.1

func (m *DBManager) DeleteBranch(ctx context.Context, repository *graveler.RepositoryRecord, branchID graveler.BranchID) error

func (*DBManager) DeleteRepository added in v0.69.1

func (m *DBManager) DeleteRepository(ctx context.Context, repositoryID graveler.RepositoryID) error

func (*DBManager) DeleteTag added in v0.69.1

func (m *DBManager) DeleteTag(ctx context.Context, repository *graveler.RepositoryRecord, tagID graveler.TagID) error

func (*DBManager) FillGenerations added in v0.69.1

func (m *DBManager) FillGenerations(ctx context.Context, repository *graveler.RepositoryRecord) error

func (*DBManager) FindMergeBase added in v0.69.1

func (m *DBManager) FindMergeBase(ctx context.Context, repository *graveler.RepositoryRecord, commitIDs ...graveler.CommitID) (*graveler.Commit, error)

func (*DBManager) GCBranchIterator added in v0.70.0

func (m *DBManager) GCBranchIterator(ctx context.Context, repository *graveler.RepositoryRecord) (graveler.BranchIterator, error)

func (*DBManager) GCCommitIterator added in v0.70.0

func (m *DBManager) GCCommitIterator(ctx context.Context, repository *graveler.RepositoryRecord) (graveler.CommitIterator, error)

func (*DBManager) GetBranch added in v0.69.1

func (m *DBManager) GetBranch(ctx context.Context, repository *graveler.RepositoryRecord, branchID graveler.BranchID) (*graveler.Branch, error)

func (*DBManager) GetCommit added in v0.69.1

func (m *DBManager) GetCommit(ctx context.Context, repository *graveler.RepositoryRecord, commitID graveler.CommitID) (*graveler.Commit, error)

func (*DBManager) GetCommitByPrefix added in v0.69.1

func (m *DBManager) GetCommitByPrefix(ctx context.Context, repository *graveler.RepositoryRecord, prefix graveler.CommitID) (*graveler.Commit, error)

func (*DBManager) GetRepository added in v0.69.1

func (m *DBManager) GetRepository(ctx context.Context, repositoryID graveler.RepositoryID) (*graveler.RepositoryRecord, error)

func (*DBManager) GetTag added in v0.69.1

func (m *DBManager) GetTag(ctx context.Context, repository *graveler.RepositoryRecord, tagID graveler.TagID) (*graveler.CommitID, error)

func (*DBManager) ListBranches added in v0.69.1

func (m *DBManager) ListBranches(ctx context.Context, repository *graveler.RepositoryRecord) (graveler.BranchIterator, error)

func (*DBManager) ListCommits added in v0.69.1

func (m *DBManager) ListCommits(ctx context.Context, repository *graveler.RepositoryRecord) (graveler.CommitIterator, error)

func (*DBManager) ListRepositories added in v0.69.1

func (m *DBManager) ListRepositories(ctx context.Context) (graveler.RepositoryIterator, error)

func (*DBManager) ListTags added in v0.69.1

func (m *DBManager) ListTags(ctx context.Context, repository *graveler.RepositoryRecord) (graveler.TagIterator, error)

func (*DBManager) Log added in v0.69.1

func (*DBManager) ParseRef added in v0.69.1

func (m *DBManager) ParseRef(ref graveler.Ref) (graveler.RawRef, error)

func (*DBManager) RemoveCommit added in v0.70.0

func (*DBManager) ResolveRawRef added in v0.69.1

func (m *DBManager) ResolveRawRef(ctx context.Context, repository *graveler.RepositoryRecord, raw graveler.RawRef) (*graveler.ResolvedRef, error)

func (*DBManager) SetBranch added in v0.69.1

func (m *DBManager) SetBranch(ctx context.Context, repository *graveler.RepositoryRecord, branchID graveler.BranchID, branch graveler.Branch) error

type DBOrderedCommitIterator added in v0.70.0

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

func NewDBOrderedCommitIterator added in v0.70.0

func NewDBOrderedCommitIterator(ctx context.Context, database db.Database, repository *graveler.RepositoryRecord, prefetchSize int, opts ...OrderedCommitIteratorOption) (*DBOrderedCommitIterator, error)

NewDBOrderedCommitIterator returns an iterator over all commits in the given repository. Ordering is based on the Commit ID value.

func (*DBOrderedCommitIterator) Close added in v0.70.0

func (iter *DBOrderedCommitIterator) Close()

func (*DBOrderedCommitIterator) Err added in v0.70.0

func (iter *DBOrderedCommitIterator) Err() error

func (*DBOrderedCommitIterator) Next added in v0.70.0

func (iter *DBOrderedCommitIterator) Next() bool

func (*DBOrderedCommitIterator) SeekGE added in v0.70.0

func (iter *DBOrderedCommitIterator) SeekGE(id graveler.CommitID)

func (*DBOrderedCommitIterator) Value added in v0.70.0

type DBRepositoryIterator added in v0.70.0

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

func NewDBRepositoryIterator added in v0.70.0

func NewDBRepositoryIterator(ctx context.Context, db db.Database, fetchSize int) *DBRepositoryIterator

func (*DBRepositoryIterator) Close added in v0.70.0

func (ri *DBRepositoryIterator) Close()

func (*DBRepositoryIterator) Err added in v0.70.0

func (ri *DBRepositoryIterator) Err() error

func (*DBRepositoryIterator) Next added in v0.70.0

func (ri *DBRepositoryIterator) Next() bool

func (*DBRepositoryIterator) SeekGE added in v0.70.0

func (*DBRepositoryIterator) Value added in v0.70.0

type DBTagIterator added in v0.69.1

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

func NewDBTagIterator added in v0.69.1

func NewDBTagIterator(ctx context.Context, db db.Database, repositoryID graveler.RepositoryID, fetchSize int) (*DBTagIterator, error)

func (*DBTagIterator) Close added in v0.69.1

func (ri *DBTagIterator) Close()

func (*DBTagIterator) Err added in v0.69.1

func (ri *DBTagIterator) Err() error

func (*DBTagIterator) Next added in v0.69.1

func (ri *DBTagIterator) Next() bool

func (*DBTagIterator) SeekGE added in v0.69.1

func (ri *DBTagIterator) SeekGE(id graveler.TagID)

func (*DBTagIterator) Value added in v0.69.1

func (ri *DBTagIterator) Value() *graveler.TagRecord

type KVManager added in v0.69.1

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

func NewKVRefManager added in v0.69.1

func NewKVRefManager(executor batch.Batcher, kvStore kv.StoreMessage, addressProvider ident.AddressProvider) *KVManager

func (*KVManager) AddCommit added in v0.69.1

func (m *KVManager) AddCommit(ctx context.Context, repository *graveler.RepositoryRecord, commit graveler.Commit) (graveler.CommitID, error)

func (*KVManager) BranchUpdate added in v0.70.0

func (m *KVManager) BranchUpdate(ctx context.Context, repository *graveler.RepositoryRecord, branchID graveler.BranchID, f graveler.BranchUpdateFunc) error

func (*KVManager) CreateBareRepository added in v0.69.1

func (m *KVManager) CreateBareRepository(ctx context.Context, repositoryID graveler.RepositoryID, repository graveler.Repository) (*graveler.RepositoryRecord, error)

func (*KVManager) CreateBranch added in v0.69.1

func (m *KVManager) CreateBranch(ctx context.Context, repository *graveler.RepositoryRecord, branchID graveler.BranchID, branch graveler.Branch) error

func (*KVManager) CreateRepository added in v0.69.1

func (m *KVManager) CreateRepository(ctx context.Context, repositoryID graveler.RepositoryID, repository graveler.Repository) (*graveler.RepositoryRecord, error)

func (*KVManager) CreateTag added in v0.69.1

func (m *KVManager) CreateTag(ctx context.Context, repository *graveler.RepositoryRecord, tagID graveler.TagID, commitID graveler.CommitID) error

func (*KVManager) DeleteBranch added in v0.69.1

func (m *KVManager) DeleteBranch(ctx context.Context, repository *graveler.RepositoryRecord, branchID graveler.BranchID) error

func (*KVManager) DeleteRepository added in v0.69.1

func (m *KVManager) DeleteRepository(ctx context.Context, repositoryID graveler.RepositoryID) error

func (*KVManager) DeleteTag added in v0.69.1

func (m *KVManager) DeleteTag(ctx context.Context, repository *graveler.RepositoryRecord, tagID graveler.TagID) error

func (*KVManager) FindMergeBase added in v0.69.1

func (m *KVManager) FindMergeBase(ctx context.Context, repository *graveler.RepositoryRecord, commitIDs ...graveler.CommitID) (*graveler.Commit, error)

func (*KVManager) GCBranchIterator added in v0.70.0

func (m *KVManager) GCBranchIterator(ctx context.Context, repository *graveler.RepositoryRecord) (graveler.BranchIterator, error)

func (*KVManager) GCCommitIterator added in v0.70.0

func (m *KVManager) GCCommitIterator(ctx context.Context, repository *graveler.RepositoryRecord) (graveler.CommitIterator, error)

func (*KVManager) GetBranch added in v0.69.1

func (m *KVManager) GetBranch(ctx context.Context, repository *graveler.RepositoryRecord, branchID graveler.BranchID) (*graveler.Branch, error)

func (*KVManager) GetCommit added in v0.69.1

func (m *KVManager) GetCommit(ctx context.Context, repository *graveler.RepositoryRecord, commitID graveler.CommitID) (*graveler.Commit, error)

func (*KVManager) GetCommitByPrefix added in v0.69.1

func (m *KVManager) GetCommitByPrefix(ctx context.Context, repository *graveler.RepositoryRecord, prefix graveler.CommitID) (*graveler.Commit, error)

func (*KVManager) GetRepository added in v0.69.1

func (m *KVManager) GetRepository(ctx context.Context, repositoryID graveler.RepositoryID) (*graveler.RepositoryRecord, error)

func (*KVManager) GetTag added in v0.69.1

func (m *KVManager) GetTag(ctx context.Context, repository *graveler.RepositoryRecord, tagID graveler.TagID) (*graveler.CommitID, error)

func (*KVManager) ListBranches added in v0.69.1

func (m *KVManager) ListBranches(ctx context.Context, repository *graveler.RepositoryRecord) (graveler.BranchIterator, error)

func (*KVManager) ListCommits added in v0.69.1

func (m *KVManager) ListCommits(ctx context.Context, repository *graveler.RepositoryRecord) (graveler.CommitIterator, error)

func (*KVManager) ListRepositories added in v0.69.1

func (m *KVManager) ListRepositories(ctx context.Context) (graveler.RepositoryIterator, error)

func (*KVManager) ListTags added in v0.69.1

func (m *KVManager) ListTags(ctx context.Context, repository *graveler.RepositoryRecord) (graveler.TagIterator, error)

func (*KVManager) Log added in v0.69.1

func (*KVManager) ParseRef added in v0.69.1

func (m *KVManager) ParseRef(ref graveler.Ref) (graveler.RawRef, error)

func (*KVManager) RemoveCommit added in v0.70.0

func (m *KVManager) RemoveCommit(ctx context.Context, repository *graveler.RepositoryRecord, commitID graveler.CommitID) error

func (*KVManager) ResolveRawRef added in v0.69.1

func (m *KVManager) ResolveRawRef(ctx context.Context, repository *graveler.RepositoryRecord, raw graveler.RawRef) (*graveler.ResolvedRef, error)

func (*KVManager) SetBranch added in v0.69.1

func (m *KVManager) SetBranch(ctx context.Context, repository *graveler.RepositoryRecord, branchID graveler.BranchID, branch graveler.Branch) error

type KVOrderedCommitIterator added in v0.70.0

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

func NewKVOrderedCommitIterator added in v0.70.0

func NewKVOrderedCommitIterator(ctx context.Context, store *kv.StoreMessage, repo *graveler.RepositoryRecord, onlyAncestryLeaves bool) (*KVOrderedCommitIterator, error)

NewKVOrderedCommitIterator returns an iterator over all commits in the given repository. Ordering is based on the Commit ID value. WithOnlyAncestryLeaves causes the iterator to return only commits which are not the first parent of any other commit. Consider a commit graph where all non-first-parent edges are removed. This graph is a tree, and ancestry leaves are its leaves.

func (*KVOrderedCommitIterator) Close added in v0.70.0

func (i *KVOrderedCommitIterator) Close()

func (*KVOrderedCommitIterator) Err added in v0.70.0

func (i *KVOrderedCommitIterator) Err() error

func (*KVOrderedCommitIterator) Next added in v0.70.0

func (i *KVOrderedCommitIterator) Next() bool

func (*KVOrderedCommitIterator) SeekGE added in v0.70.0

func (*KVOrderedCommitIterator) Value added in v0.70.0

type KVRepositoryIterator added in v0.70.0

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

func NewKVRepositoryIterator added in v0.70.0

func NewKVRepositoryIterator(ctx context.Context, store *kv.StoreMessage) (*KVRepositoryIterator, error)

func (*KVRepositoryIterator) Close added in v0.70.0

func (ri *KVRepositoryIterator) Close()

func (*KVRepositoryIterator) Err added in v0.70.0

func (ri *KVRepositoryIterator) Err() error

func (*KVRepositoryIterator) Next added in v0.70.0

func (ri *KVRepositoryIterator) Next() bool

func (*KVRepositoryIterator) SeekGE added in v0.70.0

func (*KVRepositoryIterator) Value added in v0.70.0

type KVTagIterator added in v0.69.1

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

func NewKVTagIterator added in v0.69.1

func NewKVTagIterator(ctx context.Context, store *kv.StoreMessage, repo *graveler.RepositoryRecord) (*KVTagIterator, error)

func (*KVTagIterator) Close added in v0.69.1

func (i *KVTagIterator) Close()

func (*KVTagIterator) Err added in v0.69.1

func (i *KVTagIterator) Err() error

func (*KVTagIterator) Next added in v0.69.1

func (i *KVTagIterator) Next() bool

func (*KVTagIterator) SeekGE added in v0.69.1

func (i *KVTagIterator) SeekGE(id graveler.TagID)

func (*KVTagIterator) Value added in v0.69.1

func (i *KVTagIterator) Value() *graveler.TagRecord

type OrderedCommitIteratorOption added in v0.45.1

type OrderedCommitIteratorOption func(oci *DBOrderedCommitIterator)

func WithOnlyAncestryLeaves added in v0.45.1

func WithOnlyAncestryLeaves() OrderedCommitIteratorOption

WithOnlyAncestryLeaves causes the iterator to return only commits which are not the first parent of any other commit. Consider a commit graph where all non-first-parent edges are removed. This graph is a tree, and ancestry leaves are its leaves.

type RepositoryIterator

type RepositoryIterator interface {
	Next() bool
	SeekGE(id graveler.RepositoryID)
	Value() *graveler.RepositoryRecord
	Err() error
	Close()
}

type Store

type Store interface {
	GetBranch(ctx context.Context, repository *graveler.RepositoryRecord, branchID graveler.BranchID) (*graveler.Branch, error)
	GetTag(ctx context.Context, repository *graveler.RepositoryRecord, tagID graveler.TagID) (*graveler.CommitID, error)
	GetCommitByPrefix(ctx context.Context, repository *graveler.RepositoryRecord, prefix graveler.CommitID) (*graveler.Commit, error)
	GetCommit(ctx context.Context, repository *graveler.RepositoryRecord, prefix graveler.CommitID) (*graveler.Commit, error)
}

Jump to

Keyboard shortcuts

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