Documentation
¶
Index ¶
Constants ¶
View Source
const ( KEYWORD = `` /* 199-byte string literal not displayed */ OPERATORS = `<> | != | <= | >= | == | @ | [-+*/%,.()=<>]` SPACE = `\s+` IDENTITY = `[a-zA-Z][a-zA-Z0-9_\.\/\-]*` NUMBER = `[-+]?\d*\.?\d+([eE][-+]?\d+)?` STRING = `'[^']*' | "[^"]*"` COMMENT = `#[^\n]*` )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Compare ¶
type DeleteStat ¶
type DeleteStat struct {
From FromExpr `parser:" 'DELETE' 'FROM' @@ "`
Where *WhereExpr `parser:" ( 'WHERE' @@ )? "`
Namespace string `parser:" ( ( 'NAMESPACE' | 'NS' ) ( @Ident | @String ) )? "`
KubernetesFilters []*KubernetesFilter `parser:" @@* "`
}
type KSQL ¶
type KSQL struct {
Use *UseStat `parser:" @@* "`
Select *SelectStat `parser:" @@* "`
// TODO
Delete *DeleteStat `parser:" @@* "`
Update *UpdateStat `parser:" @@* "`
Desc *DescStat `parser:" @@* "`
}
type KubernetesFilter ¶
type KubernetesFilter struct {
Label *LabelCompare `parser:" 'LABEL' @@ "`
Name *string `parser:" | 'NAME' (@Ident | @String) "`
}
type LabelCompare ¶
type LabelCompare struct {
LHS string `parser:" ( @Ident | @String ) "`
Operation LabelOperation `parser:" @@ "`
}
func (LabelCompare) IntoRequirement ¶
func (c LabelCompare) IntoRequirement() (*labels.Requirement, error)
pub
type LabelOperation ¶
type SelectExpr ¶
type SelectStat ¶
type SelectStat struct {
Select SelectExpr `parser:" 'SELECT' @@ "`
From FromExpr `parser:" 'FROM' @@ "`
Where *WhereExpr `parser:" ( 'WHERE' @@ )? "`
Namespace string `parser:" ( ( 'NAMESPACE' | 'NS' ) ( @Ident | @String )? )? "`
KubernetesFilters []*KubernetesFilter `parser:" @@* "`
}
type UseStat ¶
type UseStat struct {
// Database, we consider each cluster is a database.
Database string `parser:" 'USE' @Ident "`
}
Click to show internal directories.
Click to hide internal directories.