Documentation
¶
Index ¶
- Constants
- Variables
- func EmitIndexProgress(ctx context.Context, event *IndexProgressEvent)
- func ReadLine(reader LineReader) ([]byte, error)
- func WithIndexProgress(ctx context.Context, progress *IndexProgress) context.Context
- func WithIndexProgressCallback(ctx context.Context, callback IndexProgressFn) context.Context
- type AllowSmart
- type Cache
- type ColumnsHolder
- type Decoder
- type DecoderFn
- type Entry
- type ErrorType
- type Field
- func (f *Field) DatabaseTypeName() string
- func (f *Field) DecimalSize() (precision, scale int64, ok bool)
- func (f *Field) Init() error
- func (f *Field) Length() (length int64, ok bool)
- func (f *Field) Name() string
- func (f *Field) Nullable() (nullable, ok bool)
- func (f *Field) ScanType() reflect.Type
- func (f *Field) Tag() *io.Tag
- type IndexByResult
- type IndexProgress
- type IndexProgressEvent
- type IndexProgressFn
- type Indexed
- type LineReader
- type LineWriter
- type Meta
- type ParmetrizedQuery
- func (m *ParmetrizedQuery) Init()
- func (m *ParmetrizedQuery) MarshalArgs() ([]byte, error)
- func (m *ParmetrizedQuery) MarshalIdentityArgs() ([]byte, error)
- func (m *ParmetrizedQuery) WarmupIdentity() (string, []interface{}, []byte, error)
- func (m *ParmetrizedQuery) WarmupIdentityResolved() (string, []interface{}, []byte, WarmupIdentityMeta, error)
- type ProjectionField
- type ReadCloser
- type Reader
- type Recorder
- type Refresh
- type ScanTypeHolder
- type Scanner
- type ScannerFn
- type Source
- type Stats
- type Type
- type TypeMismatch
- type WarmupIdentityMeta
- type WarmupIndexer
- type WriteCloser
- type Writer
- type XTypesHolder
Constants ¶
View Source
const ( TypeReadMulti = "warmup" TypeReadSingle = "lazy" TypeWrite = "write" TypeNone = "none" ErrorNone = "" ErrorTypeTimeout = "aerospike timeout error" ErrorTypeServerGeneric = "aerospike error occured" ErrorTypeCurrentlyNotAvailable = "aerospike currently not available" )
Variables ¶
View Source
var Now = time.Now
Functions ¶
func EmitIndexProgress ¶ added in v0.24.0
func EmitIndexProgress(ctx context.Context, event *IndexProgressEvent)
func ReadLine ¶
func ReadLine(reader LineReader) ([]byte, error)
func WithIndexProgress ¶ added in v0.24.0
func WithIndexProgress(ctx context.Context, progress *IndexProgress) context.Context
func WithIndexProgressCallback ¶ added in v0.24.0
func WithIndexProgressCallback(ctx context.Context, callback IndexProgressFn) context.Context
Types ¶
type AllowSmart ¶
type AllowSmart bool
type Cache ¶
type Cache interface {
AsSource(ctx context.Context, entry *Entry) (Source, error)
AddValues(ctx context.Context, entry *Entry, values []interface{}) error
Get(ctx context.Context, sql string, args []interface{}, options ...interface{}) (*Entry, error)
AssignRows(entry *Entry, rows *sql.Rows) error
UpdateType(ctx context.Context, entry *Entry, args []interface{}) (bool, error)
Close(ctx context.Context, entry *Entry) error
Delete(todo context.Context, entry *Entry) error
Rollback(ctx context.Context, entry *Entry) error
IndexBy(ctx context.Context, db *sql.DB, column, SQL string, args []interface{}, options ...interface{}) (int, error)
}
type ColumnsHolder ¶
type ColumnsHolder struct {
// contains filtered or unexported fields
}
func NewColumnsHolder ¶
func NewColumnsHolder(entry *Entry) *ColumnsHolder
func (*ColumnsHolder) ConvertColumns ¶
func (s *ColumnsHolder) ConvertColumns() ([]io.Column, error)
type Entry ¶
type Entry struct {
Meta Meta
Data []byte // Entry is used as Iterator, Data is last streamed line.
Id string
WriteCloser *WriteCloser
ReadCloser *ReadCloser
Refresh bool
RowAdded bool
// contains filtered or unexported fields
}
type Field ¶
type Field struct {
ColumnName string
ColumnLength int64
ColumnPrecision int64
ColumnScale int64
ColumnScanType string
ColumnNullable bool
ColumnDatabaseName string
ColumnTag *io.Tag
// contains filtered or unexported fields
}
func (*Field) DatabaseTypeName ¶
func (*Field) DecimalSize ¶
type IndexByResult ¶ added in v0.24.0
type IndexProgress ¶ added in v0.24.0
func IndexProgressFromContext ¶ added in v0.24.0
func IndexProgressFromContext(ctx context.Context) (*IndexProgress, bool)
type IndexProgressEvent ¶ added in v0.24.0
type IndexProgressFn ¶ added in v0.24.0
type IndexProgressFn func(event *IndexProgressEvent)
func IndexProgressCallbackFromContext ¶ added in v0.24.0
func IndexProgressCallbackFromContext(ctx context.Context) (IndexProgressFn, bool)
type Indexed ¶
func NewIndexed ¶
func NewIndexed(columnValue interface{}) *Indexed
func (*Indexed) StringifyData ¶
type LineReader ¶
type LineWriter ¶
type LineWriter struct {
// contains filtered or unexported fields
}
func (*LineWriter) Flush ¶
func (l *LineWriter) Flush() error
type Meta ¶
type Meta struct {
SQL string
Args []byte
Type []string
Signature string
ExpiryTimeMs int
Fields []*Field
StoredFields []ProjectionField
// ProjectedIndexes maps requested result columns to stored cached row ordinals.
// It is runtime-only metadata used when reading a warmup superset as a subset.
ProjectedIndexes []int `json:"-" yaml:"-"`
URL string `json:"-" yaml:"-"`
}
func (*Meta) EffectiveFields ¶ added in v0.24.0
func (*Meta) EffectiveType ¶ added in v0.24.0
type ParmetrizedQuery ¶ added in v0.2.0
type ParmetrizedQuery struct {
By string
SQL string
IdentitySQL string
Ordered bool //SQL uses order by indexby column
Args []interface{}
IdentityArgs []interface{}
StoredFields []ProjectionField
// RequestedFields describes the caller's logical projection for warmup subset reads.
RequestedFields []ProjectionField
In []interface{}
Offset int
Limit int
OnSkip func(values []interface{}) error
// contains filtered or unexported fields
}
ParmetrizedQuery abstraction to represent data optimisation with caching and custom pagination
func (*ParmetrizedQuery) Init ¶ added in v0.2.0
func (m *ParmetrizedQuery) Init()
func (*ParmetrizedQuery) MarshalArgs ¶ added in v0.2.0
func (m *ParmetrizedQuery) MarshalArgs() ([]byte, error)
func (*ParmetrizedQuery) MarshalIdentityArgs ¶ added in v0.24.0
func (m *ParmetrizedQuery) MarshalIdentityArgs() ([]byte, error)
func (*ParmetrizedQuery) WarmupIdentity ¶ added in v0.24.0
func (m *ParmetrizedQuery) WarmupIdentity() (string, []interface{}, []byte, error)
func (*ParmetrizedQuery) WarmupIdentityResolved ¶ added in v0.24.0
func (m *ParmetrizedQuery) WarmupIdentityResolved() (string, []interface{}, []byte, WarmupIdentityMeta, error)
type ProjectionField ¶ added in v0.24.0
type ReadCloser ¶
type ReadCloser struct {
// contains filtered or unexported fields
}
func NewReadCloser ¶
func NewReadCloser(reader Reader, closer io.Closer) *ReadCloser
func (*ReadCloser) Close ¶
func (w *ReadCloser) Close() error
type Reader ¶
type Reader interface {
io.Reader
LineReader
}
type Recorder ¶
type Recorder interface {
AddValues(values []interface{})
ScanValues(values []interface{})
}
type ScanTypeHolder ¶
type ScanTypeHolder struct {
// contains filtered or unexported fields
}
func (*ScanTypeHolder) InitType ¶
func (t *ScanTypeHolder) InitType(values []interface{})
func (*ScanTypeHolder) Match ¶
func (t *ScanTypeHolder) Match(entry *Entry) bool
func (*ScanTypeHolder) Mismatch ¶ added in v0.24.0
func (t *ScanTypeHolder) Mismatch(entry *Entry) *TypeMismatch
type Scanner ¶
type Scanner struct {
// contains filtered or unexported fields
}
func NewScanner ¶
func NewScanner(typeHolder *ScanTypeHolder, recorder Recorder) *Scanner
type ScannerFn ¶
type ScannerFn func(args ...interface{}) error
func NewProjectedScanner ¶ added in v0.24.0
func NewProjectedScanner(entry *Entry, indexes []int, typeHolder *ScanTypeHolder, recorder Recorder) ScannerFn
type Stats ¶ added in v0.2.0
type Stats struct {
Type Type
RecordsCounter int
Key string
WarmupKey string
MarkerKey string
Dataset string
Namespace string
FoundWarmup bool `json:",omitempty"`
FoundLazy bool `json:",omitempty"`
ErrorType string `json:",omitempty"`
ErrorCode types.ResultCode `json:",omitempty"`
ExpiryTime *time.Time
}
type TypeMismatch ¶ added in v0.24.0
type WarmupIdentityMeta ¶ added in v0.24.0
type WarmupIndexer ¶ added in v0.24.0
type WriteCloser ¶
type WriteCloser struct {
// contains filtered or unexported fields
}
func NewWriteCloser ¶
func NewWriteCloser(writer Writer, closer io.Closer) *WriteCloser
func (*WriteCloser) Close ¶
func (w *WriteCloser) Close() error
func (*WriteCloser) Flush ¶
func (w *WriteCloser) Flush() error
type Writer ¶
func NewLineWriter ¶
type XTypesHolder ¶
type XTypesHolder struct {
// contains filtered or unexported fields
}
func NewXTypeHolder ¶
func NewXTypeHolder(entry *Entry) *XTypesHolder
func (*XTypesHolder) XTypes ¶
func (s *XTypesHolder) XTypes() []*xunsafe.Type
Source Files
¶
Click to show internal directories.
Click to hide internal directories.