Documentation
¶
Overview ¶
Package storage provides the storage engine for XxSql.
Index ¶
- func ParseColumnDefs(defs []struct{ ... }) []*types.ColumnInfo
- func ValidateValues(columns []*types.ColumnInfo, values []types.Value) error
- type Engine
- func (e *Engine) Close() error
- func (e *Engine) CreateIndex(tableName, indexName string, columns []string, unique bool) error
- func (e *Engine) CreateTable(name string, columns []*types.ColumnInfo) error
- func (e *Engine) DropIndex(tableName, indexName string) error
- func (e *Engine) DropTable(name string) error
- func (e *Engine) Flush() error
- func (e *Engine) GetCatalog() *catalog.Catalog
- func (e *Engine) GetDataDir() string
- func (e *Engine) GetTable(name string) (*table.Table, error)
- func (e *Engine) Insert(tableName string, values []types.Value) (row.RowID, error)
- func (e *Engine) ListTables() []string
- func (e *Engine) Open() error
- func (e *Engine) RenameTable(oldName, newName string) error
- func (e *Engine) Scan(tableName string) ([]*row.Row, error)
- func (e *Engine) Stats() *Stats
- func (e *Engine) TableExists(name string) bool
- type Stats
- type TableStats
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ParseColumnDefs ¶
func ParseColumnDefs(defs []struct {
Name string
Type string
Size int
Nullable bool
Default interface{}
Primary bool
AutoIncr bool
}) []*types.ColumnInfo
ParseColumnDefs parses SQL column definitions to storage types.
func ValidateValues ¶
func ValidateValues(columns []*types.ColumnInfo, values []types.Value) error
ValidateValues validates values against column definitions.
Types ¶
type Engine ¶
type Engine struct {
// contains filtered or unexported fields
}
Engine represents the storage engine.
func (*Engine) CreateIndex ¶
CreateIndex creates an index on a table.
func (*Engine) CreateTable ¶
func (e *Engine) CreateTable(name string, columns []*types.ColumnInfo) error
CreateTable creates a new table.
func (*Engine) GetCatalog ¶
GetCatalog returns the catalog.
func (*Engine) GetDataDir ¶
GetDataDir returns the data directory path.
func (*Engine) ListTables ¶
ListTables returns all table names.
func (*Engine) RenameTable ¶
RenameTable renames a table.
func (*Engine) TableExists ¶
TableExists checks if a table exists.
type Stats ¶
type Stats struct {
TableCount int `json:"table_count"`
Tables []TableStats `json:"tables"`
}
Stats represents storage engine statistics.
type TableStats ¶
type TableStats struct {
Name string `json:"name"`
RowCount uint64 `json:"row_count"`
PageCount int `json:"page_count"`
}
TableStats represents table statistics.
Directories
¶
| Path | Synopsis |
|---|---|
|
Package btree provides B+ tree index implementation for XxSql.
|
Package btree provides B+ tree index implementation for XxSql. |
|
Package buffer provides buffer pool management for XxSql storage engine.
|
Package buffer provides buffer pool management for XxSql storage engine. |
|
Package catalog provides catalog management for XxSql storage engine.
|
Package catalog provides catalog management for XxSql storage engine. |
|
Package checkpoint provides checkpoint management for XxSql storage engine.
|
Package checkpoint provides checkpoint management for XxSql storage engine. |
|
Package lock provides deadlock detection for XxSql storage engine.
|
Package lock provides deadlock detection for XxSql storage engine. |
|
Package page provides page management for XxSql storage engine.
|
Package page provides page management for XxSql storage engine. |
|
Package recovery provides crash recovery for XxSql storage engine.
|
Package recovery provides crash recovery for XxSql storage engine. |
|
Package row provides row serialization for XxSql storage engine.
|
Package row provides row serialization for XxSql storage engine. |
|
Package sequence provides atomic sequence counters for XxSql.
|
Package sequence provides atomic sequence counters for XxSql. |
|
Package table provides table management for XxSql storage engine.
|
Package table provides table management for XxSql storage engine. |
|
Package types provides data type definitions for XxSql storage engine.
|
Package types provides data type definitions for XxSql storage engine. |
|
Package wal provides Write-Ahead Logging for XxSql storage engine.
|
Package wal provides Write-Ahead Logging for XxSql storage engine. |
Click to show internal directories.
Click to hide internal directories.