Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var ( // ErrInvalidDBState returns for invalid database state. ErrInvalidDBState = terror.ClassDDL.New(codeInvalidDBState, "invalid database state") // ErrInvalidTableState returns for invalid Table state. ErrInvalidTableState = terror.ClassDDL.New(codeInvalidTableState, "invalid table state") // ErrInvalidColumnState returns for invalid column state. ErrInvalidColumnState = terror.ClassDDL.New(codeInvalidColumnState, "invalid column state") // ErrInvalidIndexState returns for invalid index state. ErrInvalidIndexState = terror.ClassDDL.New(codeInvalidIndexState, "invalid index state") // ErrInvalidForeignKeyState returns for invalid foreign key state. ErrInvalidForeignKeyState = terror.ClassDDL.New(codeInvalidForeignKeyState, "invalid foreign key state") // ErrColumnBadNull returns for a bad null value. ErrColumnBadNull = terror.ClassDDL.New(codeBadNull, "column cann't be null") // ErrCantRemoveAllFields returns for deleting all columns. ErrCantRemoveAllFields = terror.ClassDDL.New(codeCantRemoveAllFields, "can't delete all columns with ALTER TABLE") // ErrCantDropFieldOrKey returns for dropping a non-existent field or key. ErrCantDropFieldOrKey = terror.ClassDDL.New(codeCantDropFieldOrKey, "can't drop field; check that column/key exists") // ErrInvalidOnUpdate returns for invalid ON UPDATE clause. ErrInvalidOnUpdate = terror.ClassDDL.New(codeInvalidOnUpdate, "invalid ON UPDATE clause for the column") // ErrTooLongIdent returns for too long name of database/table/column. ErrTooLongIdent = terror.ClassDDL.New(codeTooLongIdent, "Identifier name too long") )
Functions ¶
This section is empty.
Types ¶
type BaseCallback ¶
type BaseCallback struct { }
BaseCallback implements Callback.OnChanged interface.
func (*BaseCallback) OnChanged ¶
func (c *BaseCallback) OnChanged(err error) error
OnChanged implements Callback interface.
func (*BaseCallback) OnJobRunBefore ¶
func (c *BaseCallback) OnJobRunBefore(job *model.Job)
OnJobRunBefore implements Callback.OnJobRunBefore interface.
func (*BaseCallback) OnJobUpdated ¶
func (c *BaseCallback) OnJobUpdated(job *model.Job)
OnJobUpdated implements Callback.OnJobUpdated interface.
type Callback ¶
type Callback interface { // OnChanged is called after schema is changed. OnChanged(err error) error // OnJobRunBefore is called before running job. OnJobRunBefore(job *model.Job) // OnJobUpdated is called after the running job is updated. OnJobUpdated(job *model.Job) }
Callback is the interface supporting callback function when DDL changed.
type DDL ¶
type DDL interface { CreateSchema(ctx context.Context, name model.CIStr, charsetInfo *ast.CharsetOpt) error DropSchema(ctx context.Context, schema model.CIStr) error CreateTable(ctx context.Context, ident ast.Ident, cols []*ast.ColumnDef, constrs []*ast.Constraint, options []*ast.TableOption) error DropTable(ctx context.Context, tableIdent ast.Ident) (err error) CreateIndex(ctx context.Context, tableIdent ast.Ident, unique bool, indexName model.CIStr, columnNames []*ast.IndexColName) error DropIndex(ctx context.Context, tableIdent ast.Ident, indexName model.CIStr) error GetInformationSchema() infoschema.InfoSchema AlterTable(ctx context.Context, tableIdent ast.Ident, spec []*ast.AlterTableSpec) error // SetLease will reset the lease time for online DDL change, // it's a very dangerous function and you must guarantee that all servers have the same lease time. SetLease(lease time.Duration) // GetLease returns current schema lease time. GetLease() time.Duration // Stats returns the DDL statistics. Stats() (map[string]interface{}, error) // GetScope gets the status variables scope. GetScope(status string) variable.ScopeFlag // Stop stops DDL worker. Stop() error // Start starts DDL worker. Start() error }
DDL is responsible for updating schema in data store and maintaining in-memory InfoSchema cache.
Click to show internal directories.
Click to hide internal directories.