Versions in this module Expand all Collapse all v0 v0.1.1 Jan 2, 2022 Changes in this version + const CommentPreventingIndexBuilding + const IndexDriverId + func EncodeIndexValue(value *IndexValue) ([]byte, error) + func NewMemoryDBProvider(dbs ...sql.Database) sql.MutableDatabaseProvider + func NewTableEditAccumulator(t *Table) tableEditAccumulator + type BaseDatabase struct + func NewViewlessDatabase(name string) *BaseDatabase + func (d *BaseDatabase) AddTable(name string, t sql.Table) + func (d *BaseDatabase) CreateTable(ctx *sql.Context, name string, schema sql.PrimaryKeySchema) error + func (d *BaseDatabase) CreateTrigger(ctx *sql.Context, definition sql.TriggerDefinition) error + func (d *BaseDatabase) DropStoredProcedure(ctx *sql.Context, name string) error + func (d *BaseDatabase) DropTable(ctx *sql.Context, name string) error + func (d *BaseDatabase) DropTrigger(ctx *sql.Context, name string) error + func (d *BaseDatabase) EnablePrimaryKeyIndexes() + func (d *BaseDatabase) GetStoredProcedures(ctx *sql.Context) ([]sql.StoredProcedureDetails, error) + func (d *BaseDatabase) GetTableInsensitive(ctx *sql.Context, tblName string) (sql.Table, bool, error) + func (d *BaseDatabase) GetTableNames(ctx *sql.Context) ([]string, error) + func (d *BaseDatabase) GetTriggers(ctx *sql.Context) ([]sql.TriggerDefinition, error) + func (d *BaseDatabase) Name() string + func (d *BaseDatabase) RenameTable(ctx *sql.Context, oldName, newName string) error + func (d *BaseDatabase) SaveStoredProcedure(ctx *sql.Context, spd sql.StoredProcedureDetails) error + func (d *BaseDatabase) Tables() map[string]sql.Table + type Database struct + func NewDatabase(name string) *Database + func (d *Database) AllViews(ctx *sql.Context) ([]sql.ViewDefinition, error) + func (d *Database) CreateView(ctx *sql.Context, name string, selectStatement string) error + func (d *Database) DropView(ctx *sql.Context, name string) error + func (d *Database) GetView(ctx *sql.Context, viewName string) (string, bool, error) + type ExpressionsIndex interface + ColumnExpressions func() []sql.Expression + MemTable func() *Table + type FilteredTable struct + func NewFilteredTable(name string, schema sql.PrimaryKeySchema) *FilteredTable + func (t *FilteredTable) WithFilters(ctx *sql.Context, filters []sql.Expression) sql.Table + func (t *FilteredTable) WithProjection(colNames []string) sql.Table + type GlobalsMap = map[string]interface + type HistoryDatabase struct + Revisions map[string]map[interface{}]sql.Table + func NewHistoryDatabase(name string) *HistoryDatabase + func (db *HistoryDatabase) AddTableAsOf(name string, t sql.Table, asOf interface{}) + func (db *HistoryDatabase) GetTableInsensitiveAsOf(ctx *sql.Context, tblName string, time interface{}) (sql.Table, bool, error) + func (db *HistoryDatabase) GetTableNamesAsOf(ctx *sql.Context, time interface{}) ([]string, error) + type InMemoryPersistedSession struct + func NewInMemoryPersistedSession(sess sql.Session, persistedGlobals GlobalsMap) *InMemoryPersistedSession + func (s *InMemoryPersistedSession) GetPersistedValue(k string) (interface{}, error) + func (s *InMemoryPersistedSession) PersistGlobal(sysVarName string, value interface{}) error + func (s *InMemoryPersistedSession) RemoveAllPersistedGlobals() error + func (s *InMemoryPersistedSession) RemovePersistedGlobal(sysVarName string) error + type Index struct + CommentStr string + DB string + DriverName string + Exprs []sql.Expression + Name string + TableName string + Tbl *Table + Unique bool + func (idx *Index) ColumnExpressionTypes(*sql.Context) []sql.ColumnExpressionType + func (idx *Index) ColumnExpressions() []sql.Expression + func (idx *Index) Comment() string + func (idx *Index) Database() string + func (idx *Index) Driver() string + func (idx *Index) Expressions() []string + func (idx *Index) ID() string + func (idx *Index) IndexType() string + func (idx *Index) IsGenerated() bool + func (idx *Index) IsUnique() bool + func (idx *Index) MemTable() *Table + func (idx *Index) NewLookup(ctx *sql.Context, ranges ...sql.Range) (sql.IndexLookup, error) + func (idx *Index) Table() string + type IndexLookup struct + Expr sql.Expression + func NewIndexLookup(ctx *sql.Context, idx ExpressionsIndex, expr sql.Expression, ...) *IndexLookup + func (eil *IndexLookup) EvalExpression() sql.Expression + func (eil *IndexLookup) Index() sql.Index + func (eil *IndexLookup) Indexes() []string + func (eil *IndexLookup) Ranges() sql.RangeCollection + func (eil *IndexLookup) String() string + func (eil *IndexLookup) Values(p sql.Partition) (sql.IndexValueIter, error) + type IndexValue struct + Key string + Pos int + func DecodeIndexValue(data []byte) (*IndexValue, error) + type MemoryDatabase interface + AddTable func(name string, t sql.Table) + type Partition struct + func NewPartition(key []byte) *Partition + func (p *Partition) Key() []byte + type ReadOnlyDatabase struct + func NewReadOnlyDatabase(name string) ReadOnlyDatabase + func (d ReadOnlyDatabase) IsReadOnly() bool + type Table struct + func NewPartitionedTable(name string, schema sql.PrimaryKeySchema, numPartitions int) *Table + func NewTable(name string, schema sql.PrimaryKeySchema) *Table + func (t *Table) AddColumn(ctx *sql.Context, column *sql.Column, order *sql.ColumnOrder) error + func (t *Table) AutoIncrementSetter(*sql.Context) sql.AutoIncrementSetter + func (t *Table) CreateCheck(_ *sql.Context, check *sql.CheckDefinition) error + func (t *Table) CreateForeignKey(_ *sql.Context, fkName string, columns []string, referencedTable string, ...) error + func (t *Table) CreateIndex(ctx *sql.Context, indexName string, using sql.IndexUsing, ...) error + func (t *Table) CreatePrimaryKey(ctx *sql.Context, columns []sql.IndexColumn) error + func (t *Table) DataLength(ctx *sql.Context) (uint64, error) + func (t *Table) DebugString() string + func (t *Table) Deleter(*sql.Context) sql.RowDeleter + func (t *Table) DropCheck(ctx *sql.Context, chName string) error + func (t *Table) DropColumn(ctx *sql.Context, columnName string) error + func (t *Table) DropForeignKey(ctx *sql.Context, fkName string) error + func (t *Table) DropIndex(ctx *sql.Context, indexName string) error + func (t *Table) DropPrimaryKey(ctx *sql.Context) error + func (t *Table) EnablePrimaryKeyIndexes() + func (t *Table) Filters() []sql.Expression + func (t *Table) GetChecks(_ *sql.Context) ([]sql.CheckDefinition, error) + func (t *Table) GetForeignKeys(_ *sql.Context) ([]sql.ForeignKeyConstraint, error) + func (t *Table) GetIndexes(ctx *sql.Context) ([]sql.Index, error) + func (t *Table) GetNextAutoIncrementValue(ctx *sql.Context, insertVal interface{}) (interface{}, error) + func (t *Table) GetPartition(key string) []sql.Row + func (t *Table) HandledFilters(filters []sql.Expression) []sql.Expression + func (t *Table) IndexKeyValues(ctx *sql.Context, colNames []string) (sql.PartitionIndexKeyValueIter, error) + func (t *Table) Insert(ctx *sql.Context, row sql.Row) error + func (t *Table) Inserter(*sql.Context) sql.RowInserter + func (t *Table) ModifyColumn(ctx *sql.Context, columnName string, column *sql.Column, ...) error + func (t *Table) Name() string + func (t *Table) NumRows(ctx *sql.Context) (uint64, error) + func (t *Table) PartitionCount(ctx *sql.Context) (int64, error) + func (t *Table) PartitionRows(ctx *sql.Context, partition sql.Partition) (sql.RowIter, error) + func (t *Table) Partitions(ctx *sql.Context) (sql.PartitionIter, error) + func (t *Table) PeekNextAutoIncrementValue(*sql.Context) (interface{}, error) + func (t *Table) PrimaryKeySchema() sql.PrimaryKeySchema + func (t *Table) RenameIndex(ctx *sql.Context, fromIndexName string, toIndexName string) error + func (t *Table) Replacer(*sql.Context) sql.RowReplacer + func (t *Table) Schema() sql.Schema + func (t *Table) String() string + func (t *Table) Truncate(ctx *sql.Context) (int, error) + func (t *Table) Updater(*sql.Context) sql.RowUpdater + func (t *Table) WithIndexLookup(lookup sql.IndexLookup) sql.Table + func (t *Table) WithProjection(colNames []string) sql.Table + type TestIndexDriver struct + func NewIndexDriver(db string, indexes map[string][]sql.DriverIndex) *TestIndexDriver + func (d *TestIndexDriver) Create(db, table, id string, expressions []sql.Expression, config map[string]string) (sql.DriverIndex, error) + func (d *TestIndexDriver) Delete(sql.DriverIndex, sql.PartitionIter) error + func (d *TestIndexDriver) ID() string + func (d *TestIndexDriver) LoadAll(ctx *sql.Context, db, table string) ([]sql.DriverIndex, error) + func (d *TestIndexDriver) Save(*sql.Context, sql.DriverIndex, sql.PartitionIndexKeyValueIter) error