Versions in this module Expand all Collapse all v0 v0.6.1 Jun 12, 2020 Changes in this version + const AutoCommitSessionVar + const BitTypeMaxBits + const BitTypeMinBits + const CharacterSet_armscii8 + const CharacterSet_ascii + const CharacterSet_big5 + const CharacterSet_binary + const CharacterSet_cp1250 + const CharacterSet_cp1251 + const CharacterSet_cp1256 + const CharacterSet_cp1257 + const CharacterSet_cp850 + const CharacterSet_cp852 + const CharacterSet_cp866 + const CharacterSet_cp932 + const CharacterSet_dec8 + const CharacterSet_eucjpms + const CharacterSet_euckr + const CharacterSet_gb18030 + const CharacterSet_gb2312 + const CharacterSet_gbk + const CharacterSet_geostd8 + const CharacterSet_greek + const CharacterSet_hebrew + const CharacterSet_hp8 + const CharacterSet_keybcs2 + const CharacterSet_koi8r + const CharacterSet_koi8u + const CharacterSet_latin1 + const CharacterSet_latin2 + const CharacterSet_latin5 + const CharacterSet_latin7 + const CharacterSet_macce + const CharacterSet_macroman + const CharacterSet_sjis + const CharacterSet_swe7 + const CharacterSet_tis620 + const CharacterSet_ucs2 + const CharacterSet_ujis + const CharacterSet_utf16 + const CharacterSet_utf16le + const CharacterSet_utf32 + const CharacterSet_utf8 + const CharacterSet_utf8mb3 + const CharacterSet_utf8mb4 + const ChecksumKey + const Collation_Default + const Collation_armscii8_bin + const Collation_armscii8_general_ci + const Collation_ascii_bin + const Collation_ascii_general_ci + const Collation_big5_bin + const Collation_big5_chinese_ci + const Collation_binary + const Collation_cp1250_bin + const Collation_cp1250_croatian_ci + const Collation_cp1250_czech_cs + const Collation_cp1250_general_ci + const Collation_cp1250_polish_ci + const Collation_cp1251_bin + const Collation_cp1251_bulgarian_ci + const Collation_cp1251_general_ci + const Collation_cp1251_general_cs + const Collation_cp1251_ukrainian_ci + const Collation_cp1256_bin + const Collation_cp1256_general_ci + const Collation_cp1257_bin + const Collation_cp1257_general_ci + const Collation_cp1257_lithuanian_ci + const Collation_cp850_bin + const Collation_cp850_general_ci + const Collation_cp852_bin + const Collation_cp852_general_ci + const Collation_cp866_bin + const Collation_cp866_general_ci + const Collation_cp932_bin + const Collation_cp932_japanese_ci + const Collation_dec8_bin + const Collation_dec8_swedish_ci + const Collation_eucjpms_bin + const Collation_eucjpms_japanese_ci + const Collation_euckr_bin + const Collation_euckr_korean_ci + const Collation_gb18030_bin + const Collation_gb18030_chinese_ci + const Collation_gb18030_unicode_520_ci + const Collation_gb2312_bin + const Collation_gb2312_chinese_ci + const Collation_gbk_bin + const Collation_gbk_chinese_ci + const Collation_geostd8_bin + const Collation_geostd8_general_ci + const Collation_greek_bin + const Collation_greek_general_ci + const Collation_hebrew_bin + const Collation_hebrew_general_ci + const Collation_hp8_bin + const Collation_hp8_english_ci + const Collation_keybcs2_bin + const Collation_keybcs2_general_ci + const Collation_koi8r_bin + const Collation_koi8r_general_ci + const Collation_koi8u_bin + const Collation_koi8u_general_ci + const Collation_latin1_bin + const Collation_latin1_danish_ci + const Collation_latin1_general_ci + const Collation_latin1_general_cs + const Collation_latin1_german1_ci + const Collation_latin1_german2_ci + const Collation_latin1_spanish_ci + const Collation_latin1_swedish_ci + const Collation_latin2_bin + const Collation_latin2_croatian_ci + const Collation_latin2_czech_cs + const Collation_latin2_general_ci + const Collation_latin2_hungarian_ci + const Collation_latin5_bin + const Collation_latin5_turkish_ci + const Collation_latin7_bin + const Collation_latin7_estonian_cs + const Collation_latin7_general_ci + const Collation_latin7_general_cs + const Collation_macce_bin + const Collation_macce_general_ci + const Collation_macroman_bin + const Collation_macroman_general_ci + const Collation_sjis_bin + const Collation_sjis_japanese_ci + const Collation_swe7_bin + const Collation_swe7_swedish_ci + const Collation_tis620_bin + const Collation_tis620_thai_ci + const Collation_ucs2_bin + const Collation_ucs2_croatian_ci + const Collation_ucs2_czech_ci + const Collation_ucs2_danish_ci + const Collation_ucs2_esperanto_ci + const Collation_ucs2_estonian_ci + const Collation_ucs2_general_ci + const Collation_ucs2_general_mysql500_ci + const Collation_ucs2_german2_ci + const Collation_ucs2_hungarian_ci + const Collation_ucs2_icelandic_ci + const Collation_ucs2_latvian_ci + const Collation_ucs2_lithuanian_ci + const Collation_ucs2_persian_ci + const Collation_ucs2_polish_ci + const Collation_ucs2_roman_ci + const Collation_ucs2_romanian_ci + const Collation_ucs2_sinhala_ci + const Collation_ucs2_slovak_ci + const Collation_ucs2_slovenian_ci + const Collation_ucs2_spanish2_ci + const Collation_ucs2_spanish_ci + const Collation_ucs2_swedish_ci + const Collation_ucs2_turkish_ci + const Collation_ucs2_unicode_520_ci + const Collation_ucs2_unicode_ci + const Collation_ucs2_vietnamese_ci + const Collation_ujis_bin + const Collation_ujis_japanese_ci + const Collation_utf16_bin + const Collation_utf16_croatian_ci + const Collation_utf16_czech_ci + const Collation_utf16_danish_ci + const Collation_utf16_esperanto_ci + const Collation_utf16_estonian_ci + const Collation_utf16_general_ci + const Collation_utf16_german2_ci + const Collation_utf16_hungarian_ci + const Collation_utf16_icelandic_ci + const Collation_utf16_latvian_ci + const Collation_utf16_lithuanian_ci + const Collation_utf16_persian_ci + const Collation_utf16_polish_ci + const Collation_utf16_roman_ci + const Collation_utf16_romanian_ci + const Collation_utf16_sinhala_ci + const Collation_utf16_slovak_ci + const Collation_utf16_slovenian_ci + const Collation_utf16_spanish2_ci + const Collation_utf16_spanish_ci + const Collation_utf16_swedish_ci + const Collation_utf16_turkish_ci + const Collation_utf16_unicode_520_ci + const Collation_utf16_unicode_ci + const Collation_utf16_vietnamese_ci + const Collation_utf16le_bin + const Collation_utf16le_general_ci + const Collation_utf32_bin + const Collation_utf32_croatian_ci + const Collation_utf32_czech_ci + const Collation_utf32_danish_ci + const Collation_utf32_esperanto_ci + const Collation_utf32_estonian_ci + const Collation_utf32_general_ci + const Collation_utf32_german2_ci + const Collation_utf32_hungarian_ci + const Collation_utf32_icelandic_ci + const Collation_utf32_latvian_ci + const Collation_utf32_lithuanian_ci + const Collation_utf32_persian_ci + const Collation_utf32_polish_ci + const Collation_utf32_roman_ci + const Collation_utf32_romanian_ci + const Collation_utf32_sinhala_ci + const Collation_utf32_slovak_ci + const Collation_utf32_slovenian_ci + const Collation_utf32_spanish2_ci + const Collation_utf32_spanish_ci + const Collation_utf32_swedish_ci + const Collation_utf32_turkish_ci + const Collation_utf32_unicode_520_ci + const Collation_utf32_unicode_ci + const Collation_utf32_vietnamese_ci + const Collation_utf8_bin + const Collation_utf8_croatian_ci + const Collation_utf8_czech_ci + const Collation_utf8_danish_ci + const Collation_utf8_esperanto_ci + const Collation_utf8_estonian_ci + const Collation_utf8_general_ci + const Collation_utf8_general_mysql500_ci + const Collation_utf8_german2_ci + const Collation_utf8_hungarian_ci + const Collation_utf8_icelandic_ci + const Collation_utf8_latvian_ci + const Collation_utf8_lithuanian_ci + const Collation_utf8_persian_ci + const Collation_utf8_polish_ci + const Collation_utf8_roman_ci + const Collation_utf8_romanian_ci + const Collation_utf8_sinhala_ci + const Collation_utf8_slovak_ci + const Collation_utf8_slovenian_ci + const Collation_utf8_spanish2_ci + const Collation_utf8_spanish_ci + const Collation_utf8_swedish_ci + const Collation_utf8_tolower_ci + const Collation_utf8_turkish_ci + const Collation_utf8_unicode_520_ci + const Collation_utf8_unicode_ci + const Collation_utf8_vietnamese_ci + const Collation_utf8mb3_bin + const Collation_utf8mb3_croatian_ci + const Collation_utf8mb3_czech_ci + const Collation_utf8mb3_danish_ci + const Collation_utf8mb3_esperanto_ci + const Collation_utf8mb3_estonian_ci + const Collation_utf8mb3_general_ci + const Collation_utf8mb3_general_mysql500_ci + const Collation_utf8mb3_german2_ci + const Collation_utf8mb3_hungarian_ci + const Collation_utf8mb3_icelandic_ci + const Collation_utf8mb3_latvian_ci + const Collation_utf8mb3_lithuanian_ci + const Collation_utf8mb3_persian_ci + const Collation_utf8mb3_polish_ci + const Collation_utf8mb3_roman_ci + const Collation_utf8mb3_romanian_ci + const Collation_utf8mb3_sinhala_ci + const Collation_utf8mb3_slovak_ci + const Collation_utf8mb3_slovenian_ci + const Collation_utf8mb3_spanish2_ci + const Collation_utf8mb3_spanish_ci + const Collation_utf8mb3_swedish_ci + const Collation_utf8mb3_tolower_ci + const Collation_utf8mb3_turkish_ci + const Collation_utf8mb3_unicode_520_ci + const Collation_utf8mb3_unicode_ci + const Collation_utf8mb3_vietnamese_ci + const Collation_utf8mb4_0900_ai_ci + const Collation_utf8mb4_0900_as_ci + const Collation_utf8mb4_0900_as_cs + const Collation_utf8mb4_0900_bin + const Collation_utf8mb4_bin + const Collation_utf8mb4_croatian_ci + const Collation_utf8mb4_cs_0900_ai_ci + const Collation_utf8mb4_cs_0900_as_cs + const Collation_utf8mb4_czech_ci + const Collation_utf8mb4_da_0900_ai_ci + const Collation_utf8mb4_da_0900_as_cs + const Collation_utf8mb4_danish_ci + const Collation_utf8mb4_de_pb_0900_ai_ci + const Collation_utf8mb4_de_pb_0900_as_cs + const Collation_utf8mb4_eo_0900_ai_ci + const Collation_utf8mb4_eo_0900_as_cs + const Collation_utf8mb4_es_0900_ai_ci + const Collation_utf8mb4_es_0900_as_cs + const Collation_utf8mb4_es_trad_0900_ai_ci + const Collation_utf8mb4_es_trad_0900_as_cs + const Collation_utf8mb4_esperanto_ci + const Collation_utf8mb4_estonian_ci + const Collation_utf8mb4_et_0900_ai_ci + const Collation_utf8mb4_et_0900_as_cs + const Collation_utf8mb4_general_ci + const Collation_utf8mb4_german2_ci + const Collation_utf8mb4_hr_0900_ai_ci + const Collation_utf8mb4_hr_0900_as_cs + const Collation_utf8mb4_hu_0900_ai_ci + const Collation_utf8mb4_hu_0900_as_cs + const Collation_utf8mb4_hungarian_ci + const Collation_utf8mb4_icelandic_ci + const Collation_utf8mb4_is_0900_ai_ci + const Collation_utf8mb4_is_0900_as_cs + const Collation_utf8mb4_ja_0900_as_cs + const Collation_utf8mb4_ja_0900_as_cs_ks + const Collation_utf8mb4_la_0900_ai_ci + const Collation_utf8mb4_la_0900_as_cs + const Collation_utf8mb4_latvian_ci + const Collation_utf8mb4_lithuanian_ci + const Collation_utf8mb4_lt_0900_ai_ci + const Collation_utf8mb4_lt_0900_as_cs + const Collation_utf8mb4_lv_0900_ai_ci + const Collation_utf8mb4_lv_0900_as_cs + const Collation_utf8mb4_persian_ci + const Collation_utf8mb4_pl_0900_ai_ci + const Collation_utf8mb4_pl_0900_as_cs + const Collation_utf8mb4_polish_ci + const Collation_utf8mb4_ro_0900_ai_ci + const Collation_utf8mb4_ro_0900_as_cs + const Collation_utf8mb4_roman_ci + const Collation_utf8mb4_romanian_ci + const Collation_utf8mb4_ru_0900_ai_ci + const Collation_utf8mb4_ru_0900_as_cs + const Collation_utf8mb4_sinhala_ci + const Collation_utf8mb4_sk_0900_ai_ci + const Collation_utf8mb4_sk_0900_as_cs + const Collation_utf8mb4_sl_0900_ai_ci + const Collation_utf8mb4_sl_0900_as_cs + const Collation_utf8mb4_slovak_ci + const Collation_utf8mb4_slovenian_ci + const Collation_utf8mb4_spanish2_ci + const Collation_utf8mb4_spanish_ci + const Collation_utf8mb4_sv_0900_ai_ci + const Collation_utf8mb4_sv_0900_as_cs + const Collation_utf8mb4_swedish_ci + const Collation_utf8mb4_tr_0900_ai_ci + const Collation_utf8mb4_tr_0900_as_cs + const Collation_utf8mb4_turkish_ci + const Collation_utf8mb4_unicode_520_ci + const Collation_utf8mb4_unicode_ci + const Collation_utf8mb4_vi_0900_ai_ci + const Collation_utf8mb4_vi_0900_as_cs + const Collation_utf8mb4_vietnamese_ci + const Collation_utf8mb4_zh_0900_as_cs + const CollationsTableName + const ColumnStatisticsTableName + const ColumnsTableName + const CurrentDBSessionVar + const DateLayout + const DecimalTypeMaxPrecision + const DecimalTypeMaxScale + const DefaultCharacterSet + const DefaultCollation + const EnumTypeMaxElements + const EnumTypeMinElements + const EventsTableName + const False + const FilesTableName + const IndexBatchSize + const InformationSchemaDatabaseName + const KeyColumnUsageTableName + const OkResultColumnName + const QueryKey + const ReferentialConstraintsTableName + const RoutinesTableName + const SchemataTableName + const SetTypeMaxElements + const StatisticsTableName + const TableConstraintsTableName + const TablesTableName + const TimestampDatetimeLayout + const TriggersTableName + const True + const UserPrivilegesTableName + const ViewsTableName + var Blob = MustCreateBinary(sqltypes.Blob, textBlobMax) + var Boolean = Int8 + var Date = MustCreateDatetimeType(sqltypes.Date) + var Datetime = MustCreateDatetimeType(sqltypes.Datetime) + var ErrAsOfNotSupported = errors.NewKind("AS OF not supported for database %s") + var ErrBinaryCollation = errors.NewKind("binary types must have the binary collation") + var ErrCharacterSetNotSupported = errors.NewKind("Unknown character set: %v") + var ErrChildrenAlreadyWritten = errors.New("treeprinter: children already written") + var ErrCollationNotSupported = errors.NewKind("Unknown collation: %v") + var ErrConvertToDecimalLimit = errors.NewKind("value of Decimal is too large for type") + var ErrConvertToSQL = errors.NewKind("incompatible conversion to SQL type: %s") + var ErrConvertingToDecimal = errors.NewKind("value %v is not a valid Decimal") + var ErrConvertingToEnum = errors.NewKind("value %v is not valid for this Enum") + var ErrConvertingToSet = errors.NewKind("value %v is not valid for this set") + var ErrConvertingToTime = errors.NewKind("value %q can't be converted to time.Time") + var ErrConvertingToTimeOutOfRange = errors.NewKind("value %q is outside of %v range") + var ErrDatabaseNotFound = errors.NewKind("database not found: %s") + var ErrDeleteRowNotFound = errors.NewKind("row was not found when attempting to delete") + var ErrDuplicateAliasOrTable = errors.NewKind("Not unique table/alias: %s") + var ErrDuplicateEntrySet = errors.NewKind("duplicate entry: %v") + var ErrExistingView = errors.NewKind("the view %s.%s already exists in the registry") + var ErrFunctionAlreadyRegistered = errors.NewKind("function '%s' is already registered") + var ErrFunctionNotFound = errors.NewKind("function: '%s' not found") + var ErrIncompatibleAsOf = errors.NewKind("incompatible use of AS OF: %s") + var ErrIndexDeleteInvalidStatus = errors.NewKind("can't delete index %q because it's not ready for removal") + var ErrIndexExpressionAlreadyRegistered = errors.NewKind("there is already an index registered for the expressions: %s") + var ErrIndexIDAlreadyRegistered = errors.NewKind("an index with id %q has already been registered") + var ErrIndexNotFound = errors.NewKind("index %q was not found") + var ErrInvalidArgumentNumber = errors.NewKind("function '%s' expected %v arguments, %v received") + var ErrInvalidBaseType = errors.NewKind("%v is not a valid %v base type") + var ErrInvalidChildType = errors.NewKind("%T: invalid child type, got %T, expected %T") + var ErrInvalidChildrenNumber = errors.NewKind("%T: invalid children number, got %d, expected %d") + var ErrInvalidColumnNumber = errors.NewKind("tuple should contain %d column(s), but has %d") + var ErrInvalidSetValue = errors.NewKind("value %v was not found in the set") + var ErrInvalidType = errors.NewKind("invalid type: %s") + var ErrKeyNotFound = errors.NewKind("memory: key %d not found in cache") + var ErrLengthBeyondLimit = errors.NewKind("string is too large for column") + var ErrLengthTooLarge = errors.NewKind("length is %v but max allowed is %v") + var ErrMarshalNullDecimal = errors.NewKind("Decimal cannot marshal a null value") + var ErrNoDatabaseSelected = errors.NewKind("no database selected") + var ErrNoMemoryAvailable = errors.NewKind("no memory available") + var ErrNodeAlreadyWritten = errors.New("treeprinter: node already written") + var ErrNodeNotWritten = errors.New("treeprinter: a child was written before the node") + var ErrNonExistingView = errors.NewKind("the view %s.%s does not exist in the registry") + var ErrNotArray = errors.NewKind("value of type %T is not an array") + var ErrNotGenerator = errors.NewKind("cannot convert value of type %T to a generator") + var ErrNotTuple = errors.NewKind("value of type %T is not a tuple") + var ErrOutOfRange = errors.NewKind("%v out of range for %v") + var ErrPidAlreadyUsed = errors.NewKind("pid %d is already in use") + var ErrTableAlreadyExists = errors.NewKind("table with name %s already exists") + var ErrTableNotFound = errors.NewKind("table not found: %s") + var ErrTooLargeForSet = errors.NewKind(`value "%v" is too large for this set`) + var ErrUnexpectedRowLength = errors.NewKind("expected %d values, got %d") + var ErrUnexpectedType = errors.NewKind("value at %d has unexpected type: %s") + var ErrUniqueKeyViolation = errors.NewKind("duplicate unique key for %s") + var ErrUnmarshallingEnum = errors.NewKind("value %v is not a marshalled value for this Enum") + var Float32 = MustCreateNumberType(sqltypes.Float32) + var Float64 = MustCreateNumberType(sqltypes.Float64) + var Int16 = MustCreateNumberType(sqltypes.Int16) + var Int24 = MustCreateNumberType(sqltypes.Int24) + var Int32 = MustCreateNumberType(sqltypes.Int32) + var Int64 = MustCreateNumberType(sqltypes.Int64) + var Int8 = MustCreateNumberType(sqltypes.Int8) + var LongBlob = MustCreateBinary(sqltypes.Blob, longTextBlobMax) + var LongText = MustCreateStringWithDefaults(sqltypes.Text, longTextBlobMax) + var MediumBlob = MustCreateBinary(sqltypes.Blob, mediumTextBlobMax) + var MediumText = MustCreateStringWithDefaults(sqltypes.Text, ...) + var OkResultColumnType = Int64 + var OkResultSchema = Schema + var Text = MustCreateStringWithDefaults(sqltypes.Text, textBlobMax / Collation_Default.CharacterSet().MaxLength()) + var Timestamp = MustCreateDatetimeType(sqltypes.Timestamp) + var TimestampDatetimeLayouts = []string + var TinyBlob = MustCreateBinary(sqltypes.Blob, tinyTextBlobMax) + var TinyText = MustCreateStringWithDefaults(sqltypes.Text, tinyTextBlobMax / Collation_Default.CharacterSet().MaxLength()) + var Uint16 = MustCreateNumberType(sqltypes.Uint16) + var Uint24 = MustCreateNumberType(sqltypes.Uint24) + var Uint32 = MustCreateNumberType(sqltypes.Uint32) + var Uint64 = MustCreateNumberType(sqltypes.Uint64) + var Uint8 = MustCreateNumberType(sqltypes.Uint8) + func AreComparable(types ...Type) bool + func CacheKey(v interface{}) uint64 + func ConvertToBool(v interface{}) (bool, error) + func DBTableIter(ctx *Context, db Database, cb func(Table) (cont bool, err error)) error + func DefaultSessionConfig() map[string]TypedValue + func EvaluateCondition(ctx *Context, cond Expression, row Row) (bool, error) + func GetTableNameInsensitive(tblName string, tableNames []string) (string, bool) + func HasAvailableMemory(r Reporter) bool + func HasDefaultValue(s Session, key string) (bool, interface{}) + func Inspect(expr Expression, f func(Expression) bool) + func IsArray(t Type) bool + func IsBlob(t Type) bool + func IsDecimal(t Type) bool + func IsFloat(t Type) bool + func IsInteger(t Type) bool + func IsNull(ex Expression) bool + func IsNumber(t Type) bool + func IsSigned(t Type) bool + func IsText(t Type) bool + func IsTextOnly(t Type) bool + func IsTime(t Type) bool + func IsTuple(t Type) bool + func IsUnsigned(t Type) bool + func NumColumns(t Type) int + func ValidateTime(t time.Time) interface + func Walk(v Visitor, expr Expression) + type Aggregation interface + Merge func(ctx *Context, buffer, partial Row) error + NewBuffer func() Row + Update func(ctx *Context, buffer, row Row) error + type AlterableTable interface + AddColumn func(ctx *Context, column *Column, order *ColumnOrder) error + DropColumn func(ctx *Context, columnName string) error + ModifyColumn func(ctx *Context, columnName string, column *Column, order *ColumnOrder) error + type AscendIndex interface + AscendGreaterOrEqual func(keys ...interface{}) (IndexLookup, error) + AscendLessThan func(keys ...interface{}) (IndexLookup, error) + AscendRange func(greaterOrEqual, lessThan []interface{}) (IndexLookup, error) + type AsyncNode interface + IsAsync func() bool + type BaseSession struct + func (s *BaseSession) Address() string + func (s *BaseSession) ClearWarnings() + func (s *BaseSession) Client() Client + func (s *BaseSession) CommitTransaction(*Context) error + func (s *BaseSession) Get(key string) (Type, interface{}) + func (s *BaseSession) GetAll() map[string]TypedValue + func (s *BaseSession) GetCurrentDatabase() string + func (s *BaseSession) ID() uint32 + func (s *BaseSession) Set(ctx context.Context, key string, typ Type, value interface{}) error + func (s *BaseSession) SetCurrentDatabase(dbName string) + func (s *BaseSession) Warn(warn *Warning) + func (s *BaseSession) WarningCount() uint16 + func (s *BaseSession) Warnings() []*Warning + type BitType interface + NumberOfBits func() uint8 + func CreateBitType(numOfBits uint8) (BitType, error) + func MustCreateBitType(numOfBits uint8) BitType + type Catalog struct + func NewCatalog() *Catalog + func (c *Catalog) AddDatabase(db Database) + func (c *Catalog) AllDatabases() Databases + func (c *Catalog) Database(db string) (Database, error) + func (c *Catalog) HasDB(db string) bool + func (c *Catalog) LockTable(ctx *Context, table string) + func (c *Catalog) Table(ctx *Context, db, table string) (Table, error) + func (c *Catalog) TableAsOf(ctx *Context, db, table string, time interface{}) (Table, error) + func (c *Catalog) UnlockTables(ctx *Context, id uint32) error + type CharacterSet string + func ParseCharacterSet(str string) (CharacterSet, error) + func (cs CharacterSet) BinaryCollation() Collation + func (cs CharacterSet) DefaultCollation() Collation + func (cs CharacterSet) Description() string + func (cs CharacterSet) MaxLength() int64 + func (cs CharacterSet) String() string + type Checksumable interface + Checksum func() (string, error) + type Client struct + Address string + User string + type Closer interface + Close func(*Context) error + type Collation string + func ParseCollation(characterSetStr *string, collationStr *string, binaryAttribute bool) (Collation, error) + func (c Collation) CharacterSet() CharacterSet + func (c Collation) String() string + func (c Collation) WorksWithCharacterSet(cs CharacterSet) bool + type Column struct + Comment string + Default interface{} + Name string + Nullable bool + PrimaryKey bool + Source string + Type Type + func (c *Column) Check(v interface{}) bool + func (c *Column) Equals(c2 *Column) bool + type ColumnOrder struct + AfterColumn string + First bool + type Context struct + Memory *MemoryManager + func NewContext(ctx context.Context, opts ...ContextOption) *Context + func NewEmptyContext() *Context + func (c *Context) ApplyOpts(opts ...ContextOption) + func (c *Context) Error(code int, msg string, args ...interface{}) + func (c *Context) Pid() uint64 + func (c *Context) Query() string + func (c *Context) RootSpan() opentracing.Span + func (c *Context) Span(opName string, opts ...opentracing.StartSpanOption) (opentracing.Span, *Context) + func (c *Context) Warn(code int, msg string, args ...interface{}) + func (c *Context) WithContext(ctx context.Context) *Context + func (c *Context) WithCurrentDB(db string) *Context + type ContextOption func(*Context) + func WithIndexRegistry(ir *IndexRegistry) ContextOption + func WithMemoryManager(m *MemoryManager) ContextOption + func WithPid(pid uint64) ContextOption + func WithQuery(q string) ContextOption + func WithRootSpan(s opentracing.Span) ContextOption + func WithSession(s Session) ContextOption + func WithTracer(t opentracing.Tracer) ContextOption + func WithViewRegistry(vr *ViewRegistry) ContextOption + type Database interface + GetTableInsensitive func(ctx *Context, tblName string) (Table, bool, error) + GetTableNames func(ctx *Context) ([]string, error) + func NewInformationSchemaDatabase(cat *Catalog) Database + type Databaser interface + Database func() Database + WithDatabase func(Database) (Node, error) + type Databases []Database + func (d *Databases) Add(db Database) + func (d Databases) Database(name string) (Database, error) + func (d Databases) Table(ctx *Context, dbName string, tableName string) (Table, error) + func (d Databases) TableAsOf(ctx *Context, dbName string, tableName string, asOf interface{}) (Table, error) + type DatetimeType interface + ConvertWithoutRangeCheck func(v interface{}) (time.Time, error) + MaximumTime func() time.Time + MinimumTime func() time.Time + func CreateDatetimeType(baseType query.Type) (DatetimeType, error) + func MustCreateDatetimeType(baseType query.Type) DatetimeType + type DecimalType interface + ConvertToDecimal func(v interface{}) (decimal.NullDecimal, error) + ExclusiveUpperBound func() decimal.Decimal + MaximumScale func() uint8 + Precision func() uint8 + Scale func() uint8 + func CreateDecimalType(precision uint8, scale uint8) (DecimalType, error) + func MustCreateDecimalType(precision uint8, scale uint8) DecimalType + type DeletableTable interface + Deleter func(*Context) RowDeleter + type DescendIndex interface + DescendGreater func(keys ...interface{}) (IndexLookup, error) + DescendLessOrEqual func(keys ...interface{}) (IndexLookup, error) + DescendRange func(lessOrEqual, greaterThan []interface{}) (IndexLookup, error) + type Disposable interface + Dispose func() + type DisposeFunc func() + type DriverIndex interface + Driver func() string + type DriverIndexLookup interface + Indexes func() []string + Values func(Partition) (IndexValueIter, error) + type DriverIndexableTable interface + IndexKeyValues func(*Context, []string) (PartitionIndexKeyValueIter, error) + type EnumType interface + At func(index int) (string, bool) + CharacterSet func() CharacterSet + Collation func() Collation + ConvertToIndex func(v interface{}) (int, error) + IndexOf func(v string) int + Marshal func(v interface{}) (int64, error) + NumberOfElements func() uint16 + Unmarshal func(v int64) (string, error) + Values func() []string + func CreateEnumType(values []string, collation Collation) (EnumType, error) + func MustCreateEnumType(values []string, collation Collation) EnumType + type Expression interface + Children func() []Expression + Eval func(*Context, Row) (interface{}, error) + IsNullable func() bool + Type func() Type + WithChildren func(...Expression) (Expression, error) + type Expressioner interface + Expressions func() []Expression + WithExpressions func(...Expression) (Node, error) + type FilteredTable interface + Filters func() []Expression + HandledFilters func(filters []Expression) []Expression + WithFilters func(filters []Expression) Table + type ForeignKeyAlterableTable interface + CreateForeignKey func(ctx *Context, fkName string, columns []string, referencedTable string, ...) error + DropForeignKey func(ctx *Context, fkName string) error + type ForeignKeyReferenceOption string + const ForeignKeyReferenceOption_Cascade + const ForeignKeyReferenceOption_DefaultAction + const ForeignKeyReferenceOption_NoAction + const ForeignKeyReferenceOption_Restrict + const ForeignKeyReferenceOption_SetDefault + const ForeignKeyReferenceOption_SetNull + type Freeable interface + Free func() + type Function interface + Call func(...Expression) (Expression, error) + type Function0 struct + Fn func() Expression + Name string + func (fn Function0) Call(args ...Expression) (Expression, error) + type Function1 struct + Fn func(e Expression) Expression + Name string + func (fn Function1) Call(args ...Expression) (Expression, error) + type Function2 struct + Fn func(e1, e2 Expression) Expression + Name string + func (fn Function2) Call(args ...Expression) (Expression, error) + type Function3 struct + Fn func(e1, e2, e3 Expression) Expression + Name string + func (fn Function3) Call(args ...Expression) (Expression, error) + type Function4 struct + Fn func(e1, e2, e3, e4 Expression) Expression + Name string + func (fn Function4) Call(args ...Expression) (Expression, error) + type Function5 struct + Fn func(e1, e2, e3, e4, e5 Expression) Expression + Name string + func (fn Function5) Call(args ...Expression) (Expression, error) + type Function6 struct + Fn func(e1, e2, e3, e4, e5, e6 Expression) Expression + Name string + func (fn Function6) Call(args ...Expression) (Expression, error) + type Function7 struct + Fn func(e1, e2, e3, e4, e5, e6, e7 Expression) Expression + Name string + func (fn Function7) Call(args ...Expression) (Expression, error) + type FunctionN struct + Fn func(...Expression) (Expression, error) + Name string + func (fn FunctionN) Call(args ...Expression) (Expression, error) + type FunctionRegistry map[string]Function + func NewFunctionRegistry() FunctionRegistry + func (r FunctionRegistry) Function(name string) (Function, error) + func (r FunctionRegistry) MustRegister(fn ...Function) + func (r FunctionRegistry) Register(fn ...Function) error + type Generator interface + Close func() error + Next func() (interface{}, error) + func NewArrayGenerator(array []interface{}) Generator + func ToGenerator(v interface{}) (Generator, error) + type Index interface + Database func() string + Expressions func() []string + Get func(key ...interface{}) (IndexLookup, error) + Has func(partition Partition, key ...interface{}) (bool, error) + ID func() string + Table func() string + type IndexAddressableTable interface + WithIndexLookup func(IndexLookup) Table + type IndexAlterableTable interface + CreateIndex func(ctx *Context, indexName string, using IndexUsing, constraint IndexConstraint, ...) error + DropIndex func(ctx *Context, indexName string) error + RenameIndex func(ctx *Context, fromIndexName string, toIndexName string) error + type IndexColumn struct + Length int64 + Name string + type IndexConstraint byte + const IndexConstraint_Fulltext + const IndexConstraint_None + const IndexConstraint_Spatial + const IndexConstraint_Unique + type IndexDriver interface + Create func(db, table, id string, expressions []Expression, config map[string]string) (DriverIndex, error) + Delete func(DriverIndex, PartitionIter) error + ID func() string + LoadAll func(ctx *Context, db, table string) ([]DriverIndex, error) + Save func(*Context, DriverIndex, PartitionIndexKeyValueIter) error + type IndexKeyValueIter interface + Next func() ([]interface{}, []byte, error) + type IndexLookup interface + type IndexRegistry struct + Root string + func NewIndexRegistry() *IndexRegistry + func (r *IndexRegistry) AddIndex(idx DriverIndex) (created chan<- struct{}, ready <-chan struct{}, err error) + func (r *IndexRegistry) CanRemoveIndex(idx Index) bool + func (r *IndexRegistry) CanUseIndex(idx Index) bool + func (r *IndexRegistry) DefaultIndexDriver() IndexDriver + func (r *IndexRegistry) DeleteIndex(db, id string, force bool) (<-chan struct{}, error) + func (r *IndexRegistry) ExpressionsWithIndexes(db string, exprs ...Expression) [][]Expression + func (r *IndexRegistry) HasIndexes() bool + func (r *IndexRegistry) Index(db, id string) DriverIndex + func (r *IndexRegistry) IndexByExpression(ctx *Context, db string, expr ...Expression) Index + func (r *IndexRegistry) IndexDriver(id string) IndexDriver + func (r *IndexRegistry) IndexesByTable(db, table string) []DriverIndex + func (r *IndexRegistry) LoadIndexes(ctx *Context, dbs Databases) error + func (r *IndexRegistry) MarkOutdated(idx Index) + func (r *IndexRegistry) RegisterIndexDriver(driver IndexDriver) + func (r *IndexRegistry) ReleaseIndex(idx Index) + type IndexStatus byte + const IndexNotReady + const IndexOutdated + const IndexReady + func (s IndexStatus) IsUsable() bool + func (s IndexStatus) String() string + type IndexUsing byte + const IndexUsing_BTree + const IndexUsing_Default + const IndexUsing_Hash + type IndexValueIter interface + Next func() ([]byte, error) + type IndexedTable interface + GetIndexes func(ctx *Context) ([]Index, error) + type InsertableTable interface + Inserter func(*Context) RowInserter + type JsonType interface + var JSON JsonType = jsonType{} + type KeyValueCache interface + Get func(uint64) (interface{}, error) + Put func(uint64, interface{}) error + type Lockable interface + Lock func(ctx *Context, write bool) error + Unlock func(ctx *Context, id uint32) error + type MemoryManager struct + func NewMemoryManager(r Reporter) *MemoryManager + func (m *MemoryManager) Free() + func (m *MemoryManager) HasAvailable() bool + func (m *MemoryManager) NewHistoryCache() (KeyValueCache, DisposeFunc) + func (m *MemoryManager) NewLRUCache(size uint) (KeyValueCache, DisposeFunc) + func (m *MemoryManager) NewRowsCache() (RowsCache, DisposeFunc) + type MergeableIndexLookup interface + Difference func(...IndexLookup) IndexLookup + Intersection func(...IndexLookup) IndexLookup + IsMergeable func(IndexLookup) bool + Union func(...IndexLookup) IndexLookup + type Nameable interface + Name func() string + type NegateIndex interface + Not func(keys ...interface{}) (IndexLookup, error) + type Node interface + Children func() []Node + RowIter func(*Context) (RowIter, error) + Schema func() Schema + WithChildren func(...Node) (Node, error) + type NullType interface + var ErrValueNotNil = errors.NewKind("value not nil: %#v") + var Null NullType = nullType{} + type NumberType interface + IsFloat func() bool + IsSigned func() bool + func CreateNumberType(baseType query.Type) (NumberType, error) + func MustCreateNumberType(baseType query.Type) NumberType + type OkResult struct + Info fmt.Stringer + InsertID uint64 + RowsAffected uint64 + func NewOkResult(rowsAffected int) OkResult + type OpaqueNode interface + Opaque func() bool + type Partition interface + Key func() []byte + type PartitionCounter interface + PartitionCount func(*Context) (int64, error) + type PartitionIndexKeyValueIter interface + Next func() (Partition, IndexKeyValueIter, error) + type PartitionIter interface + Next func() (Partition, error) + type PartitionProgress struct + func (p PartitionProgress) String() string + type Process struct + Connection uint32 + Kill context.CancelFunc + Pid uint64 + Progress map[string]TableProgress + Query string + StartedAt time.Time + Type ProcessType + User string + func (p *Process) Done() + func (p *Process) Seconds() uint64 + type ProcessList struct + func NewProcessList() *ProcessList + func (pl *ProcessList) AddPartitionProgress(pid uint64, tableName, partitionName string, total int64) + func (pl *ProcessList) AddProcess(ctx *Context, typ ProcessType, query string) (*Context, error) + func (pl *ProcessList) AddTableProgress(pid uint64, name string, total int64) + func (pl *ProcessList) Done(pid uint64) + func (pl *ProcessList) Kill(connID uint32) + func (pl *ProcessList) KillOnlyQueries(connID uint32) + func (pl *ProcessList) Processes() []Process + func (pl *ProcessList) RemovePartitionProgress(pid uint64, tableName, partitionName string) + func (pl *ProcessList) RemoveTableProgress(pid uint64, name string) + func (pl *ProcessList) UpdatePartitionProgress(pid uint64, tableName, partitionName string, delta int64) + func (pl *ProcessList) UpdateTableProgress(pid uint64, name string, delta int64) + type ProcessType byte + const CreateIndexProcess + const QueryProcess + func (p ProcessType) String() string + type Progress struct + Done int64 + Name string + Total int64 + type ProjectedTable interface + Projection func() []string + WithProjection func(colNames []string) Table + type ReplaceableTable interface + Replacer func(ctx *Context) RowReplacer + type Reporter interface + MaxMemory func() uint64 + UsedMemory func() uint64 + var ProcessMemory Reporter = new(processReporter) + type Resolvable interface + Resolved func() bool + type Row []interface + func (r Row) Copy() Row + func (r Row) Equals(row Row, schema Schema) (bool, error) + func NewRow(values ...interface{}) Row + func NodeToRows(ctx *Context, n Node) ([]Row, error) + func RowIterToRows(i RowIter) ([]Row, error) + type RowDeleter interface + Delete func(*Context, Row) error + type RowInserter interface + Insert func(*Context, Row) error + type RowIter interface + Close func() error + Next func() (Row, error) + func NewSpanIter(span opentracing.Span, iter RowIter) RowIter + func RowsToRowIter(rows ...Row) RowIter + type RowReplacer interface + Delete func(*Context, Row) error + Insert func(*Context, Row) error + type RowUpdater interface + Update func(ctx *Context, old Row, new Row) error + type RowsCache interface + Add func(Row) error + Get func() []Row + type Schema []*Column + func (s Schema) CheckRow(row Row) error + func (s Schema) Contains(column string, source string) bool + func (s Schema) Equals(s2 Schema) bool + func (s Schema) IndexOf(column, source string) int + type Session interface + Address func() string + ClearWarnings func() + Client func() Client + CommitTransaction func(*Context) error + Get func(key string) (Type, interface{}) + GetAll func() map[string]TypedValue + GetCurrentDatabase func() string + ID func() uint32 + Set func(ctx context.Context, key string, typ Type, value interface{}) error + SetCurrentDatabase func(dbName string) + Warn func(warn *Warning) + WarningCount func() uint16 + Warnings func() []*Warning + func NewBaseSession() Session + func NewSession(server, client, user string, id uint32) Session + type SetType interface + CharacterSet func() CharacterSet + Collation func() Collation + Marshal func(v interface{}) (uint64, error) + NumberOfElements func() uint16 + Unmarshal func(bits uint64) (string, error) + Values func() []string + func CreateSetType(values []string, collation Collation) (SetType, error) + func MustCreateSetType(values []string, collation Collation) SetType + type StringType interface + CharacterSet func() CharacterSet + Collation func() Collation + MaxByteLength func() int64 + MaxCharacterLength func() int64 + func CreateBinary(baseType query.Type, lengthHint int64) (StringType, error) + func CreateLongText(collation Collation) StringType + func CreateMediumText(collation Collation) StringType + func CreateString(baseType query.Type, length int64, collation Collation) (StringType, error) + func CreateStringWithDefaults(baseType query.Type, length int64) (StringType, error) + func CreateText(collation Collation) StringType + func CreateTinyText(collation Collation) StringType + func MustCreateBinary(baseType query.Type, lengthHint int64) StringType + func MustCreateString(baseType query.Type, length int64, collation Collation) StringType + func MustCreateStringWithDefaults(baseType query.Type, length int64) StringType + type Table interface + PartitionRows func(*Context, Partition) (RowIter, error) + Partitions func(*Context) (PartitionIter, error) + Schema func() Schema + String func() string + func GetTableInsensitive(tblName string, tables map[string]Table) (Table, bool) + type TableCreator interface + CreateTable func(ctx *Context, name string, schema Schema) error + type TableDropper interface + DropTable func(ctx *Context, name string) error + type TableProgress struct + PartitionsProgress map[string]PartitionProgress + func NewTableProgress(name string, total int64) TableProgress + func (p TableProgress) String() string + type TableRenamer interface + RenameTable func(ctx *Context, oldName, newName string) error + type TableRowIter struct + func NewTableRowIter(ctx *Context, table Table, partitions PartitionIter) *TableRowIter + func (i *TableRowIter) Close() error + func (i *TableRowIter) Next() (Row, error) + type TableWrapper interface + Underlying func() Table + type Tableable interface + Table func() string + type TimeType interface + Marshal func(v interface{}) (int64, error) + Unmarshal func(v int64) string + var ErrConvertingToTimeType = errors.NewKind("value %v is not a valid Time") + var Time TimeType = timespanType{} + type TransformExprFunc func(Expression) (Expression, error) + type TransformNodeFunc func(Node) (Node, error) + type TreePrinter struct + func NewTreePrinter() *TreePrinter + func (p *TreePrinter) String() string + func (p *TreePrinter) WriteChildren(children ...string) error + func (p *TreePrinter) WriteNode(format string, args ...interface{}) error + type Type interface + Compare func(interface{}, interface{}) (int, error) + Convert func(interface{}) (interface{}, error) + MustConvert func(interface{}) interface{} + Promote func() Type + SQL func(interface{}) (sqltypes.Value, error) + Type func() query.Type + Zero func() interface{} + func ColumnTypeToType(ct *sqlparser.ColumnType) (Type, error) + func CreateArray(underlying Type) Type + func CreateTuple(types ...Type) Type + func UnderlyingType(t Type) Type + type TypedValue struct + Typ Type + Value interface{} + type UnresolvedDatabase string + func (UnresolvedDatabase) GetTableInsensitive(ctx *Context, tblName string) (Table, bool, error) + func (UnresolvedDatabase) GetTableNames(ctx *Context) ([]string, error) + func (UnresolvedDatabase) Tables() map[string]Table + func (d UnresolvedDatabase) Name() string + type UpdatableTable interface + Updater func(ctx *Context) RowUpdater + type VersionedDatabase interface + GetTableInsensitiveAsOf func(ctx *Context, tblName string, asOf interface{}) (Table, bool, error) + GetTableNamesAsOf func(ctx *Context, asOf interface{}) ([]string, error) + type View struct + func NewView(name string, definition Node, textDefinition string) View + func (v *View) Definition() Node + func (v *View) Name() string + func (v *View) TextDefinition() string + type ViewCreator interface + CreateView func(ctx *Context, name string, selectStatement string) error + type ViewDropper interface + DropView func(ctx *Context, name string) error + type ViewKey struct + func NewViewKey(databaseName, viewName string) ViewKey + type ViewRegistry struct + func NewViewRegistry() *ViewRegistry + func (r *ViewRegistry) AllViews() map[ViewKey]View + func (r *ViewRegistry) Delete(databaseName, viewName string) error + func (r *ViewRegistry) DeleteList(keys []ViewKey, errIfNotExists bool) error + func (r *ViewRegistry) Exists(databaseName, viewName string) bool + func (r *ViewRegistry) Register(database string, view View) error + func (r *ViewRegistry) View(databaseName, viewName string) (*View, error) + func (r *ViewRegistry) ViewsInDatabase(databaseName string) (views []View) + type Visitor interface + Visit func(expr Expression) Visitor + type Warning struct + Code int + Level string + Message string + type YearType interface + var ErrConvertingToYear = errors.NewKind("value %v is not a valid Year") + var Year YearType = yearType{}