Documentation
¶
Index ¶
- func ExtractIndexAttributeDescIDs(attrs []*AttributeDesc) []int
- func ExtractIndexAttributeIDs(attrs []IndexDesc_Attribute) map[uint32]int
- type AttributeDesc
- type AttributeGroupDesc
- type AttributeGroupDesc_Attribute
- type ConstrainDesc
- type DatabaseDesc
- type DefaultValue
- type DependsOnDesc
- type DescriptorHandler
- type EpochGCItem
- type IndexDesc
- type IndexDesc_Attribute
- type IndexDirectionType
- type PartitionOptionDesc
- type ReferenceDesc
- type ReferenceDesc_KeyPart
- type RelationDesc
- type TableOptionDesc
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ExtractIndexAttributeDescIDs ¶
func ExtractIndexAttributeDescIDs(attrs []*AttributeDesc) []int
func ExtractIndexAttributeIDs ¶
func ExtractIndexAttributeIDs(attrs []IndexDesc_Attribute) map[uint32]int
Types ¶
type AttributeDesc ¶
type AttributeDesc struct {
ID uint32 `json:"id,string"`
Name string `json:"name"`
Ttype orderedcodec.ValueType `json:"type,string"`
TypesType types.Type `json:"types_type,string"`
Default engine.DefaultExpr `json:"default"`
DefaultVal DefaultValue `json:"defaultValue"`
Is_null bool `json:"is_null,string"`
Default_value string `json:"default_value"`
Is_auto_increment bool `json:"is_auto_increment,string"`
Is_unique bool `json:"is_unique,string"`
Is_primarykey bool `json:"is_primarykey,string"`
Comment string `json:"comment"`
References []ReferenceDesc `json:"references"`
Constrains []ConstrainDesc `json:"constrains"`
}
type AttributeGroupDesc ¶
type AttributeGroupDesc struct {
ID uint32 `json:"id,string"`
Attributes []AttributeGroupDesc_Attribute `json:"attributes"`
}
type AttributeGroupDesc_Attribute ¶
type AttributeGroupDesc_Attribute struct {
Name string `json:"name"`
//serial number of the attribute in the relation
ID uint32 `json:"id,string"`
Type orderedcodec.ValueType `json:"type,string"`
}
type ConstrainDesc ¶
type ConstrainDesc struct {
Symbol string `json:"symbol"`
}
type DatabaseDesc ¶
type DatabaseDesc struct {
ID uint32 `json:"ID,string"`
Name string `json:"name"`
Update_time int64 `json:"update_time"`
Create_epoch uint64 `json:"create_epoch,string"`
Is_deleted bool `json:"is_deleted,string"`
Drop_epoch uint64 `json:"drop_epoch,string"`
Max_access_epoch uint64 `json:"max_access_epoch,string"`
Typ int `json:"typ,string"`
}
type DefaultValue ¶
type DefaultValue struct {
ValueType string
}
type DependsOnDesc ¶
type DescriptorHandler ¶
type DescriptorHandler interface {
//LoadRelationDescByName gets the descriptor of the table by the name of the table
LoadRelationDescByName(parentID uint64, name string) (*RelationDesc, error)
//LoadRelationDescByID gets the descriptor of the table by the tableid
LoadRelationDescByID(parentID uint64, tableID uint64) (*RelationDesc, error)
//StoreRelationDescByName first gets the descriptor of the table by name, then save the descriptor.
StoreRelationDescByName(parentID uint64, name string, tableDesc *RelationDesc) error
//StoreRelationDescByID saves the descriptor
StoreRelationDescByID(parentID uint64, tableID uint64, table *RelationDesc) error
//DeleteRelationDescByID deletes the table
DeleteRelationDescByID(parentID uint64, tableID uint64) error
LoadDatabaseDescByName(name string) (*DatabaseDesc, error)
LoadDatabaseDescByID(dbID uint64) (*DatabaseDesc, error)
StoreDatabaseDescByName(name string, db *DatabaseDesc) error
StoreDatabaseDescByID(dbID uint64, db *DatabaseDesc) error
//DeleteDatabaseDescByID deletes the database
DeleteDatabaseDescByID(dbID uint64) error
MakePrefixWithOneExtraID(dbID uint64, tableID uint64, indexID uint64, extraID uint64) ([]byte, *orderedcodec.EncodedItem)
GetValuesWithPrefix(parentID uint64, callbackCtx interface{}, callback func(callbackCtx interface{}, dis []*orderedcodec.DecodedItem) ([]byte, error)) ([]byte, error)
//StoreRelationDescIntoAsyncGC stores the table into the asyncgc table
StoreRelationDescIntoAsyncGC(epoch uint64, dbID uint64, desc *RelationDesc) error
//ListRelationDescFromAsyncGC gets all the tables need to deleted from the asyncgc table
ListRelationDescFromAsyncGC(epoch uint64) ([]EpochGCItem, error)
}
DescriptorHandler loads and updates the descriptors
type EpochGCItem ¶
type IndexDesc ¶
type IndexDesc struct {
Name string `json:"name"`
ID uint32 `json:"ID,string"`
//unique index or not
Is_unique bool `json:"is_unique,string"`
//components of the index
Attributes []IndexDesc_Attribute `json:"attributes"`
//components of the secondary index.
//from the primary index for ensuring the unique.
Impilict_attributes []IndexDesc_Attribute `json:"impilict_attributes"`
//for compositing encoding, it is put into the value.
Composite_attributes []IndexDesc_Attribute `json:"composite_attributes"`
//for storing attributes in the value.
Store_attributes []IndexDesc_Attribute `json:"store_attributes"`
//the type of encoding key
Key_encoding_type int `json:"key_encoding_type,string"`
//the type of encoding value
Value_encoding_type int `json:"value_encoding_type,string"`
}
type IndexDesc_Attribute ¶
type IndexDesc_Attribute struct {
Name string `json:"name"`
Direction IndexDirectionType `json:"direction"`
//serial number of the attribute in the relation
ID uint32 `json:"id,string"`
Type orderedcodec.ValueType `json:"type,string"`
TypesType types.Type `json:"types_type,string"`
}
type IndexDirectionType ¶
type IndexDirectionType int
const ( ASC IndexDirectionType = 0 DESC IndexDirectionType = 1 )
type PartitionOptionDesc ¶
type PartitionOptionDesc struct {
Algo string `json:"algo"`
}
type ReferenceDesc ¶
type ReferenceDesc struct {
Table_name string `json:"table_name"`
Key_parts []ReferenceDesc_KeyPart `json:"key_parts"`
}
type ReferenceDesc_KeyPart ¶
type RelationDesc ¶
type RelationDesc struct {
ID uint32 `json:"ID,string"`
Name string `json:"name"`
Comment string `json:"comment"`
Update_time int64 `json:"update_time"`
Next_attribute_id uint32 `json:"next_attribute_id,string"`
Attributes []AttributeDesc `json:"attributes"`
IDependsOnRelations []uint32 `json:"i_depends_on_relations,string"`
RelationsDependsOnMe []DependsOnDesc `json:"relations_depends_on_me"`
Next_attribute_group_id uint32 `json:"next_attribute_group_id,string"`
AttributeGroups []AttributeGroupDesc `json:"attribute_groups"`
Primary_index IndexDesc `json:"primary_index"`
Next_index_id uint32 `json:"next_index_id,string"`
Indexes []IndexDesc `json:"indexes"`
Create_sql string `json:"create_sql"`
Create_time int64 `json:"create_time"`
Drop_time int64 `json:"drop_time"`
Create_epoch uint64 `json:"create_epoch,string"`
Is_deleted bool `json:"is_deleted,string"`
Drop_epoch uint64 `json:"drop_epoch,string"`
//for epochgc
Max_access_epoch uint64 `json:"max_access_epoch,string"`
Table_options []TableOptionDesc `json:"table_options"`
Partition_options []PartitionOptionDesc `json:"partition_options"`
}
type TableOptionDesc ¶
Click to show internal directories.
Click to hide internal directories.