Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var ( // ErrDatabaseDropExists returns for dropping a non-existent database. ErrDatabaseDropExists = terror.ClassSchema.New(codeDBDropExists, "Can't drop database '%s'; database doesn't exist") // ErrDatabaseNotExists returns for database not exists. ErrDatabaseNotExists = terror.ClassSchema.New(codeDatabaseNotExists, "Unknown database '%s'") // ErrTableNotExists returns for table not exists. ErrTableNotExists = terror.ClassSchema.New(codeTableNotExists, "Table '%s.%s' doesn't exist") // ErrColumnNotExists returns for column not exists. ErrColumnNotExists = terror.ClassSchema.New(codeColumnNotExists, "Unknown column '%s' in '%s'") // ErrForeignKeyNotMatch returns for foreign key not match. ErrForeignKeyNotMatch = terror.ClassSchema.New(codeWrongFkDef, "Incorrect foreign key definition for '%s': Key reference and table reference don't match") // ErrCannotAddForeign returns for foreign key exists. ErrCannotAddForeign = terror.ClassSchema.New(codeCannotAddForeign, "Cannot add foreign key constraint") // ErrForeignKeyNotExists returns for foreign key not exists. ErrForeignKeyNotExists = terror.ClassSchema.New(codeForeignKeyNotExists, "Can't DROP '%s'; check that column/key exists") // ErrDatabaseExists returns for database already exists. ErrDatabaseExists = terror.ClassSchema.New(codeDatabaseExists, "Can't create database '%s'; database exists") // ErrTableExists returns for table already exists. ErrTableExists = terror.ClassSchema.New(codeTableExists, "Table '%s' already exists") // ErrTableDropExists returns for dropping a non-existent table. ErrTableDropExists = terror.ClassSchema.New(codeBadTable, "Unknown table '%s'") // ErrUserDropExists returns for dropping a non-existent user. ErrUserDropExists = terror.ClassSchema.New(codeBadUser, "User %s does not exist.") // ErrColumnExists returns for column already exists. ErrColumnExists = terror.ClassSchema.New(codeColumnExists, "Duplicate column name '%s'") // ErrIndexExists returns for index already exists. ErrIndexExists = terror.ClassSchema.New(codeIndexExists, "Duplicate Index") // ErrKeyNameDuplicate returns for index duplicate when rename index. ErrKeyNameDuplicate = terror.ClassSchema.New(codeKeyNameDuplicate, "Duplicate key name '%s'") // ErrKeyNotExists returns for index not exists. ErrKeyNotExists = terror.ClassSchema.New(codeKeyNotExists, "Key '%s' doesn't exist in table '%s'") // ErrMultiplePriKey returns for multiple primary keys. ErrMultiplePriKey = terror.ClassSchema.New(codeMultiplePriKey, "Multiple primary key defined") // ErrTooManyKeyParts returns for too many key parts. ErrTooManyKeyParts = terror.ClassSchema.New(codeTooManyKeyParts, "Too many key parts specified; max %d parts allowed") )
Functions ¶
This section is empty.
Types ¶
type Handler ¶
type Handler struct {
// contains filtered or unexported fields
}
Handler is a wrapper for atomic get and set.
func NewHandler ¶
func NewHandler() *Handler
func (*Handler) Get ¶
func (h *Handler) Get() InfoSchema
func (*Handler) Set ¶
func (h *Handler) Set(is InfoSchema)
type InfoSchema ¶
type InfoSchema interface { GetDatabaseMetaByName(name string) (*model.DatabaseMeta, bool) GetTableMetaByName(db, name string) (*model.TableMeta, error) GetTableByName(db, name string) (table.Table, error) ListTablesByDatabase(db string) []*model.TableMeta ListDatabases() []*model.DatabaseMeta SchemaMetaVersion() int64 SchemaExists(name string) bool SchemaByID(id int64) (*model.DatabaseMeta, bool) TableExists(db, table string) bool LoadAllFromMeta(m *meta.Meta) error }
InfoSchema to get schema info from memory.
Click to show internal directories.
Click to hide internal directories.