schema

package
v2.0.0-rc.1+incompatible Latest Latest
Warning

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

Go to latest
Published: Jun 7, 2016 License: BSD-3-Clause Imports: 4 Imported by: 0

Documentation

Index

Constants

View Source
const (
	NoType = iota
	Sequence
)

Table types

Variables

View Source
var TypeNames = []string{
	"none",
	"sequence",
}

TypeNames allows to fetch a the type name for a table. Count must match the number of table types.

Functions

This section is empty.

Types

type Index

type Index struct {
	Name cistring.CIString
	// Columns are the columns comprising the index.
	Columns []cistring.CIString
	// Cardinality[i] is the number of distinct values of Columns[i] in the
	// table.
	Cardinality []uint64
	// DataColumns are the primary-key columns for secondary indices and
	// all the columns for the primary-key index.
	DataColumns []cistring.CIString
}

Index contains info about a table index.

func NewIndex

func NewIndex(name string) *Index

NewIndex creates a new Index.

func (*Index) AddColumn

func (idx *Index) AddColumn(name string, cardinality uint64)

AddColumn adds a column to the index.

func (*Index) FindColumn

func (idx *Index) FindColumn(name string) int

FindColumn finds a column in the index. It returns the index if found. Otherwise, it returns -1.

func (*Index) FindDataColumn

func (idx *Index) FindDataColumn(name string) int

FindDataColumn finds a data column in the index. It returns the index if found. Otherwise, it returns -1.

type Table

type Table struct {
	Name      string
	Columns   []TableColumn
	Indexes   []*Index
	PKColumns []int
	Type      int

	// These vars can be accessed concurrently.
	TableRows   sync2.AtomicInt64
	DataLength  sync2.AtomicInt64
	IndexLength sync2.AtomicInt64
	DataFree    sync2.AtomicInt64
}

Table contains info about a table.

func NewTable

func NewTable(name string) *Table

NewTable creates a new Table.

func (*Table) AddColumn

func (ta *Table) AddColumn(name string, columnType querypb.Type, defval sqltypes.Value, extra string)

AddColumn adds a column to the Table.

func (*Table) AddIndex

func (ta *Table) AddIndex(name string) (index *Index)

AddIndex adds an index to the table.

func (*Table) FindColumn

func (ta *Table) FindColumn(name string) int

FindColumn finds a column in the table. It returns the index if found. Otherwise, it returns -1.

func (*Table) GetPKColumn

func (ta *Table) GetPKColumn(index int) *TableColumn

GetPKColumn returns the pk column specified by the index.

func (*Table) SetMysqlStats

func (ta *Table) SetMysqlStats(tr, dl, il, df sqltypes.Value)

SetMysqlStats receives the values found in the mysql information_schema.tables table

type TableColumn

type TableColumn struct {
	Name    cistring.CIString
	Type    querypb.Type
	IsAuto  bool
	Default sqltypes.Value
}

TableColumn contains info about a table's column.

Jump to

Keyboard shortcuts

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