Documentation ¶
Index ¶
- Variables
- func NomsMapFromConflictIndex(i ConflictIndex) types.Map
- func NomsMapFromIndex(i Index) types.Map
- func ProllyMapFromConflictIndex(i ConflictIndex) prolly.ConflictMap
- func ProllyMapFromIndex(i Index) prolly.Map
- func RefFromConflictIndex(ctx context.Context, vrw types.ValueReadWriter, idx ConflictIndex) (types.Ref, error)
- func RefFromIndex(ctx context.Context, vrw types.ValueReadWriter, idx Index) (types.Ref, error)
- func RefFromNomsTable(ctx context.Context, table Table) (types.Ref, error)
- func VrwFromTable(t Table) types.ValueReadWriter
- type ConflictIndex
- type Index
- type IndexSet
- type Table
- func NewNomsTable(ctx context.Context, vrw types.ValueReadWriter, sch schema.Schema, ...) (Table, error)
- func NewTable(ctx context.Context, vrw types.ValueReadWriter, sch schema.Schema, rows Index, ...) (Table, error)
- func TableFromAddr(ctx context.Context, vrw types.ValueReadWriter, addr hash.Hash) (Table, error)
Constants ¶
This section is empty.
Variables ¶
var (
ErrUnknownAutoIncrementValue = fmt.Errorf("auto increment set for non-numeric column type")
)
Functions ¶
func NomsMapFromConflictIndex ¶
func NomsMapFromConflictIndex(i ConflictIndex) types.Map
func NomsMapFromIndex ¶
NomsMapFromIndex unwraps the Index and returns the underlying types.Map.
func ProllyMapFromConflictIndex ¶
func ProllyMapFromConflictIndex(i ConflictIndex) prolly.ConflictMap
func ProllyMapFromIndex ¶
ProllyMapFromIndex unwraps the Index and returns the underlying prolly.Map.
func RefFromConflictIndex ¶
func RefFromConflictIndex(ctx context.Context, vrw types.ValueReadWriter, idx ConflictIndex) (types.Ref, error)
RefFromConflictIndex persists |idx| and returns the types.Ref targeting it.
func RefFromIndex ¶
RefFromIndex persists the Index and returns a types.Ref to it.
func RefFromNomsTable ¶
RefFromNomsTable serialized |table|, and returns its types.Ref.
func VrwFromTable ¶
func VrwFromTable(t Table) types.ValueReadWriter
VrwFromTable returns the types.ValueReadWriter used by |t|. todo(andy): this is a temporary method that will be removed when there is a
general-purpose abstraction to replace types.ValueReadWriter.
Types ¶
type ConflictIndex ¶
type ConflictIndex interface { HashOf() (hash.Hash, error) Count() uint64 Format() *types.NomsBinFormat }
func ConflictIndexFromNomsMap ¶
func ConflictIndexFromNomsMap(m types.Map, vrw types.ValueReadWriter) ConflictIndex
func ConflictIndexFromProllyMap ¶
func ConflictIndexFromProllyMap(m prolly.ConflictMap) ConflictIndex
func NewEmptyConflictIndex ¶
func NewEmptyConflictIndex(ctx context.Context, vrw types.ValueReadWriter, oursSch, theirsSch, baseSch schema.Schema) (ConflictIndex, error)
NewEmptyConflictIndex returns an ConflictIndex with no rows.
type Index ¶
type Index interface { // HashOf returns the hash.Hash of this table. HashOf() (hash.Hash, error) // Count returns the cardinality of the index. Count() uint64 // Empty returns true if the index is empty. Empty() bool // Format returns the types.NomsBinFormat for this index. Format() *types.NomsBinFormat // AddColumnToRows adds the column given to the rows data and returns the resulting rows. // The |newCol| is present in |newSchema|. AddColumnToRows(ctx context.Context, newCol string, newSchema schema.Schema) (Index, error) // contains filtered or unexported methods }
Index represents a Table index.
func IndexFromNomsMap ¶
func IndexFromNomsMap(m types.Map, vrw types.ValueReadWriter) Index
IndexFromNomsMap wraps a types.Map and returns it as an Index.
func IndexFromProllyMap ¶
IndexFromProllyMap wraps a prolly.Map and returns it as an Index.
func NewEmptyIndex ¶
func NewEmptyIndex(ctx context.Context, vrw types.ValueReadWriter, sch schema.Schema) (Index, error)
NewEmptyIndex returns an index with no rows.
type IndexSet ¶
type IndexSet interface { // HashOf returns the hash.Hash of this table. HashOf() (hash.Hash, error) // GetIndex gets an index from the set. GetIndex(ctx context.Context, sch schema.Schema, name string) (Index, error) // PutIndex puts an index into the set. PutIndex(ctx context.Context, name string, idx Index) (IndexSet, error) // PutNomsIndex puts a noms index into the set. // todo(andy): this is a temporary stop-gap while abstracting types.Map PutNomsIndex(ctx context.Context, name string, idx types.Map) (IndexSet, error) // DropIndex removes an index from the set. DropIndex(ctx context.Context, name string) (IndexSet, error) // RenameIndex renames index |oldName| to |newName|. RenameIndex(ctx context.Context, oldName, newName string) (IndexSet, error) }
IndexSet stores a collection secondary Indexes.
func NewIndexSet ¶
func NewIndexSet(ctx context.Context, vrw types.ValueReadWriter) IndexSet
NewIndexSet returns an empty IndexSet.
type Table ¶
type Table interface { // HashOf returns the hash.Hash of this table. HashOf() (hash.Hash, error) // Format returns the types.NomsBinFormat for this table. Format() *types.NomsBinFormat // GetSchemaHash returns the hash.Hash of this table's schema. GetSchemaHash(ctx context.Context) (hash.Hash, error) // GetSchema returns this table's schema. GetSchema(ctx context.Context) (schema.Schema, error) // SetSchema sets this table's schema. SetSchema(ctx context.Context, sch schema.Schema) (Table, error) // GetTableRows returns this tables rows. GetTableRows(ctx context.Context) (Index, error) // SetTableRows sets this table's rows. SetTableRows(ctx context.Context, rows Index) (Table, error) // GetIndexes returns the secondary indexes for this table. GetIndexes(ctx context.Context) (IndexSet, error) // SetIndexes sets the secondary indexes for this table. SetIndexes(ctx context.Context, indexes IndexSet) (Table, error) // GetConflicts returns the merge conflicts for this table. GetConflicts(ctx context.Context) (conflict.ConflictSchema, ConflictIndex, error) // HasConflicts returns true if this table has conflicts. HasConflicts(ctx context.Context) (bool, error) // SetConflicts sets the merge conflicts for this table. SetConflicts(ctx context.Context, sch conflict.ConflictSchema, conflicts ConflictIndex) (Table, error) // ClearConflicts removes all merge conflicts for this table. ClearConflicts(ctx context.Context) (Table, error) // GetConstraintViolations returns the constraint violations for this table. GetConstraintViolations(ctx context.Context) (types.Map, error) // SetConstraintViolations sets the constraint violations for this table. SetConstraintViolations(ctx context.Context, violations types.Map) (Table, error) // GetAutoIncrement returns the AUTO_INCREMENT sequence value for this table. GetAutoIncrement(ctx context.Context) (uint64, error) // SetAutoIncrement sets the AUTO_INCREMENT sequence value for this table. SetAutoIncrement(ctx context.Context, val uint64) (Table, error) // DebugString returns the table contents for debugging purposes DebugString(ctx context.Context) string }
Table is a Dolt table that can be persisted.
func NewNomsTable ¶
func NewNomsTable(ctx context.Context, vrw types.ValueReadWriter, sch schema.Schema, rows types.Map, indexes IndexSet, autoIncVal types.Value) (Table, error)
NewNomsTable makes a new Table.
func NewTable ¶
func NewTable(ctx context.Context, vrw types.ValueReadWriter, sch schema.Schema, rows Index, indexes IndexSet, autoIncVal types.Value) (Table, error)
NewTable returns a new Table.
func TableFromAddr ¶
TableFromAddr deserializes the table in the chunk at |addr|.