Documentation ¶
Index ¶
- func AllRange() *noms.ReadRange
- func ClosedRange(tpl1, tpl2 types.Tuple) *noms.ReadRange
- func CustomRange(tpl1, tpl2 types.Tuple, bt1, bt2 sql.RangeBoundType) *noms.ReadRange
- func DoltIndexesFromTable(ctx context.Context, db, tbl string, t *doltdb.Table) (indexes []sql.Index, err error)
- func GetField(td val.TupleDesc, i int, tup val.Tuple) (v interface{}, err error)
- func GetGetFuncForMapIter(nbf *types.NomsBinFormat, mapItr types.MapIterator) func(ctx context.Context) (types.Tuple, types.Tuple, error)
- func GreaterOrEqualRange(tpl types.Tuple) *noms.ReadRange
- func GreaterThanRange(tpl types.Tuple) *noms.ReadRange
- func LessOrEqualRange(tpl types.Tuple) *noms.ReadRange
- func LessThanRange(tpl types.Tuple) *noms.ReadRange
- func NewIndexLookupRowIterAdapter(ctx *sql.Context, idx DoltIndex, tableData durable.Index, keyIter nomsKeyIter) (*indexLookupRowIterAdapter, error)
- func NewProllyRowIter(ctx context.Context, sch schema.Schema, rows prolly.Map, iter prolly.MapIter, ...) (sql.RowIter, error)
- func NewRangePartitionIter(ctx *sql.Context, t *doltdb.Table, lookup sql.IndexLookup) (sql.PartitionIter, error)
- func NomsRangesFromIndexLookup(lookup sql.IndexLookup) []*noms.ReadRange
- func NotNullRange() *noms.ReadRange
- func NullRange() *noms.ReadRange
- func OpenRange(tpl1, tpl2 types.Tuple) *noms.ReadRange
- func PartitionIndexedTableRows(ctx *sql.Context, idx sql.Index, part sql.Partition, ...) (sql.RowIter, error)
- func ProllyRangesFromIndexLookup(lookup sql.IndexLookup) []prolly.Range
- func PutField(tb *val.TupleBuilder, i int, v interface{}) error
- func ReadRangesEqual(nr1, nr2 *noms.ReadRange) bool
- func RowIterForIndexLookup(ctx *sql.Context, t *doltdb.Table, ilu sql.IndexLookup, ...) (sql.RowIter, error)
- func RowIterForNomsRanges(ctx *sql.Context, idx DoltIndex, ranges []*noms.ReadRange, columns []string, ...) (sql.RowIter, error)
- func RowIterForProllyRange(ctx *sql.Context, idx DoltIndex, ranges prolly.Range, ...) (sql.RowIter2, error)
- type CoveringIndexRowIterAdapter
- type DoltIndex
- type DoltMapIter
- type IndexLookupKeyIterator
- type KVGetFunc
- type KVToSqlRowConverter
- type SinglePartition
- type SinglePartitionIter
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func CustomRange ¶
func DoltIndexesFromTable ¶
func GetGetFuncForMapIter ¶
func NewIndexLookupRowIterAdapter ¶
func NewIndexLookupRowIterAdapter(ctx *sql.Context, idx DoltIndex, tableData durable.Index, keyIter nomsKeyIter) (*indexLookupRowIterAdapter, error)
NewIndexLookupRowIterAdapter returns a new indexLookupRowIterAdapter.
func NewProllyRowIter ¶
func NewRangePartitionIter ¶
func NewRangePartitionIter(ctx *sql.Context, t *doltdb.Table, lookup sql.IndexLookup) (sql.PartitionIter, error)
func NomsRangesFromIndexLookup ¶
func NomsRangesFromIndexLookup(lookup sql.IndexLookup) []*noms.ReadRange
func NotNullRange ¶
func ProllyRangesFromIndexLookup ¶
func ProllyRangesFromIndexLookup(lookup sql.IndexLookup) []prolly.Range
func PutField ¶
func PutField(tb *val.TupleBuilder, i int, v interface{}) error
PutField writes an interface{} to the ith field of the Tuple being built.
func ReadRangesEqual ¶
func RowIterForIndexLookup ¶
func RowIterForNomsRanges ¶
Types ¶
type CoveringIndexRowIterAdapter ¶
type CoveringIndexRowIterAdapter struct {
// contains filtered or unexported fields
}
func NewCoveringIndexRowIterAdapter ¶
func NewCoveringIndexRowIterAdapter(ctx *sql.Context, idx DoltIndex, keyIter *noms.NomsRangeReader, resultCols []string) *CoveringIndexRowIterAdapter
type DoltIndex ¶
type DoltIndex interface { sql.FilteredIndex Schema() schema.Schema IndexSchema() schema.Schema Format() *types.NomsBinFormat GetDurableIndexes(*sql.Context, *doltdb.Table) (durable.Index, durable.Index, error) }
func DoltIndexFromLookup ¶
func DoltIndexFromLookup(lookup sql.IndexLookup) DoltIndex
func IndexFromIndexLookup ¶
func IndexFromIndexLookup(lookup sql.IndexLookup) DoltIndex
type DoltMapIter ¶
type DoltMapIter struct {
// contains filtered or unexported fields
}
DoltMapIter uses a types.MapIterator to iterate over a types.Map and returns sql.Row instances that it reads and converts
func NewDoltMapIter ¶
func NewDoltMapIter(keyValGet KVGetFunc, closeKVGetter func() error, conv *KVToSqlRowConverter) *DoltMapIter
NewDoltMapIter returns a new DoltMapIter
type IndexLookupKeyIterator ¶
type IndexLookupKeyIterator interface { // NextKey returns the next key if it exists, and io.EOF if it does not. NextKey(ctx *sql.Context) (row.TaggedValues, error) }
type KVToSqlRowConverter ¶
type KVToSqlRowConverter struct {
// contains filtered or unexported fields
}
KVToSqlRowConverter takes noms types.Value key value pairs and converts them directly to a sql.Row. It can be configured to only process a portion of the columns and map columns to desired output columns.
func NewKVToSqlRowConverter ¶
func NewKVToSqlRowConverter(nbf *types.NomsBinFormat, tagToSqlColIdx map[uint64]int, cols []schema.Column, rowSize int) *KVToSqlRowConverter
func NewKVToSqlRowConverterForCols ¶
func NewKVToSqlRowConverterForCols(nbf *types.NomsBinFormat, sch schema.Schema) *KVToSqlRowConverter
NewKVToSqlRowConverterForCols returns a KVToSqlConverter instance based on the list of columns passed in
func (*KVToSqlRowConverter) ConvertKVToSqlRow ¶
ConvertKVToSqlRow returns a sql.Row generated from the key and value provided.
func (*KVToSqlRowConverter) ConvertKVTuplesToSqlRow ¶
ConvertKVToSqlRow returns a sql.Row generated from the key and value provided.
type SinglePartition ¶
func (SinglePartition) Key ¶
func (sp SinglePartition) Key() []byte
Key returns the key for this partition, which must uniquely identity the partition. We have only a single partition per table, so we use a constant.
type SinglePartitionIter ¶
func SinglePartitionIterFromNomsMap ¶
func SinglePartitionIterFromNomsMap(rowData durable.Index) SinglePartitionIter