Documentation
¶
Index ¶
- Variables
- func GetRelName(colName string) string
- type DBColumn
- type DBFuncParam
- type DBFunction
- type DBInfo
- type DBRel
- type DBRelLeft
- type DBRelRight
- type DBSchema
- func (s *DBSchema) DBName() string
- func (s *DBSchema) DBSchema() string
- func (s *DBSchema) DBType() string
- func (s *DBSchema) DBVersion() int
- func (s *DBSchema) Find(schema, name string) (DBTable, error)
- func (s *DBSchema) FindPath(from, to, through string) ([]TPath, error)
- func (s *DBSchema) GetAliases() map[string]DBTable
- func (s *DBSchema) GetFirstDegree(t DBTable) (items []RelNode, err error)
- func (s *DBSchema) GetFunctions() map[string]DBFunction
- func (s *DBSchema) GetSecondDegree(t DBTable) (items []RelNode, err error)
- func (s *DBSchema) GetTables() []DBTable
- func (s *DBSchema) IsAlias(name string) bool
- func (s *DBSchema) PrintEdgeInfo(e edgeInfo)
- func (s *DBSchema) PrintLines(lines []util.Edge)
- type DBTable
- type RelNode
- type RelType
- type TEdge
- type TPath
- type VirtualTable
Constants ¶
This section is empty.
Variables ¶
Functions ¶
Types ¶
type DBColumn ¶
type DBColumn struct {
Comment string
ID int32
Name string
OrigName string // Original name before normalization (e.g., PascalCase for MSSQL)
Type string
Array bool
NotNull bool
PrimaryKey bool
UniqueKey bool
FullText bool
FKRecursive bool
FKeyDatabase string // Target database for cross-database FKs (empty = same db)
FKeySchema string
FKeyTable string
FKeyCol string
Blocked bool
Table string
Schema string
Database string
Default string
Index bool
IndexName string
FKOnDelete string
FKOnUpdate string
// Original names before normalization (used to build dialect name maps for MSSQL)
OrigTable string
OrigSchema string
OrigFKeyTable string
OrigFKeySchema string
OrigFKeyCol string
}
DBColumn returns the column as a string
func DiscoverColumns ¶
DiscoverColumns returns the columns of a table
type DBFuncParam ¶
DBFuncParam holds the database function parameter information
type DBFunction ¶
type DBFunction struct {
Comment string
Schema string
Name string
Type string
Agg bool
Inputs []DBFuncParam
Outputs []DBFuncParam
}
DBFunction holds the database function information
func DiscoverFunctions ¶
DiscoverFunctions returns the functions of a database
func (*DBFunction) GetInput ¶
func (fn *DBFunction) GetInput(name string) (ret DBFuncParam, err error)
GetInput returns the input of a function
func (DBFunction) String ¶
func (fn DBFunction) String() string
String returns a string representation of the DBFunction
type DBInfo ¶
type DBInfo struct {
Type string
Version int
Schema string
Name string
Tables []DBTable
Functions []DBFunction
VTables []VirtualTable `json:"-"`
// contains filtered or unexported fields
}
DBInfo holds the database schema information
func GetTestDBInfo ¶
func GetTestDBInfo() *DBInfo
func GetTestDBInfoWithDatabase ¶ added in v3.2.0
func GetTestDBInfoWithDatabase() *DBInfo
GetTestDBInfoWithDatabase returns a DBInfo with tables that have Database field set for testing multi-database support with @database directive
func NewDBInfo ¶
func NewDBInfo( dbType string, dbVersion int, dbSchema string, dbName string, cols []DBColumn, funcs []DBFunction, blockList []string, ) *DBInfo
NewDBInfo returns a new DBInfo object
type DBRel ¶
type DBRel struct {
Type RelType
Left DBRelLeft
Right DBRelRight
}
DBRel represents a database relationship
func (*DBRel) IsCrossDatabase ¶ added in v3.2.0
IsCrossDatabase returns true if this relationship crosses database boundaries. This is used to determine if a join needs to be executed as a database join rather than a SQL join.
type DBRelRight ¶
DBRelRight represents a database relationship
type DBSchema ¶
type DBSchema struct {
// contains filtered or unexported fields
}
func GetTestSchema ¶
func NewDBSchema ¶
NewDBSchema creates a new database schema
func (*DBSchema) GetAliases ¶
GetAliases returns a map of table aliases
func (*DBSchema) GetFirstDegree ¶
GetFirstDegree returns the first degree relationships of a table
func (*DBSchema) GetFunctions ¶
func (s *DBSchema) GetFunctions() map[string]DBFunction
GetFunction returns a function from the schema
func (*DBSchema) GetSecondDegree ¶
GetSecondDegree returns the second degree relationships of a table
func (*DBSchema) PrintEdgeInfo ¶
func (s *DBSchema) PrintEdgeInfo(e edgeInfo)
PrintEdgeInfo prints edge info
func (*DBSchema) PrintLines ¶
PrintLines prints the graph lines
type DBTable ¶
type DBTable struct {
Comment string
Schema string
Name string
OrigName string // Original name before normalization (e.g., PascalCase for MSSQL)
OrigSchema string // Original schema before normalization
Type string
// Database is the name of the database this table belongs to (for multi-database support).
// Empty string means the default database.
Database string
Columns []DBColumn
PrimaryCol DBColumn
SecondaryCol DBColumn
FullText []DBColumn
Blocked bool
Func DBFunction
// contains filtered or unexported fields
}
DBTable holds the database table information
func NewDBTable ¶
NewDBTable returns a new DBTable object
func (*DBTable) ColumnExists ¶
ColumnExists returns true if a column exists in a table
type TEdge ¶
type TEdge struct {
From, To, Weight int32
Type RelType
LT, RT DBTable
L, R DBColumn
CName string
// contains filtered or unexported fields
}
TEdge represents a table edge for the graph