Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var BuiltinFunctions = [...]*FunctionSig{}/* 142 elements not displayed */
Functions shipped by system.
View Source
var BuiltinFunctionsMap map[string]*FunctionSig
BuiltinFunctionsMap change BuiltinFunctions to map
Functions ¶
This section is empty.
Types ¶
type CompilerContext ¶
type FunctionSig ¶
type FunctionSig struct { Name string Flag plan.Function_FuncFlag ArgTypeClass []plan.Type_TypeId ArgType []int8 }
Function signature. ArgTypeClass and ArgType need some explaination. ArgTypeClass defines type equivalent class for this function. The first equivlent class is the return type. For each argument of this function it has a arg type, which is an index into the ArgTypeClass. Let's use an example,
"=", STRICT, {BOOL, ANY}, {1, 1}}
means,
function name is "=". it is a STRICT function, that is, it will return null iff it has a null arguments Two type equivalent class first is BOOL, means the the return type is BOOL second is ANY, means any type {1, 1}, means the function take two arguments. first arg is of type class 1, which is ANY second arg is of type class 1 too, which is ANY both arg is of same class, means they must be same type.
Therefore, it means "=" is a strict function, taking two arguments of ANY type (but both arguments must be of SAME type), and return BOOL.
type MockCompilerContext ¶
type MockCompilerContext struct {
// contains filtered or unexported fields
}
func NewMockCompilerContext ¶
func NewMockCompilerContext() *MockCompilerContext
type MockOptimizer ¶
type MockOptimizer struct {
// contains filtered or unexported fields
}
func (*MockOptimizer) CurrentContext ¶
func (moc *MockOptimizer) CurrentContext() CompilerContext
type Optimizer ¶
type Optimizer interface { Optimize(stmt tree.Statement) (*Query, error) //todo confirm interface change CurrentContext() CompilerContext }
type RowsetData ¶
type RowsetData plan.RowsetData
type SelectContext ¶
type SelectContext struct {
// contains filtered or unexported fields
}
use for build select
Click to show internal directories.
Click to hide internal directories.