Documentation ¶
Index ¶
- Constants
- Variables
- func ContentTypeOrDefault(ct string) string
- func EntryToValue(entry *Entry) (*graveler.Value, error)
- func GetStartPos(prefix, after, delimiter string) string
- func MustEntryToValue(entry *Entry) *graveler.Value
- func NewEntryToValueIterator(it EntryIterator) *entryValueIterator
- func NewValueToEntryIterator(it graveler.ValueIterator) *valueEntryIterator
- func NewWalkEntryIterator(ctx context.Context, walker *store.WalkerWrapper, sourceType ImportPathType, ...) (*walkEntryIterator, error)
- func ValidatePath(v interface{}) error
- type ActionsCacheConfig
- type ActionsOutputWriter
- type ActionsSource
- type AddressType
- type Branch
- type Catalog
- func (c *Catalog) BranchExists(ctx context.Context, repositoryID string, branch string) (bool, error)
- func (c *Catalog) CancelImport(ctx context.Context, repositoryID, importID string) error
- func (c *Catalog) CherryPick(ctx context.Context, repositoryID string, branch string, ...) (*CommitLog, error)
- func (c *Catalog) Close() error
- func (c *Catalog) Commit(ctx context.Context, repositoryID, branch, message, committer string, ...) (*CommitLog, error)
- func (c *Catalog) Compare(ctx context.Context, repositoryID, leftReference string, rightReference string, ...) (Differences, bool, error)
- func (c *Catalog) CopyEntry(ctx context.Context, ...) (*DBEntry, error)
- func (c *Catalog) CreateBareRepository(ctx context.Context, repository string, storageNamespace string, ...) (*Repository, error)
- func (c *Catalog) CreateBranch(ctx context.Context, repositoryID string, branch string, sourceBranch string) (*CommitLog, error)
- func (c *Catalog) CreateBranchProtectionRule(ctx context.Context, repositoryID string, pattern string, ...) error
- func (c *Catalog) CreateEntry(ctx context.Context, repositoryID string, branch string, entry DBEntry, ...) error
- func (c *Catalog) CreateRepository(ctx context.Context, repository string, storageNamespace string, branch string) (*Repository, error)
- func (c *Catalog) CreateTag(ctx context.Context, repositoryID string, tagID string, ref string) (string, error)
- func (c *Catalog) DeleteBranch(ctx context.Context, repositoryID string, branch string) error
- func (c *Catalog) DeleteBranchProtectionRule(ctx context.Context, repositoryID string, pattern string) error
- func (c *Catalog) DeleteEntries(ctx context.Context, repositoryID string, branch string, paths []string) error
- func (c *Catalog) DeleteEntry(ctx context.Context, repositoryID string, branch string, path string) error
- func (c *Catalog) DeleteExpiredImports(ctx context.Context)
- func (c *Catalog) DeleteExpiredLinkAddresses(ctx context.Context)
- func (c *Catalog) DeleteRepository(ctx context.Context, repository string) error
- func (c *Catalog) DeleteTag(ctx context.Context, repositoryID string, tagID string) error
- func (c *Catalog) Diff(ctx context.Context, repositoryID string, leftReference string, ...) (Differences, bool, error)
- func (c *Catalog) DiffUncommitted(ctx context.Context, repositoryID, branch, prefix, delimiter string, limit int, ...) (Differences, bool, error)
- func (c *Catalog) DumpBranches(ctx context.Context, repositoryID string) (string, error)
- func (c *Catalog) DumpCommits(ctx context.Context, repositoryID string) (string, error)
- func (c *Catalog) DumpTags(ctx context.Context, repositoryID string) (string, error)
- func (c *Catalog) FindMergeBase(ctx context.Context, repositoryID string, destinationRef string, ...) (string, string, string, error)
- func (c *Catalog) GetBranchProtectionRules(ctx context.Context, repositoryID string) (*graveler.BranchProtectionRules, error)
- func (c *Catalog) GetBranchReference(ctx context.Context, repositoryID string, branch string) (string, error)
- func (c *Catalog) GetCommit(ctx context.Context, repositoryID string, reference string) (*CommitLog, error)
- func (c *Catalog) GetEntry(ctx context.Context, repositoryID string, reference string, path string, ...) (*DBEntry, error)
- func (c *Catalog) GetGarbageCollectionRules(ctx context.Context, repositoryID string) (*graveler.GarbageCollectionRules, error)
- func (c *Catalog) GetImportStatus(ctx context.Context, repositoryID, importID string) (*graveler.ImportStatus, error)
- func (c *Catalog) GetMetaRange(ctx context.Context, repositoryID, metaRangeID string) (graveler.MetaRangeAddress, error)
- func (c *Catalog) GetRange(ctx context.Context, repositoryID, rangeID string) (graveler.RangeAddress, error)
- func (c *Catalog) GetRepository(ctx context.Context, repository string) (*Repository, error)
- func (c *Catalog) GetRepositoryMetadata(ctx context.Context, repository string) (graveler.RepositoryMetadata, error)
- func (c *Catalog) GetStagingToken(ctx context.Context, repositoryID string, branch string) (*string, error)
- func (c *Catalog) GetTag(ctx context.Context, repositoryID string, tagID string) (string, error)
- func (c *Catalog) Import(ctx context.Context, repositoryID, branchID string, params ImportRequest) (string, error)
- func (c *Catalog) ListBranches(ctx context.Context, repositoryID string, prefix string, limit int, ...) ([]*Branch, bool, error)
- func (c *Catalog) ListCommits(ctx context.Context, repositoryID string, branch string, params LogParams) ([]*CommitLog, bool, error)
- func (c *Catalog) ListEntries(ctx context.Context, repositoryID string, reference string, prefix string, ...) ([]*DBEntry, bool, error)
- func (c *Catalog) ListRepositories(ctx context.Context, limit int, prefix, after string) ([]*Repository, bool, error)
- func (c *Catalog) ListTags(ctx context.Context, repositoryID string, prefix string, limit int, ...) ([]*Tag, bool, error)
- func (c *Catalog) LoadBranches(ctx context.Context, repositoryID, branchesMetaRangeID string) error
- func (c *Catalog) LoadCommits(ctx context.Context, repositoryID, commitsMetaRangeID string) error
- func (c *Catalog) LoadTags(ctx context.Context, repositoryID, tagsMetaRangeID string) error
- func (c *Catalog) Merge(ctx context.Context, repositoryID string, destinationBranch string, ...) (string, error)
- func (c *Catalog) PrepareExpiredCommits(ctx context.Context, repositoryID string, previousRunID string) (*graveler.GarbageCollectionRunMetadata, error)
- func (c *Catalog) PrepareGCUncommitted(ctx context.Context, repositoryID string, mark *GCUncommittedMark) (*PrepareGCUncommittedInfo, error)
- func (c *Catalog) ResetBranch(ctx context.Context, repositoryID string, branch string) error
- func (c *Catalog) ResetEntries(ctx context.Context, repositoryID string, branch string, prefix string) error
- func (c *Catalog) ResetEntry(ctx context.Context, repositoryID string, branch string, path string) error
- func (c *Catalog) Revert(ctx context.Context, repositoryID string, branch string, params RevertParams) error
- func (c *Catalog) SetGarbageCollectionRules(ctx context.Context, repositoryID string, ...) error
- func (c *Catalog) SetHooksHandler(hooks graveler.HooksHandler)
- func (c *Catalog) SetLinkAddress(ctx context.Context, repository, token string) error
- func (c *Catalog) UpdateBranchToken(ctx context.Context, repositoryID, branchID, stagingToken string) error
- func (c *Catalog) VerifyLinkAddress(ctx context.Context, repository, token string) error
- func (c *Catalog) WriteMetaRange(ctx context.Context, repositoryID string, ranges []*graveler.RangeInfo) (*graveler.MetaRangeInfo, error)
- func (c *Catalog) WriteRange(ctx context.Context, repositoryID string, params WriteRangeRequest) (*graveler.RangeInfo, *Mark, error)
- type CherryPickParams
- type CommitLog
- type Config
- type DBEntry
- type DBEntryBuilder
- func (b *DBEntryBuilder) AddressType(addressType AddressType) *DBEntryBuilder
- func (b *DBEntryBuilder) Build() DBEntry
- func (b *DBEntryBuilder) Checksum(checksum string) *DBEntryBuilder
- func (b *DBEntryBuilder) CommonLevel(commonLevel bool) *DBEntryBuilder
- func (b *DBEntryBuilder) ContentType(contentType string) *DBEntryBuilder
- func (b *DBEntryBuilder) CreationDate(creationDate time.Time) *DBEntryBuilder
- func (b *DBEntryBuilder) Expired(expired bool) *DBEntryBuilder
- func (b *DBEntryBuilder) Metadata(metadata Metadata) *DBEntryBuilder
- func (b *DBEntryBuilder) Path(path string) *DBEntryBuilder
- func (b *DBEntryBuilder) PhysicalAddress(physicalAddress string) *DBEntryBuilder
- func (b *DBEntryBuilder) RelativeAddress(relative bool) *DBEntryBuilder
- func (b *DBEntryBuilder) Size(size int64) *DBEntryBuilder
- type DiffParams
- type DiffResultRecord
- type Difference
- type DifferenceType
- type Differences
- type Entry
- func (*Entry) Descriptor() ([]byte, []int)deprecated
- func (x *Entry) GetAddress() string
- func (x *Entry) GetAddressType() Entry_AddressType
- func (x *Entry) GetContentType() string
- func (x *Entry) GetETag() string
- func (x *Entry) GetLastModified() *timestamppb.Timestamp
- func (x *Entry) GetMetadata() map[string]string
- func (x *Entry) GetSize() int64
- func (*Entry) ProtoMessage()
- func (x *Entry) ProtoReflect() protoreflect.Message
- func (x *Entry) Reset()
- func (x *Entry) String() string
- type EntryDiff
- type EntryDiffIterator
- type EntryIterator
- type EntryListing
- type EntryListingIterator
- type EntryRecord
- type EntryWithMarker
- type Entry_AddressType
- func (Entry_AddressType) Descriptor() protoreflect.EnumDescriptor
- func (x Entry_AddressType) Enum() *Entry_AddressType
- func (Entry_AddressType) EnumDescriptor() ([]byte, []int)deprecated
- func (x Entry_AddressType) Number() protoreflect.EnumNumber
- func (x Entry_AddressType) String() string
- func (Entry_AddressType) Type() protoreflect.EnumType
- type ExpireResult
- type ExpiryRows
- type GCUncommittedMark
- type GetEntryParams
- type Import
- func (i *Import) Close()
- func (i *Import) Closed() bool
- func (i *Import) Ingest(it *walkEntryIterator) error
- func (i *Import) NewItr() (*importIterator, error)
- func (i *Import) SetError(err error)
- func (i *Import) SetStatus(status graveler.ImportStatus)
- func (i *Import) Status() graveler.ImportStatus
- type ImportCommit
- type ImportPath
- type ImportPathType
- type ImportRequest
- type Interface
- type LogParams
- type Mark
- type Metadata
- type Path
- type PathRecord
- type PrepareGCUncommittedInfo
- type Repository
- type RevertParams
- type Store
- type Tag
- type UncommittedIterator
- type UncommittedParquetObject
- type UncommittedRecord
- type UncommittedWriter
- type WalkerFactory
- type WriteRangeRequest
Constants ¶
const ( DefaultActionsCacheSize = 100 DefaultActionsCacheExpiry = 5 * time.Second DefaultActionsCacheJitter = DefaultActionsCacheExpiry / 2 )
const ( RangeFSName = "range" MetaRangeFSName = "meta-range" )
const ( ListRepositoriesLimitMax = 1000 ListBranchesLimitMax = 1000 ListTagsLimitMax = 1000 DiffLimitMax = 1000 ListEntriesLimitMax = 10000 )
const ( ImportPathTypePrefix = "common_prefix" ImportPathTypeObject = "object" )
const (
DefaultContentType = "application/octet-stream"
)
const (
DefaultPathDelimiter = "/"
)
const ImportCanceled = "Canceled"
const (
MaxPathLength = 1024
)
const (
NumberOfParentsOfNonMergeCommit = 1
)
Variables ¶
var ( Entry_AddressType_name = map[int32]string{ 0: "BY_PREFIX_DEPRECATED", 1: "RELATIVE", 2: "FULL", } Entry_AddressType_value = map[string]int32{ "BY_PREFIX_DEPRECATED": 0, "RELATIVE": 1, "FULL": 2, } )
Enum value maps for Entry_AddressType.
var ( ErrUnknownDiffType = errors.New("unknown graveler difference type") ErrPathRequiredValue = fmt.Errorf("missing path: %w", graveler.ErrRequiredValue) ErrInvalidMetadataSrcFormat = errors.New("invalid metadata src format") ErrExpired = errors.New("expired from storage") // ErrItClosed is used to determine the reason for the end of the walk ErrItClosed = errors.New("iterator closed") ErrFeatureNotSupported = errors.New("feature not supported") )
Define errors we raise from this package - do not convert underlying errors, optionally wrap if needed to consolidate
var ErrImportClosed = errors.New("import closed")
var File_catalog_proto protoreflect.FileDescriptor
var ValidatePathOptional = validator.MakeValidateOptional(ValidatePath)
Functions ¶
func ContentTypeOrDefault ¶ added in v0.53.0
func GetStartPos ¶ added in v0.42.0
GetStartPos returns a key that SeekGE will transform to a place start iterating on all elements in
the keys that start with 'prefix' after 'after' and taking 'delimiter' into account
func MustEntryToValue ¶
func NewEntryToValueIterator ¶
func NewEntryToValueIterator(it EntryIterator) *entryValueIterator
func NewValueToEntryIterator ¶
func NewValueToEntryIterator(it graveler.ValueIterator) *valueEntryIterator
func NewWalkEntryIterator ¶ added in v0.65.0
func NewWalkEntryIterator(ctx context.Context, walker *store.WalkerWrapper, sourceType ImportPathType, destination, after, continuationToken string) (*walkEntryIterator, error)
func ValidatePath ¶
func ValidatePath(v interface{}) error
Types ¶
type ActionsCacheConfig ¶ added in v0.84.0
type ActionsOutputWriter ¶
type ActionsOutputWriter struct {
// contains filtered or unexported fields
}
func NewActionsOutputWriter ¶
func NewActionsOutputWriter(blockAdapter block.Adapter) *ActionsOutputWriter
func (*ActionsOutputWriter) OutputWrite ¶
type ActionsSource ¶
type ActionsSource struct {
// contains filtered or unexported fields
}
func NewActionsSource ¶
func NewActionsSource(catalog *Catalog) *ActionsSource
func (*ActionsSource) List ¶
func (s *ActionsSource) List(ctx context.Context, record graveler.HookRecord) ([]string, error)
func (*ActionsSource) Load ¶
func (s *ActionsSource) Load(ctx context.Context, record graveler.HookRecord, name string) ([]byte, error)
type AddressType ¶ added in v0.40.0
type AddressType int32
AddressType is the type of an entry address
const ( // Deprecated: indicates that the address might be relative or full. // Used only for backward compatibility and should not be used for creating entries. AddressTypeByPrefixDeprecated AddressType = 0 // AddressTypeRelative indicates that the address is relative to the storage namespace. // For example: "foo/bar" AddressTypeRelative AddressType = 1 // AddressTypeFull indicates that the address is the full address of the object in the object store. // For example: "s3://bucket/foo/bar" AddressTypeFull AddressType = 2 )
func (AddressType) ToIdentifierType ¶ added in v0.40.0
func (at AddressType) ToIdentifierType() block.IdentifierType
type Catalog ¶
type Catalog struct { BlockAdapter block.Adapter Store Store PathProvider *upload.PathPartitionProvider BackgroundLimiter ratelimit.Limiter KVStore kv.Store KVStoreLimited kv.Store UGCPrepareMaxFileSize int64 UGCPrepareInterval time.Duration // contains filtered or unexported fields }
func (*Catalog) BranchExists ¶
func (*Catalog) CancelImport ¶ added in v0.102.0
func (*Catalog) CherryPick ¶ added in v0.97.0
func (*Catalog) Compare ¶
func (c *Catalog) Compare(ctx context.Context, repositoryID, leftReference string, rightReference string, params DiffParams) (Differences, bool, error)
func (*Catalog) CopyEntry ¶ added in v0.90.1
func (c *Catalog) CopyEntry(ctx context.Context, srcRepository, srcRef, srcPath, destRepository, destBranch, destPath string) (*DBEntry, error)
CopyEntry copy entry information by using the block adapter to make a copy of the data to a new physical address.
func (*Catalog) CreateBareRepository ¶
func (c *Catalog) CreateBareRepository(ctx context.Context, repository string, storageNamespace string, defaultBranchID string) (*Repository, error)
CreateBareRepository creates a new repository pointing to 'storageNamespace' (ex: s3://bucket1/repo) with no initial branch or commit
func (*Catalog) CreateBranch ¶
func (*Catalog) CreateBranchProtectionRule ¶ added in v0.52.0
func (*Catalog) CreateEntry ¶
func (*Catalog) CreateRepository ¶
func (c *Catalog) CreateRepository(ctx context.Context, repository string, storageNamespace string, branch string) (*Repository, error)
CreateRepository create a new repository pointing to 'storageNamespace' (ex: s3://bucket1/repo) with default branch name 'branch'
func (*Catalog) DeleteBranch ¶
func (*Catalog) DeleteBranchProtectionRule ¶ added in v0.52.0
func (*Catalog) DeleteEntries ¶ added in v0.82.0
func (*Catalog) DeleteEntry ¶
func (*Catalog) DeleteExpiredImports ¶ added in v0.102.0
func (*Catalog) DeleteExpiredLinkAddresses ¶ added in v0.90.0
func (*Catalog) DeleteRepository ¶
DeleteRepository delete a repository
func (*Catalog) Diff ¶
func (c *Catalog) Diff(ctx context.Context, repositoryID string, leftReference string, rightReference string, params DiffParams) (Differences, bool, error)
func (*Catalog) DiffUncommitted ¶
func (*Catalog) DumpBranches ¶
func (*Catalog) DumpCommits ¶
func (*Catalog) FindMergeBase ¶ added in v0.94.1
func (*Catalog) GetBranchProtectionRules ¶ added in v0.52.0
func (*Catalog) GetBranchReference ¶
func (*Catalog) GetEntry ¶
func (c *Catalog) GetEntry(ctx context.Context, repositoryID string, reference string, path string, params GetEntryParams) (*DBEntry, error)
GetEntry returns the current entry for path in repository branch reference. Returns the entry with ExpiredError if it has expired from underlying storage.
func (*Catalog) GetGarbageCollectionRules ¶ added in v0.43.0
func (*Catalog) GetImportStatus ¶ added in v0.102.0
func (*Catalog) GetMetaRange ¶
func (*Catalog) GetRepository ¶
GetRepository get repository information
func (*Catalog) GetRepositoryMetadata ¶ added in v0.104.0
func (*Catalog) GetStagingToken ¶ added in v0.40.0
func (*Catalog) ListBranches ¶
func (*Catalog) ListCommits ¶
func (*Catalog) ListEntries ¶
func (*Catalog) ListRepositories ¶
func (c *Catalog) ListRepositories(ctx context.Context, limit int, prefix, after string) ([]*Repository, bool, error)
ListRepositories list repositories information, the bool returned is true when more repositories can be listed. In this case pass the last repository name as 'after' on the next call to ListRepositories
func (*Catalog) LoadBranches ¶
func (*Catalog) LoadCommits ¶
func (*Catalog) PrepareExpiredCommits ¶ added in v0.43.0
func (*Catalog) PrepareGCUncommitted ¶ added in v0.85.0
func (c *Catalog) PrepareGCUncommitted(ctx context.Context, repositoryID string, mark *GCUncommittedMark) (*PrepareGCUncommittedInfo, error)
func (*Catalog) ResetBranch ¶
func (*Catalog) ResetEntries ¶
func (*Catalog) ResetEntry ¶
func (*Catalog) SetGarbageCollectionRules ¶ added in v0.43.0
func (*Catalog) SetHooksHandler ¶
func (c *Catalog) SetHooksHandler(hooks graveler.HooksHandler)
func (*Catalog) SetLinkAddress ¶ added in v0.90.0
func (*Catalog) UpdateBranchToken ¶ added in v0.98.0
func (*Catalog) VerifyLinkAddress ¶ added in v0.90.0
func (*Catalog) WriteMetaRange ¶ added in v0.65.0
type CherryPickParams ¶ added in v0.97.0
type CommitLog ¶
type CommitLog struct { Reference string Committer string Message string CreationDate time.Time Metadata Metadata MetaRangeID string Parents []string }
func CommitRecordToLog ¶ added in v0.102.0
func CommitRecordToLog(val *graveler.CommitRecord) *CommitLog
type Config ¶
type Config struct { Config *config.Config KVStore kv.Store WalkerFactory WalkerFactory SettingsManagerOption settings.ManagerOption PathProvider *upload.PathPartitionProvider Limiter ratelimit.Limiter }
type DBEntryBuilder ¶ added in v0.53.0
type DBEntryBuilder struct {
// contains filtered or unexported fields
}
DBEntryBuilder DBEntry builder
func NewDBEntryBuilder ¶ added in v0.53.0
func NewDBEntryBuilder() *DBEntryBuilder
func (*DBEntryBuilder) AddressType ¶ added in v0.53.0
func (b *DBEntryBuilder) AddressType(addressType AddressType) *DBEntryBuilder
func (*DBEntryBuilder) Build ¶ added in v0.53.0
func (b *DBEntryBuilder) Build() DBEntry
func (*DBEntryBuilder) Checksum ¶ added in v0.53.0
func (b *DBEntryBuilder) Checksum(checksum string) *DBEntryBuilder
func (*DBEntryBuilder) CommonLevel ¶ added in v0.53.0
func (b *DBEntryBuilder) CommonLevel(commonLevel bool) *DBEntryBuilder
func (*DBEntryBuilder) ContentType ¶ added in v0.53.0
func (b *DBEntryBuilder) ContentType(contentType string) *DBEntryBuilder
func (*DBEntryBuilder) CreationDate ¶ added in v0.53.0
func (b *DBEntryBuilder) CreationDate(creationDate time.Time) *DBEntryBuilder
func (*DBEntryBuilder) Expired ¶ added in v0.53.0
func (b *DBEntryBuilder) Expired(expired bool) *DBEntryBuilder
func (*DBEntryBuilder) Metadata ¶ added in v0.53.0
func (b *DBEntryBuilder) Metadata(metadata Metadata) *DBEntryBuilder
func (*DBEntryBuilder) Path ¶ added in v0.53.0
func (b *DBEntryBuilder) Path(path string) *DBEntryBuilder
func (*DBEntryBuilder) PhysicalAddress ¶ added in v0.53.0
func (b *DBEntryBuilder) PhysicalAddress(physicalAddress string) *DBEntryBuilder
func (*DBEntryBuilder) RelativeAddress ¶ added in v0.53.0
func (b *DBEntryBuilder) RelativeAddress(relative bool) *DBEntryBuilder
func (*DBEntryBuilder) Size ¶ added in v0.53.0
func (b *DBEntryBuilder) Size(size int64) *DBEntryBuilder
type DiffParams ¶
type DiffResultRecord ¶
type DiffResultRecord struct { TargetEntryNotInDirectBranch bool // the entry is reflected via lineage, NOT in the branch itself Difference }
type Difference ¶
type Difference struct { DBEntry // Partially filled. Path is always set. Type DifferenceType `db:"diff_type"` }
func (Difference) String ¶
func (d Difference) String() string
type DifferenceType ¶
type DifferenceType int
const ( DifferenceTypeAdded DifferenceType = iota DifferenceTypeRemoved DifferenceTypeChanged DifferenceTypePrefixChanged DifferenceTypeConflict DifferenceTypeNone )
type Differences ¶
type Differences []Difference
func (Differences) Equal ¶
func (d Differences) Equal(other Differences) bool
type Entry ¶
type Entry struct { Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` LastModified *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=last_modified,json=lastModified,proto3" json:"last_modified,omitempty"` Size int64 `protobuf:"varint,3,opt,name=size,proto3" json:"size,omitempty"` ETag string `protobuf:"bytes,4,opt,name=e_tag,json=eTag,proto3" json:"e_tag,omitempty"` Metadata map[string]string `` /* 157-byte string literal not displayed */ AddressType Entry_AddressType `` /* 126-byte string literal not displayed */ ContentType string `protobuf:"bytes,7,opt,name=content_type,json=contentType,proto3" json:"content_type,omitempty"` // contains filtered or unexported fields }
func (*Entry) Descriptor
deprecated
func (*Entry) GetAddress ¶
func (*Entry) GetAddressType ¶ added in v0.40.0
func (x *Entry) GetAddressType() Entry_AddressType
func (*Entry) GetContentType ¶ added in v0.53.0
func (*Entry) GetLastModified ¶
func (x *Entry) GetLastModified() *timestamppb.Timestamp
func (*Entry) GetMetadata ¶
func (*Entry) ProtoMessage ¶
func (*Entry) ProtoMessage()
func (*Entry) ProtoReflect ¶
func (x *Entry) ProtoReflect() protoreflect.Message
type EntryDiffIterator ¶
type EntryDiffIterator interface { Next() bool SeekGE(id Path) Value() *EntryDiff Err() error Close() }
func NewEntryDiffIterator ¶
func NewEntryDiffIterator(it graveler.DiffIterator) EntryDiffIterator
type EntryIterator ¶
type EntryIterator interface { Next() bool SeekGE(id Path) Value() *EntryRecord Err() error Close() }
func NewPrefixIterator ¶
func NewPrefixIterator(it EntryIterator, prefix Path) EntryIterator
type EntryListing ¶
type EntryListingIterator ¶
type EntryListingIterator interface { Next() bool SeekGE(id Path) Value() *EntryListing Err() error Close() }
func NewEntryListingIterator ¶
func NewEntryListingIterator(it EntryIterator, prefix Path, delimiter Path) EntryListingIterator
type EntryRecord ¶
type EntryWithMarker ¶ added in v0.65.0
type EntryWithMarker struct { EntryRecord Mark }
type Entry_AddressType ¶ added in v0.40.0
type Entry_AddressType int32
const ( // Deprecated. // Unknown address type (should only exist for old commits) // is resolved (to Relative or Full) by the prefix of the address. Entry_BY_PREFIX_DEPRECATED Entry_AddressType = 0 Entry_RELATIVE Entry_AddressType = 1 Entry_FULL Entry_AddressType = 2 )
func (Entry_AddressType) Descriptor ¶ added in v0.40.0
func (Entry_AddressType) Descriptor() protoreflect.EnumDescriptor
func (Entry_AddressType) Enum ¶ added in v0.40.0
func (x Entry_AddressType) Enum() *Entry_AddressType
func (Entry_AddressType) EnumDescriptor
deprecated
added in
v0.40.0
func (Entry_AddressType) EnumDescriptor() ([]byte, []int)
Deprecated: Use Entry_AddressType.Descriptor instead.
func (Entry_AddressType) Number ¶ added in v0.40.0
func (x Entry_AddressType) Number() protoreflect.EnumNumber
func (Entry_AddressType) String ¶ added in v0.40.0
func (x Entry_AddressType) String() string
func (Entry_AddressType) Type ¶ added in v0.40.0
func (Entry_AddressType) Type() protoreflect.EnumType
type ExpireResult ¶
type ExpiryRows ¶
type ExpiryRows interface { Close() Next() bool Err() error // Read returns the current from ExpiryRows, or an error on failure. Call it only after // successfully calling Next. Read() (*ExpireResult, error) }
ExpiryRows is a database iterator over ExpiryResults. Use Next to advance from row to row.
type GCUncommittedMark ¶ added in v0.85.0
type GCUncommittedMark struct { BranchID graveler.BranchID `json:"branch"` Path Path `json:"path"` RunID string `json:"run_id"` Key string `json:"key"` }
GCUncommittedMark Marks the *next* item to be scanned by the paginated call to PrepareGCUncommitted
type GetEntryParams ¶
type GetEntryParams struct { // StageOnly when true will return entry found on stage without checking committed data StageOnly bool }
GetEntryParams configures what entries GetEntry returns.
type Import ¶ added in v0.102.0
type Import struct {
// contains filtered or unexported fields
}
func (*Import) SetStatus ¶ added in v0.102.0
func (i *Import) SetStatus(status graveler.ImportStatus)
func (*Import) Status ¶ added in v0.102.0
func (i *Import) Status() graveler.ImportStatus
type ImportCommit ¶ added in v0.102.0
type ImportPath ¶ added in v0.102.0
type ImportPath struct { Path string Destination string Type ImportPathType }
type ImportPathType ¶ added in v0.102.0
type ImportPathType string
func GetImportPathType ¶ added in v0.102.0
func GetImportPathType(t string) (ImportPathType, error)
type ImportRequest ¶ added in v0.102.0
type ImportRequest struct { Paths []ImportPath Commit ImportCommit }
type Interface ¶
type Interface interface { // CreateRepository create a new repository pointing to 'storageNamespace' (ex: s3://bucket1/repo) with default branch name 'branch' CreateRepository(ctx context.Context, repository string, storageNamespace string, branch string) (*Repository, error) // CreateBareRepository create a new repository pointing to 'storageNamespace' (ex: s3://bucket1/repo) with no initial branch or commit // defaultBranchID will point to a non-existent branch on creation, it is up to the caller to eventually create it. CreateBareRepository(ctx context.Context, repository string, storageNamespace string, defaultBranchID string) (*Repository, error) // GetRepository get repository information GetRepository(ctx context.Context, repository string) (*Repository, error) // DeleteRepository delete a repository DeleteRepository(ctx context.Context, repository string) error // GetRepositoryMetadata get repository metadata GetRepositoryMetadata(ctx context.Context, repository string) (graveler.RepositoryMetadata, error) // ListRepositories list repository information, the bool returned is true when more repositories can be listed. // In this case pass the last repository name as 'after' on the next call to ListRepositories ListRepositories(ctx context.Context, limit int, prefix, after string) ([]*Repository, bool, error) GetStagingToken(ctx context.Context, repository string, branch string) (*string, error) CreateBranch(ctx context.Context, repository, branch string, sourceRef string) (*CommitLog, error) DeleteBranch(ctx context.Context, repository, branch string) error ListBranches(ctx context.Context, repository string, prefix string, limit int, after string) ([]*Branch, bool, error) BranchExists(ctx context.Context, repository string, branch string) (bool, error) GetBranchReference(ctx context.Context, repository, branch string) (string, error) ResetBranch(ctx context.Context, repository, branch string) error CreateTag(ctx context.Context, repository, tagID string, ref string) (string, error) DeleteTag(ctx context.Context, repository, tagID string) error ListTags(ctx context.Context, repository string, prefix string, limit int, after string) ([]*Tag, bool, error) GetTag(ctx context.Context, repository, tagID string) (string, error) // GetEntry returns the current entry for path in repository branch reference. Returns // the entry with ExpiredError if it has expired from underlying storage. GetEntry(ctx context.Context, repository, reference string, path string, params GetEntryParams) (*DBEntry, error) CreateEntry(ctx context.Context, repository, branch string, entry DBEntry, opts ...graveler.SetOptionsFunc) error DeleteEntry(ctx context.Context, repository, branch string, path string) error DeleteEntries(ctx context.Context, repository, branch string, paths []string) error ListEntries(ctx context.Context, repository, reference string, prefix, after string, delimiter string, limit int) ([]*DBEntry, bool, error) ResetEntry(ctx context.Context, repository, branch string, path string) error ResetEntries(ctx context.Context, repository, branch string, prefix string) error CopyEntry(ctx context.Context, srcRepository, srcRef, srcPath, destRepository, destBranch, destPath string) (*DBEntry, error) Commit(ctx context.Context, repository, branch, message, committer string, metadata Metadata, date *int64, sourceMetarange *string) (*CommitLog, error) GetCommit(ctx context.Context, repository, reference string) (*CommitLog, error) ListCommits(ctx context.Context, repository, branch string, params LogParams) ([]*CommitLog, bool, error) // Revert creates a reverse patch to the given commit, and applies it as a new commit on the given branch. Revert(ctx context.Context, repository, branch string, params RevertParams) error // CherryPick creates a patch to the given commit, and applies it as a new commit on the given branch. CherryPick(ctx context.Context, repository, branch string, params CherryPickParams) (*CommitLog, error) Diff(ctx context.Context, repository, leftReference string, rightReference string, params DiffParams) (Differences, bool, error) Compare(ctx context.Context, repository, leftReference string, rightReference string, params DiffParams) (Differences, bool, error) DiffUncommitted(ctx context.Context, repository, branch, prefix, delimiter string, limit int, after string) (Differences, bool, error) Merge(ctx context.Context, repository, destinationBranch, sourceRef, committer, message string, metadata Metadata, strategy string) (string, error) FindMergeBase(ctx context.Context, repositoryID string, destinationRef string, sourceRef string) (string, string, string, error) // dump/load metadata DumpCommits(ctx context.Context, repositoryID string) (string, error) DumpBranches(ctx context.Context, repositoryID string) (string, error) DumpTags(ctx context.Context, repositoryID string) (string, error) LoadCommits(ctx context.Context, repositoryID, commitsMetaRangeID string) error LoadBranches(ctx context.Context, repositoryID, branchesMetaRangeID string) error LoadTags(ctx context.Context, repositoryID, tagsMetaRangeID string) error // forward metadata for thick clients GetMetaRange(ctx context.Context, repositoryID, metaRangeID string) (graveler.MetaRangeAddress, error) GetRange(ctx context.Context, repositoryID, rangeID string) (graveler.RangeAddress, error) Import(ctx context.Context, repositoryID, branchID string, params ImportRequest) (string, error) GetImportStatus(ctx context.Context, repositoryID, importID string) (*graveler.ImportStatus, error) CancelImport(ctx context.Context, repositoryID, importID string) error WriteRange(ctx context.Context, repositoryID string, params WriteRangeRequest) (*graveler.RangeInfo, *Mark, error) WriteMetaRange(ctx context.Context, repositoryID string, ranges []*graveler.RangeInfo) (*graveler.MetaRangeInfo, error) UpdateBranchToken(ctx context.Context, repositoryID, branchID, stagingToken string) error GetGarbageCollectionRules(ctx context.Context, repositoryID string) (*graveler.GarbageCollectionRules, error) SetGarbageCollectionRules(ctx context.Context, repositoryID string, rules *graveler.GarbageCollectionRules) error PrepareExpiredCommits(ctx context.Context, repositoryID string, previousRunID string) (*graveler.GarbageCollectionRunMetadata, error) // PrepareGCUncommitted Creates parquet files listing of all uncommitted objects in the given repositoryID and saves them under the GC runID in the object store // Since this operation might take a very long time, we save 20MB files at a time and return a mark of the next item to read, which can be provided to a consecutive call // Consecutive calls must be made using the returned run ID, upon completion mark will return nil PrepareGCUncommitted(ctx context.Context, repositoryID string, mark *GCUncommittedMark) (*PrepareGCUncommittedInfo, error) GetBranchProtectionRules(ctx context.Context, repositoryID string) (*graveler.BranchProtectionRules, error) DeleteBranchProtectionRule(ctx context.Context, repositoryID string, pattern string) error CreateBranchProtectionRule(ctx context.Context, repositoryID string, pattern string, blockedActions []graveler.BranchProtectionBlockedAction) error // SetLinkAddress to validate single use limited in time of a given physical address SetLinkAddress(ctx context.Context, repository, token string) error VerifyLinkAddress(ctx context.Context, repository, token string) error DeleteExpiredLinkAddresses(ctx context.Context) io.Closer }
type LogParams ¶ added in v0.54.0
type LogParams struct { PathList []PathRecord FromReference string Amount int Limit bool FirstParent bool }
type Mark ¶ added in v0.65.0
Mark stands for pagination information when listing objects from the blockstore. It is used for server-client communication on the status of range ingestion.
type PathRecord ¶ added in v0.54.0
type PrepareGCUncommittedInfo ¶ added in v0.85.0
type PrepareGCUncommittedInfo struct { RunID string `json:"run_id"` Location string `json:"location"` Filename string `json:"filename"` Mark *GCUncommittedMark }
type Repository ¶
type RevertParams ¶
type Store ¶
type Store interface { graveler.KeyValueStore graveler.VersionController graveler.Dumper graveler.Loader graveler.Plumbing }
type UncommittedIterator ¶ added in v0.85.0
type UncommittedIterator struct {
// contains filtered or unexported fields
}
func NewUncommittedIterator ¶ added in v0.85.0
func NewUncommittedIterator(ctx context.Context, store Store, repository *graveler.RepositoryRecord) (*UncommittedIterator, error)
func (*UncommittedIterator) Close ¶ added in v0.85.0
func (u *UncommittedIterator) Close()
func (*UncommittedIterator) Err ¶ added in v0.85.0
func (u *UncommittedIterator) Err() error
func (*UncommittedIterator) Next ¶ added in v0.85.0
func (u *UncommittedIterator) Next() bool
Next returns the next entry - if entryItr is still valid - gets the next value from it otherwise call u.next
func (*UncommittedIterator) SeekGE ¶ added in v0.85.0
func (u *UncommittedIterator) SeekGE(branchID graveler.BranchID, id Path)
func (*UncommittedIterator) Value ¶ added in v0.85.0
func (u *UncommittedIterator) Value() *UncommittedRecord
type UncommittedParquetObject ¶ added in v0.85.0
type UncommittedRecord ¶ added in v0.85.0
type UncommittedRecord struct { *EntryRecord // contains filtered or unexported fields }
type UncommittedWriter ¶ added in v0.85.0
type UncommittedWriter struct {
// contains filtered or unexported fields
}
UncommittedWriter wraps io.Writer and tracks the total size of writes done on this writer Used to get the current file size written without expensive calls to Flush and Stat
func NewUncommittedWriter ¶ added in v0.85.0
func NewUncommittedWriter(writer io.Writer) *UncommittedWriter
func (*UncommittedWriter) Size ¶ added in v0.85.0
func (w *UncommittedWriter) Size() int64
type WalkerFactory ¶ added in v0.65.0
type WalkerFactory interface {
GetWalker(ctx context.Context, opts store.WalkerOptions) (*store.WalkerWrapper, error)
}
WalkerFactory provides an abstraction for creating Walker
Source Files ¶
- actions_output_writer.go
- actions_source.go
- catalog.go
- catalog.pb.go
- diff.go
- entry.go
- entry_diff_iterator.go
- entry_listing_iterator.go
- entry_value_iterator.go
- errors.go
- gc_write_uncommitted.go
- import.go
- interface.go
- model.go
- prefix_iterator.go
- uncommitted_iterator.go
- validate.go
- value_entry_iterator.go
- walk_entry_iterator.go