tablecodec

package
v0.0.0-...-3056823 Latest Latest
Warning

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

Go to latest
Published: Oct 27, 2016 License: Apache-2.0 Imports: 8 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CutIndexKey

func CutIndexKey(key kv.Key, colIDs []int64) (values map[int64][]byte, b []byte, err error)

CutIndexKey cuts encoded index key into colIDs to bytes slices map. The returned value b is the remaining bytes of the key which would be empty if it is unique index or handle data if it is non-unique index.

func CutRow

func CutRow(data []byte, cols map[int64]*types.FieldType) (map[int64][]byte, error)

CutRow cut encoded row into byte slices and return interested columns' byte slice. Row layout: colID1, value1, colID2, value2, .....

func DecodeColumnValue

func DecodeColumnValue(data []byte, ft *types.FieldType) (types.Datum, error)

DecodeColumnValue decodes data to a Datum according to the column info.

func DecodeIndexKey

func DecodeIndexKey(key kv.Key) ([]types.Datum, error)

DecodeIndexKey decodes datums from an index key.

func DecodeRecordKey

func DecodeRecordKey(key kv.Key) (tableID int64, handle int64, err error)

DecodeRecordKey decodes the key and gets the tableID, handle.

func DecodeRow

func DecodeRow(b []byte, cols map[int64]*types.FieldType) (map[int64]types.Datum, error)

DecodeRow decodes a byte slice into datums. Row layout: colID1, value1, colID2, value2, .....

func DecodeRowKey

func DecodeRowKey(key kv.Key) (int64, error)

DecodeRowKey decodes the key and gets the handle.

func DecodeValues

func DecodeValues(data []byte, fts []*types.FieldType, inIndex bool) ([]types.Datum, error)

DecodeValues decodes a byte slice into datums with column types.

func EncodeIndexSeekKey

func EncodeIndexSeekKey(tableID int64, idxID int64, encodedValue []byte) kv.Key

EncodeIndexSeekKey encodes an index value to kv.Key.

func EncodeRecordKey

func EncodeRecordKey(recordPrefix kv.Key, h int64) kv.Key

EncodeRecordKey encodes the recordPrefix, row handle into a kv.Key.

func EncodeRow

func EncodeRow(row []types.Datum, colIDs []int64) ([]byte, error)

EncodeRow encode row data and column ids into a slice of byte. Row layout: colID1, value1, colID2, value2, .....

func EncodeRowKey

func EncodeRowKey(tableID int64, encodedHandle []byte) kv.Key

EncodeRowKey encodes the table id and record handle into a kv.Key

func EncodeRowKeyWithHandle

func EncodeRowKeyWithHandle(tableID int64, handle int64) kv.Key

EncodeRowKeyWithHandle encodes the table id, row handle into a kv.Key

func EncodeTableIndexPrefix

func EncodeTableIndexPrefix(tableID, idxID int64) kv.Key

EncodeTableIndexPrefix encodes index prefix with tableID and idxID.

func EncodeTablePrefix

func EncodeTablePrefix(tableID int64) kv.Key

EncodeTablePrefix encodes table prefix with table ID.

func EncodeValue

func EncodeValue(raw types.Datum) ([]byte, error)

EncodeValue encodes a go value to bytes.

func GenTableIndexPrefix

func GenTableIndexPrefix(tableID int64) kv.Key

GenTableIndexPrefix composes index prefix with tableID: "t[tableID]_i".

func GenTableRecordPrefix

func GenTableRecordPrefix(tableID int64) kv.Key

GenTableRecordPrefix composes record prefix with tableID: "t[tableID]_r".

func TruncateToRowKeyLen

func TruncateToRowKeyLen(key kv.Key) kv.Key

TruncateToRowKeyLen truncates the key to row key length if the key is longer than row key.

func Unflatten

func Unflatten(datum types.Datum, ft *types.FieldType, inIndex bool) (types.Datum, error)

Unflatten converts a raw datum to a column datum.

Types

This section is empty.

Jump to

Keyboard shortcuts

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