parser

package
v0.4.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 8, 2025 License: MIT Imports: 5 Imported by: 1

Documentation

Index

Constants

View Source
const (
	KeywordAdd          = "ADD"
	KeywordAdmin        = "ADMIN"
	KeywordAfter        = "AFTER"
	KeywordAlias        = "ALIAS"
	KeywordAll          = "ALL"
	KeywordAlter        = "ALTER"
	KeywordAnd          = "AND"
	KeywordAnti         = "ANTI"
	KeywordAny          = "ANY"
	KeywordApply        = "APPLY"
	KeywordArray        = "ARRAY"
	KeywordAs           = "AS"
	KeywordAsc          = "ASC"
	KeywordAscending    = "ASCENDING"
	KeywordAsof         = "ASOF"
	KeywordAst          = "AST"
	KeywordAsync        = "ASYNC"
	KeywordAttach       = "ATTACH"
	KeywordBetween      = "BETWEEN"
	KeywordBoth         = "BOTH"
	KeywordBy           = "BY"
	KeywordCache        = "CACHE"
	KeywordCase         = "CASE"
	KeywordCast         = "CAST"
	KeywordCheck        = "CHECK"
	KeywordClear        = "CLEAR"
	KeywordCluster      = "CLUSTER"
	KeywordCodec        = "CODEC"
	KeywordCollate      = "COLLATE"
	KeywordColumn       = "COLUMN"
	KeywordColumns      = "COLUMNS"
	KeywordComment      = "COMMENT"
	KeywordCompiled     = "COMPILED"
	KeywordConfig       = "CONFIG"
	KeywordConstraint   = "CONSTRAINT"
	KeywordCreate       = "CREATE"
	KeywordCross        = "CROSS"
	KeywordCube         = "CUBE"
	KeywordCurrent      = "CURRENT"
	KeywordDatabase     = "DATABASE"
	KeywordDatabases    = "DATABASES"
	KeywordDate         = "DATE"
	KeywordDay          = "DAY"
	KeywordDeduplicate  = "DEDUPLICATE"
	KeywordDefault      = "DEFAULT"
	KeywordDelay        = "DELAY"
	KeywordDelete       = "DELETE"
	KeywordDesc         = "DESC"
	KeywordDescending   = "DESCENDING"
	KeywordDescribe     = "DESCRIBE"
	KeywordDetach       = "DETACH"
	KeywordDetached     = "DETACHED"
	KeywordDictionaries = "DICTIONARIES"
	KeywordDictionary   = "DICTIONARY"
	KeywordDisk         = "DISK"
	KeywordDistinct     = "DISTINCT"
	KeywordDistributed  = "DISTRIBUTED"
	KeywordDrop         = "DROP"
	KeywordDNS          = "DNS"
	KeywordElse         = "ELSE"
	KeywordEnd          = "END"
	KeywordEngine       = "ENGINE"
	KeywordEstimate     = "ESTIMATE"
	KeywordEvents       = "EVENTS"
	KeywordExcept       = "EXCEPT"
	KeywordExists       = "EXISTS"
	KeywordExplain      = "EXPLAIN"
	KeywordExpression   = "EXPRESSION"
	KeywordExtract      = "EXTRACT"
	KeywordFalse        = "FALSE"
	KeywordFetches      = "FETCHES"
	KeywordFileSystem   = "FILESYSTEM"
	KeywordFinal        = "FINAL"
	KeywordFirst        = "FIRST"
	KeywordFlush        = "FLUSH"
	KeywordFollowing    = "FOLLOWING"
	KeywordFor          = "FOR"
	KeywordFormat       = "FORMAT"
	KeywordFreeze       = "FREEZE"
	KeywordFrom         = "FROM"
	KeywordFull         = "FULL"
	KeywordFunction     = "FUNCTION"
	KeywordFunctions    = "FUNCTIONS"
	KeywordGlobal       = "GLOBAL"
	KeywordGrant        = "GRANT"
	KeywordGranularity  = "GRANULARITY"
	KeywordGroup        = "GROUP"
	KeywordHaving       = "HAVING"
	KeywordHierarchical = "HIERARCHICAL"
	KeywordHour         = "HOUR"
	KeywordId           = "ID"
	KeywordIf           = "IF"
	KeywordIlike        = "ILIKE"
	KeywordIn           = "IN"
	KeywordIndex        = "INDEX"
	KeywordInf          = "INF"
	KeywordInjective    = "INJECTIVE"
	KeywordInner        = "INNER"
	KeywordInsert       = "INSERT"
	KeywordInterval     = "INTERVAL"
	KeywordInto         = "INTO"
	KeywordIs           = "IS"
	KeywordIs_object_id = "IS_OBJECT_ID"
	KeywordJoin         = "JOIN"
	KeywordJSON         = "JSON"
	KeywordKey          = "KEY"
	KeywordKill         = "KILL"
	KeywordLast         = "LAST"
	KeywordLayout       = "LAYOUT"
	KeywordLeading      = "LEADING"
	KeywordLeft         = "LEFT"
	KeywordLifetime     = "LIFETIME"
	KeywordLike         = "LIKE"
	KeywordLimit        = "LIMIT"
	KeywordLive         = "LIVE"
	KeywordLocal        = "LOCAL"
	KeywordLogs         = "LOGS"
	KeywordMark         = "MARK"
	KeywordMaterialize  = "MATERIALIZE"
	KeywordMaterialized = "MATERIALIZED"
	KeywordMax          = "MAX"
	KeywordMerges       = "MERGES"
	KeywordMin          = "MIN"
	KeywordMinute       = "MINUTE"
	KeywordModify       = "MODIFY"
	KeywordMonth        = "MONTH"
	KeywordMove         = "MOVE"
	KeywordMoves        = "MOVES"
	KeywordMutation     = "MUTATION"
	KeywordNan_sql      = "NAN_SQL"
	KeywordNo           = "NO"
	KeywordNone         = "NONE"
	KeywordNot          = "NOT"
	KeywordNull         = "NULL"
	KeywordNulls        = "NULLS"
	KeywordOffset       = "OFFSET"
	KeywordOn           = "ON"
	KeywordOptimize     = "OPTIMIZE"
	KeywordOption       = "OPTION"
	KeywordOr           = "OR"
	KeywordOrder        = "ORDER"
	KeywordOuter        = "OUTER"
	KeywordOutfile      = "OUTFILE"
	KeywordOver         = "OVER"
	KeywordPartition    = "PARTITION"
	KeywordPipeline     = "PIPELINE"
	KeywordPolicy       = "POLICY"
	KeywordPopulate     = "POPULATE"
	KeywordPreceding    = "PRECEDING"
	KeywordPrewhere     = "PREWHERE"
	KeywordPrimary      = "PRIMARY"
	KeywordProjection   = "PROJECTION"
	KeywordQuarter      = "QUARTER"
	KeywordQuery        = "QUERY"
	KeywordQueues       = "QUEUES"
	KeywordQuota        = "QUOTA"
	KeywordRange        = "RANGE"
	KeywordRefresh      = "REFRESH"
	KeywordRegexp       = "REGEXP"
	KeywordReload       = "RELOAD"
	KeywordRemove       = "REMOVE"
	KeywordRename       = "RENAME"
	KeywordReplace      = "REPLACE"
	KeywordReplica      = "REPLICA"
	KeywordReplicated   = "REPLICATED"
	KeywordReplication  = "REPLICATION"
	KeywordRestart      = "RESTART"
	KeywordRight        = "RIGHT"
	KeywordRole         = "ROLE"
	KeywordRollup       = "ROLLUP"
	KeywordRow          = "ROW"
	KeywordRows         = "ROWS"
	KeywordSample       = "SAMPLE"
	KeywordSecond       = "SECOND"
	KeywordSelect       = "SELECT"
	KeywordSemi         = "SEMI"
	KeywordSends        = "SENDS"
	KeywordSet          = "SET"
	KeywordSettings     = "SETTINGS"
	KeywordShow         = "SHOW"
	KeywordShutdown     = "SHUTDOWN"
	KeywordSkip         = "SKIP"
	KeywordSource       = "SOURCE"
	KeywordStart        = "START"
	KeywordStop         = "STOP"
	KeywordSubstring    = "SUBSTRING"
	KeywordSync         = "SYNC"
	KeywordSyntax       = "SYNTAX"
	KeywordSystem       = "SYSTEM"
	KeywordTable        = "TABLE"
	KeywordTables       = "TABLES"
	KeywordTemporary    = "TEMPORARY"
	KeywordTest         = "TEST"
	KeywordThen         = "THEN"
	KeywordTies         = "TIES"
	KeywordTimeout      = "TIMEOUT"
	KeywordTimestamp    = "TIMESTAMP"
	KeywordTo           = "TO"
	KeywordTop          = "TOP"
	KeywordTotals       = "TOTALS"
	KeywordTrailing     = "TRAILING"
	KeywordTrim         = "TRIM"
	KeywordTrue         = "TRUE"
	KeywordTruncate     = "TRUNCATE"
	KeywordTtl          = "TTL"
	KeywordType         = "TYPE"
	KeywordUnbounded    = "UNBOUNDED"
	KeywordUncompressed = "UNCOMPRESSED"
	KeywordUnion        = "UNION"
	KeywordUpdate       = "UPDATE"
	KeywordUse          = "USE"
	KeywordUser         = "USER"
	KeywordUsing        = "USING"
	KeywordUuid         = "UUID"
	KeywordValues       = "VALUES"
	KeywordView         = "VIEW"
	KeywordVolume       = "VOLUME"
	KeywordWatch        = "WATCH"
	KeywordWeek         = "WEEK"
	KeywordWhen         = "WHEN"
	KeywordWhere        = "WHERE"
	KeywordWindow       = "WINDOW"
	KeywordWith         = "WITH"
	KeywordYear         = "YEAR"
)
View Source
const (
	Unquoted = iota + 1
	DoubleQuote
	BackTicks
)
View Source
const (
	PrecedenceUnknown = iota
	PrecedenceOr
	PrecedenceAnd
	PrecedenceQuery
	PrecedenceNot
	PrecedenceGlobal
	PrecedenceIs
	PrecedenceCompare
	PrecedenceBetweenLike

	PrecedenceAddSub
	PrecedenceMulDivMod
	PrecedenceBracket
	PrecedenceArrow
	PrecedenceDot
	PrecedenceDoubleColon
)

Variables

This section is empty.

Functions

func IsDigit

func IsDigit(c byte) bool

func IsHexDigit

func IsHexDigit(c byte) bool

func IsIdentPart

func IsIdentPart(c byte) bool

func IsIdentStart

func IsIdentStart(c byte) bool

Types

type ASTVisitor added in v0.3.3

type ASTVisitor interface {
	VisitOperationExpr(expr *OperationExpr) error
	VisitTernaryExpr(expr *TernaryOperation) error
	VisitBinaryExpr(expr *BinaryOperation) error
	VisitIndexOperation(expr *IndexOperation) error
	VisitAlterTable(expr *AlterTable) error
	VisitAlterTableAttachPartition(expr *AlterTableAttachPartition) error
	VisitAlterTableDetachPartition(expr *AlterTableDetachPartition) error
	VisitAlterTableDropPartition(expr *AlterTableDropPartition) error
	VisitAlterTableFreezePartition(expr *AlterTableFreezePartition) error
	VisitAlterTableAddColumn(expr *AlterTableAddColumn) error
	VisitAlterTableAddIndex(expr *AlterTableAddIndex) error
	VisitAlterTableAddProjection(expr *AlterTableAddProjection) error
	VisitTableProjection(expr *TableProjection) error
	VisitProjectionOrderBy(expr *ProjectionOrderByClause) error
	VisitProjectionSelect(expr *ProjectionSelectStmt) error
	VisitAlterTableDropColumn(expr *AlterTableDropColumn) error
	VisitAlterTableDropIndex(expr *AlterTableDropIndex) error
	VisitAlterTableDropProjection(expr *AlterTableDropProjection) error
	VisitAlterTableRemoveTTL(expr *AlterTableRemoveTTL) error
	VisitAlterTableClearColumn(expr *AlterTableClearColumn) error
	VisitAlterTableClearIndex(expr *AlterTableClearIndex) error
	VisitAlterTableClearProjection(expr *AlterTableClearProjection) error
	VisitAlterTableMaterializeIndex(expr *AlterTableMaterializeIndex) error
	VisitAlterTableMaterializeProjection(expr *AlterTableMaterializeProjection) error
	VisitAlterTableRenameColumn(expr *AlterTableRenameColumn) error
	VisitAlterTableModifyTTL(expr *AlterTableModifyTTL) error
	VisitAlterTableModifyColumn(expr *AlterTableModifyColumn) error
	VisitAlterTableReplacePartition(expr *AlterTableReplacePartition) error
	VisitRemovePropertyType(expr *RemovePropertyType) error
	VisitTableIndex(expr *TableIndex) error
	VisitIdent(expr *Ident) error
	VisitUUID(expr *UUID) error
	VisitCreateDatabase(expr *CreateDatabase) error
	VisitCreateTable(expr *CreateTable) error
	VisitCreateMaterializedView(expr *CreateMaterializedView) error
	VisitCreateView(expr *CreateView) error
	VisitCreateFunction(expr *CreateFunction) error
	VisitRoleName(expr *RoleName) error
	VisitSettingPair(expr *SettingPair) error
	VisitRoleSetting(expr *RoleSetting) error
	VisitCreateRole(expr *CreateRole) error
	VisitAlterRole(expr *AlterRole) error
	VisitRoleRenamePair(expr *RoleRenamePair) error
	VisitDestinationExpr(expr *DestinationClause) error
	VisitConstraintExpr(expr *ConstraintClause) error
	VisitNullLiteral(expr *NullLiteral) error
	VisitNotNullLiteral(expr *NotNullLiteral) error
	VisitNestedIdentifier(expr *NestedIdentifier) error
	VisitColumnIdentifier(expr *ColumnIdentifier) error
	VisitTableIdentifier(expr *TableIdentifier) error
	VisitTableSchemaExpr(expr *TableSchemaClause) error
	VisitTableArgListExpr(expr *TableArgListExpr) error
	VisitTableFunctionExpr(expr *TableFunctionExpr) error
	VisitOnClusterExpr(expr *ClusterClause) error
	VisitPartitionExpr(expr *PartitionClause) error
	VisitPartitionByExpr(expr *PartitionByClause) error
	VisitPrimaryKeyExpr(expr *PrimaryKeyClause) error
	VisitSampleByExpr(expr *SampleByClause) error
	VisitTTLExpr(expr *TTLExpr) error
	VisitTTLExprList(expr *TTLClause) error
	VisitOrderByExpr(expr *OrderExpr) error
	VisitOrderByListExpr(expr *OrderByClause) error
	VisitSettingsExpr(expr *SettingExprList) error
	VisitSettingsExprList(expr *SettingsClause) error
	VisitParamExprList(expr *ParamExprList) error
	VisitMapLiteral(expr *MapLiteral) error
	VisitArrayParamList(expr *ArrayParamList) error
	VisitQueryParam(expr *QueryParam) error
	VisitObjectParams(expr *ObjectParams) error
	VisitFunctionExpr(expr *FunctionExpr) error
	VisitWindowFunctionExpr(expr *WindowFunctionExpr) error
	VisitColumnDef(expr *ColumnDef) error
	VisitColumnExpr(expr *ColumnExpr) error
	VisitScalarType(expr *ScalarType) error
	VisitJSONType(expr *JSONType) error
	VisitPropertyType(expr *PropertyType) error
	VisitTypeWithParams(expr *TypeWithParams) error
	VisitComplexType(expr *ComplexType) error
	VisitNestedType(expr *NestedType) error
	VisitCompressionCodec(expr *CompressionCodec) error
	VisitNumberLiteral(expr *NumberLiteral) error
	VisitStringLiteral(expr *StringLiteral) error
	VisitRatioExpr(expr *RatioExpr) error
	VisitEnumValue(expr *EnumValue) error
	VisitEnumType(expr *EnumType) error
	VisitIntervalExpr(expr *IntervalExpr) error
	VisitEngineExpr(expr *EngineExpr) error
	VisitColumnTypeExpr(expr *ColumnTypeExpr) error
	VisitColumnArgList(expr *ColumnArgList) error
	VisitColumnExprList(expr *ColumnExprList) error
	VisitWhenExpr(expr *WhenClause) error
	VisitCaseExpr(expr *CaseExpr) error
	VisitCastExpr(expr *CastExpr) error
	VisitWithExpr(expr *WithClause) error
	VisitTopExpr(expr *TopClause) error
	VisitCreateLiveView(expr *CreateLiveView) error
	VisitWithTimeoutExpr(expr *WithTimeoutClause) error
	VisitTableExpr(expr *TableExpr) error
	VisitOnExpr(expr *OnClause) error
	VisitUsingExpr(expr *UsingClause) error
	VisitJoinExpr(expr *JoinExpr) error
	VisitJoinConstraintExpr(expr *JoinConstraintClause) error
	VisitJoinTableExpr(expr *JoinTableExpr) error
	VisitFromExpr(expr *FromClause) error
	VisitIsNullExpr(expr *IsNullExpr) error
	VisitIsNotNullExpr(expr *IsNotNullExpr) error
	VisitAliasExpr(expr *AliasExpr) error
	VisitWhereExpr(expr *WhereClause) error
	VisitPrewhereExpr(expr *PrewhereClause) error
	VisitGroupByExpr(expr *GroupByClause) error
	VisitHavingExpr(expr *HavingClause) error
	VisitLimitExpr(expr *LimitClause) error
	VisitLimitByExpr(expr *LimitByClause) error
	VisitWindowConditionExpr(expr *WindowExpr) error
	VisitWindowExpr(expr *WindowClause) error
	VisitWindowFrameExpr(expr *WindowFrameClause) error
	VisitWindowFrameExtendExpr(expr *WindowFrameExtendExpr) error
	VisitBetweenClause(expr *BetweenClause) error
	VisitWindowFrameCurrentRow(expr *WindowFrameCurrentRow) error
	VisitWindowFrameUnbounded(expr *WindowFrameUnbounded) error
	VisitWindowFrameNumber(expr *WindowFrameNumber) error
	VisitArrayJoinExpr(expr *ArrayJoinClause) error
	VisitSelectQuery(expr *SelectQuery) error
	VisitSubQueryExpr(expr *SubQuery) error
	VisitNotExpr(expr *NotExpr) error
	VisitNegateExpr(expr *NegateExpr) error
	VisitGlobalInExpr(expr *GlobalInOperation) error
	VisitExtractExpr(expr *ExtractExpr) error
	VisitDropDatabase(expr *DropDatabase) error
	VisitDropStmt(expr *DropStmt) error
	VisitDropUserOrRole(expr *DropUserOrRole) error
	VisitUseExpr(expr *UseStmt) error
	VisitCTEExpr(expr *CTEStmt) error
	VisitSetExpr(expr *SetStmt) error
	VisitFormatExpr(expr *FormatClause) error
	VisitOptimizeExpr(expr *OptimizeStmt) error
	VisitDeduplicateExpr(expr *DeduplicateClause) error
	VisitSystemExpr(expr *SystemStmt) error
	VisitSystemFlushExpr(expr *SystemFlushExpr) error
	VisitSystemReloadExpr(expr *SystemReloadExpr) error
	VisitSystemSyncExpr(expr *SystemSyncExpr) error
	VisitSystemCtrlExpr(expr *SystemCtrlExpr) error
	VisitSystemDropExpr(expr *SystemDropExpr) error
	VisitTruncateTable(expr *TruncateTable) error
	VisitSampleRatioExpr(expr *SampleClause) error
	VisitPlaceHolderExpr(expr *PlaceHolder) error
	VisitDeleteFromExpr(expr *DeleteClause) error
	VisitColumnNamesExpr(expr *ColumnNamesExpr) error
	VisitValuesExpr(expr *AssignmentValues) error
	VisitInsertExpr(expr *InsertStmt) error
	VisitCheckExpr(expr *CheckStmt) error
	VisitUnaryExpr(expr *UnaryExpr) error
	VisitRenameStmt(expr *RenameStmt) error
	VisitExplainExpr(expr *ExplainStmt) error
	VisitPrivilegeExpr(expr *PrivilegeClause) error
	VisitGrantPrivilegeExpr(expr *GrantPrivilegeStmt) error
	VisitSelectItem(expr *SelectItem) error
	// contains filtered or unexported methods
}

type AliasExpr

type AliasExpr struct {
	Expr     Expr
	AliasPos Pos
	Alias    Expr
}

func (*AliasExpr) Accept added in v0.3.3

func (a *AliasExpr) Accept(visitor ASTVisitor) error

func (*AliasExpr) End

func (a *AliasExpr) End() Pos

func (*AliasExpr) Pos

func (a *AliasExpr) Pos() Pos

func (*AliasExpr) String

func (a *AliasExpr) String() string

type AlterRole added in v0.3.1

type AlterRole struct {
	AlterPos        Pos
	StatementEnd    Pos
	IfExists        bool
	RoleRenamePairs []*RoleRenamePair
	Settings        []*RoleSetting
}

func (*AlterRole) Accept added in v0.3.3

func (a *AlterRole) Accept(visitor ASTVisitor) error

func (*AlterRole) End added in v0.3.1

func (a *AlterRole) End() Pos

func (*AlterRole) Pos added in v0.3.1

func (a *AlterRole) Pos() Pos

func (*AlterRole) String added in v0.3.1

func (a *AlterRole) String() string

func (*AlterRole) Type added in v0.3.1

func (a *AlterRole) Type() string

type AlterTable

type AlterTable struct {
	AlterPos        Pos
	StatementEnd    Pos
	TableIdentifier *TableIdentifier
	OnCluster       *ClusterClause
	AlterExprs      []AlterTableClause
}

func (*AlterTable) Accept added in v0.3.3

func (a *AlterTable) Accept(visitor ASTVisitor) error

func (*AlterTable) End

func (a *AlterTable) End() Pos

func (*AlterTable) Pos

func (a *AlterTable) Pos() Pos

func (*AlterTable) String

func (a *AlterTable) String() string

func (*AlterTable) Type

func (a *AlterTable) Type() string

type AlterTableAddColumn

type AlterTableAddColumn struct {
	AddPos       Pos
	StatementEnd Pos

	Column      *ColumnDef
	IfNotExists bool
	After       *NestedIdentifier
}

func (*AlterTableAddColumn) Accept added in v0.3.3

func (a *AlterTableAddColumn) Accept(visitor ASTVisitor) error

func (*AlterTableAddColumn) AlterType

func (a *AlterTableAddColumn) AlterType() string

func (*AlterTableAddColumn) End

func (a *AlterTableAddColumn) End() Pos

func (*AlterTableAddColumn) Pos

func (a *AlterTableAddColumn) Pos() Pos

func (*AlterTableAddColumn) String

func (a *AlterTableAddColumn) String() string

type AlterTableAddIndex

type AlterTableAddIndex struct {
	AddPos       Pos
	StatementEnd Pos

	Index       *TableIndex
	IfNotExists bool
	After       *NestedIdentifier
}

func (*AlterTableAddIndex) Accept added in v0.3.3

func (a *AlterTableAddIndex) Accept(visitor ASTVisitor) error

func (*AlterTableAddIndex) AlterType

func (a *AlterTableAddIndex) AlterType() string

func (*AlterTableAddIndex) End

func (a *AlterTableAddIndex) End() Pos

func (*AlterTableAddIndex) Pos

func (a *AlterTableAddIndex) Pos() Pos

func (*AlterTableAddIndex) String

func (a *AlterTableAddIndex) String() string

type AlterTableAddProjection added in v0.3.4

type AlterTableAddProjection struct {
	AddPos       Pos
	StatementEnd Pos

	IfNotExists     bool
	TableProjection *TableProjection
	After           *NestedIdentifier
}

func (*AlterTableAddProjection) Accept added in v0.3.4

func (a *AlterTableAddProjection) Accept(visitor ASTVisitor) error

func (*AlterTableAddProjection) AlterType added in v0.3.4

func (a *AlterTableAddProjection) AlterType() string

func (*AlterTableAddProjection) End added in v0.3.4

func (a *AlterTableAddProjection) End() Pos

func (*AlterTableAddProjection) Pos added in v0.3.4

func (a *AlterTableAddProjection) Pos() Pos

func (*AlterTableAddProjection) String added in v0.3.4

func (a *AlterTableAddProjection) String() string

type AlterTableAttachPartition

type AlterTableAttachPartition struct {
	AttachPos Pos

	Partition *PartitionClause
	From      *TableIdentifier
}

func (*AlterTableAttachPartition) Accept added in v0.3.3

func (a *AlterTableAttachPartition) Accept(visitor ASTVisitor) error

func (*AlterTableAttachPartition) AlterType

func (a *AlterTableAttachPartition) AlterType() string

func (*AlterTableAttachPartition) End

func (a *AlterTableAttachPartition) End() Pos

func (*AlterTableAttachPartition) Pos

func (a *AlterTableAttachPartition) Pos() Pos

func (*AlterTableAttachPartition) String

func (a *AlterTableAttachPartition) String() string

type AlterTableClause added in v0.3.4

type AlterTableClause interface {
	Expr
	AlterType() string
}

type AlterTableClearColumn

type AlterTableClearColumn struct {
	ClearPos     Pos
	StatementEnd Pos

	IfExists      bool
	ColumnName    *NestedIdentifier
	PartitionExpr *PartitionClause
}

func (*AlterTableClearColumn) Accept added in v0.3.3

func (a *AlterTableClearColumn) Accept(visitor ASTVisitor) error

func (*AlterTableClearColumn) AlterType

func (a *AlterTableClearColumn) AlterType() string

func (*AlterTableClearColumn) End

func (a *AlterTableClearColumn) End() Pos

func (*AlterTableClearColumn) Pos

func (a *AlterTableClearColumn) Pos() Pos

func (*AlterTableClearColumn) String

func (a *AlterTableClearColumn) String() string

type AlterTableClearIndex

type AlterTableClearIndex struct {
	ClearPos     Pos
	StatementEnd Pos

	IfExists      bool
	IndexName     *NestedIdentifier
	PartitionExpr *PartitionClause
}

func (*AlterTableClearIndex) Accept added in v0.3.3

func (a *AlterTableClearIndex) Accept(visitor ASTVisitor) error

func (*AlterTableClearIndex) AlterType

func (a *AlterTableClearIndex) AlterType() string

func (*AlterTableClearIndex) End

func (a *AlterTableClearIndex) End() Pos

func (*AlterTableClearIndex) Pos

func (a *AlterTableClearIndex) Pos() Pos

func (*AlterTableClearIndex) String

func (a *AlterTableClearIndex) String() string

type AlterTableClearProjection added in v0.3.4

type AlterTableClearProjection struct {
	ClearPos     Pos
	StatementEnd Pos

	IfExists       bool
	ProjectionName *NestedIdentifier
	PartitionExpr  *PartitionClause
}

func (*AlterTableClearProjection) Accept added in v0.3.4

func (a *AlterTableClearProjection) Accept(visitor ASTVisitor) error

func (*AlterTableClearProjection) AlterType added in v0.3.4

func (a *AlterTableClearProjection) AlterType() string

func (*AlterTableClearProjection) End added in v0.3.4

func (a *AlterTableClearProjection) End() Pos

func (*AlterTableClearProjection) Pos added in v0.3.4

func (a *AlterTableClearProjection) Pos() Pos

func (*AlterTableClearProjection) String added in v0.3.4

func (a *AlterTableClearProjection) String() string

type AlterTableDetachPartition

type AlterTableDetachPartition struct {
	DetachPos Pos
	Partition *PartitionClause
	Settings  *SettingsClause
}

func (*AlterTableDetachPartition) Accept added in v0.3.3

func (a *AlterTableDetachPartition) Accept(visitor ASTVisitor) error

func (*AlterTableDetachPartition) AlterType

func (a *AlterTableDetachPartition) AlterType() string

func (*AlterTableDetachPartition) End

func (a *AlterTableDetachPartition) End() Pos

func (*AlterTableDetachPartition) Pos

func (a *AlterTableDetachPartition) Pos() Pos

func (*AlterTableDetachPartition) String

func (a *AlterTableDetachPartition) String() string

type AlterTableDropColumn

type AlterTableDropColumn struct {
	DropPos    Pos
	ColumnName *NestedIdentifier
	IfExists   bool
}

func (*AlterTableDropColumn) Accept added in v0.3.3

func (a *AlterTableDropColumn) Accept(visitor ASTVisitor) error

func (*AlterTableDropColumn) AlterType

func (a *AlterTableDropColumn) AlterType() string

func (*AlterTableDropColumn) End

func (a *AlterTableDropColumn) End() Pos

func (*AlterTableDropColumn) Pos

func (a *AlterTableDropColumn) Pos() Pos

func (*AlterTableDropColumn) String

func (a *AlterTableDropColumn) String() string

type AlterTableDropIndex

type AlterTableDropIndex struct {
	DropPos   Pos
	IndexName *NestedIdentifier
	IfExists  bool
}

func (*AlterTableDropIndex) Accept added in v0.3.3

func (a *AlterTableDropIndex) Accept(visitor ASTVisitor) error

func (*AlterTableDropIndex) AlterType

func (a *AlterTableDropIndex) AlterType() string

func (*AlterTableDropIndex) End

func (a *AlterTableDropIndex) End() Pos

func (*AlterTableDropIndex) Pos

func (a *AlterTableDropIndex) Pos() Pos

func (*AlterTableDropIndex) String

func (a *AlterTableDropIndex) String() string

type AlterTableDropPartition

type AlterTableDropPartition struct {
	DropPos     Pos
	HasDetached bool
	Partition   *PartitionClause
	Settings    *SettingsClause
}

func (*AlterTableDropPartition) Accept added in v0.3.3

func (a *AlterTableDropPartition) Accept(visitor ASTVisitor) error

func (*AlterTableDropPartition) AlterType

func (a *AlterTableDropPartition) AlterType() string

func (*AlterTableDropPartition) End

func (a *AlterTableDropPartition) End() Pos

func (*AlterTableDropPartition) Pos

func (a *AlterTableDropPartition) Pos() Pos

func (*AlterTableDropPartition) String

func (a *AlterTableDropPartition) String() string

type AlterTableDropProjection added in v0.3.4

type AlterTableDropProjection struct {
	DropPos        Pos
	ProjectionName *NestedIdentifier
	IfExists       bool
}

func (*AlterTableDropProjection) Accept added in v0.3.4

func (a *AlterTableDropProjection) Accept(visitor ASTVisitor) error

func (*AlterTableDropProjection) AlterType added in v0.3.4

func (a *AlterTableDropProjection) AlterType() string

func (*AlterTableDropProjection) End added in v0.3.4

func (a *AlterTableDropProjection) End() Pos

func (*AlterTableDropProjection) Pos added in v0.3.4

func (a *AlterTableDropProjection) Pos() Pos

func (*AlterTableDropProjection) String added in v0.3.4

func (a *AlterTableDropProjection) String() string

type AlterTableFreezePartition

type AlterTableFreezePartition struct {
	FreezePos    Pos
	StatementEnd Pos
	Partition    *PartitionClause
}

func (*AlterTableFreezePartition) Accept added in v0.3.3

func (a *AlterTableFreezePartition) Accept(visitor ASTVisitor) error

func (*AlterTableFreezePartition) AlterType

func (a *AlterTableFreezePartition) AlterType() string

func (*AlterTableFreezePartition) End

func (a *AlterTableFreezePartition) End() Pos

func (*AlterTableFreezePartition) Pos

func (a *AlterTableFreezePartition) Pos() Pos

func (*AlterTableFreezePartition) String

func (a *AlterTableFreezePartition) String() string

type AlterTableMaterializeIndex added in v0.3.4

type AlterTableMaterializeIndex struct {
	MaterializedPos Pos
	StatementEnd    Pos
	IfExists        bool
	IndexName       *NestedIdentifier
	Partition       *PartitionClause
}

func (*AlterTableMaterializeIndex) Accept added in v0.3.4

func (a *AlterTableMaterializeIndex) Accept(visitor ASTVisitor) error

func (*AlterTableMaterializeIndex) AlterType added in v0.3.4

func (a *AlterTableMaterializeIndex) AlterType() string

func (*AlterTableMaterializeIndex) End added in v0.3.4

func (*AlterTableMaterializeIndex) Pos added in v0.3.4

func (*AlterTableMaterializeIndex) String added in v0.3.4

func (a *AlterTableMaterializeIndex) String() string

type AlterTableMaterializeProjection added in v0.3.4

type AlterTableMaterializeProjection struct {
	MaterializedPos Pos
	StatementEnd    Pos
	IfExists        bool
	ProjectionName  *NestedIdentifier
	Partition       *PartitionClause
}

func (*AlterTableMaterializeProjection) Accept added in v0.3.4

func (*AlterTableMaterializeProjection) AlterType added in v0.3.4

func (a *AlterTableMaterializeProjection) AlterType() string

func (*AlterTableMaterializeProjection) End added in v0.3.4

func (*AlterTableMaterializeProjection) Pos added in v0.3.4

func (*AlterTableMaterializeProjection) String added in v0.3.4

type AlterTableModifyColumn

type AlterTableModifyColumn struct {
	ModifyPos    Pos
	StatementEnd Pos

	IfExists           bool
	Column             *ColumnDef
	RemovePropertyType *RemovePropertyType
}

func (*AlterTableModifyColumn) Accept added in v0.3.3

func (a *AlterTableModifyColumn) Accept(visitor ASTVisitor) error

func (*AlterTableModifyColumn) AlterType

func (a *AlterTableModifyColumn) AlterType() string

func (*AlterTableModifyColumn) End

func (a *AlterTableModifyColumn) End() Pos

func (*AlterTableModifyColumn) Pos

func (a *AlterTableModifyColumn) Pos() Pos

func (*AlterTableModifyColumn) String

func (a *AlterTableModifyColumn) String() string

type AlterTableModifyTTL added in v0.3.1

type AlterTableModifyTTL struct {
	ModifyPos    Pos
	StatementEnd Pos
	TTL          *TTLExpr
}

func (*AlterTableModifyTTL) Accept added in v0.3.3

func (a *AlterTableModifyTTL) Accept(visitor ASTVisitor) error

func (*AlterTableModifyTTL) AlterType added in v0.3.1

func (a *AlterTableModifyTTL) AlterType() string

func (*AlterTableModifyTTL) End added in v0.3.1

func (a *AlterTableModifyTTL) End() Pos

func (*AlterTableModifyTTL) Pos added in v0.3.1

func (a *AlterTableModifyTTL) Pos() Pos

func (*AlterTableModifyTTL) String added in v0.3.1

func (a *AlterTableModifyTTL) String() string

type AlterTableRemoveTTL

type AlterTableRemoveTTL struct {
	RemovePos    Pos
	StatementEnd Pos
}

func (*AlterTableRemoveTTL) Accept added in v0.3.3

func (a *AlterTableRemoveTTL) Accept(visitor ASTVisitor) error

func (*AlterTableRemoveTTL) AlterType

func (a *AlterTableRemoveTTL) AlterType() string

func (*AlterTableRemoveTTL) End

func (a *AlterTableRemoveTTL) End() Pos

func (*AlterTableRemoveTTL) Pos

func (a *AlterTableRemoveTTL) Pos() Pos

func (*AlterTableRemoveTTL) String

func (a *AlterTableRemoveTTL) String() string

type AlterTableRenameColumn

type AlterTableRenameColumn struct {
	RenamePos Pos

	IfExists      bool
	OldColumnName *NestedIdentifier
	NewColumnName *NestedIdentifier
}

func (*AlterTableRenameColumn) Accept added in v0.3.3

func (a *AlterTableRenameColumn) Accept(visitor ASTVisitor) error

func (*AlterTableRenameColumn) AlterType

func (a *AlterTableRenameColumn) AlterType() string

func (*AlterTableRenameColumn) End

func (a *AlterTableRenameColumn) End() Pos

func (*AlterTableRenameColumn) Pos

func (a *AlterTableRenameColumn) Pos() Pos

func (*AlterTableRenameColumn) String

func (a *AlterTableRenameColumn) String() string

type AlterTableReplacePartition added in v0.3.0

type AlterTableReplacePartition struct {
	ReplacePos Pos
	Partition  *PartitionClause
	Table      *TableIdentifier
}

func (*AlterTableReplacePartition) Accept added in v0.3.3

func (a *AlterTableReplacePartition) Accept(visitor ASTVisitor) error

func (*AlterTableReplacePartition) AlterType added in v0.3.0

func (a *AlterTableReplacePartition) AlterType() string

func (*AlterTableReplacePartition) End added in v0.3.0

func (*AlterTableReplacePartition) Pos added in v0.3.0

func (*AlterTableReplacePartition) String added in v0.3.0

func (a *AlterTableReplacePartition) String() string

type ArrayJoinClause added in v0.3.4

type ArrayJoinClause struct {
	ArrayPos Pos
	Type     string
	Expr     Expr
}

func (*ArrayJoinClause) Accept added in v0.3.4

func (a *ArrayJoinClause) Accept(visitor ASTVisitor) error

func (*ArrayJoinClause) End added in v0.3.4

func (a *ArrayJoinClause) End() Pos

func (*ArrayJoinClause) Pos added in v0.3.4

func (a *ArrayJoinClause) Pos() Pos

func (*ArrayJoinClause) String added in v0.3.4

func (a *ArrayJoinClause) String() string

type ArrayParamList

type ArrayParamList struct {
	LeftBracketPos  Pos
	RightBracketPos Pos
	Items           *ColumnExprList
}

func (*ArrayParamList) Accept added in v0.3.3

func (a *ArrayParamList) Accept(visitor ASTVisitor) error

func (*ArrayParamList) End

func (a *ArrayParamList) End() Pos

func (*ArrayParamList) Pos

func (a *ArrayParamList) Pos() Pos

func (*ArrayParamList) String

func (a *ArrayParamList) String() string

type AssignmentValues added in v0.3.4

type AssignmentValues struct {
	LeftParenPos  Pos
	RightParenPos Pos
	Values        []Expr
}

func (*AssignmentValues) Accept added in v0.3.4

func (v *AssignmentValues) Accept(visitor ASTVisitor) error

func (*AssignmentValues) End added in v0.3.4

func (v *AssignmentValues) End() Pos

func (*AssignmentValues) Pos added in v0.3.4

func (v *AssignmentValues) Pos() Pos

func (*AssignmentValues) String added in v0.3.4

func (v *AssignmentValues) String() string

type BetweenClause added in v0.3.7

type BetweenClause struct {
	Expr    Expr
	Between Expr
	AndPos  Pos
	And     Expr
}

func (*BetweenClause) Accept added in v0.3.7

func (f *BetweenClause) Accept(visitor ASTVisitor) error

func (*BetweenClause) End added in v0.3.7

func (f *BetweenClause) End() Pos

func (*BetweenClause) Pos added in v0.3.7

func (f *BetweenClause) Pos() Pos

func (*BetweenClause) String added in v0.3.7

func (f *BetweenClause) String() string

type BinaryOperation added in v0.3.4

type BinaryOperation struct {
	LeftExpr  Expr
	Operation TokenKind
	RightExpr Expr
	HasGlobal bool
	HasNot    bool
}

func (*BinaryOperation) Accept added in v0.3.4

func (p *BinaryOperation) Accept(visitor ASTVisitor) error

func (*BinaryOperation) End added in v0.3.4

func (p *BinaryOperation) End() Pos

func (*BinaryOperation) Pos added in v0.3.4

func (p *BinaryOperation) Pos() Pos

func (*BinaryOperation) String added in v0.3.4

func (p *BinaryOperation) String() string

type CTEStmt added in v0.3.4

type CTEStmt struct {
	CTEPos Pos
	Expr   Expr
	Alias  Expr
}

func (*CTEStmt) Accept added in v0.3.4

func (c *CTEStmt) Accept(visitor ASTVisitor) error

func (*CTEStmt) End added in v0.3.4

func (c *CTEStmt) End() Pos

func (*CTEStmt) Pos added in v0.3.4

func (c *CTEStmt) Pos() Pos

func (*CTEStmt) String added in v0.3.4

func (c *CTEStmt) String() string

type CaseExpr

type CaseExpr struct {
	CasePos Pos
	EndPos  Pos
	Expr    Expr // optional
	Whens   []*WhenClause
	ElsePos Pos
	Else    Expr
}

func (*CaseExpr) Accept added in v0.3.3

func (c *CaseExpr) Accept(visitor ASTVisitor) error

func (*CaseExpr) End

func (c *CaseExpr) End() Pos

func (*CaseExpr) Pos

func (c *CaseExpr) Pos() Pos

func (*CaseExpr) String

func (c *CaseExpr) String() string

type CastExpr

type CastExpr struct {
	CastPos   Pos
	Expr      Expr
	Separator string
	AsPos     Pos
	AsType    Expr
}

func (*CastExpr) Accept added in v0.3.3

func (c *CastExpr) Accept(visitor ASTVisitor) error

func (*CastExpr) End

func (c *CastExpr) End() Pos

func (*CastExpr) Pos

func (c *CastExpr) Pos() Pos

func (*CastExpr) String

func (c *CastExpr) String() string

type CheckStmt added in v0.3.4

type CheckStmt struct {
	CheckPos  Pos
	Table     *TableIdentifier
	Partition *PartitionClause
}

func (*CheckStmt) Accept added in v0.3.4

func (c *CheckStmt) Accept(visitor ASTVisitor) error

func (*CheckStmt) End added in v0.3.4

func (c *CheckStmt) End() Pos

func (*CheckStmt) Pos added in v0.3.4

func (c *CheckStmt) Pos() Pos

func (*CheckStmt) String added in v0.3.4

func (c *CheckStmt) String() string

type ClusterClause added in v0.3.4

type ClusterClause struct {
	OnPos Pos
	Expr  Expr
}

func (*ClusterClause) Accept added in v0.3.4

func (o *ClusterClause) Accept(visitor ASTVisitor) error

func (*ClusterClause) End added in v0.3.4

func (o *ClusterClause) End() Pos

func (*ClusterClause) Pos added in v0.3.4

func (o *ClusterClause) Pos() Pos

func (*ClusterClause) String added in v0.3.4

func (o *ClusterClause) String() string

type ColumnArgList

type ColumnArgList struct {
	Distinct      bool
	LeftParenPos  Pos
	RightParenPos Pos
	Items         []Expr
}

func (*ColumnArgList) Accept added in v0.3.3

func (c *ColumnArgList) Accept(visitor ASTVisitor) error

func (*ColumnArgList) End

func (c *ColumnArgList) End() Pos

func (*ColumnArgList) Pos

func (c *ColumnArgList) Pos() Pos

func (*ColumnArgList) String

func (c *ColumnArgList) String() string

type ColumnDef added in v0.3.7

type ColumnDef struct {
	NamePos   Pos
	ColumnEnd Pos
	Name      *NestedIdentifier
	Type      ColumnType
	NotNull   *NotNullLiteral
	Nullable  *NullLiteral

	DefaultExpr      Expr
	MaterializedExpr Expr
	AliasExpr        Expr

	Codec *CompressionCodec
	TTL   Expr

	Comment          *StringLiteral
	CompressionCodec *Ident
}

func (*ColumnDef) Accept added in v0.3.7

func (c *ColumnDef) Accept(visitor ASTVisitor) error

func (*ColumnDef) End added in v0.3.7

func (c *ColumnDef) End() Pos

func (*ColumnDef) Pos added in v0.3.7

func (c *ColumnDef) Pos() Pos

func (*ColumnDef) String added in v0.3.7

func (c *ColumnDef) String() string

type ColumnExpr added in v0.3.4

type ColumnExpr struct {
	Expr  Expr
	Alias *Ident
}

func (*ColumnExpr) Accept added in v0.3.4

func (c *ColumnExpr) Accept(visitor ASTVisitor) error

func (*ColumnExpr) End added in v0.3.4

func (c *ColumnExpr) End() Pos

func (*ColumnExpr) Pos added in v0.3.4

func (c *ColumnExpr) Pos() Pos

func (*ColumnExpr) String added in v0.3.4

func (c *ColumnExpr) String() string

type ColumnExprList

type ColumnExprList struct {
	ListPos     Pos
	ListEnd     Pos
	HasDistinct bool
	Items       []Expr
}

func (*ColumnExprList) Accept added in v0.3.3

func (c *ColumnExprList) Accept(visitor ASTVisitor) error

func (*ColumnExprList) End

func (c *ColumnExprList) End() Pos

func (*ColumnExprList) Pos

func (c *ColumnExprList) Pos() Pos

func (*ColumnExprList) String

func (c *ColumnExprList) String() string

type ColumnIdentifier added in v0.3.2

type ColumnIdentifier struct {
	Database *Ident
	Table    *Ident
	Column   *Ident
}

func (*ColumnIdentifier) Accept added in v0.3.3

func (c *ColumnIdentifier) Accept(visitor ASTVisitor) error

func (*ColumnIdentifier) End added in v0.3.2

func (c *ColumnIdentifier) End() Pos

func (*ColumnIdentifier) Pos added in v0.3.2

func (c *ColumnIdentifier) Pos() Pos

func (*ColumnIdentifier) String added in v0.3.2

func (c *ColumnIdentifier) String() string

type ColumnNamesExpr added in v0.3.0

type ColumnNamesExpr struct {
	LeftParenPos  Pos
	RightParenPos Pos
	ColumnNames   []NestedIdentifier
}

func (*ColumnNamesExpr) Accept added in v0.3.3

func (c *ColumnNamesExpr) Accept(visitor ASTVisitor) error

func (*ColumnNamesExpr) End added in v0.3.0

func (c *ColumnNamesExpr) End() Pos

func (*ColumnNamesExpr) Pos added in v0.3.0

func (c *ColumnNamesExpr) Pos() Pos

func (*ColumnNamesExpr) String added in v0.3.0

func (c *ColumnNamesExpr) String() string

type ColumnType added in v0.4.1

type ColumnType interface {
	Expr
	Type() string
}

type ColumnTypeExpr

type ColumnTypeExpr struct {
	Name *Ident
}

func (*ColumnTypeExpr) Accept added in v0.3.3

func (c *ColumnTypeExpr) Accept(visitor ASTVisitor) error

func (*ColumnTypeExpr) End

func (c *ColumnTypeExpr) End() Pos

func (*ColumnTypeExpr) Pos

func (c *ColumnTypeExpr) Pos() Pos

func (*ColumnTypeExpr) String

func (c *ColumnTypeExpr) String() string

type ComplexType added in v0.4.1

type ComplexType struct {
	LeftParenPos  Pos
	RightParenPos Pos
	Name          *Ident
	Params        []ColumnType
}

func (*ComplexType) Accept added in v0.4.1

func (c *ComplexType) Accept(visitor ASTVisitor) error

func (*ComplexType) End added in v0.4.1

func (c *ComplexType) End() Pos

func (*ComplexType) Pos added in v0.4.1

func (c *ComplexType) Pos() Pos

func (*ComplexType) String added in v0.4.1

func (c *ComplexType) String() string

func (*ComplexType) Type added in v0.4.1

func (c *ComplexType) Type() string

type CompressionCodec

type CompressionCodec struct {
	CodecPos      Pos
	RightParenPos Pos
	Type          *Ident
	TypeLevel     *NumberLiteral
	Name          *Ident
	Level         *NumberLiteral // compression level
}

func (*CompressionCodec) Accept added in v0.3.3

func (c *CompressionCodec) Accept(visitor ASTVisitor) error

func (*CompressionCodec) End

func (c *CompressionCodec) End() Pos

func (*CompressionCodec) Pos

func (c *CompressionCodec) Pos() Pos

func (*CompressionCodec) String

func (c *CompressionCodec) String() string

type ConstraintClause added in v0.3.4

type ConstraintClause struct {
	ConstraintPos Pos
	Constraint    *Ident
	Expr          Expr
}

func (*ConstraintClause) Accept added in v0.3.4

func (c *ConstraintClause) Accept(visitor ASTVisitor) error

func (*ConstraintClause) End added in v0.3.4

func (c *ConstraintClause) End() Pos

func (*ConstraintClause) Pos added in v0.3.4

func (c *ConstraintClause) Pos() Pos

func (*ConstraintClause) String added in v0.3.4

func (c *ConstraintClause) String() string

type CreateDatabase

type CreateDatabase struct {
	CreatePos    Pos // position of CREATE keyword
	StatementEnd Pos
	Name         Expr
	IfNotExists  bool // true if 'IF NOT EXISTS' is specified
	OnCluster    *ClusterClause
	Engine       *EngineExpr
}

func (*CreateDatabase) Accept added in v0.3.3

func (c *CreateDatabase) Accept(visitor ASTVisitor) error

func (*CreateDatabase) End

func (c *CreateDatabase) End() Pos

func (*CreateDatabase) Pos

func (c *CreateDatabase) Pos() Pos

func (*CreateDatabase) String

func (c *CreateDatabase) String() string

func (*CreateDatabase) Type

func (c *CreateDatabase) Type() string

type CreateFunction added in v0.3.1

type CreateFunction struct {
	CreatePos    Pos
	IfNotExists  bool
	FunctionName *Ident
	OnCluster    *ClusterClause
	Params       *ParamExprList
	Expr         Expr
}

func (*CreateFunction) Accept added in v0.3.3

func (c *CreateFunction) Accept(visitor ASTVisitor) error

func (*CreateFunction) End added in v0.3.1

func (c *CreateFunction) End() Pos

func (*CreateFunction) Pos added in v0.3.1

func (c *CreateFunction) Pos() Pos

func (*CreateFunction) String added in v0.3.1

func (c *CreateFunction) String() string

func (*CreateFunction) Type added in v0.3.1

func (c *CreateFunction) Type() string

type CreateLiveView

type CreateLiveView struct {
	CreatePos    Pos
	StatementEnd Pos
	Name         *TableIdentifier
	IfNotExists  bool
	UUID         *UUID
	OnCluster    *ClusterClause
	Destination  *DestinationClause
	TableSchema  *TableSchemaClause
	WithTimeout  *WithTimeoutClause
	SubQuery     *SubQuery
}

func (*CreateLiveView) Accept added in v0.3.3

func (c *CreateLiveView) Accept(visitor ASTVisitor) error

func (*CreateLiveView) End

func (c *CreateLiveView) End() Pos

func (*CreateLiveView) Pos

func (c *CreateLiveView) Pos() Pos

func (*CreateLiveView) String

func (c *CreateLiveView) String() string

func (*CreateLiveView) Type

func (c *CreateLiveView) Type() string

type CreateMaterializedView

type CreateMaterializedView struct {
	CreatePos    Pos // position of CREATE|ATTACH keyword
	StatementEnd Pos
	Name         *TableIdentifier
	IfNotExists  bool
	OnCluster    *ClusterClause
	Engine       *EngineExpr
	Destination  *DestinationClause
	SubQuery     *SubQuery
	Populate     bool
	Comment      *StringLiteral
}

func (*CreateMaterializedView) Accept added in v0.3.3

func (c *CreateMaterializedView) Accept(visitor ASTVisitor) error

func (*CreateMaterializedView) End

func (c *CreateMaterializedView) End() Pos

func (*CreateMaterializedView) Pos

func (c *CreateMaterializedView) Pos() Pos

func (*CreateMaterializedView) String

func (c *CreateMaterializedView) String() string

func (*CreateMaterializedView) Type

func (c *CreateMaterializedView) Type() string

type CreateRole added in v0.3.1

type CreateRole struct {
	CreatePos         Pos
	StatementEnd      Pos
	IfNotExists       bool
	OrReplace         bool
	RoleNames         []*RoleName
	AccessStorageType *Ident
	Settings          []*RoleSetting
}

func (*CreateRole) Accept added in v0.3.3

func (c *CreateRole) Accept(visitor ASTVisitor) error

func (*CreateRole) End added in v0.3.1

func (c *CreateRole) End() Pos

func (*CreateRole) Pos added in v0.3.1

func (c *CreateRole) Pos() Pos

func (*CreateRole) String added in v0.3.1

func (c *CreateRole) String() string

func (*CreateRole) Type added in v0.3.1

func (c *CreateRole) Type() string

type CreateTable

type CreateTable struct {
	CreatePos    Pos // position of CREATE|ATTACH keyword
	StatementEnd Pos
	Name         *TableIdentifier
	IfNotExists  bool
	UUID         *UUID
	OnCluster    *ClusterClause
	TableSchema  *TableSchemaClause
	Engine       *EngineExpr
	SubQuery     *SubQuery
	HasTemporary bool
	Comment      *StringLiteral
}

func (*CreateTable) Accept added in v0.3.3

func (c *CreateTable) Accept(visitor ASTVisitor) error

func (*CreateTable) End

func (c *CreateTable) End() Pos

func (*CreateTable) Pos

func (c *CreateTable) Pos() Pos

func (*CreateTable) String

func (c *CreateTable) String() string

func (*CreateTable) Type

func (c *CreateTable) Type() string

type CreateView

type CreateView struct {
	CreatePos    Pos // position of CREATE|ATTACH keyword
	StatementEnd Pos
	Name         *TableIdentifier
	IfNotExists  bool
	UUID         *UUID
	OnCluster    *ClusterClause
	TableSchema  *TableSchemaClause
	SubQuery     *SubQuery
}

func (*CreateView) Accept added in v0.3.3

func (c *CreateView) Accept(visitor ASTVisitor) error

func (*CreateView) End

func (c *CreateView) End() Pos

func (*CreateView) Pos

func (c *CreateView) Pos() Pos

func (*CreateView) String

func (c *CreateView) String() string

func (*CreateView) Type

func (c *CreateView) Type() string

type DDL

type DDL interface {
	Expr
	Type() string
}

type DeduplicateClause added in v0.3.4

type DeduplicateClause struct {
	DeduplicatePos Pos
	By             *ColumnExprList
	Except         *ColumnExprList
}

func (*DeduplicateClause) Accept added in v0.3.4

func (d *DeduplicateClause) Accept(visitor ASTVisitor) error

func (*DeduplicateClause) End added in v0.3.4

func (d *DeduplicateClause) End() Pos

func (*DeduplicateClause) Pos added in v0.3.4

func (d *DeduplicateClause) Pos() Pos

func (*DeduplicateClause) String added in v0.3.4

func (d *DeduplicateClause) String() string

type DefaultASTVisitor added in v0.3.3

type DefaultASTVisitor struct {
	Visit VisitFunc
}

func (*DefaultASTVisitor) VisitAliasExpr added in v0.3.3

func (v *DefaultASTVisitor) VisitAliasExpr(expr *AliasExpr) error

func (*DefaultASTVisitor) VisitAlterRole added in v0.3.3

func (v *DefaultASTVisitor) VisitAlterRole(expr *AlterRole) error

func (*DefaultASTVisitor) VisitAlterTable added in v0.3.3

func (v *DefaultASTVisitor) VisitAlterTable(expr *AlterTable) error

func (*DefaultASTVisitor) VisitAlterTableAddColumn added in v0.3.3

func (v *DefaultASTVisitor) VisitAlterTableAddColumn(expr *AlterTableAddColumn) error

func (*DefaultASTVisitor) VisitAlterTableAddIndex added in v0.3.3

func (v *DefaultASTVisitor) VisitAlterTableAddIndex(expr *AlterTableAddIndex) error

func (*DefaultASTVisitor) VisitAlterTableAddProjection added in v0.3.4

func (v *DefaultASTVisitor) VisitAlterTableAddProjection(expr *AlterTableAddProjection) error

func (*DefaultASTVisitor) VisitAlterTableAttachPartition added in v0.3.3

func (v *DefaultASTVisitor) VisitAlterTableAttachPartition(expr *AlterTableAttachPartition) error

func (*DefaultASTVisitor) VisitAlterTableClearColumn added in v0.3.3

func (v *DefaultASTVisitor) VisitAlterTableClearColumn(expr *AlterTableClearColumn) error

func (*DefaultASTVisitor) VisitAlterTableClearIndex added in v0.3.3

func (v *DefaultASTVisitor) VisitAlterTableClearIndex(expr *AlterTableClearIndex) error

func (*DefaultASTVisitor) VisitAlterTableClearProjection added in v0.3.4

func (v *DefaultASTVisitor) VisitAlterTableClearProjection(expr *AlterTableClearProjection) error

func (*DefaultASTVisitor) VisitAlterTableDetachPartition added in v0.3.3

func (v *DefaultASTVisitor) VisitAlterTableDetachPartition(expr *AlterTableDetachPartition) error

func (*DefaultASTVisitor) VisitAlterTableDropColumn added in v0.3.3

func (v *DefaultASTVisitor) VisitAlterTableDropColumn(expr *AlterTableDropColumn) error

func (*DefaultASTVisitor) VisitAlterTableDropIndex added in v0.3.3

func (v *DefaultASTVisitor) VisitAlterTableDropIndex(expr *AlterTableDropIndex) error

func (*DefaultASTVisitor) VisitAlterTableDropPartition added in v0.3.3

func (v *DefaultASTVisitor) VisitAlterTableDropPartition(expr *AlterTableDropPartition) error

func (*DefaultASTVisitor) VisitAlterTableDropProjection added in v0.3.4

func (v *DefaultASTVisitor) VisitAlterTableDropProjection(expr *AlterTableDropProjection) error

func (*DefaultASTVisitor) VisitAlterTableFreezePartition added in v0.3.3

func (v *DefaultASTVisitor) VisitAlterTableFreezePartition(expr *AlterTableFreezePartition) error

func (*DefaultASTVisitor) VisitAlterTableMaterializeIndex added in v0.3.4

func (v *DefaultASTVisitor) VisitAlterTableMaterializeIndex(expr *AlterTableMaterializeIndex) error

func (*DefaultASTVisitor) VisitAlterTableMaterializeProjection added in v0.3.4

func (v *DefaultASTVisitor) VisitAlterTableMaterializeProjection(expr *AlterTableMaterializeProjection) error

func (*DefaultASTVisitor) VisitAlterTableModifyColumn added in v0.3.3

func (v *DefaultASTVisitor) VisitAlterTableModifyColumn(expr *AlterTableModifyColumn) error

func (*DefaultASTVisitor) VisitAlterTableModifyTTL added in v0.3.3

func (v *DefaultASTVisitor) VisitAlterTableModifyTTL(expr *AlterTableModifyTTL) error

func (*DefaultASTVisitor) VisitAlterTableRemoveTTL added in v0.3.3

func (v *DefaultASTVisitor) VisitAlterTableRemoveTTL(expr *AlterTableRemoveTTL) error

func (*DefaultASTVisitor) VisitAlterTableRenameColumn added in v0.3.3

func (v *DefaultASTVisitor) VisitAlterTableRenameColumn(expr *AlterTableRenameColumn) error

func (*DefaultASTVisitor) VisitAlterTableReplacePartition added in v0.3.3

func (v *DefaultASTVisitor) VisitAlterTableReplacePartition(expr *AlterTableReplacePartition) error

func (*DefaultASTVisitor) VisitArrayJoinExpr added in v0.3.3

func (v *DefaultASTVisitor) VisitArrayJoinExpr(expr *ArrayJoinClause) error

func (*DefaultASTVisitor) VisitArrayParamList added in v0.3.3

func (v *DefaultASTVisitor) VisitArrayParamList(expr *ArrayParamList) error

func (*DefaultASTVisitor) VisitBetweenClause added in v0.3.7

func (v *DefaultASTVisitor) VisitBetweenClause(expr *BetweenClause) error

func (*DefaultASTVisitor) VisitBinaryExpr added in v0.3.3

func (v *DefaultASTVisitor) VisitBinaryExpr(expr *BinaryOperation) error

func (*DefaultASTVisitor) VisitCTEExpr added in v0.3.3

func (v *DefaultASTVisitor) VisitCTEExpr(expr *CTEStmt) error

func (*DefaultASTVisitor) VisitCaseExpr added in v0.3.3

func (v *DefaultASTVisitor) VisitCaseExpr(expr *CaseExpr) error

func (*DefaultASTVisitor) VisitCastExpr added in v0.3.3

func (v *DefaultASTVisitor) VisitCastExpr(expr *CastExpr) error

func (*DefaultASTVisitor) VisitCheckExpr added in v0.3.3

func (v *DefaultASTVisitor) VisitCheckExpr(expr *CheckStmt) error

func (*DefaultASTVisitor) VisitColumnArgList added in v0.3.3

func (v *DefaultASTVisitor) VisitColumnArgList(expr *ColumnArgList) error

func (*DefaultASTVisitor) VisitColumnDef added in v0.3.7

func (v *DefaultASTVisitor) VisitColumnDef(expr *ColumnDef) error

func (*DefaultASTVisitor) VisitColumnExpr added in v0.3.7

func (v *DefaultASTVisitor) VisitColumnExpr(expr *ColumnExpr) error

func (*DefaultASTVisitor) VisitColumnExprList added in v0.3.3

func (v *DefaultASTVisitor) VisitColumnExprList(expr *ColumnExprList) error

func (*DefaultASTVisitor) VisitColumnIdentifier added in v0.3.3

func (v *DefaultASTVisitor) VisitColumnIdentifier(expr *ColumnIdentifier) error

func (*DefaultASTVisitor) VisitColumnNamesExpr added in v0.3.3

func (v *DefaultASTVisitor) VisitColumnNamesExpr(expr *ColumnNamesExpr) error

func (*DefaultASTVisitor) VisitColumnTypeExpr added in v0.3.3

func (v *DefaultASTVisitor) VisitColumnTypeExpr(expr *ColumnTypeExpr) error

func (*DefaultASTVisitor) VisitComplexType added in v0.4.1

func (v *DefaultASTVisitor) VisitComplexType(expr *ComplexType) error

func (*DefaultASTVisitor) VisitCompressionCodec added in v0.3.3

func (v *DefaultASTVisitor) VisitCompressionCodec(expr *CompressionCodec) error

func (*DefaultASTVisitor) VisitConstraintExpr added in v0.3.3

func (v *DefaultASTVisitor) VisitConstraintExpr(expr *ConstraintClause) error

func (*DefaultASTVisitor) VisitCreateDatabase added in v0.3.3

func (v *DefaultASTVisitor) VisitCreateDatabase(expr *CreateDatabase) error

func (*DefaultASTVisitor) VisitCreateFunction added in v0.3.3

func (v *DefaultASTVisitor) VisitCreateFunction(expr *CreateFunction) error

func (*DefaultASTVisitor) VisitCreateLiveView added in v0.3.3

func (v *DefaultASTVisitor) VisitCreateLiveView(expr *CreateLiveView) error

func (*DefaultASTVisitor) VisitCreateMaterializedView added in v0.3.3

func (v *DefaultASTVisitor) VisitCreateMaterializedView(expr *CreateMaterializedView) error

func (*DefaultASTVisitor) VisitCreateRole added in v0.3.3

func (v *DefaultASTVisitor) VisitCreateRole(expr *CreateRole) error

func (*DefaultASTVisitor) VisitCreateTable added in v0.3.3

func (v *DefaultASTVisitor) VisitCreateTable(expr *CreateTable) error

func (*DefaultASTVisitor) VisitCreateView added in v0.3.3

func (v *DefaultASTVisitor) VisitCreateView(expr *CreateView) error

func (*DefaultASTVisitor) VisitDeduplicateExpr added in v0.3.3

func (v *DefaultASTVisitor) VisitDeduplicateExpr(expr *DeduplicateClause) error

func (*DefaultASTVisitor) VisitDeleteFromExpr added in v0.3.3

func (v *DefaultASTVisitor) VisitDeleteFromExpr(expr *DeleteClause) error

func (*DefaultASTVisitor) VisitDestinationExpr added in v0.3.3

func (v *DefaultASTVisitor) VisitDestinationExpr(expr *DestinationClause) error

func (*DefaultASTVisitor) VisitDropDatabase added in v0.3.3

func (v *DefaultASTVisitor) VisitDropDatabase(expr *DropDatabase) error

func (*DefaultASTVisitor) VisitDropStmt added in v0.3.3

func (v *DefaultASTVisitor) VisitDropStmt(expr *DropStmt) error

func (*DefaultASTVisitor) VisitDropUserOrRole added in v0.3.3

func (v *DefaultASTVisitor) VisitDropUserOrRole(expr *DropUserOrRole) error

func (*DefaultASTVisitor) VisitEngineExpr added in v0.3.3

func (v *DefaultASTVisitor) VisitEngineExpr(expr *EngineExpr) error

func (*DefaultASTVisitor) VisitEnumType added in v0.4.1

func (v *DefaultASTVisitor) VisitEnumType(expr *EnumType) error

func (*DefaultASTVisitor) VisitEnumValue added in v0.4.1

func (v *DefaultASTVisitor) VisitEnumValue(expr *EnumValue) error

func (*DefaultASTVisitor) VisitExplainExpr added in v0.3.3

func (v *DefaultASTVisitor) VisitExplainExpr(expr *ExplainStmt) error

func (*DefaultASTVisitor) VisitExtractExpr added in v0.3.3

func (v *DefaultASTVisitor) VisitExtractExpr(expr *ExtractExpr) error

func (*DefaultASTVisitor) VisitFormatExpr added in v0.3.3

func (v *DefaultASTVisitor) VisitFormatExpr(expr *FormatClause) error

func (*DefaultASTVisitor) VisitFromExpr added in v0.3.3

func (v *DefaultASTVisitor) VisitFromExpr(expr *FromClause) error

func (*DefaultASTVisitor) VisitFunctionExpr added in v0.3.3

func (v *DefaultASTVisitor) VisitFunctionExpr(expr *FunctionExpr) error

func (*DefaultASTVisitor) VisitGlobalInExpr added in v0.3.3

func (v *DefaultASTVisitor) VisitGlobalInExpr(expr *GlobalInOperation) error

func (*DefaultASTVisitor) VisitGrantPrivilegeExpr added in v0.3.3

func (v *DefaultASTVisitor) VisitGrantPrivilegeExpr(expr *GrantPrivilegeStmt) error

func (*DefaultASTVisitor) VisitGroupByExpr added in v0.3.3

func (v *DefaultASTVisitor) VisitGroupByExpr(expr *GroupByClause) error

func (*DefaultASTVisitor) VisitHavingExpr added in v0.3.3

func (v *DefaultASTVisitor) VisitHavingExpr(expr *HavingClause) error

func (*DefaultASTVisitor) VisitIdent added in v0.3.3

func (v *DefaultASTVisitor) VisitIdent(expr *Ident) error

func (*DefaultASTVisitor) VisitIndexOperation added in v0.4.2

func (v *DefaultASTVisitor) VisitIndexOperation(expr *IndexOperation) error

func (*DefaultASTVisitor) VisitInsertExpr added in v0.3.3

func (v *DefaultASTVisitor) VisitInsertExpr(expr *InsertStmt) error

func (*DefaultASTVisitor) VisitIntervalExpr added in v0.3.3

func (v *DefaultASTVisitor) VisitIntervalExpr(expr *IntervalExpr) error

func (*DefaultASTVisitor) VisitIsNotNullExpr added in v0.3.3

func (v *DefaultASTVisitor) VisitIsNotNullExpr(expr *IsNotNullExpr) error

func (*DefaultASTVisitor) VisitIsNullExpr added in v0.3.3

func (v *DefaultASTVisitor) VisitIsNullExpr(expr *IsNullExpr) error

func (*DefaultASTVisitor) VisitJSONType added in v0.4.2

func (v *DefaultASTVisitor) VisitJSONType(expr *JSONType) error

func (*DefaultASTVisitor) VisitJoinConstraintExpr added in v0.3.3

func (v *DefaultASTVisitor) VisitJoinConstraintExpr(expr *JoinConstraintClause) error

func (*DefaultASTVisitor) VisitJoinExpr added in v0.3.3

func (v *DefaultASTVisitor) VisitJoinExpr(expr *JoinExpr) error

func (*DefaultASTVisitor) VisitJoinTableExpr added in v0.3.4

func (v *DefaultASTVisitor) VisitJoinTableExpr(expr *JoinTableExpr) error

func (*DefaultASTVisitor) VisitLimitByExpr added in v0.3.3

func (v *DefaultASTVisitor) VisitLimitByExpr(expr *LimitByClause) error

func (*DefaultASTVisitor) VisitLimitExpr added in v0.3.3

func (v *DefaultASTVisitor) VisitLimitExpr(expr *LimitClause) error

func (*DefaultASTVisitor) VisitMapLiteral added in v0.3.6

func (v *DefaultASTVisitor) VisitMapLiteral(expr *MapLiteral) error

func (*DefaultASTVisitor) VisitNegateExpr added in v0.3.3

func (v *DefaultASTVisitor) VisitNegateExpr(expr *NegateExpr) error

func (*DefaultASTVisitor) VisitNestedIdentifier added in v0.3.3

func (v *DefaultASTVisitor) VisitNestedIdentifier(expr *NestedIdentifier) error

func (*DefaultASTVisitor) VisitNestedType added in v0.4.1

func (v *DefaultASTVisitor) VisitNestedType(expr *NestedType) error

func (*DefaultASTVisitor) VisitNotExpr added in v0.3.3

func (v *DefaultASTVisitor) VisitNotExpr(expr *NotExpr) error

func (*DefaultASTVisitor) VisitNotNullLiteral added in v0.3.3

func (v *DefaultASTVisitor) VisitNotNullLiteral(expr *NotNullLiteral) error

func (*DefaultASTVisitor) VisitNullLiteral added in v0.3.3

func (v *DefaultASTVisitor) VisitNullLiteral(expr *NullLiteral) error

func (*DefaultASTVisitor) VisitNumberLiteral added in v0.3.3

func (v *DefaultASTVisitor) VisitNumberLiteral(expr *NumberLiteral) error

func (*DefaultASTVisitor) VisitObjectParams added in v0.3.3

func (v *DefaultASTVisitor) VisitObjectParams(expr *ObjectParams) error

func (*DefaultASTVisitor) VisitOnClusterExpr added in v0.3.3

func (v *DefaultASTVisitor) VisitOnClusterExpr(expr *ClusterClause) error

func (*DefaultASTVisitor) VisitOnExpr added in v0.3.3

func (v *DefaultASTVisitor) VisitOnExpr(expr *OnClause) error

func (*DefaultASTVisitor) VisitOperationExpr added in v0.3.3

func (v *DefaultASTVisitor) VisitOperationExpr(expr *OperationExpr) error

func (*DefaultASTVisitor) VisitOptimizeExpr added in v0.3.3

func (v *DefaultASTVisitor) VisitOptimizeExpr(expr *OptimizeStmt) error

func (*DefaultASTVisitor) VisitOrderByExpr added in v0.3.3

func (v *DefaultASTVisitor) VisitOrderByExpr(expr *OrderExpr) error

func (*DefaultASTVisitor) VisitOrderByListExpr added in v0.3.3

func (v *DefaultASTVisitor) VisitOrderByListExpr(expr *OrderByClause) error

func (*DefaultASTVisitor) VisitParamExprList added in v0.3.3

func (v *DefaultASTVisitor) VisitParamExprList(expr *ParamExprList) error

func (*DefaultASTVisitor) VisitPartitionByExpr added in v0.3.3

func (v *DefaultASTVisitor) VisitPartitionByExpr(expr *PartitionByClause) error

func (*DefaultASTVisitor) VisitPartitionExpr added in v0.3.3

func (v *DefaultASTVisitor) VisitPartitionExpr(expr *PartitionClause) error

func (*DefaultASTVisitor) VisitPlaceHolderExpr added in v0.3.6

func (v *DefaultASTVisitor) VisitPlaceHolderExpr(expr *PlaceHolder) error

func (*DefaultASTVisitor) VisitPrewhereExpr added in v0.3.3

func (v *DefaultASTVisitor) VisitPrewhereExpr(expr *PrewhereClause) error

func (*DefaultASTVisitor) VisitPrimaryKeyExpr added in v0.3.3

func (v *DefaultASTVisitor) VisitPrimaryKeyExpr(expr *PrimaryKeyClause) error

func (*DefaultASTVisitor) VisitPrivilegeExpr added in v0.3.3

func (v *DefaultASTVisitor) VisitPrivilegeExpr(expr *PrivilegeClause) error

func (*DefaultASTVisitor) VisitProjectionOrderBy added in v0.3.4

func (v *DefaultASTVisitor) VisitProjectionOrderBy(expr *ProjectionOrderByClause) error

func (*DefaultASTVisitor) VisitProjectionSelect added in v0.3.4

func (v *DefaultASTVisitor) VisitProjectionSelect(expr *ProjectionSelectStmt) error

func (*DefaultASTVisitor) VisitPropertyType added in v0.4.1

func (v *DefaultASTVisitor) VisitPropertyType(expr *PropertyType) error

func (*DefaultASTVisitor) VisitQueryParam added in v0.3.6

func (v *DefaultASTVisitor) VisitQueryParam(expr *QueryParam) error

func (*DefaultASTVisitor) VisitRatioExpr added in v0.3.3

func (v *DefaultASTVisitor) VisitRatioExpr(expr *RatioExpr) error

func (*DefaultASTVisitor) VisitRemovePropertyType added in v0.3.3

func (v *DefaultASTVisitor) VisitRemovePropertyType(expr *RemovePropertyType) error

func (*DefaultASTVisitor) VisitRenameStmt added in v0.3.3

func (v *DefaultASTVisitor) VisitRenameStmt(expr *RenameStmt) error

func (*DefaultASTVisitor) VisitRoleName added in v0.3.3

func (v *DefaultASTVisitor) VisitRoleName(expr *RoleName) error

func (*DefaultASTVisitor) VisitRoleRenamePair added in v0.3.3

func (v *DefaultASTVisitor) VisitRoleRenamePair(expr *RoleRenamePair) error

func (*DefaultASTVisitor) VisitRoleSetting added in v0.3.3

func (v *DefaultASTVisitor) VisitRoleSetting(expr *RoleSetting) error

func (*DefaultASTVisitor) VisitSampleByExpr added in v0.3.3

func (v *DefaultASTVisitor) VisitSampleByExpr(expr *SampleByClause) error

func (*DefaultASTVisitor) VisitSampleRatioExpr added in v0.3.3

func (v *DefaultASTVisitor) VisitSampleRatioExpr(expr *SampleClause) error

func (*DefaultASTVisitor) VisitScalarType added in v0.4.1

func (v *DefaultASTVisitor) VisitScalarType(expr *ScalarType) error

func (*DefaultASTVisitor) VisitSelectItem added in v0.3.7

func (v *DefaultASTVisitor) VisitSelectItem(expr *SelectItem) error

func (*DefaultASTVisitor) VisitSelectQuery added in v0.3.3

func (v *DefaultASTVisitor) VisitSelectQuery(expr *SelectQuery) error

func (*DefaultASTVisitor) VisitSetExpr added in v0.3.3

func (v *DefaultASTVisitor) VisitSetExpr(expr *SetStmt) error

func (*DefaultASTVisitor) VisitSettingPair added in v0.3.3

func (v *DefaultASTVisitor) VisitSettingPair(expr *SettingPair) error

func (*DefaultASTVisitor) VisitSettingsExpr added in v0.3.3

func (v *DefaultASTVisitor) VisitSettingsExpr(expr *SettingExprList) error

func (*DefaultASTVisitor) VisitSettingsExprList added in v0.3.3

func (v *DefaultASTVisitor) VisitSettingsExprList(expr *SettingsClause) error

func (*DefaultASTVisitor) VisitStringLiteral added in v0.3.3

func (v *DefaultASTVisitor) VisitStringLiteral(expr *StringLiteral) error

func (*DefaultASTVisitor) VisitSubQueryExpr added in v0.3.3

func (v *DefaultASTVisitor) VisitSubQueryExpr(expr *SubQuery) error

func (*DefaultASTVisitor) VisitSystemCtrlExpr added in v0.3.3

func (v *DefaultASTVisitor) VisitSystemCtrlExpr(expr *SystemCtrlExpr) error

func (*DefaultASTVisitor) VisitSystemDropExpr added in v0.3.3

func (v *DefaultASTVisitor) VisitSystemDropExpr(expr *SystemDropExpr) error

func (*DefaultASTVisitor) VisitSystemExpr added in v0.3.3

func (v *DefaultASTVisitor) VisitSystemExpr(expr *SystemStmt) error

func (*DefaultASTVisitor) VisitSystemFlushExpr added in v0.3.3

func (v *DefaultASTVisitor) VisitSystemFlushExpr(expr *SystemFlushExpr) error

func (*DefaultASTVisitor) VisitSystemReloadExpr added in v0.3.3

func (v *DefaultASTVisitor) VisitSystemReloadExpr(expr *SystemReloadExpr) error

func (*DefaultASTVisitor) VisitSystemSyncExpr added in v0.3.3

func (v *DefaultASTVisitor) VisitSystemSyncExpr(expr *SystemSyncExpr) error

func (*DefaultASTVisitor) VisitTTLExpr added in v0.3.3

func (v *DefaultASTVisitor) VisitTTLExpr(expr *TTLExpr) error

func (*DefaultASTVisitor) VisitTTLExprList added in v0.3.3

func (v *DefaultASTVisitor) VisitTTLExprList(expr *TTLClause) error

func (*DefaultASTVisitor) VisitTableArgListExpr added in v0.3.3

func (v *DefaultASTVisitor) VisitTableArgListExpr(expr *TableArgListExpr) error

func (*DefaultASTVisitor) VisitTableExpr added in v0.3.3

func (v *DefaultASTVisitor) VisitTableExpr(expr *TableExpr) error

func (*DefaultASTVisitor) VisitTableFunctionExpr added in v0.3.3

func (v *DefaultASTVisitor) VisitTableFunctionExpr(expr *TableFunctionExpr) error

func (*DefaultASTVisitor) VisitTableIdentifier added in v0.3.3

func (v *DefaultASTVisitor) VisitTableIdentifier(expr *TableIdentifier) error

func (*DefaultASTVisitor) VisitTableIndex added in v0.3.3

func (v *DefaultASTVisitor) VisitTableIndex(expr *TableIndex) error

func (*DefaultASTVisitor) VisitTableProjection added in v0.3.4

func (v *DefaultASTVisitor) VisitTableProjection(expr *TableProjection) error

func (*DefaultASTVisitor) VisitTableSchemaExpr added in v0.3.3

func (v *DefaultASTVisitor) VisitTableSchemaExpr(expr *TableSchemaClause) error

func (*DefaultASTVisitor) VisitTernaryExpr added in v0.3.3

func (v *DefaultASTVisitor) VisitTernaryExpr(expr *TernaryOperation) error

func (*DefaultASTVisitor) VisitTopExpr added in v0.3.3

func (v *DefaultASTVisitor) VisitTopExpr(expr *TopClause) error

func (*DefaultASTVisitor) VisitTruncateTable added in v0.3.3

func (v *DefaultASTVisitor) VisitTruncateTable(expr *TruncateTable) error

func (*DefaultASTVisitor) VisitTypeWithParams added in v0.4.1

func (v *DefaultASTVisitor) VisitTypeWithParams(expr *TypeWithParams) error

func (*DefaultASTVisitor) VisitUUID added in v0.3.3

func (v *DefaultASTVisitor) VisitUUID(expr *UUID) error

func (*DefaultASTVisitor) VisitUnaryExpr added in v0.3.3

func (v *DefaultASTVisitor) VisitUnaryExpr(expr *UnaryExpr) error

func (*DefaultASTVisitor) VisitUseExpr added in v0.3.3

func (v *DefaultASTVisitor) VisitUseExpr(expr *UseStmt) error

func (*DefaultASTVisitor) VisitUsingExpr added in v0.3.3

func (v *DefaultASTVisitor) VisitUsingExpr(expr *UsingClause) error

func (*DefaultASTVisitor) VisitValuesExpr added in v0.3.3

func (v *DefaultASTVisitor) VisitValuesExpr(expr *AssignmentValues) error

func (*DefaultASTVisitor) VisitWhenExpr added in v0.3.3

func (v *DefaultASTVisitor) VisitWhenExpr(expr *WhenClause) error

func (*DefaultASTVisitor) VisitWhereExpr added in v0.3.3

func (v *DefaultASTVisitor) VisitWhereExpr(expr *WhereClause) error

func (*DefaultASTVisitor) VisitWindowConditionExpr added in v0.3.3

func (v *DefaultASTVisitor) VisitWindowConditionExpr(expr *WindowExpr) error

func (*DefaultASTVisitor) VisitWindowExpr added in v0.3.3

func (v *DefaultASTVisitor) VisitWindowExpr(expr *WindowClause) error

func (*DefaultASTVisitor) VisitWindowFrameCurrentRow added in v0.3.3

func (v *DefaultASTVisitor) VisitWindowFrameCurrentRow(expr *WindowFrameCurrentRow) error

func (*DefaultASTVisitor) VisitWindowFrameExpr added in v0.3.3

func (v *DefaultASTVisitor) VisitWindowFrameExpr(expr *WindowFrameClause) error

func (*DefaultASTVisitor) VisitWindowFrameExtendExpr added in v0.3.3

func (v *DefaultASTVisitor) VisitWindowFrameExtendExpr(expr *WindowFrameExtendExpr) error

func (*DefaultASTVisitor) VisitWindowFrameNumber added in v0.3.3

func (v *DefaultASTVisitor) VisitWindowFrameNumber(expr *WindowFrameNumber) error

func (*DefaultASTVisitor) VisitWindowFrameUnbounded added in v0.3.3

func (v *DefaultASTVisitor) VisitWindowFrameUnbounded(expr *WindowFrameUnbounded) error

func (*DefaultASTVisitor) VisitWindowFunctionExpr added in v0.3.3

func (v *DefaultASTVisitor) VisitWindowFunctionExpr(expr *WindowFunctionExpr) error

func (*DefaultASTVisitor) VisitWithExpr added in v0.3.3

func (v *DefaultASTVisitor) VisitWithExpr(expr *WithClause) error

func (*DefaultASTVisitor) VisitWithTimeoutExpr added in v0.3.3

func (v *DefaultASTVisitor) VisitWithTimeoutExpr(expr *WithTimeoutClause) error

type DeleteClause added in v0.3.4

type DeleteClause struct {
	DeletePos Pos
	Table     *TableIdentifier
	OnCluster *ClusterClause
	WhereExpr Expr
}

func (*DeleteClause) Accept added in v0.3.4

func (d *DeleteClause) Accept(visitor ASTVisitor) error

func (*DeleteClause) End added in v0.3.4

func (d *DeleteClause) End() Pos

func (*DeleteClause) Pos added in v0.3.4

func (d *DeleteClause) Pos() Pos

func (*DeleteClause) String added in v0.3.4

func (d *DeleteClause) String() string

type DestinationClause added in v0.3.4

type DestinationClause struct {
	ToPos           Pos
	TableIdentifier *TableIdentifier
	TableSchema     *TableSchemaClause
}

func (*DestinationClause) Accept added in v0.3.4

func (d *DestinationClause) Accept(visitor ASTVisitor) error

func (*DestinationClause) End added in v0.3.4

func (d *DestinationClause) End() Pos

func (*DestinationClause) Pos added in v0.3.4

func (d *DestinationClause) Pos() Pos

func (*DestinationClause) String added in v0.3.4

func (d *DestinationClause) String() string

type DropDatabase

type DropDatabase struct {
	DropPos      Pos
	StatementEnd Pos
	Name         *Ident
	IfExists     bool
	OnCluster    *ClusterClause
}

func (*DropDatabase) Accept added in v0.3.3

func (d *DropDatabase) Accept(visitor ASTVisitor) error

func (*DropDatabase) End

func (d *DropDatabase) End() Pos

func (*DropDatabase) Pos

func (d *DropDatabase) Pos() Pos

func (*DropDatabase) String

func (d *DropDatabase) String() string

func (*DropDatabase) Type

func (d *DropDatabase) Type() string

type DropStmt added in v0.3.1

type DropStmt struct {
	DropPos      Pos
	StatementEnd Pos

	DropTarget  string
	Name        *TableIdentifier
	IfExists    bool
	OnCluster   *ClusterClause
	IsTemporary bool
	Modifier    string
}

func (*DropStmt) Accept added in v0.3.3

func (d *DropStmt) Accept(visitor ASTVisitor) error

func (*DropStmt) End added in v0.3.1

func (d *DropStmt) End() Pos

func (*DropStmt) Pos added in v0.3.1

func (d *DropStmt) Pos() Pos

func (*DropStmt) String added in v0.3.1

func (d *DropStmt) String() string

func (*DropStmt) Type added in v0.3.1

func (d *DropStmt) Type() string

type DropUserOrRole added in v0.3.1

type DropUserOrRole struct {
	DropPos      Pos
	Target       string
	StatementEnd Pos
	Names        []*RoleName
	IfExists     bool
	Modifier     string
	From         *Ident
}

func (*DropUserOrRole) Accept added in v0.3.3

func (d *DropUserOrRole) Accept(visitor ASTVisitor) error

func (*DropUserOrRole) End added in v0.3.1

func (d *DropUserOrRole) End() Pos

func (*DropUserOrRole) Pos added in v0.3.1

func (d *DropUserOrRole) Pos() Pos

func (*DropUserOrRole) String added in v0.3.1

func (d *DropUserOrRole) String() string

func (*DropUserOrRole) Type added in v0.3.1

func (d *DropUserOrRole) Type() string

type EngineExpr

type EngineExpr struct {
	EnginePos   Pos
	EngineEnd   Pos
	Name        string
	Params      *ParamExprList
	PrimaryKey  *PrimaryKeyClause
	PartitionBy *PartitionByClause
	SampleBy    *SampleByClause
	TTL         *TTLClause
	Settings    *SettingsClause
	OrderBy     *OrderByClause
}

TODO(@git-hulk): split into EngineClause and EngineExpr

func (*EngineExpr) Accept added in v0.3.3

func (e *EngineExpr) Accept(visitor ASTVisitor) error

func (*EngineExpr) End

func (e *EngineExpr) End() Pos

func (*EngineExpr) Pos

func (e *EngineExpr) Pos() Pos

func (*EngineExpr) String

func (e *EngineExpr) String() string

type EnumType added in v0.4.1

type EnumType struct {
	Name    *Ident
	ListPos Pos
	ListEnd Pos
	Values  []EnumValue
}

func (*EnumType) Accept added in v0.4.1

func (e *EnumType) Accept(visitor ASTVisitor) error

func (*EnumType) End added in v0.4.1

func (e *EnumType) End() Pos

func (*EnumType) Pos added in v0.4.1

func (e *EnumType) Pos() Pos

func (*EnumType) String added in v0.4.1

func (e *EnumType) String() string

func (*EnumType) Type added in v0.4.1

func (e *EnumType) Type() string

type EnumValue added in v0.3.4

type EnumValue struct {
	Name  *StringLiteral
	Value *NumberLiteral
}

func (*EnumValue) Accept added in v0.3.4

func (e *EnumValue) Accept(visitor ASTVisitor) error

func (*EnumValue) End added in v0.3.4

func (e *EnumValue) End() Pos

func (*EnumValue) Pos added in v0.3.4

func (e *EnumValue) Pos() Pos

func (*EnumValue) String added in v0.3.4

func (e *EnumValue) String() string

type ExplainStmt added in v0.3.4

type ExplainStmt struct {
	ExplainPos Pos
	Type       string
	Statement  Expr
}

func (*ExplainStmt) Accept added in v0.3.4

func (e *ExplainStmt) Accept(visitor ASTVisitor) error

func (*ExplainStmt) End added in v0.3.4

func (e *ExplainStmt) End() Pos

func (*ExplainStmt) Pos added in v0.3.4

func (e *ExplainStmt) Pos() Pos

func (*ExplainStmt) String added in v0.3.4

func (e *ExplainStmt) String() string

type Expr

type Expr interface {
	Pos() Pos
	End() Pos
	String() string
	Accept(visitor ASTVisitor) error
}

type ExtractExpr

type ExtractExpr struct {
	ExtractPos Pos
	Interval   *Ident
	FromPos    Pos
	FromExpr   Expr
}

func (*ExtractExpr) Accept added in v0.3.3

func (e *ExtractExpr) Accept(visitor ASTVisitor) error

func (*ExtractExpr) End

func (e *ExtractExpr) End() Pos

func (*ExtractExpr) Pos

func (e *ExtractExpr) Pos() Pos

func (*ExtractExpr) String

func (e *ExtractExpr) String() string

type FormatClause added in v0.3.4

type FormatClause struct {
	FormatPos Pos
	Format    *Ident
}

func (*FormatClause) Accept added in v0.3.4

func (f *FormatClause) Accept(visitor ASTVisitor) error

func (*FormatClause) End added in v0.3.4

func (f *FormatClause) End() Pos

func (*FormatClause) Pos added in v0.3.4

func (f *FormatClause) Pos() Pos

func (*FormatClause) String added in v0.3.4

func (f *FormatClause) String() string

type FromClause added in v0.3.4

type FromClause struct {
	FromPos Pos
	Expr    Expr
}

func (*FromClause) Accept added in v0.3.4

func (f *FromClause) Accept(visitor ASTVisitor) error

func (*FromClause) End added in v0.3.4

func (f *FromClause) End() Pos

func (*FromClause) Pos added in v0.3.4

func (f *FromClause) Pos() Pos

func (*FromClause) String added in v0.3.4

func (f *FromClause) String() string

type FunctionExpr

type FunctionExpr struct {
	Name   *Ident
	Params *ParamExprList
}

func (*FunctionExpr) Accept added in v0.3.3

func (f *FunctionExpr) Accept(visitor ASTVisitor) error

func (*FunctionExpr) End

func (f *FunctionExpr) End() Pos

func (*FunctionExpr) Pos

func (f *FunctionExpr) Pos() Pos

func (*FunctionExpr) String

func (f *FunctionExpr) String() string

type GlobalInOperation added in v0.3.4

type GlobalInOperation struct {
	GlobalPos Pos
	Expr      Expr
}

func (*GlobalInOperation) Accept added in v0.3.4

func (g *GlobalInOperation) Accept(visitor ASTVisitor) error

func (*GlobalInOperation) End added in v0.3.4

func (g *GlobalInOperation) End() Pos

func (*GlobalInOperation) Pos added in v0.3.4

func (g *GlobalInOperation) Pos() Pos

func (*GlobalInOperation) String added in v0.3.4

func (g *GlobalInOperation) String() string

type GrantPrivilegeStmt added in v0.3.4

type GrantPrivilegeStmt struct {
	GrantPos     Pos
	StatementEnd Pos
	OnCluster    *ClusterClause
	Privileges   []*PrivilegeClause
	On           *TableIdentifier
	To           []*Ident
	WithOptions  []string
}

func (*GrantPrivilegeStmt) Accept added in v0.3.4

func (g *GrantPrivilegeStmt) Accept(visitor ASTVisitor) error

func (*GrantPrivilegeStmt) End added in v0.3.4

func (g *GrantPrivilegeStmt) End() Pos

func (*GrantPrivilegeStmt) Pos added in v0.3.4

func (g *GrantPrivilegeStmt) Pos() Pos

func (*GrantPrivilegeStmt) String added in v0.3.4

func (g *GrantPrivilegeStmt) String() string

func (*GrantPrivilegeStmt) Type added in v0.3.4

func (g *GrantPrivilegeStmt) Type() string

type GroupByClause added in v0.3.4

type GroupByClause struct {
	GroupByPos    Pos
	AggregateType string
	Expr          Expr
	WithCube      bool
	WithRollup    bool
	WithTotals    bool
}

func (*GroupByClause) Accept added in v0.3.4

func (g *GroupByClause) Accept(visitor ASTVisitor) error

func (*GroupByClause) End added in v0.3.4

func (g *GroupByClause) End() Pos

func (*GroupByClause) Pos added in v0.3.4

func (g *GroupByClause) Pos() Pos

func (*GroupByClause) String added in v0.3.4

func (g *GroupByClause) String() string

type HavingClause added in v0.3.4

type HavingClause struct {
	HavingPos Pos
	Expr      Expr
}

func (*HavingClause) Accept added in v0.3.4

func (h *HavingClause) Accept(visitor ASTVisitor) error

func (*HavingClause) End added in v0.3.4

func (h *HavingClause) End() Pos

func (*HavingClause) Pos added in v0.3.4

func (h *HavingClause) Pos() Pos

func (*HavingClause) String added in v0.3.4

func (h *HavingClause) String() string

type Ident

type Ident struct {
	Name      string
	QuoteType int
	NamePos   Pos
	NameEnd   Pos
}

func (*Ident) Accept added in v0.3.3

func (i *Ident) Accept(visitor ASTVisitor) error

func (*Ident) End

func (i *Ident) End() Pos

func (*Ident) Pos

func (i *Ident) Pos() Pos

func (*Ident) String

func (i *Ident) String() string

type IndexOperation added in v0.4.2

type IndexOperation struct {
	LeftExpr  Expr
	Operation TokenKind
	Index     Expr
}

func (*IndexOperation) Accept added in v0.4.2

func (i *IndexOperation) Accept(visitor ASTVisitor) error

func (*IndexOperation) End added in v0.4.2

func (i *IndexOperation) End() Pos

func (*IndexOperation) Pos added in v0.4.2

func (i *IndexOperation) Pos() Pos

func (*IndexOperation) String added in v0.4.2

func (i *IndexOperation) String() string

type InsertStmt added in v0.3.4

type InsertStmt struct {
	InsertPos   Pos
	Format      *FormatClause
	Table       Expr
	ColumnNames *ColumnNamesExpr
	Values      []*AssignmentValues
	SelectExpr  *SelectQuery
}

func (*InsertStmt) Accept added in v0.3.4

func (i *InsertStmt) Accept(visitor ASTVisitor) error

func (*InsertStmt) End added in v0.3.4

func (i *InsertStmt) End() Pos

func (*InsertStmt) Pos added in v0.3.4

func (i *InsertStmt) Pos() Pos

func (*InsertStmt) String added in v0.3.4

func (i *InsertStmt) String() string

type IntervalExpr

type IntervalExpr struct {
	IntervalPos Pos
	Expr        Expr
	Unit        *Ident
}

func (*IntervalExpr) Accept added in v0.3.3

func (i *IntervalExpr) Accept(visitor ASTVisitor) error

func (*IntervalExpr) End

func (i *IntervalExpr) End() Pos

func (*IntervalExpr) Pos

func (i *IntervalExpr) Pos() Pos

func (*IntervalExpr) String

func (i *IntervalExpr) String() string

type IsNotNullExpr

type IsNotNullExpr struct {
	IsPos Pos
	Expr  Expr
}

func (*IsNotNullExpr) Accept added in v0.3.3

func (n *IsNotNullExpr) Accept(visitor ASTVisitor) error

func (*IsNotNullExpr) End

func (n *IsNotNullExpr) End() Pos

func (*IsNotNullExpr) Pos

func (n *IsNotNullExpr) Pos() Pos

func (*IsNotNullExpr) String

func (n *IsNotNullExpr) String() string

type IsNullExpr

type IsNullExpr struct {
	IsPos Pos
	Expr  Expr
}

func (*IsNullExpr) Accept added in v0.3.3

func (n *IsNullExpr) Accept(visitor ASTVisitor) error

func (*IsNullExpr) End

func (n *IsNullExpr) End() Pos

func (*IsNullExpr) Pos

func (n *IsNullExpr) Pos() Pos

func (*IsNullExpr) String

func (n *IsNullExpr) String() string

type JSONOption added in v0.4.2

type JSONOption struct {
	SkipPath  *JSONPath
	SkipRegex *StringLiteral
}

func (*JSONOption) String added in v0.4.2

func (j *JSONOption) String() string

type JSONOptions added in v0.4.2

type JSONOptions struct {
	LParen Pos
	RParen Pos
	Items  []*JSONOption
}

func (*JSONOptions) End added in v0.4.2

func (j *JSONOptions) End() Pos

func (*JSONOptions) Pos added in v0.4.2

func (j *JSONOptions) Pos() Pos

func (*JSONOptions) String added in v0.4.2

func (j *JSONOptions) String() string

type JSONPath added in v0.4.2

type JSONPath struct {
	Idents []*Ident
}

func (*JSONPath) String added in v0.4.2

func (j *JSONPath) String() string

type JSONType added in v0.4.2

type JSONType struct {
	Name    *Ident
	Options *JSONOptions
}

func (*JSONType) Accept added in v0.4.2

func (j *JSONType) Accept(visitor ASTVisitor) error

func (*JSONType) End added in v0.4.2

func (j *JSONType) End() Pos

func (*JSONType) Pos added in v0.4.2

func (j *JSONType) Pos() Pos

func (*JSONType) String added in v0.4.2

func (j *JSONType) String() string

func (*JSONType) Type added in v0.4.2

func (j *JSONType) Type() string

type JoinConstraintClause added in v0.3.4

type JoinConstraintClause struct {
	ConstraintPos Pos
	On            *ColumnExprList
	Using         *ColumnExprList
}

func (*JoinConstraintClause) Accept added in v0.3.4

func (j *JoinConstraintClause) Accept(visitor ASTVisitor) error

func (*JoinConstraintClause) End added in v0.3.4

func (j *JoinConstraintClause) End() Pos

func (*JoinConstraintClause) Pos added in v0.3.4

func (j *JoinConstraintClause) Pos() Pos

func (*JoinConstraintClause) String added in v0.3.4

func (j *JoinConstraintClause) String() string

type JoinExpr

type JoinExpr struct {
	JoinPos     Pos
	Left        Expr
	Right       Expr
	Modifiers   []string
	Constraints Expr
}

func (*JoinExpr) Accept added in v0.3.3

func (j *JoinExpr) Accept(visitor ASTVisitor) error

func (*JoinExpr) End

func (j *JoinExpr) End() Pos

func (*JoinExpr) Pos

func (j *JoinExpr) Pos() Pos

func (*JoinExpr) String

func (j *JoinExpr) String() string

type JoinTableExpr added in v0.3.4

type JoinTableExpr struct {
	Table        *TableExpr
	StatementEnd Pos
	SampleRatio  *SampleClause
	HasFinal     bool
}

func (*JoinTableExpr) Accept added in v0.3.4

func (j *JoinTableExpr) Accept(visitor ASTVisitor) error

func (*JoinTableExpr) End added in v0.3.4

func (j *JoinTableExpr) End() Pos

func (*JoinTableExpr) Pos added in v0.3.4

func (j *JoinTableExpr) Pos() Pos

func (*JoinTableExpr) String added in v0.3.4

func (j *JoinTableExpr) String() string

type KeyValue added in v0.3.6

type KeyValue struct {
	Key   StringLiteral
	Value Expr
}

type Lexer

type Lexer struct {
	// contains filtered or unexported fields
}

func NewLexer

func NewLexer(buf string) *Lexer

type LimitByClause added in v0.3.4

type LimitByClause struct {
	Limit  *LimitClause
	ByExpr *ColumnExprList
}

func (*LimitByClause) Accept added in v0.3.4

func (l *LimitByClause) Accept(visitor ASTVisitor) error

func (*LimitByClause) End added in v0.3.4

func (l *LimitByClause) End() Pos

func (*LimitByClause) Pos added in v0.3.4

func (l *LimitByClause) Pos() Pos

func (*LimitByClause) String added in v0.3.4

func (l *LimitByClause) String() string

type LimitClause added in v0.3.4

type LimitClause struct {
	LimitPos Pos
	Limit    Expr
	Offset   Expr
}

func (*LimitClause) Accept added in v0.3.4

func (l *LimitClause) Accept(visitor ASTVisitor) error

func (*LimitClause) End added in v0.3.4

func (l *LimitClause) End() Pos

func (*LimitClause) Pos added in v0.3.4

func (l *LimitClause) Pos() Pos

func (*LimitClause) String added in v0.3.4

func (l *LimitClause) String() string

type Literal

type Literal interface {
	Expr
}

type MapLiteral added in v0.3.6

type MapLiteral struct {
	LBracePos Pos
	RBracePos Pos
	KeyValues []KeyValue
}

func (*MapLiteral) Accept added in v0.3.6

func (m *MapLiteral) Accept(visitor ASTVisitor) error

func (*MapLiteral) End added in v0.3.6

func (m *MapLiteral) End() Pos

func (*MapLiteral) Pos added in v0.3.6

func (m *MapLiteral) Pos() Pos

func (*MapLiteral) String added in v0.3.6

func (m *MapLiteral) String() string

type NegateExpr

type NegateExpr struct {
	NegatePos Pos
	Expr      Expr
}

func (*NegateExpr) Accept added in v0.3.3

func (n *NegateExpr) Accept(visitor ASTVisitor) error

func (*NegateExpr) End

func (n *NegateExpr) End() Pos

func (*NegateExpr) Pos

func (n *NegateExpr) Pos() Pos

func (*NegateExpr) String

func (n *NegateExpr) String() string

type NestedIdentifier

type NestedIdentifier struct {
	Ident    *Ident
	DotIdent *Ident
}

func (*NestedIdentifier) Accept added in v0.3.3

func (n *NestedIdentifier) Accept(visitor ASTVisitor) error

func (*NestedIdentifier) End

func (n *NestedIdentifier) End() Pos

func (*NestedIdentifier) Pos

func (n *NestedIdentifier) Pos() Pos

func (*NestedIdentifier) String

func (n *NestedIdentifier) String() string

type NestedType added in v0.4.1

type NestedType struct {
	LeftParenPos  Pos
	RightParenPos Pos
	Name          *Ident
	Columns       []Expr
}

func (*NestedType) Accept added in v0.4.1

func (n *NestedType) Accept(visitor ASTVisitor) error

func (*NestedType) End added in v0.4.1

func (n *NestedType) End() Pos

func (*NestedType) Pos added in v0.4.1

func (n *NestedType) Pos() Pos

func (*NestedType) String added in v0.4.1

func (n *NestedType) String() string

func (*NestedType) Type added in v0.4.1

func (n *NestedType) Type() string

type NotExpr

type NotExpr struct {
	NotPos Pos
	Expr   Expr
}

func (*NotExpr) Accept added in v0.3.3

func (n *NotExpr) Accept(visitor ASTVisitor) error

func (*NotExpr) End

func (n *NotExpr) End() Pos

func (*NotExpr) Pos

func (n *NotExpr) Pos() Pos

func (*NotExpr) String

func (n *NotExpr) String() string

type NotNullLiteral

type NotNullLiteral struct {
	NotPos      Pos
	NullLiteral *NullLiteral
}

func (*NotNullLiteral) Accept added in v0.3.3

func (n *NotNullLiteral) Accept(visitor ASTVisitor) error

func (*NotNullLiteral) End

func (n *NotNullLiteral) End() Pos

func (*NotNullLiteral) Pos

func (n *NotNullLiteral) Pos() Pos

func (*NotNullLiteral) String

func (n *NotNullLiteral) String() string

type NullLiteral

type NullLiteral struct {
	NullPos Pos
}

func (*NullLiteral) Accept added in v0.3.3

func (n *NullLiteral) Accept(visitor ASTVisitor) error

func (*NullLiteral) End

func (n *NullLiteral) End() Pos

func (*NullLiteral) Pos

func (n *NullLiteral) Pos() Pos

func (*NullLiteral) String

func (n *NullLiteral) String() string

type NumberLiteral

type NumberLiteral struct {
	NumPos  Pos
	NumEnd  Pos
	Literal string
	Base    int
}

func (*NumberLiteral) Accept added in v0.3.3

func (n *NumberLiteral) Accept(visitor ASTVisitor) error

func (*NumberLiteral) End

func (n *NumberLiteral) End() Pos

func (*NumberLiteral) Pos

func (n *NumberLiteral) Pos() Pos

func (*NumberLiteral) String

func (n *NumberLiteral) String() string

type ObjectParams

type ObjectParams struct {
	Object Expr
	Params *ArrayParamList
}

func (*ObjectParams) Accept added in v0.3.3

func (o *ObjectParams) Accept(visitor ASTVisitor) error

func (*ObjectParams) End

func (o *ObjectParams) End() Pos

func (*ObjectParams) Pos

func (o *ObjectParams) Pos() Pos

func (*ObjectParams) String

func (o *ObjectParams) String() string

type OnClause added in v0.3.4

type OnClause struct {
	OnPos Pos
	On    *ColumnExprList
}

func (*OnClause) Accept added in v0.3.4

func (o *OnClause) Accept(visitor ASTVisitor) error

func (*OnClause) End added in v0.3.4

func (o *OnClause) End() Pos

func (*OnClause) Pos added in v0.3.4

func (o *OnClause) Pos() Pos

func (*OnClause) String added in v0.3.4

func (o *OnClause) String() string

type OperationExpr

type OperationExpr struct {
	OperationPos Pos
	Kind         TokenKind
}

func (*OperationExpr) Accept added in v0.3.3

func (o *OperationExpr) Accept(visitor ASTVisitor) error

func (*OperationExpr) End

func (o *OperationExpr) End() Pos

func (*OperationExpr) Pos

func (o *OperationExpr) Pos() Pos

func (*OperationExpr) String

func (o *OperationExpr) String() string

type OptimizeStmt added in v0.3.4

type OptimizeStmt struct {
	OptimizePos  Pos
	StatementEnd Pos
	Table        *TableIdentifier
	OnCluster    *ClusterClause
	Partition    *PartitionClause
	HasFinal     bool
	Deduplicate  *DeduplicateClause
}

func (*OptimizeStmt) Accept added in v0.3.4

func (o *OptimizeStmt) Accept(visitor ASTVisitor) error

func (*OptimizeStmt) End added in v0.3.4

func (o *OptimizeStmt) End() Pos

func (*OptimizeStmt) Pos added in v0.3.4

func (o *OptimizeStmt) Pos() Pos

func (*OptimizeStmt) String added in v0.3.4

func (o *OptimizeStmt) String() string

type OrderByClause added in v0.3.4

type OrderByClause struct {
	OrderPos Pos
	ListEnd  Pos
	Items    []Expr
}

func (*OrderByClause) Accept added in v0.3.4

func (o *OrderByClause) Accept(visitor ASTVisitor) error

func (*OrderByClause) End added in v0.3.4

func (o *OrderByClause) End() Pos

func (*OrderByClause) Pos added in v0.3.4

func (o *OrderByClause) Pos() Pos

func (*OrderByClause) String added in v0.3.4

func (o *OrderByClause) String() string

type OrderDirection

type OrderDirection string
const (
	OrderDirectionNone OrderDirection = "None"
	OrderDirectionAsc  OrderDirection = "ASC"
	OrderDirectionDesc OrderDirection = "DESC"
)

type OrderExpr added in v0.3.4

type OrderExpr struct {
	OrderPos  Pos
	Expr      Expr
	Alias     *Ident
	Direction OrderDirection
}

func (*OrderExpr) Accept added in v0.3.4

func (o *OrderExpr) Accept(visitor ASTVisitor) error

func (*OrderExpr) End added in v0.3.4

func (o *OrderExpr) End() Pos

func (*OrderExpr) Pos added in v0.3.4

func (o *OrderExpr) Pos() Pos

func (*OrderExpr) String added in v0.3.4

func (o *OrderExpr) String() string

type ParamExprList

type ParamExprList struct {
	LeftParenPos  Pos
	RightParenPos Pos
	Items         *ColumnExprList
	ColumnArgList *ColumnArgList
}

func (*ParamExprList) Accept added in v0.3.3

func (f *ParamExprList) Accept(visitor ASTVisitor) error

func (*ParamExprList) End

func (f *ParamExprList) End() Pos

func (*ParamExprList) Pos

func (f *ParamExprList) Pos() Pos

func (*ParamExprList) String

func (f *ParamExprList) String() string

type Parser

type Parser struct {
	// contains filtered or unexported fields
}

func NewParser

func NewParser(buffer string) *Parser

func (*Parser) ParseNestedIdentifier

func (p *Parser) ParseNestedIdentifier(pos Pos) (*NestedIdentifier, error)

func (*Parser) ParseStmts added in v0.3.4

func (p *Parser) ParseStmts() ([]Expr, error)

func (*Parser) Pos

func (p *Parser) Pos() Pos

type PartitionByClause added in v0.3.4

type PartitionByClause struct {
	PartitionPos Pos
	Expr         Expr
}

func (*PartitionByClause) Accept added in v0.3.4

func (p *PartitionByClause) Accept(visitor ASTVisitor) error

func (*PartitionByClause) End added in v0.3.4

func (p *PartitionByClause) End() Pos

func (*PartitionByClause) Pos added in v0.3.4

func (p *PartitionByClause) Pos() Pos

func (*PartitionByClause) String added in v0.3.4

func (p *PartitionByClause) String() string

type PartitionClause added in v0.3.4

type PartitionClause struct {
	PartitionPos Pos
	Expr         Expr
	ID           *StringLiteral
	All          bool
}

func (*PartitionClause) Accept added in v0.3.4

func (p *PartitionClause) Accept(visitor ASTVisitor) error

func (*PartitionClause) End added in v0.3.4

func (p *PartitionClause) End() Pos

func (*PartitionClause) Pos added in v0.3.4

func (p *PartitionClause) Pos() Pos

func (*PartitionClause) String added in v0.3.4

func (p *PartitionClause) String() string

type PlaceHolder added in v0.3.6

type PlaceHolder struct {
	PlaceholderPos Pos
	PlaceHolderEnd Pos
	Type           string
}

func (*PlaceHolder) Accept added in v0.3.6

func (p *PlaceHolder) Accept(visitor ASTVisitor) error

func (*PlaceHolder) End added in v0.3.6

func (p *PlaceHolder) End() Pos

func (*PlaceHolder) Pos added in v0.3.6

func (p *PlaceHolder) Pos() Pos

func (*PlaceHolder) String added in v0.3.6

func (p *PlaceHolder) String() string

type Pos

type Pos int

type PrewhereClause added in v0.3.4

type PrewhereClause struct {
	PrewherePos Pos
	Expr        Expr
}

func (*PrewhereClause) Accept added in v0.3.4

func (w *PrewhereClause) Accept(visitor ASTVisitor) error

func (*PrewhereClause) End added in v0.3.4

func (w *PrewhereClause) End() Pos

func (*PrewhereClause) Pos added in v0.3.4

func (w *PrewhereClause) Pos() Pos

func (*PrewhereClause) String added in v0.3.4

func (w *PrewhereClause) String() string

type PrimaryKeyClause added in v0.3.4

type PrimaryKeyClause struct {
	PrimaryPos Pos
	Expr       Expr
}

func (*PrimaryKeyClause) Accept added in v0.3.4

func (p *PrimaryKeyClause) Accept(visitor ASTVisitor) error

func (*PrimaryKeyClause) End added in v0.3.4

func (p *PrimaryKeyClause) End() Pos

func (*PrimaryKeyClause) Pos added in v0.3.4

func (p *PrimaryKeyClause) Pos() Pos

func (*PrimaryKeyClause) String added in v0.3.4

func (p *PrimaryKeyClause) String() string

type PrivilegeClause added in v0.3.4

type PrivilegeClause struct {
	PrivilegePos Pos
	PrivilegeEnd Pos
	Keywords     []string
	Params       *ParamExprList
}

func (*PrivilegeClause) Accept added in v0.3.4

func (p *PrivilegeClause) Accept(visitor ASTVisitor) error

func (*PrivilegeClause) End added in v0.3.4

func (p *PrivilegeClause) End() Pos

func (*PrivilegeClause) Pos added in v0.3.4

func (p *PrivilegeClause) Pos() Pos

func (*PrivilegeClause) String added in v0.3.4

func (p *PrivilegeClause) String() string

type ProjectionOrderByClause added in v0.3.4

type ProjectionOrderByClause struct {
	OrderByPos Pos
	Columns    *ColumnExprList
}

func (*ProjectionOrderByClause) Accept added in v0.3.4

func (p *ProjectionOrderByClause) Accept(visitor ASTVisitor) error

func (*ProjectionOrderByClause) End added in v0.3.4

func (p *ProjectionOrderByClause) End() Pos

func (*ProjectionOrderByClause) Pos added in v0.3.4

func (p *ProjectionOrderByClause) Pos() Pos

func (*ProjectionOrderByClause) String added in v0.3.4

func (p *ProjectionOrderByClause) String() string

type ProjectionSelectStmt added in v0.3.4

type ProjectionSelectStmt struct {
	LeftParenPos  Pos
	RightParenPos Pos
	With          *WithClause
	SelectColumns *ColumnExprList
	GroupBy       *GroupByClause
	OrderBy       *ProjectionOrderByClause
}

func (*ProjectionSelectStmt) Accept added in v0.3.4

func (p *ProjectionSelectStmt) Accept(visitor ASTVisitor) error

func (*ProjectionSelectStmt) End added in v0.3.4

func (p *ProjectionSelectStmt) End() Pos

func (*ProjectionSelectStmt) Pos added in v0.3.4

func (p *ProjectionSelectStmt) Pos() Pos

func (*ProjectionSelectStmt) String added in v0.3.4

func (p *ProjectionSelectStmt) String() string

type PropertyType added in v0.4.1

type PropertyType struct {
	Name *Ident
}

func (*PropertyType) Accept added in v0.4.1

func (c *PropertyType) Accept(visitor ASTVisitor) error

func (*PropertyType) End added in v0.4.1

func (c *PropertyType) End() Pos

func (*PropertyType) Pos added in v0.4.1

func (c *PropertyType) Pos() Pos

func (*PropertyType) String added in v0.4.1

func (c *PropertyType) String() string

func (*PropertyType) Type added in v0.4.1

func (c *PropertyType) Type() string

type QueryParam added in v0.3.6

type QueryParam struct {
	LBracePos Pos
	RBracePos Pos
	Name      *Ident
	Type      ColumnType
}

func (*QueryParam) Accept added in v0.3.6

func (q *QueryParam) Accept(visitor ASTVisitor) error

func (*QueryParam) End added in v0.3.6

func (q *QueryParam) End() Pos

func (*QueryParam) Pos added in v0.3.6

func (q *QueryParam) Pos() Pos

func (*QueryParam) String added in v0.3.6

func (q *QueryParam) String() string

type RatioExpr added in v0.3.1

type RatioExpr struct {
	Numerator *NumberLiteral
	// numberLiteral (SLASH numberLiteral)?
	Denominator *NumberLiteral
}

func (*RatioExpr) Accept added in v0.3.3

func (r *RatioExpr) Accept(visitor ASTVisitor) error

func (*RatioExpr) End added in v0.3.1

func (r *RatioExpr) End() Pos

func (*RatioExpr) Pos added in v0.3.1

func (r *RatioExpr) Pos() Pos

func (*RatioExpr) String added in v0.3.1

func (r *RatioExpr) String() string

type RemovePropertyType

type RemovePropertyType struct {
	RemovePos Pos

	PropertyType Expr
}

func (*RemovePropertyType) Accept added in v0.3.3

func (a *RemovePropertyType) Accept(visitor ASTVisitor) error

func (*RemovePropertyType) End

func (a *RemovePropertyType) End() Pos

func (*RemovePropertyType) Pos

func (a *RemovePropertyType) Pos() Pos

func (*RemovePropertyType) String

func (a *RemovePropertyType) String() string

type RenameStmt added in v0.3.1

type RenameStmt struct {
	RenamePos    Pos
	StatementEnd Pos

	RenameTarget   string
	TargetPairList []*TargetPair
	OnCluster      *ClusterClause
}

func (*RenameStmt) Accept added in v0.3.3

func (r *RenameStmt) Accept(visitor ASTVisitor) error

func (*RenameStmt) End added in v0.3.1

func (r *RenameStmt) End() Pos

func (*RenameStmt) Pos added in v0.3.1

func (r *RenameStmt) Pos() Pos

func (*RenameStmt) String added in v0.3.1

func (r *RenameStmt) String() string

func (*RenameStmt) Type added in v0.3.1

func (r *RenameStmt) Type() string

type RoleName added in v0.3.1

type RoleName struct {
	Name      Expr
	Scope     *StringLiteral
	OnCluster *ClusterClause
}

func (*RoleName) Accept added in v0.3.3

func (r *RoleName) Accept(visitor ASTVisitor) error

func (*RoleName) End added in v0.3.1

func (r *RoleName) End() Pos

func (*RoleName) Pos added in v0.3.1

func (r *RoleName) Pos() Pos

func (*RoleName) String added in v0.3.1

func (r *RoleName) String() string

type RoleRenamePair added in v0.3.1

type RoleRenamePair struct {
	RoleName     *RoleName
	NewName      Expr
	StatementEnd Pos
}

func (*RoleRenamePair) Accept added in v0.3.3

func (r *RoleRenamePair) Accept(visitor ASTVisitor) error

func (*RoleRenamePair) End added in v0.3.1

func (r *RoleRenamePair) End() Pos

func (*RoleRenamePair) Pos added in v0.3.1

func (r *RoleRenamePair) Pos() Pos

func (*RoleRenamePair) String added in v0.3.1

func (r *RoleRenamePair) String() string

type RoleSetting added in v0.3.1

type RoleSetting struct {
	SettingPairs []*SettingPair
	Modifier     *Ident
}

func (*RoleSetting) Accept added in v0.3.3

func (r *RoleSetting) Accept(visitor ASTVisitor) error

func (*RoleSetting) End added in v0.3.1

func (r *RoleSetting) End() Pos

func (*RoleSetting) Pos added in v0.3.1

func (r *RoleSetting) Pos() Pos

func (*RoleSetting) String added in v0.3.1

func (r *RoleSetting) String() string

type SampleByClause added in v0.3.4

type SampleByClause struct {
	SamplePos Pos
	Expr      Expr
}

func (*SampleByClause) Accept added in v0.3.4

func (s *SampleByClause) Accept(visitor ASTVisitor) error

func (*SampleByClause) End added in v0.3.4

func (s *SampleByClause) End() Pos

func (*SampleByClause) Pos added in v0.3.4

func (s *SampleByClause) Pos() Pos

func (*SampleByClause) String added in v0.3.4

func (s *SampleByClause) String() string

type SampleClause added in v0.3.4

type SampleClause struct {
	SamplePos Pos
	Ratio     *RatioExpr
	Offset    *RatioExpr
}

func (*SampleClause) Accept added in v0.3.4

func (s *SampleClause) Accept(visitor ASTVisitor) error

func (*SampleClause) End added in v0.3.4

func (s *SampleClause) End() Pos

func (*SampleClause) Pos added in v0.3.4

func (s *SampleClause) Pos() Pos

func (*SampleClause) String added in v0.3.4

func (s *SampleClause) String() string

type ScalarType added in v0.4.1

type ScalarType struct {
	Name *Ident
}

func (*ScalarType) Accept added in v0.4.1

func (s *ScalarType) Accept(visitor ASTVisitor) error

func (*ScalarType) End added in v0.4.1

func (s *ScalarType) End() Pos

func (*ScalarType) Pos added in v0.4.1

func (s *ScalarType) Pos() Pos

func (*ScalarType) String added in v0.4.1

func (s *ScalarType) String() string

func (*ScalarType) Type added in v0.4.1

func (s *ScalarType) Type() string

type SelectItem added in v0.3.7

type SelectItem struct {
	Expr Expr
	// Please refer: https://clickhouse.com/docs/en/sql-reference/statements/select#select-modifiers
	Modifiers []*FunctionExpr
	Alias     *Ident
}

func (*SelectItem) Accept added in v0.3.7

func (s *SelectItem) Accept(visitor ASTVisitor) error

func (*SelectItem) End added in v0.3.7

func (s *SelectItem) End() Pos

func (*SelectItem) Pos added in v0.3.7

func (s *SelectItem) Pos() Pos

func (*SelectItem) String added in v0.3.7

func (s *SelectItem) String() string

type SelectQuery added in v0.3.0

type SelectQuery struct {
	SelectPos     Pos
	StatementEnd  Pos
	With          *WithClause
	Top           *TopClause
	SelectItems   []*SelectItem
	From          *FromClause
	ArrayJoin     *ArrayJoinClause
	Window        *WindowClause
	Prewhere      *PrewhereClause
	Where         *WhereClause
	GroupBy       *GroupByClause
	WithTotal     bool
	Having        *HavingClause
	OrderBy       *OrderByClause
	LimitBy       *LimitByClause
	Limit         *LimitClause
	Settings      *SettingsClause
	Format        *FormatClause
	UnionAll      *SelectQuery
	UnionDistinct *SelectQuery
	Except        *SelectQuery
}

func (*SelectQuery) Accept added in v0.3.3

func (s *SelectQuery) Accept(visitor ASTVisitor) error

func (*SelectQuery) End added in v0.3.0

func (s *SelectQuery) End() Pos

func (*SelectQuery) Pos added in v0.3.0

func (s *SelectQuery) Pos() Pos

func (*SelectQuery) String added in v0.3.0

func (s *SelectQuery) String() string

type Set

type Set[T comparable] struct {
	// contains filtered or unexported fields
}

func NewSet

func NewSet[T comparable](members ...T) *Set[T]

func (*Set[T]) Add

func (s *Set[T]) Add(member T)

func (*Set[T]) Contains

func (s *Set[T]) Contains(member T) bool

func (*Set[T]) Members

func (s *Set[T]) Members() []T

func (*Set[T]) Remove

func (s *Set[T]) Remove(member T)

type SetStmt added in v0.3.4

type SetStmt struct {
	SetPos   Pos
	Settings *SettingsClause
}

func (*SetStmt) Accept added in v0.3.4

func (s *SetStmt) Accept(visitor ASTVisitor) error

func (*SetStmt) End added in v0.3.4

func (s *SetStmt) End() Pos

func (*SetStmt) Pos added in v0.3.4

func (s *SetStmt) Pos() Pos

func (*SetStmt) String added in v0.3.4

func (s *SetStmt) String() string

type SettingExprList added in v0.3.4

type SettingExprList struct {
	SettingsPos Pos
	Name        *Ident
	Expr        Expr
}

func (*SettingExprList) Accept added in v0.3.4

func (s *SettingExprList) Accept(visitor ASTVisitor) error

func (*SettingExprList) End added in v0.3.4

func (s *SettingExprList) End() Pos

func (*SettingExprList) Pos added in v0.3.4

func (s *SettingExprList) Pos() Pos

func (*SettingExprList) String added in v0.3.4

func (s *SettingExprList) String() string

type SettingPair added in v0.3.1

type SettingPair struct {
	Name      *Ident
	Operation TokenKind
	Value     Expr
}

func (*SettingPair) Accept added in v0.3.3

func (s *SettingPair) Accept(visitor ASTVisitor) error

func (*SettingPair) End added in v0.3.1

func (s *SettingPair) End() Pos

func (*SettingPair) Pos added in v0.3.1

func (s *SettingPair) Pos() Pos

func (*SettingPair) String added in v0.3.1

func (s *SettingPair) String() string

type SettingsClause added in v0.3.4

type SettingsClause struct {
	SettingsPos Pos
	ListEnd     Pos
	Items       []*SettingExprList
}

func (*SettingsClause) Accept added in v0.3.4

func (s *SettingsClause) Accept(visitor ASTVisitor) error

func (*SettingsClause) End added in v0.3.4

func (s *SettingsClause) End() Pos

func (*SettingsClause) Pos added in v0.3.4

func (s *SettingsClause) Pos() Pos

func (*SettingsClause) String added in v0.3.4

func (s *SettingsClause) String() string

type StringLiteral

type StringLiteral struct {
	LiteralPos Pos
	LiteralEnd Pos
	Literal    string
}

func (*StringLiteral) Accept added in v0.3.3

func (s *StringLiteral) Accept(visitor ASTVisitor) error

func (*StringLiteral) End

func (s *StringLiteral) End() Pos

func (*StringLiteral) Pos

func (s *StringLiteral) Pos() Pos

func (*StringLiteral) String

func (s *StringLiteral) String() string

type SubQuery added in v0.3.7

type SubQuery struct {
	HasParen bool
	Select   *SelectQuery
}

func (*SubQuery) Accept added in v0.3.7

func (s *SubQuery) Accept(visitor ASTVisitor) error

func (*SubQuery) End added in v0.3.7

func (s *SubQuery) End() Pos

func (*SubQuery) Pos added in v0.3.7

func (s *SubQuery) Pos() Pos

func (*SubQuery) String added in v0.3.7

func (s *SubQuery) String() string

type SystemCtrlExpr

type SystemCtrlExpr struct {
	CtrlPos      Pos
	StatementEnd Pos
	Command      string // START, STOP
	Type         string // REPLICATED, DISTRIBUTED
	Cluster      *TableIdentifier
}

func (*SystemCtrlExpr) Accept added in v0.3.3

func (s *SystemCtrlExpr) Accept(visitor ASTVisitor) error

func (*SystemCtrlExpr) End

func (s *SystemCtrlExpr) End() Pos

func (*SystemCtrlExpr) Pos

func (s *SystemCtrlExpr) Pos() Pos

func (*SystemCtrlExpr) String

func (s *SystemCtrlExpr) String() string

type SystemDropExpr

type SystemDropExpr struct {
	DropPos      Pos
	StatementEnd Pos
	Type         string
}

func (*SystemDropExpr) Accept added in v0.3.3

func (s *SystemDropExpr) Accept(visitor ASTVisitor) error

func (*SystemDropExpr) End

func (s *SystemDropExpr) End() Pos

func (*SystemDropExpr) Pos

func (s *SystemDropExpr) Pos() Pos

func (*SystemDropExpr) String

func (s *SystemDropExpr) String() string

type SystemFlushExpr

type SystemFlushExpr struct {
	FlushPos     Pos
	StatementEnd Pos
	Logs         bool
	Distributed  *TableIdentifier
}

func (*SystemFlushExpr) Accept added in v0.3.3

func (s *SystemFlushExpr) Accept(visitor ASTVisitor) error

func (*SystemFlushExpr) End

func (s *SystemFlushExpr) End() Pos

func (*SystemFlushExpr) Pos

func (s *SystemFlushExpr) Pos() Pos

func (*SystemFlushExpr) String

func (s *SystemFlushExpr) String() string

type SystemReloadExpr

type SystemReloadExpr struct {
	ReloadPos    Pos
	StatementEnd Pos
	Dictionary   *TableIdentifier
	Type         string
}

func (*SystemReloadExpr) Accept added in v0.3.3

func (s *SystemReloadExpr) Accept(visitor ASTVisitor) error

func (*SystemReloadExpr) End

func (s *SystemReloadExpr) End() Pos

func (*SystemReloadExpr) Pos

func (s *SystemReloadExpr) Pos() Pos

func (*SystemReloadExpr) String

func (s *SystemReloadExpr) String() string

type SystemStmt added in v0.3.4

type SystemStmt struct {
	SystemPos Pos
	Expr      Expr
}

func (*SystemStmt) Accept added in v0.3.4

func (s *SystemStmt) Accept(visitor ASTVisitor) error

func (*SystemStmt) End added in v0.3.4

func (s *SystemStmt) End() Pos

func (*SystemStmt) Pos added in v0.3.4

func (s *SystemStmt) Pos() Pos

func (*SystemStmt) String added in v0.3.4

func (s *SystemStmt) String() string

type SystemSyncExpr

type SystemSyncExpr struct {
	SyncPos Pos
	Cluster *TableIdentifier
}

func (*SystemSyncExpr) Accept added in v0.3.3

func (s *SystemSyncExpr) Accept(visitor ASTVisitor) error

func (*SystemSyncExpr) End

func (s *SystemSyncExpr) End() Pos

func (*SystemSyncExpr) Pos

func (s *SystemSyncExpr) Pos() Pos

func (*SystemSyncExpr) String

func (s *SystemSyncExpr) String() string

type TTLClause added in v0.3.4

type TTLClause struct {
	TTLPos  Pos
	ListEnd Pos
	Items   []*TTLExpr
}

func (*TTLClause) Accept added in v0.3.4

func (t *TTLClause) Accept(visitor ASTVisitor) error

func (*TTLClause) End added in v0.3.4

func (t *TTLClause) End() Pos

func (*TTLClause) Pos added in v0.3.4

func (t *TTLClause) Pos() Pos

func (*TTLClause) String added in v0.3.4

func (t *TTLClause) String() string

type TTLExpr

type TTLExpr struct {
	TTLPos Pos
	Expr   Expr
}

func (*TTLExpr) Accept added in v0.3.3

func (t *TTLExpr) Accept(visitor ASTVisitor) error

func (*TTLExpr) End

func (t *TTLExpr) End() Pos

func (*TTLExpr) Pos

func (t *TTLExpr) Pos() Pos

func (*TTLExpr) String

func (t *TTLExpr) String() string

type TableArgListExpr

type TableArgListExpr struct {
	LeftParenPos  Pos
	RightParenPos Pos
	Args          []Expr
}

func (*TableArgListExpr) Accept added in v0.3.3

func (t *TableArgListExpr) Accept(visitor ASTVisitor) error

func (*TableArgListExpr) End

func (t *TableArgListExpr) End() Pos

func (*TableArgListExpr) Pos

func (t *TableArgListExpr) Pos() Pos

func (*TableArgListExpr) String

func (t *TableArgListExpr) String() string

type TableExpr

type TableExpr struct {
	TablePos Pos
	TableEnd Pos
	Alias    *AliasExpr
	Expr     Expr
	HasFinal bool
}

func (*TableExpr) Accept added in v0.3.3

func (t *TableExpr) Accept(visitor ASTVisitor) error

func (*TableExpr) End

func (t *TableExpr) End() Pos

func (*TableExpr) Pos

func (t *TableExpr) Pos() Pos

func (*TableExpr) String

func (t *TableExpr) String() string

type TableFunctionExpr

type TableFunctionExpr struct {
	Name Expr
	Args *TableArgListExpr
}

func (*TableFunctionExpr) Accept added in v0.3.3

func (t *TableFunctionExpr) Accept(visitor ASTVisitor) error

func (*TableFunctionExpr) End

func (t *TableFunctionExpr) End() Pos

func (*TableFunctionExpr) Pos

func (t *TableFunctionExpr) Pos() Pos

func (*TableFunctionExpr) String

func (t *TableFunctionExpr) String() string

type TableIdentifier

type TableIdentifier struct {
	Database *Ident
	Table    *Ident
}

func (*TableIdentifier) Accept added in v0.3.3

func (t *TableIdentifier) Accept(visitor ASTVisitor) error

func (*TableIdentifier) End

func (t *TableIdentifier) End() Pos

func (*TableIdentifier) Pos

func (t *TableIdentifier) Pos() Pos

func (*TableIdentifier) String

func (t *TableIdentifier) String() string

type TableIndex

type TableIndex struct {
	IndexPos Pos

	Name        *NestedIdentifier
	ColumnExpr  *ColumnExpr
	ColumnType  Expr
	Granularity *NumberLiteral
}

func (*TableIndex) Accept added in v0.3.3

func (a *TableIndex) Accept(visitor ASTVisitor) error

func (*TableIndex) End

func (a *TableIndex) End() Pos

func (*TableIndex) Pos

func (a *TableIndex) Pos() Pos

func (*TableIndex) String

func (a *TableIndex) String() string

type TableProjection added in v0.3.4

type TableProjection struct {
	ProjectionPos Pos
	Identifier    *NestedIdentifier
	Select        *ProjectionSelectStmt
}

func (*TableProjection) Accept added in v0.3.4

func (t *TableProjection) Accept(visitor ASTVisitor) error

func (*TableProjection) End added in v0.3.4

func (t *TableProjection) End() Pos

func (*TableProjection) Pos added in v0.3.4

func (t *TableProjection) Pos() Pos

func (*TableProjection) String added in v0.3.4

func (t *TableProjection) String() string

type TableSchemaClause added in v0.3.4

type TableSchemaClause struct {
	SchemaPos     Pos
	SchemaEnd     Pos
	Columns       []Expr
	AliasTable    *TableIdentifier
	TableFunction *TableFunctionExpr
}

func (*TableSchemaClause) Accept added in v0.3.4

func (t *TableSchemaClause) Accept(visitor ASTVisitor) error

func (*TableSchemaClause) End added in v0.3.4

func (t *TableSchemaClause) End() Pos

func (*TableSchemaClause) Pos added in v0.3.4

func (t *TableSchemaClause) Pos() Pos

func (*TableSchemaClause) String added in v0.3.4

func (t *TableSchemaClause) String() string

type TargetPair added in v0.3.1

type TargetPair struct {
	Old *TableIdentifier
	New *TableIdentifier
}

func (*TargetPair) End added in v0.3.1

func (t *TargetPair) End() Pos

func (*TargetPair) Pos added in v0.3.1

func (t *TargetPair) Pos() Pos

func (*TargetPair) String added in v0.3.1

func (t *TargetPair) String() string

type TernaryOperation added in v0.3.4

type TernaryOperation struct {
	Condition Expr
	TrueExpr  Expr
	FalseExpr Expr
}

func (*TernaryOperation) Accept added in v0.3.4

func (t *TernaryOperation) Accept(visitor ASTVisitor) error

func (*TernaryOperation) End added in v0.3.4

func (t *TernaryOperation) End() Pos

func (*TernaryOperation) Pos added in v0.3.4

func (t *TernaryOperation) Pos() Pos

func (*TernaryOperation) String added in v0.3.4

func (t *TernaryOperation) String() string

type Token

type Token struct {
	Pos Pos
	End Pos

	Kind      TokenKind
	String    string
	Base      int // 10 or 16 on TokenKindInt
	QuoteType int
}

func (*Token) ToString added in v0.3.7

func (t *Token) ToString() string

type TokenKind

type TokenKind string
const (
	TokenKindEOF          TokenKind = "<eof>"
	TokenKindIdent        TokenKind = "<ident>"
	TokenKindKeyword      TokenKind = "<keyword>"
	TokenKindInt          TokenKind = "<int>"
	TokenKindFloat        TokenKind = "<float>"
	TokenKindString       TokenKind = "<string>"
	TokenKindDot                    = "."
	TokenKindSingleEQ     TokenKind = "="
	TokenKindDoubleEQ     TokenKind = "=="
	TokenKindNE           TokenKind = "!="
	TokenKindLT           TokenKind = "<"
	TokenKindLE           TokenKind = "<="
	TokenKindGT           TokenKind = ">"
	TokenKindGE           TokenKind = ">="
	TokenKindQuestionMark TokenKind = "?"

	TokenKindPlus  TokenKind = "+"
	TokenKindMinus TokenKind = "-"
	TokenKindMul   TokenKind = "*"
	TokenKindDiv   TokenKind = "/"
	TokenKindMod   TokenKind = "%"

	TokenKindArrow TokenKind = "->"
	TokenKindDash  TokenKind = "::"

	TokenKindLParen   TokenKind = "("
	TokenKindRParen   TokenKind = ")"
	TokenKindLBrace   TokenKind = "{"
	TokenKindRBrace   TokenKind = "}"
	TokenKindLBracket TokenKind = "["
	TokenKindRBracket TokenKind = "]"

	TokenKindComma  TokenKind = ","
	TokenKindColon  TokenKind = ":"
	TokenKindAtSign TokenKind = "@"
)

type TopClause added in v0.3.4

type TopClause struct {
	TopPos   Pos
	TopEnd   Pos
	Number   *NumberLiteral
	WithTies bool
}

func (*TopClause) Accept added in v0.3.4

func (t *TopClause) Accept(visitor ASTVisitor) error

func (*TopClause) End added in v0.3.4

func (t *TopClause) End() Pos

func (*TopClause) Pos added in v0.3.4

func (t *TopClause) Pos() Pos

func (*TopClause) String added in v0.3.4

func (t *TopClause) String() string

type TruncateTable

type TruncateTable struct {
	TruncatePos  Pos
	StatementEnd Pos
	IsTemporary  bool
	IfExists     bool
	Name         *TableIdentifier
	OnCluster    *ClusterClause
}

func (*TruncateTable) Accept added in v0.3.3

func (t *TruncateTable) Accept(visitor ASTVisitor) error

func (*TruncateTable) End

func (t *TruncateTable) End() Pos

func (*TruncateTable) Pos

func (t *TruncateTable) Pos() Pos

func (*TruncateTable) String

func (t *TruncateTable) String() string

func (*TruncateTable) Type

func (t *TruncateTable) Type() string

type TypeWithParams added in v0.4.1

type TypeWithParams struct {
	LeftParenPos  Pos
	RightParenPos Pos
	Name          *Ident
	Params        []Literal
}

func (*TypeWithParams) Accept added in v0.4.1

func (s *TypeWithParams) Accept(visitor ASTVisitor) error

func (*TypeWithParams) End added in v0.4.1

func (s *TypeWithParams) End() Pos

func (*TypeWithParams) Pos added in v0.4.1

func (s *TypeWithParams) Pos() Pos

func (*TypeWithParams) String added in v0.4.1

func (s *TypeWithParams) String() string

func (*TypeWithParams) Type added in v0.4.1

func (s *TypeWithParams) Type() string

type UUID

type UUID struct {
	Value *StringLiteral
}

func (*UUID) Accept added in v0.3.3

func (u *UUID) Accept(visitor ASTVisitor) error

func (*UUID) End

func (u *UUID) End() Pos

func (*UUID) Pos

func (u *UUID) Pos() Pos

func (*UUID) String

func (u *UUID) String() string

type UnaryExpr added in v0.3.0

type UnaryExpr struct {
	UnaryPos Pos
	Kind     TokenKind
	Expr     Expr
}

func (*UnaryExpr) Accept added in v0.3.3

func (n *UnaryExpr) Accept(visitor ASTVisitor) error

func (*UnaryExpr) End added in v0.3.0

func (n *UnaryExpr) End() Pos

func (*UnaryExpr) Pos added in v0.3.0

func (n *UnaryExpr) Pos() Pos

func (*UnaryExpr) String added in v0.3.0

func (n *UnaryExpr) String() string

type UseStmt added in v0.3.4

type UseStmt struct {
	UsePos       Pos
	StatementEnd Pos
	Database     *Ident
}

func (*UseStmt) Accept added in v0.3.4

func (u *UseStmt) Accept(visitor ASTVisitor) error

func (*UseStmt) End added in v0.3.4

func (u *UseStmt) End() Pos

func (*UseStmt) Pos added in v0.3.4

func (u *UseStmt) Pos() Pos

func (*UseStmt) String added in v0.3.4

func (u *UseStmt) String() string

type UsingClause added in v0.3.4

type UsingClause struct {
	UsingPos Pos
	Using    *ColumnExprList
}

func (*UsingClause) Accept added in v0.3.4

func (u *UsingClause) Accept(visitor ASTVisitor) error

func (*UsingClause) End added in v0.3.4

func (u *UsingClause) End() Pos

func (*UsingClause) Pos added in v0.3.4

func (u *UsingClause) Pos() Pos

func (*UsingClause) String added in v0.3.4

func (u *UsingClause) String() string

type VisitFunc added in v0.3.3

type VisitFunc func(expr Expr) error

type WhenClause added in v0.3.4

type WhenClause struct {
	WhenPos Pos
	ThenPos Pos
	When    Expr
	Then    Expr
	ElsePos Pos
	Else    Expr
}

func (*WhenClause) Accept added in v0.3.4

func (w *WhenClause) Accept(visitor ASTVisitor) error

func (*WhenClause) End added in v0.3.4

func (w *WhenClause) End() Pos

func (*WhenClause) Pos added in v0.3.4

func (w *WhenClause) Pos() Pos

func (*WhenClause) String added in v0.3.4

func (w *WhenClause) String() string

type WhereClause added in v0.3.4

type WhereClause struct {
	WherePos Pos
	Expr     Expr
}

func (*WhereClause) Accept added in v0.3.4

func (w *WhereClause) Accept(visitor ASTVisitor) error

func (*WhereClause) End added in v0.3.4

func (w *WhereClause) End() Pos

func (*WhereClause) Pos added in v0.3.4

func (w *WhereClause) Pos() Pos

func (*WhereClause) String added in v0.3.4

func (w *WhereClause) String() string

type WindowClause added in v0.3.4

type WindowClause struct {
	*WindowExpr

	WindowPos Pos
	Name      *Ident
	AsPos     Pos
}

func (*WindowClause) Accept added in v0.3.4

func (w *WindowClause) Accept(visitor ASTVisitor) error

func (*WindowClause) End added in v0.3.4

func (w *WindowClause) End() Pos

func (*WindowClause) Pos added in v0.3.4

func (w *WindowClause) Pos() Pos

func (*WindowClause) String added in v0.3.4

func (w *WindowClause) String() string

type WindowExpr

type WindowExpr struct {
	LeftParenPos  Pos
	RightParenPos Pos
	PartitionBy   *PartitionByClause
	OrderBy       *OrderByClause
	Frame         *WindowFrameClause
}

func (*WindowExpr) Accept added in v0.3.3

func (w *WindowExpr) Accept(visitor ASTVisitor) error

func (*WindowExpr) End

func (w *WindowExpr) End() Pos

func (*WindowExpr) Pos

func (w *WindowExpr) Pos() Pos

func (*WindowExpr) String

func (w *WindowExpr) String() string

type WindowFrameClause added in v0.3.4

type WindowFrameClause struct {
	FramePos Pos
	Type     string
	Extend   Expr
}

func (*WindowFrameClause) Accept added in v0.3.4

func (f *WindowFrameClause) Accept(visitor ASTVisitor) error

func (*WindowFrameClause) End added in v0.3.4

func (f *WindowFrameClause) End() Pos

func (*WindowFrameClause) Pos added in v0.3.4

func (f *WindowFrameClause) Pos() Pos

func (*WindowFrameClause) String added in v0.3.4

func (f *WindowFrameClause) String() string

type WindowFrameCurrentRow

type WindowFrameCurrentRow struct {
	CurrentPos Pos
	RowEnd     Pos
}

func (*WindowFrameCurrentRow) Accept added in v0.3.3

func (f *WindowFrameCurrentRow) Accept(visitor ASTVisitor) error

func (*WindowFrameCurrentRow) End

func (f *WindowFrameCurrentRow) End() Pos

func (*WindowFrameCurrentRow) Pos

func (f *WindowFrameCurrentRow) Pos() Pos

func (*WindowFrameCurrentRow) String

func (f *WindowFrameCurrentRow) String() string

type WindowFrameExtendExpr

type WindowFrameExtendExpr struct {
	Expr Expr
}

func (*WindowFrameExtendExpr) Accept added in v0.3.3

func (f *WindowFrameExtendExpr) Accept(visitor ASTVisitor) error

func (*WindowFrameExtendExpr) End

func (f *WindowFrameExtendExpr) End() Pos

func (*WindowFrameExtendExpr) Pos

func (f *WindowFrameExtendExpr) Pos() Pos

func (*WindowFrameExtendExpr) String

func (f *WindowFrameExtendExpr) String() string

type WindowFrameNumber

type WindowFrameNumber struct {
	Number       *NumberLiteral
	UnboundedEnd Pos
	Direction    string
}

func (*WindowFrameNumber) Accept added in v0.3.3

func (f *WindowFrameNumber) Accept(visitor ASTVisitor) error

func (*WindowFrameNumber) End

func (f *WindowFrameNumber) End() Pos

func (*WindowFrameNumber) Pos

func (f *WindowFrameNumber) Pos() Pos

func (*WindowFrameNumber) String

func (f *WindowFrameNumber) String() string

type WindowFrameUnbounded

type WindowFrameUnbounded struct {
	UnboundedPos Pos
	UnboundedEnd Pos
	Direction    string
}

func (*WindowFrameUnbounded) Accept added in v0.3.3

func (f *WindowFrameUnbounded) Accept(visitor ASTVisitor) error

func (*WindowFrameUnbounded) End

func (f *WindowFrameUnbounded) End() Pos

func (*WindowFrameUnbounded) Pos

func (f *WindowFrameUnbounded) Pos() Pos

func (*WindowFrameUnbounded) String

func (f *WindowFrameUnbounded) String() string

type WindowFunctionExpr

type WindowFunctionExpr struct {
	Function *FunctionExpr
	OverPos  Pos
	OverExpr Expr
}

func (*WindowFunctionExpr) Accept added in v0.3.3

func (w *WindowFunctionExpr) Accept(visitor ASTVisitor) error

func (*WindowFunctionExpr) End

func (w *WindowFunctionExpr) End() Pos

func (*WindowFunctionExpr) Pos

func (w *WindowFunctionExpr) Pos() Pos

func (*WindowFunctionExpr) String

func (w *WindowFunctionExpr) String() string

type WithClause added in v0.3.4

type WithClause struct {
	WithPos Pos
	EndPos  Pos
	CTEs    []*CTEStmt
}

func (*WithClause) Accept added in v0.3.4

func (w *WithClause) Accept(visitor ASTVisitor) error

func (*WithClause) End added in v0.3.4

func (w *WithClause) End() Pos

func (*WithClause) Pos added in v0.3.4

func (w *WithClause) Pos() Pos

func (*WithClause) String added in v0.3.4

func (w *WithClause) String() string

type WithTimeoutClause added in v0.3.4

type WithTimeoutClause struct {
	WithTimeoutPos Pos
	Expr           Expr
	Number         *NumberLiteral
}

func (*WithTimeoutClause) Accept added in v0.3.4

func (w *WithTimeoutClause) Accept(visitor ASTVisitor) error

func (*WithTimeoutClause) End added in v0.3.4

func (w *WithTimeoutClause) End() Pos

func (*WithTimeoutClause) Pos added in v0.3.4

func (w *WithTimeoutClause) Pos() Pos

func (*WithTimeoutClause) String added in v0.3.4

func (w *WithTimeoutClause) String() string

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL