btuple

package
v0.0.0-...-6120cfb Latest Latest
Warning

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

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

Documentation

Index

Constants

View Source
const SizeOfHeader = 8

Variables

View Source
var ErrInvalidSchame = errors.New("invalid schema")
View Source
var (
	ErrOutOfSpace = errors.New("run out of space")
)

Functions

func Compare

func Compare(a, b Elem) int

func NewHeader

func NewHeader(typ BTupleType, len uint32) *header

Types

type BTupleType

type BTupleType byte
const (
	SmallValueType BTupleType = 0x1
	LargeValueType BTupleType = 0x2
)

type Builder

type Builder interface {
	Reader
	Append(...Elem)
	Encode() []byte
	Write([]byte) (int, error)
	Size() int
}

func NewTupleBuilder

func NewTupleBuilder(t BTupleType, tuple ...Elem) Builder

type Elem

type Elem []byte

Elem Arbitrary byte array.

func (Elem) Clone

func (e Elem) Clone() []byte

type Modifier

type Modifier interface {
	Reader
	Set(pos int, elem Elem)
	Append(elem Elem)
	Delete(pos int)
	MergeDefaultValue(schema bschema.Reader) error
	Clone() Modifier
}

func NewModifier

func NewModifier(elems []Elem) Modifier

func NewModifierFromBytes

func NewModifierFromBytes(elems [][]byte) Modifier

type Reader

type Reader interface {
	ValueAt(pos int) Elem
	Occupied(pos int) bool
	Values() []Elem
}

func NewReader

func NewReader(data []byte) (Reader, error)

NewReader return a tuple reader. NOTES: data should be immutable.

Jump to

Keyboard shortcuts

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