parser

package
v0.3.0 Latest Latest
Warning

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

Go to latest
Published: Mar 3, 2026 License: MIT Imports: 5 Imported by: 0

Documentation

Index

Constants

View Source
const (
	KeywordAdd          = "ADD"
	KeywordAdmin        = "ADMIN"
	KeywordAfter        = "AFTER"
	KeywordAlias        = "ALIAS"
	KeywordAll          = "ALL"
	KeywordAlter        = "ALTER"
	KeywordAnd          = "AND"
	KeywordAnti         = "ANTI"
	KeywordAny          = "ANY"
	KeywordAppend       = "APPEND"
	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"
	KeywordDepends      = "DEPENDS"
	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"
	KeywordEmbedded     = "EMBEDDED"
	KeywordEmpty        = "EMPTY"
	KeywordEnd          = "END"
	KeywordEngine       = "ENGINE"
	KeywordEstimate     = "ESTIMATE"
	KeywordEvents       = "EVENTS"
	KeywordEvery        = "EVERY"
	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"
	KeywordGrantees     = "GRANTEES"
	KeywordGranularity  = "GRANULARITY"
	KeywordGroup        = "GROUP"
	KeywordGrouping     = "GROUPING"
	KeywordHaving       = "HAVING"
	KeywordHierarchical = "HIERARCHICAL"
	KeywordHost         = "HOST"
	KeywordHour         = "HOUR"
	KeywordId           = "ID"
	KeywordIdentified   = "IDENTIFIED"
	KeywordIf           = "IF"
	KeywordIlike        = "ILIKE"
	KeywordIn           = "IN"
	KeywordIndex        = "INDEX"
	KeywordInf          = "INF"
	KeywordInjective    = "INJECTIVE"
	KeywordInner        = "INNER"
	KeywordInsert       = "INSERT"
	KeywordInterval     = "INTERVAL"
	KeywordInto         = "INTO"
	KeywordIp           = "IP"
	KeywordIs           = "IS"
	KeywordIs_object_id = "IS_OBJECT_ID"
	KeywordJoin         = "JOIN"
	KeywordJSON         = "JSON"
	KeywordKey          = "KEY"
	KeywordKill         = "KILL"
	KeywordKerberos     = "KERBEROS"
	KeywordLast         = "LAST"
	KeywordLayout       = "LAYOUT"
	KeywordLdap         = "LDAP"
	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"
	KeywordName         = "NAME"
	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"
	KeywordRandomize    = "RANDOMIZE"
	KeywordRange        = "RANGE"
	KeywordRealm        = "REALM"
	KeywordRecompress   = "RECOMPRESS"
	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"
	KeywordServer       = "SERVER"
	KeywordSet          = "SET"
	KeywordSets         = "SETS"
	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"
	KeywordDefiner      = "DEFINER"
	KeywordSQL          = "SQL"
	KeywordSecurity     = "SECURITY"
)
View Source
const (
	Unquoted = iota + 1
	DoubleQuote
	BackTicks
)
View Source
const (
	PrecedenceUnknown = iota
	PrecedenceIndent
	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

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
	VisitAlterTableModifyQuery(expr *AlterTableModifyQuery) 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
	VisitCreateUser(expr *CreateUser) error
	VisitAuthenticationClause(expr *AuthenticationClause) error
	VisitHostClause(expr *HostClause) error
	VisitDefaultRoleClause(expr *DefaultRoleClause) error
	VisitGranteesClause(expr *GranteesClause) 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
	VisitTTLPolicy(expr *TTLPolicy) error
	VisitTTLPolicyRule(expr *TTLPolicyRule) error
	VisitTTLPolicyItemAction(expr *TTLPolicyRuleAction) error
	VisitRefreshExpr(expr *RefreshExpr) 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
	VisitTypedPlaceholder(expr *TypedPlaceholder) 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
	VisitDescribeQuery(expr *DescribeQuery) 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

	Enter(expr Expr)
	Leave(expr Expr)
}

type AliasExpr

type AliasExpr struct {
	Expr     Expr
	AliasPos Pos
	Alias    Expr
}

func (*AliasExpr) Accept

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

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

func (*AlterRole) Accept

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

func (*AlterRole) End

func (a *AlterRole) End() Pos

func (*AlterRole) Pos

func (a *AlterRole) Pos() Pos

func (*AlterRole) String

func (a *AlterRole) String() string

func (*AlterRole) Type

func (a *AlterRole) Type() string

type AlterTable

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

func (*AlterTable) Accept

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

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

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

type AlterTableAddProjection struct {
	AddPos       Pos
	StatementEnd Pos

	IfNotExists     bool
	TableProjection *TableProjection
	After           *NestedIdentifier
}

func (*AlterTableAddProjection) Accept

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

func (*AlterTableAddProjection) AlterType

func (a *AlterTableAddProjection) AlterType() string

func (*AlterTableAddProjection) End

func (a *AlterTableAddProjection) End() Pos

func (*AlterTableAddProjection) Pos

func (a *AlterTableAddProjection) Pos() Pos

func (*AlterTableAddProjection) String

func (a *AlterTableAddProjection) String() string

type AlterTableAttachPartition

type AlterTableAttachPartition struct {
	AttachPos Pos

	Partition *PartitionClause
	From      *TableIdentifier
}

func (*AlterTableAttachPartition) Accept

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

type AlterTableClause interface {
	Expr
	AlterType() string
}

type AlterTableClearColumn

type AlterTableClearColumn struct {
	ClearPos     Pos
	StatementEnd Pos

	IfExists      bool
	ColumnName    *NestedIdentifier
	PartitionExpr *PartitionClause
}

func (*AlterTableClearColumn) Accept

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

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

type AlterTableClearProjection struct {
	ClearPos     Pos
	StatementEnd Pos

	IfExists       bool
	ProjectionName *NestedIdentifier
	PartitionExpr  *PartitionClause
}

func (*AlterTableClearProjection) Accept

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

func (*AlterTableClearProjection) AlterType

func (a *AlterTableClearProjection) AlterType() string

func (*AlterTableClearProjection) End

func (a *AlterTableClearProjection) End() Pos

func (*AlterTableClearProjection) Pos

func (a *AlterTableClearProjection) Pos() Pos

func (*AlterTableClearProjection) String

func (a *AlterTableClearProjection) String() string

type AlterTableDetachPartition

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

func (*AlterTableDetachPartition) Accept

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

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

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

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

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

func (*AlterTableDropProjection) Accept

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

func (*AlterTableDropProjection) AlterType

func (a *AlterTableDropProjection) AlterType() string

func (*AlterTableDropProjection) End

func (a *AlterTableDropProjection) End() Pos

func (*AlterTableDropProjection) Pos

func (a *AlterTableDropProjection) Pos() Pos

func (*AlterTableDropProjection) String

func (a *AlterTableDropProjection) String() string

type AlterTableFreezePartition

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

func (*AlterTableFreezePartition) Accept

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

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

func (*AlterTableMaterializeIndex) Accept

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

func (*AlterTableMaterializeIndex) AlterType

func (a *AlterTableMaterializeIndex) AlterType() string

func (*AlterTableMaterializeIndex) End

func (*AlterTableMaterializeIndex) Pos

func (*AlterTableMaterializeIndex) String

func (a *AlterTableMaterializeIndex) String() string

type AlterTableMaterializeProjection

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

func (*AlterTableMaterializeProjection) Accept

func (*AlterTableMaterializeProjection) AlterType

func (a *AlterTableMaterializeProjection) AlterType() string

func (*AlterTableMaterializeProjection) End

func (*AlterTableMaterializeProjection) Pos

func (*AlterTableMaterializeProjection) String

type AlterTableModifyColumn

type AlterTableModifyColumn struct {
	ModifyPos    Pos
	StatementEnd Pos

	IfExists           bool
	Column             *ColumnDef
	RemovePropertyType *RemovePropertyType
}

func (*AlterTableModifyColumn) Accept

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 AlterTableModifyQuery

type AlterTableModifyQuery struct {
	ModifyPos    Pos
	StatementEnd Pos
	SelectExpr   *SelectQuery
}

func (*AlterTableModifyQuery) Accept

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

func (*AlterTableModifyQuery) AlterType

func (a *AlterTableModifyQuery) AlterType() string

func (*AlterTableModifyQuery) End

func (a *AlterTableModifyQuery) End() Pos

func (*AlterTableModifyQuery) Pos

func (a *AlterTableModifyQuery) Pos() Pos

func (*AlterTableModifyQuery) String

func (a *AlterTableModifyQuery) String() string

type AlterTableModifyTTL

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

func (*AlterTableModifyTTL) Accept

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

func (*AlterTableModifyTTL) AlterType

func (a *AlterTableModifyTTL) AlterType() string

func (*AlterTableModifyTTL) End

func (a *AlterTableModifyTTL) End() Pos

func (*AlterTableModifyTTL) Pos

func (a *AlterTableModifyTTL) Pos() Pos

func (*AlterTableModifyTTL) String

func (a *AlterTableModifyTTL) String() string

type AlterTableRemoveTTL

type AlterTableRemoveTTL struct {
	RemovePos    Pos
	StatementEnd Pos
}

func (*AlterTableRemoveTTL) Accept

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

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

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

func (*AlterTableReplacePartition) Accept

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

func (*AlterTableReplacePartition) AlterType

func (a *AlterTableReplacePartition) AlterType() string

func (*AlterTableReplacePartition) End

func (*AlterTableReplacePartition) Pos

func (*AlterTableReplacePartition) String

func (a *AlterTableReplacePartition) String() string

type ArrayJoinClause

type ArrayJoinClause struct {
	ArrayPos Pos
	Type     string
	Expr     Expr
}

func (*ArrayJoinClause) Accept

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

func (*ArrayJoinClause) End

func (a *ArrayJoinClause) End() Pos

func (*ArrayJoinClause) Pos

func (a *ArrayJoinClause) Pos() Pos

func (*ArrayJoinClause) String

func (a *ArrayJoinClause) String() string

type ArrayParamList

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

func (*ArrayParamList) Accept

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

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

func (*AssignmentValues) Accept

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

func (*AssignmentValues) End

func (v *AssignmentValues) End() Pos

func (*AssignmentValues) Pos

func (v *AssignmentValues) Pos() Pos

func (*AssignmentValues) String

func (v *AssignmentValues) String() string

type AuthenticationClause

type AuthenticationClause struct {
	AuthPos       Pos
	AuthEnd       Pos
	NotIdentified bool
	AuthType      string // "no_password", "plaintext_password", "sha256_password", etc.
	AuthValue     *StringLiteral
	LdapServer    *StringLiteral
	KerberosRealm *StringLiteral
	IsKerberos    bool
}

func (*AuthenticationClause) Accept

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

func (*AuthenticationClause) End

func (a *AuthenticationClause) End() Pos

func (*AuthenticationClause) Pos

func (a *AuthenticationClause) Pos() Pos

func (*AuthenticationClause) String

func (a *AuthenticationClause) String() string

type BetweenClause

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

func (*BetweenClause) Accept

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

func (*BetweenClause) End

func (f *BetweenClause) End() Pos

func (*BetweenClause) Pos

func (f *BetweenClause) Pos() Pos

func (*BetweenClause) String

func (f *BetweenClause) String() string

type BinaryOperation

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

func (*BinaryOperation) Accept

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

func (*BinaryOperation) End

func (p *BinaryOperation) End() Pos

func (*BinaryOperation) Pos

func (p *BinaryOperation) Pos() Pos

func (*BinaryOperation) String

func (p *BinaryOperation) String() string

type CTEStmt

type CTEStmt struct {
	CTEPos Pos
	Expr   Expr
	Alias  Expr
}

func (*CTEStmt) Accept

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

func (*CTEStmt) End

func (c *CTEStmt) End() Pos

func (*CTEStmt) Pos

func (c *CTEStmt) Pos() Pos

func (*CTEStmt) String

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

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

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

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

func (*CheckStmt) Accept

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

func (*CheckStmt) End

func (c *CheckStmt) End() Pos

func (*CheckStmt) Pos

func (c *CheckStmt) Pos() Pos

func (*CheckStmt) String

func (c *CheckStmt) String() string

type ClusterClause

type ClusterClause struct {
	OnPos Pos
	Expr  Expr
}

func (*ClusterClause) Accept

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

func (*ClusterClause) End

func (o *ClusterClause) End() Pos

func (*ClusterClause) Pos

func (o *ClusterClause) Pos() Pos

func (*ClusterClause) String

func (o *ClusterClause) String() string

type ColumnArgList

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

func (*ColumnArgList) Accept

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

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

	DefaultExpr      Expr
	MaterializedExpr Expr
	AliasExpr        Expr

	Codec *CompressionCodec
	TTL   *TTLClause

	Comment          *StringLiteral
	CompressionCodec *Ident
}

func (*ColumnDef) Accept

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

func (*ColumnDef) End

func (c *ColumnDef) End() Pos

func (*ColumnDef) Pos

func (c *ColumnDef) Pos() Pos

func (*ColumnDef) String

func (c *ColumnDef) String() string

type ColumnExpr

type ColumnExpr struct {
	Expr  Expr
	Alias *Ident
}

func (*ColumnExpr) Accept

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

func (*ColumnExpr) End

func (c *ColumnExpr) End() Pos

func (*ColumnExpr) Pos

func (c *ColumnExpr) Pos() Pos

func (*ColumnExpr) String

func (c *ColumnExpr) String() string

type ColumnExprList

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

func (*ColumnExprList) Accept

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

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

func (*ColumnIdentifier) Accept

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

func (*ColumnIdentifier) End

func (c *ColumnIdentifier) End() Pos

func (*ColumnIdentifier) Pos

func (c *ColumnIdentifier) Pos() Pos

func (*ColumnIdentifier) String

func (c *ColumnIdentifier) String() string

type ColumnNamesExpr

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

func (*ColumnNamesExpr) Accept

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

func (*ColumnNamesExpr) End

func (c *ColumnNamesExpr) End() Pos

func (*ColumnNamesExpr) Pos

func (c *ColumnNamesExpr) Pos() Pos

func (*ColumnNamesExpr) String

func (c *ColumnNamesExpr) String() string

type ColumnType

type ColumnType interface {
	Expr
	Type() string
}

type ColumnTypeExpr

type ColumnTypeExpr struct {
	Name *Ident
}

func (*ColumnTypeExpr) Accept

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

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

func (*ComplexType) Accept

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

func (*ComplexType) End

func (c *ComplexType) End() Pos

func (*ComplexType) Pos

func (c *ComplexType) Pos() Pos

func (*ComplexType) String

func (c *ComplexType) String() string

func (*ComplexType) Type

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

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

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

func (*ConstraintClause) Accept

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

func (*ConstraintClause) End

func (c *ConstraintClause) End() Pos

func (*ConstraintClause) Pos

func (c *ConstraintClause) Pos() Pos

func (*ConstraintClause) String

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
	Comment      *StringLiteral
}

func (*CreateDatabase) Accept

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

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

func (*CreateFunction) Accept

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

func (*CreateFunction) End

func (c *CreateFunction) End() Pos

func (*CreateFunction) Pos

func (c *CreateFunction) Pos() Pos

func (*CreateFunction) String

func (c *CreateFunction) String() string

func (*CreateFunction) Type

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

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
	Refresh      *RefreshExpr
	RandomizeFor *IntervalExpr
	DependsOn    []*TableIdentifier
	Settings     *SettingsClause
	HasAppend    bool
	Engine       *EngineExpr
	HasEmpty     bool
	Destination  *DestinationClause
	SubQuery     *SubQuery
	Populate     bool
	Comment      *StringLiteral
	Definer      *Ident
	SQLSecurity  string
}

func (*CreateMaterializedView) Accept

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

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

func (*CreateRole) Accept

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

func (*CreateRole) End

func (c *CreateRole) End() Pos

func (*CreateRole) Pos

func (c *CreateRole) Pos() Pos

func (*CreateRole) String

func (c *CreateRole) String() string

func (*CreateRole) Type

func (c *CreateRole) Type() string

type CreateTable

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

func (*CreateTable) Accept

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 CreateUser

type CreateUser struct {
	CreatePos       Pos
	StatementEnd    Pos
	IfNotExists     bool
	OrReplace       bool
	UserNames       []*RoleName
	Authentication  *AuthenticationClause
	Hosts           []*HostClause
	DefaultRole     *DefaultRoleClause
	DefaultDatabase *Ident
	DefaultDbNone   bool
	Grantees        *GranteesClause
	Settings        []*RoleSetting
}

func (*CreateUser) Accept

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

func (*CreateUser) End

func (c *CreateUser) End() Pos

func (*CreateUser) Pos

func (c *CreateUser) Pos() Pos

func (*CreateUser) String

func (c *CreateUser) String() string

func (*CreateUser) Type

func (c *CreateUser) Type() string

type CreateView

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

func (*CreateView) Accept

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

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

func (*DeduplicateClause) Accept

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

func (*DeduplicateClause) End

func (d *DeduplicateClause) End() Pos

func (*DeduplicateClause) Pos

func (d *DeduplicateClause) Pos() Pos

func (*DeduplicateClause) String

func (d *DeduplicateClause) String() string

type DefaultASTVisitor

type DefaultASTVisitor struct {
	Visit VisitFunc
}

func (*DefaultASTVisitor) Enter

func (v *DefaultASTVisitor) Enter(expr Expr)

func (*DefaultASTVisitor) Leave

func (v *DefaultASTVisitor) Leave(expr Expr)

func (*DefaultASTVisitor) VisitAliasExpr

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

func (*DefaultASTVisitor) VisitAlterRole

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

func (*DefaultASTVisitor) VisitAlterTable

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

func (*DefaultASTVisitor) VisitAlterTableAddColumn

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

func (*DefaultASTVisitor) VisitAlterTableAddIndex

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

func (*DefaultASTVisitor) VisitAlterTableAddProjection

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

func (*DefaultASTVisitor) VisitAlterTableAttachPartition

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

func (*DefaultASTVisitor) VisitAlterTableClearColumn

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

func (*DefaultASTVisitor) VisitAlterTableClearIndex

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

func (*DefaultASTVisitor) VisitAlterTableClearProjection

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

func (*DefaultASTVisitor) VisitAlterTableDetachPartition

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

func (*DefaultASTVisitor) VisitAlterTableDropColumn

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

func (*DefaultASTVisitor) VisitAlterTableDropIndex

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

func (*DefaultASTVisitor) VisitAlterTableDropPartition

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

func (*DefaultASTVisitor) VisitAlterTableDropProjection

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

func (*DefaultASTVisitor) VisitAlterTableFreezePartition

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

func (*DefaultASTVisitor) VisitAlterTableMaterializeIndex

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

func (*DefaultASTVisitor) VisitAlterTableMaterializeProjection

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

func (*DefaultASTVisitor) VisitAlterTableModifyColumn

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

func (*DefaultASTVisitor) VisitAlterTableModifyQuery

func (v *DefaultASTVisitor) VisitAlterTableModifyQuery(expr *AlterTableModifyQuery) error

func (*DefaultASTVisitor) VisitAlterTableModifyTTL

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

func (*DefaultASTVisitor) VisitAlterTableRemoveTTL

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

func (*DefaultASTVisitor) VisitAlterTableRenameColumn

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

func (*DefaultASTVisitor) VisitAlterTableReplacePartition

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

func (*DefaultASTVisitor) VisitArrayJoinExpr

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

func (*DefaultASTVisitor) VisitArrayParamList

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

func (*DefaultASTVisitor) VisitAuthenticationClause

func (v *DefaultASTVisitor) VisitAuthenticationClause(expr *AuthenticationClause) error

func (*DefaultASTVisitor) VisitBetweenClause

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

func (*DefaultASTVisitor) VisitBinaryExpr

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

func (*DefaultASTVisitor) VisitCTEExpr

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

func (*DefaultASTVisitor) VisitCaseExpr

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

func (*DefaultASTVisitor) VisitCastExpr

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

func (*DefaultASTVisitor) VisitCheckExpr

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

func (*DefaultASTVisitor) VisitColumnArgList

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

func (*DefaultASTVisitor) VisitColumnDef

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

func (*DefaultASTVisitor) VisitColumnExpr

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

func (*DefaultASTVisitor) VisitColumnExprList

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

func (*DefaultASTVisitor) VisitColumnIdentifier

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

func (*DefaultASTVisitor) VisitColumnNamesExpr

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

func (*DefaultASTVisitor) VisitColumnTypeExpr

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

func (*DefaultASTVisitor) VisitComplexType

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

func (*DefaultASTVisitor) VisitCompressionCodec

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

func (*DefaultASTVisitor) VisitConstraintExpr

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

func (*DefaultASTVisitor) VisitCreateDatabase

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

func (*DefaultASTVisitor) VisitCreateFunction

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

func (*DefaultASTVisitor) VisitCreateLiveView

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

func (*DefaultASTVisitor) VisitCreateMaterializedView

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

func (*DefaultASTVisitor) VisitCreateRole

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

func (*DefaultASTVisitor) VisitCreateTable

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

func (*DefaultASTVisitor) VisitCreateUser

func (v *DefaultASTVisitor) VisitCreateUser(expr *CreateUser) error

func (*DefaultASTVisitor) VisitCreateView

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

func (*DefaultASTVisitor) VisitDeduplicateExpr

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

func (*DefaultASTVisitor) VisitDefaultRoleClause

func (v *DefaultASTVisitor) VisitDefaultRoleClause(expr *DefaultRoleClause) error

func (*DefaultASTVisitor) VisitDeleteFromExpr

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

func (*DefaultASTVisitor) VisitDescribeQuery

func (v *DefaultASTVisitor) VisitDescribeQuery(expr *DescribeQuery) error

func (*DefaultASTVisitor) VisitDestinationExpr

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

func (*DefaultASTVisitor) VisitDropDatabase

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

func (*DefaultASTVisitor) VisitDropStmt

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

func (*DefaultASTVisitor) VisitDropUserOrRole

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

func (*DefaultASTVisitor) VisitEngineExpr

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

func (*DefaultASTVisitor) VisitEnumType

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

func (*DefaultASTVisitor) VisitEnumValue

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

func (*DefaultASTVisitor) VisitExplainExpr

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

func (*DefaultASTVisitor) VisitExtractExpr

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

func (*DefaultASTVisitor) VisitFormatExpr

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

func (*DefaultASTVisitor) VisitFromExpr

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

func (*DefaultASTVisitor) VisitFunctionExpr

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

func (*DefaultASTVisitor) VisitGlobalInExpr

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

func (*DefaultASTVisitor) VisitGrantPrivilegeExpr

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

func (*DefaultASTVisitor) VisitGranteesClause

func (v *DefaultASTVisitor) VisitGranteesClause(expr *GranteesClause) error

func (*DefaultASTVisitor) VisitGroupByExpr

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

func (*DefaultASTVisitor) VisitHavingExpr

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

func (*DefaultASTVisitor) VisitHostClause

func (v *DefaultASTVisitor) VisitHostClause(expr *HostClause) error

func (*DefaultASTVisitor) VisitIdent

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

func (*DefaultASTVisitor) VisitIndexOperation

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

func (*DefaultASTVisitor) VisitInsertExpr

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

func (*DefaultASTVisitor) VisitIntervalExpr

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

func (*DefaultASTVisitor) VisitIsNotNullExpr

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

func (*DefaultASTVisitor) VisitIsNullExpr

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

func (*DefaultASTVisitor) VisitJSONType

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

func (*DefaultASTVisitor) VisitJoinConstraintExpr

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

func (*DefaultASTVisitor) VisitJoinExpr

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

func (*DefaultASTVisitor) VisitJoinTableExpr

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

func (*DefaultASTVisitor) VisitLimitByExpr

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

func (*DefaultASTVisitor) VisitLimitExpr

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

func (*DefaultASTVisitor) VisitMapLiteral

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

func (*DefaultASTVisitor) VisitNegateExpr

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

func (*DefaultASTVisitor) VisitNestedIdentifier

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

func (*DefaultASTVisitor) VisitNestedType

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

func (*DefaultASTVisitor) VisitNotExpr

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

func (*DefaultASTVisitor) VisitNotNullLiteral

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

func (*DefaultASTVisitor) VisitNullLiteral

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

func (*DefaultASTVisitor) VisitNumberLiteral

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

func (*DefaultASTVisitor) VisitObjectParams

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

func (*DefaultASTVisitor) VisitOnClusterExpr

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

func (*DefaultASTVisitor) VisitOnExpr

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

func (*DefaultASTVisitor) VisitOperationExpr

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

func (*DefaultASTVisitor) VisitOptimizeExpr

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

func (*DefaultASTVisitor) VisitOrderByExpr

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

func (*DefaultASTVisitor) VisitOrderByListExpr

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

func (*DefaultASTVisitor) VisitParamExprList

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

func (*DefaultASTVisitor) VisitPartitionByExpr

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

func (*DefaultASTVisitor) VisitPartitionExpr

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

func (*DefaultASTVisitor) VisitPlaceHolderExpr

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

func (*DefaultASTVisitor) VisitPrewhereExpr

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

func (*DefaultASTVisitor) VisitPrimaryKeyExpr

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

func (*DefaultASTVisitor) VisitPrivilegeExpr

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

func (*DefaultASTVisitor) VisitProjectionOrderBy

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

func (*DefaultASTVisitor) VisitProjectionSelect

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

func (*DefaultASTVisitor) VisitPropertyType

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

func (*DefaultASTVisitor) VisitQueryParam

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

func (*DefaultASTVisitor) VisitRatioExpr

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

func (*DefaultASTVisitor) VisitRefreshExpr

func (v *DefaultASTVisitor) VisitRefreshExpr(expr *RefreshExpr) error

func (*DefaultASTVisitor) VisitRemovePropertyType

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

func (*DefaultASTVisitor) VisitRenameStmt

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

func (*DefaultASTVisitor) VisitRoleName

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

func (*DefaultASTVisitor) VisitRoleRenamePair

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

func (*DefaultASTVisitor) VisitRoleSetting

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

func (*DefaultASTVisitor) VisitSampleByExpr

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

func (*DefaultASTVisitor) VisitSampleRatioExpr

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

func (*DefaultASTVisitor) VisitScalarType

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

func (*DefaultASTVisitor) VisitSelectItem

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

func (*DefaultASTVisitor) VisitSelectQuery

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

func (*DefaultASTVisitor) VisitSetExpr

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

func (*DefaultASTVisitor) VisitSettingPair

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

func (*DefaultASTVisitor) VisitSettingsExpr

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

func (*DefaultASTVisitor) VisitSettingsExprList

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

func (*DefaultASTVisitor) VisitStringLiteral

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

func (*DefaultASTVisitor) VisitSubQueryExpr

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

func (*DefaultASTVisitor) VisitSystemCtrlExpr

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

func (*DefaultASTVisitor) VisitSystemDropExpr

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

func (*DefaultASTVisitor) VisitSystemExpr

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

func (*DefaultASTVisitor) VisitSystemFlushExpr

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

func (*DefaultASTVisitor) VisitSystemReloadExpr

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

func (*DefaultASTVisitor) VisitSystemSyncExpr

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

func (*DefaultASTVisitor) VisitTTLExpr

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

func (*DefaultASTVisitor) VisitTTLExprList

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

func (*DefaultASTVisitor) VisitTTLPolicy

func (v *DefaultASTVisitor) VisitTTLPolicy(expr *TTLPolicy) error

func (*DefaultASTVisitor) VisitTTLPolicyItemAction

func (v *DefaultASTVisitor) VisitTTLPolicyItemAction(expr *TTLPolicyRuleAction) error

func (*DefaultASTVisitor) VisitTTLPolicyRule

func (v *DefaultASTVisitor) VisitTTLPolicyRule(expr *TTLPolicyRule) error

func (*DefaultASTVisitor) VisitTableArgListExpr

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

func (*DefaultASTVisitor) VisitTableExpr

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

func (*DefaultASTVisitor) VisitTableFunctionExpr

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

func (*DefaultASTVisitor) VisitTableIdentifier

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

func (*DefaultASTVisitor) VisitTableIndex

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

func (*DefaultASTVisitor) VisitTableProjection

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

func (*DefaultASTVisitor) VisitTableSchemaExpr

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

func (*DefaultASTVisitor) VisitTernaryExpr

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

func (*DefaultASTVisitor) VisitTopExpr

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

func (*DefaultASTVisitor) VisitTruncateTable

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

func (*DefaultASTVisitor) VisitTypeWithParams

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

func (*DefaultASTVisitor) VisitTypedPlaceholder

func (v *DefaultASTVisitor) VisitTypedPlaceholder(expr *TypedPlaceholder) error

func (*DefaultASTVisitor) VisitUUID

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

func (*DefaultASTVisitor) VisitUnaryExpr

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

func (*DefaultASTVisitor) VisitUseExpr

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

func (*DefaultASTVisitor) VisitUsingExpr

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

func (*DefaultASTVisitor) VisitValuesExpr

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

func (*DefaultASTVisitor) VisitWhenExpr

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

func (*DefaultASTVisitor) VisitWhereExpr

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

func (*DefaultASTVisitor) VisitWindowConditionExpr

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

func (*DefaultASTVisitor) VisitWindowExpr

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

func (*DefaultASTVisitor) VisitWindowFrameCurrentRow

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

func (*DefaultASTVisitor) VisitWindowFrameExpr

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

func (*DefaultASTVisitor) VisitWindowFrameExtendExpr

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

func (*DefaultASTVisitor) VisitWindowFrameNumber

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

func (*DefaultASTVisitor) VisitWindowFrameUnbounded

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

func (*DefaultASTVisitor) VisitWindowFunctionExpr

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

func (*DefaultASTVisitor) VisitWithExpr

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

func (*DefaultASTVisitor) VisitWithTimeoutExpr

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

type DefaultRoleClause

type DefaultRoleClause struct {
	DefaultPos Pos
	DefaultEnd Pos
	Roles      []*RoleName
	None       bool
}

func (*DefaultRoleClause) Accept

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

func (*DefaultRoleClause) End

func (d *DefaultRoleClause) End() Pos

func (*DefaultRoleClause) Pos

func (d *DefaultRoleClause) Pos() Pos

func (*DefaultRoleClause) String

func (d *DefaultRoleClause) String() string

type DeleteClause

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

func (*DeleteClause) Accept

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

func (*DeleteClause) End

func (d *DeleteClause) End() Pos

func (*DeleteClause) Pos

func (d *DeleteClause) Pos() Pos

func (*DeleteClause) String

func (d *DeleteClause) String() string

type DescribeQuery

type DescribeQuery struct {
	DescribePos Pos
	Expr        Expr
	Settings    *SettingsClause
}

func (*DescribeQuery) Accept

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

func (*DescribeQuery) End

func (f *DescribeQuery) End() Pos

func (*DescribeQuery) Pos

func (f *DescribeQuery) Pos() Pos

func (*DescribeQuery) String

func (f *DescribeQuery) String() string

type DestinationClause

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

func (*DestinationClause) Accept

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

func (*DestinationClause) End

func (d *DestinationClause) End() Pos

func (*DestinationClause) Pos

func (d *DestinationClause) Pos() Pos

func (*DestinationClause) String

func (d *DestinationClause) String() string

type DropDatabase

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

func (*DropDatabase) Accept

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

type DropStmt struct {
	DropPos      Pos
	StatementEnd Pos

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

func (*DropStmt) Accept

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

func (*DropStmt) End

func (d *DropStmt) End() Pos

func (*DropStmt) Pos

func (d *DropStmt) Pos() Pos

func (*DropStmt) String

func (d *DropStmt) String() string

func (*DropStmt) Type

func (d *DropStmt) Type() string

type DropUserOrRole

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

func (*DropUserOrRole) Accept

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

func (*DropUserOrRole) End

func (d *DropUserOrRole) End() Pos

func (*DropUserOrRole) Pos

func (d *DropUserOrRole) Pos() Pos

func (*DropUserOrRole) String

func (d *DropUserOrRole) String() string

func (*DropUserOrRole) Type

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

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

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

func (*EnumType) Accept

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

func (*EnumType) End

func (e *EnumType) End() Pos

func (*EnumType) Pos

func (e *EnumType) Pos() Pos

func (*EnumType) String

func (e *EnumType) String() string

func (*EnumType) Type

func (e *EnumType) Type() string

type EnumValue

type EnumValue struct {
	Name  *StringLiteral
	Value *NumberLiteral
}

func (*EnumValue) Accept

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

func (*EnumValue) End

func (e *EnumValue) End() Pos

func (*EnumValue) Pos

func (e *EnumValue) Pos() Pos

func (*EnumValue) String

func (e *EnumValue) String() string

type ExplainStmt

type ExplainStmt struct {
	ExplainPos Pos
	Type       string
	Statement  Expr
}

func (*ExplainStmt) Accept

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

func (*ExplainStmt) End

func (e *ExplainStmt) End() Pos

func (*ExplainStmt) Pos

func (e *ExplainStmt) Pos() Pos

func (*ExplainStmt) String

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

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

type FormatClause struct {
	FormatPos Pos
	Format    *Ident
}

func (*FormatClause) Accept

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

func (*FormatClause) End

func (f *FormatClause) End() Pos

func (*FormatClause) Pos

func (f *FormatClause) Pos() Pos

func (*FormatClause) String

func (f *FormatClause) String() string

type FromClause

type FromClause struct {
	FromPos Pos
	Expr    Expr
}

func (*FromClause) Accept

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

func (*FromClause) End

func (f *FromClause) End() Pos

func (*FromClause) Pos

func (f *FromClause) Pos() Pos

func (*FromClause) String

func (f *FromClause) String() string

type FunctionExpr

type FunctionExpr struct {
	Name   *Ident
	Params *ParamExprList
}

func (*FunctionExpr) Accept

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

type GlobalInOperation struct {
	GlobalPos Pos
	Expr      Expr
}

func (*GlobalInOperation) Accept

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

func (*GlobalInOperation) End

func (g *GlobalInOperation) End() Pos

func (*GlobalInOperation) Pos

func (g *GlobalInOperation) Pos() Pos

func (*GlobalInOperation) String

func (g *GlobalInOperation) String() string

type GrantPrivilegeStmt

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

func (*GrantPrivilegeStmt) Accept

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

func (*GrantPrivilegeStmt) End

func (g *GrantPrivilegeStmt) End() Pos

func (*GrantPrivilegeStmt) Pos

func (g *GrantPrivilegeStmt) Pos() Pos

func (*GrantPrivilegeStmt) String

func (g *GrantPrivilegeStmt) String() string

func (*GrantPrivilegeStmt) Type

func (g *GrantPrivilegeStmt) Type() string

type GranteesClause

type GranteesClause struct {
	GranteesPos Pos
	GranteesEnd Pos
	Grantees    []*RoleName
	ExceptUsers []*RoleName
	Any         bool
	None        bool
}

func (*GranteesClause) Accept

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

func (*GranteesClause) End

func (g *GranteesClause) End() Pos

func (*GranteesClause) Pos

func (g *GranteesClause) Pos() Pos

func (*GranteesClause) String

func (g *GranteesClause) String() string

type GroupByClause

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

func (*GroupByClause) Accept

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

func (*GroupByClause) End

func (g *GroupByClause) End() Pos

func (*GroupByClause) Pos

func (g *GroupByClause) Pos() Pos

func (*GroupByClause) String

func (g *GroupByClause) String() string

type HavingClause

type HavingClause struct {
	HavingPos Pos
	Expr      Expr
}

func (*HavingClause) Accept

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

func (*HavingClause) End

func (h *HavingClause) End() Pos

func (*HavingClause) Pos

func (h *HavingClause) Pos() Pos

func (*HavingClause) String

func (h *HavingClause) String() string

type HostClause

type HostClause struct {
	HostPos   Pos
	HostEnd   Pos
	HostType  string // "LOCAL", "NAME", "REGEXP", "IP", "LIKE", "ANY", "NONE"
	HostValue *StringLiteral
}

func (*HostClause) Accept

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

func (*HostClause) End

func (h *HostClause) End() Pos

func (*HostClause) Pos

func (h *HostClause) Pos() Pos

func (*HostClause) String

func (h *HostClause) String() string

type Ident

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

func (*Ident) Accept

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

type IndexOperation struct {
	Object    Expr
	Operation TokenKind
	Index     Expr
}

func (*IndexOperation) Accept

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

func (*IndexOperation) End

func (i *IndexOperation) End() Pos

func (*IndexOperation) Pos

func (i *IndexOperation) Pos() Pos

func (*IndexOperation) String

func (i *IndexOperation) String() string

type InsertStmt

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

func (*InsertStmt) Accept

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

func (*InsertStmt) End

func (i *InsertStmt) End() Pos

func (*InsertStmt) Pos

func (i *InsertStmt) Pos() Pos

func (*InsertStmt) String

func (i *InsertStmt) String() string

type IntervalExpr

type IntervalExpr struct {
	// INTERVAL keyword position which might be omitted(IntervalPos = 0)
	IntervalPos Pos

	Expr Expr
	Unit *Ident
}

func (*IntervalExpr) Accept

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

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

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

type JSONOption struct {
	SkipPath        *JSONPath
	SkipRegex       *StringLiteral
	MaxDynamicPaths *NumberLiteral
	MaxDynamicTypes *NumberLiteral
}

func (*JSONOption) String

func (j *JSONOption) String() string

type JSONOptions

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

func (*JSONOptions) End

func (j *JSONOptions) End() Pos

func (*JSONOptions) Pos

func (j *JSONOptions) Pos() Pos

func (*JSONOptions) String

func (j *JSONOptions) String() string

type JSONPath

type JSONPath struct {
	Idents []*Ident
}

func (*JSONPath) String

func (j *JSONPath) String() string

type JSONType

type JSONType struct {
	Name    *Ident
	Options *JSONOptions
}

func (*JSONType) Accept

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

func (*JSONType) End

func (j *JSONType) End() Pos

func (*JSONType) Pos

func (j *JSONType) Pos() Pos

func (*JSONType) String

func (j *JSONType) String() string

func (*JSONType) Type

func (j *JSONType) Type() string

type JoinConstraintClause

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

func (*JoinConstraintClause) Accept

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

func (*JoinConstraintClause) End

func (j *JoinConstraintClause) End() Pos

func (*JoinConstraintClause) Pos

func (j *JoinConstraintClause) Pos() Pos

func (*JoinConstraintClause) String

func (j *JoinConstraintClause) String() string

type JoinExpr

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

func (*JoinExpr) Accept

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

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

func (*JoinTableExpr) Accept

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

func (*JoinTableExpr) End

func (j *JoinTableExpr) End() Pos

func (*JoinTableExpr) Pos

func (j *JoinTableExpr) Pos() Pos

func (*JoinTableExpr) String

func (j *JoinTableExpr) String() string

type KeyValue

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

type LimitByClause struct {
	Limit  *LimitClause
	ByExpr *ColumnExprList
}

func (*LimitByClause) Accept

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

func (*LimitByClause) End

func (l *LimitByClause) End() Pos

func (*LimitByClause) Pos

func (l *LimitByClause) Pos() Pos

func (*LimitByClause) String

func (l *LimitByClause) String() string

type LimitClause

type LimitClause struct {
	LimitPos Pos
	Limit    Expr
	Offset   Expr
}

func (*LimitClause) Accept

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

func (*LimitClause) End

func (l *LimitClause) End() Pos

func (*LimitClause) Pos

func (l *LimitClause) Pos() Pos

func (*LimitClause) String

func (l *LimitClause) String() string

type Literal

type Literal interface {
	Expr
}

type MapLiteral

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

func (*MapLiteral) Accept

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

func (*MapLiteral) End

func (m *MapLiteral) End() Pos

func (*MapLiteral) Pos

func (m *MapLiteral) Pos() Pos

func (*MapLiteral) String

func (m *MapLiteral) String() string

type NegateExpr

type NegateExpr struct {
	NegatePos Pos
	Expr      Expr
}

func (*NegateExpr) Accept

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

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

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

func (*NestedType) Accept

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

func (*NestedType) End

func (n *NestedType) End() Pos

func (*NestedType) Pos

func (n *NestedType) Pos() Pos

func (*NestedType) String

func (n *NestedType) String() string

func (*NestedType) Type

func (n *NestedType) Type() string

type NotExpr

type NotExpr struct {
	NotPos Pos
	Expr   Expr
}

func (*NotExpr) Accept

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

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

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

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

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

type OnClause struct {
	OnPos Pos
	On    *ColumnExprList
}

func (*OnClause) Accept

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

func (*OnClause) End

func (o *OnClause) End() Pos

func (*OnClause) Pos

func (o *OnClause) Pos() Pos

func (*OnClause) String

func (o *OnClause) String() string

type OperationExpr

type OperationExpr struct {
	OperationPos Pos
	Kind         TokenKind
}

func (*OperationExpr) Accept

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

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

func (*OptimizeStmt) Accept

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

func (*OptimizeStmt) End

func (o *OptimizeStmt) End() Pos

func (*OptimizeStmt) Pos

func (o *OptimizeStmt) Pos() Pos

func (*OptimizeStmt) String

func (o *OptimizeStmt) String() string

type OrderByClause

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

func (*OrderByClause) Accept

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

func (*OrderByClause) End

func (o *OrderByClause) End() Pos

func (*OrderByClause) Pos

func (o *OrderByClause) Pos() Pos

func (*OrderByClause) String

func (o *OrderByClause) String() string

type OrderDirection

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

type OrderExpr

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

func (*OrderExpr) Accept

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

func (*OrderExpr) End

func (o *OrderExpr) End() Pos

func (*OrderExpr) Pos

func (o *OrderExpr) Pos() Pos

func (*OrderExpr) String

func (o *OrderExpr) String() string

type ParamExprList

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

func (*ParamExprList) Accept

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) End

func (p *Parser) End() Pos

func (*Parser) ParseNestedIdentifier

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

func (*Parser) ParseStmts

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

func (*Parser) Pos

func (p *Parser) Pos() Pos

type PartitionByClause

type PartitionByClause struct {
	PartitionPos Pos
	Expr         Expr
}

func (*PartitionByClause) Accept

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

func (*PartitionByClause) End

func (p *PartitionByClause) End() Pos

func (*PartitionByClause) Pos

func (p *PartitionByClause) Pos() Pos

func (*PartitionByClause) String

func (p *PartitionByClause) String() string

type PartitionClause

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

func (*PartitionClause) Accept

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

func (*PartitionClause) End

func (p *PartitionClause) End() Pos

func (*PartitionClause) Pos

func (p *PartitionClause) Pos() Pos

func (*PartitionClause) String

func (p *PartitionClause) String() string

type PlaceHolder

type PlaceHolder struct {
	PlaceholderPos Pos
	PlaceHolderEnd Pos
	Type           string
}

func (*PlaceHolder) Accept

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

func (*PlaceHolder) End

func (p *PlaceHolder) End() Pos

func (*PlaceHolder) Pos

func (p *PlaceHolder) Pos() Pos

func (*PlaceHolder) String

func (p *PlaceHolder) String() string

type Pos

type Pos int

type PrewhereClause

type PrewhereClause struct {
	PrewherePos Pos
	Expr        Expr
}

func (*PrewhereClause) Accept

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

func (*PrewhereClause) End

func (w *PrewhereClause) End() Pos

func (*PrewhereClause) Pos

func (w *PrewhereClause) Pos() Pos

func (*PrewhereClause) String

func (w *PrewhereClause) String() string

type PrimaryKeyClause

type PrimaryKeyClause struct {
	PrimaryPos Pos
	Expr       Expr
}

func (*PrimaryKeyClause) Accept

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

func (*PrimaryKeyClause) End

func (p *PrimaryKeyClause) End() Pos

func (*PrimaryKeyClause) Pos

func (p *PrimaryKeyClause) Pos() Pos

func (*PrimaryKeyClause) String

func (p *PrimaryKeyClause) String() string

type PrivilegeClause

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

func (*PrivilegeClause) Accept

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

func (*PrivilegeClause) End

func (p *PrivilegeClause) End() Pos

func (*PrivilegeClause) Pos

func (p *PrivilegeClause) Pos() Pos

func (*PrivilegeClause) String

func (p *PrivilegeClause) String() string

type ProjectionOrderByClause

type ProjectionOrderByClause struct {
	OrderByPos Pos
	Columns    *ColumnExprList
}

func (*ProjectionOrderByClause) Accept

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

func (*ProjectionOrderByClause) End

func (p *ProjectionOrderByClause) End() Pos

func (*ProjectionOrderByClause) Pos

func (p *ProjectionOrderByClause) Pos() Pos

func (*ProjectionOrderByClause) String

func (p *ProjectionOrderByClause) String() string

type ProjectionSelectStmt

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

func (*ProjectionSelectStmt) Accept

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

func (*ProjectionSelectStmt) End

func (p *ProjectionSelectStmt) End() Pos

func (*ProjectionSelectStmt) Pos

func (p *ProjectionSelectStmt) Pos() Pos

func (*ProjectionSelectStmt) String

func (p *ProjectionSelectStmt) String() string

type PropertyType

type PropertyType struct {
	Name *Ident
}

func (*PropertyType) Accept

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

func (*PropertyType) End

func (c *PropertyType) End() Pos

func (*PropertyType) Pos

func (c *PropertyType) Pos() Pos

func (*PropertyType) String

func (c *PropertyType) String() string

func (*PropertyType) Type

func (c *PropertyType) Type() string

type QueryParam

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

func (*QueryParam) Accept

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

func (*QueryParam) End

func (q *QueryParam) End() Pos

func (*QueryParam) Pos

func (q *QueryParam) Pos() Pos

func (*QueryParam) String

func (q *QueryParam) String() string

type RatioExpr

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

func (*RatioExpr) Accept

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

func (*RatioExpr) End

func (r *RatioExpr) End() Pos

func (*RatioExpr) Pos

func (r *RatioExpr) Pos() Pos

func (*RatioExpr) String

func (r *RatioExpr) String() string

type RefreshExpr

type RefreshExpr struct {
	RefreshPos Pos
	Frequency  string // EVERY|AFTER
	Interval   *IntervalExpr
	Offset     *IntervalExpr
}

func (*RefreshExpr) Accept

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

func (*RefreshExpr) End

func (r *RefreshExpr) End() Pos

func (*RefreshExpr) Pos

func (r *RefreshExpr) Pos() Pos

func (*RefreshExpr) String

func (r *RefreshExpr) String() string

type RemovePropertyType

type RemovePropertyType struct {
	RemovePos Pos

	PropertyType Expr
}

func (*RemovePropertyType) Accept

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

type RenameStmt struct {
	RenamePos    Pos
	StatementEnd Pos

	RenameTarget   string
	TargetPairList []*TargetPair
	OnCluster      *ClusterClause
}

func (*RenameStmt) Accept

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

func (*RenameStmt) End

func (r *RenameStmt) End() Pos

func (*RenameStmt) Pos

func (r *RenameStmt) Pos() Pos

func (*RenameStmt) String

func (r *RenameStmt) String() string

func (*RenameStmt) Type

func (r *RenameStmt) Type() string

type RoleName

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

func (*RoleName) Accept

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

func (*RoleName) End

func (r *RoleName) End() Pos

func (*RoleName) Pos

func (r *RoleName) Pos() Pos

func (*RoleName) String

func (r *RoleName) String() string

type RoleRenamePair

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

func (*RoleRenamePair) Accept

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

func (*RoleRenamePair) End

func (r *RoleRenamePair) End() Pos

func (*RoleRenamePair) Pos

func (r *RoleRenamePair) Pos() Pos

func (*RoleRenamePair) String

func (r *RoleRenamePair) String() string

type RoleSetting

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

func (*RoleSetting) Accept

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

func (*RoleSetting) End

func (r *RoleSetting) End() Pos

func (*RoleSetting) Pos

func (r *RoleSetting) Pos() Pos

func (*RoleSetting) String

func (r *RoleSetting) String() string

type SampleByClause

type SampleByClause struct {
	SamplePos Pos
	Expr      Expr
}

func (*SampleByClause) Accept

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

func (*SampleByClause) End

func (s *SampleByClause) End() Pos

func (*SampleByClause) Pos

func (s *SampleByClause) Pos() Pos

func (*SampleByClause) String

func (s *SampleByClause) String() string

type SampleClause

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

func (*SampleClause) Accept

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

func (*SampleClause) End

func (s *SampleClause) End() Pos

func (*SampleClause) Pos

func (s *SampleClause) Pos() Pos

func (*SampleClause) String

func (s *SampleClause) String() string

type ScalarType

type ScalarType struct {
	Name *Ident
}

func (*ScalarType) Accept

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

func (*ScalarType) End

func (s *ScalarType) End() Pos

func (*ScalarType) Pos

func (s *ScalarType) Pos() Pos

func (*ScalarType) String

func (s *ScalarType) String() string

func (*ScalarType) Type

func (s *ScalarType) Type() string

type SelectItem

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

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

func (*SelectItem) End

func (s *SelectItem) End() Pos

func (*SelectItem) Pos

func (s *SelectItem) Pos() Pos

func (*SelectItem) String

func (s *SelectItem) String() string

type SelectQuery

type SelectQuery struct {
	SelectPos     Pos
	StatementEnd  Pos
	With          *WithClause
	Top           *TopClause
	HasDistinct   bool
	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

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

func (*SelectQuery) End

func (s *SelectQuery) End() Pos

func (*SelectQuery) Pos

func (s *SelectQuery) Pos() Pos

func (*SelectQuery) String

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

type SetStmt struct {
	SetPos   Pos
	Settings *SettingsClause
}

func (*SetStmt) Accept

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

func (*SetStmt) End

func (s *SetStmt) End() Pos

func (*SetStmt) Pos

func (s *SetStmt) Pos() Pos

func (*SetStmt) String

func (s *SetStmt) String() string

type SettingExprList

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

func (*SettingExprList) Accept

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

func (*SettingExprList) End

func (s *SettingExprList) End() Pos

func (*SettingExprList) Pos

func (s *SettingExprList) Pos() Pos

func (*SettingExprList) String

func (s *SettingExprList) String() string

type SettingPair

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

func (*SettingPair) Accept

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

func (*SettingPair) End

func (s *SettingPair) End() Pos

func (*SettingPair) Pos

func (s *SettingPair) Pos() Pos

func (*SettingPair) String

func (s *SettingPair) String() string

type SettingsClause

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

func (*SettingsClause) Accept

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

func (*SettingsClause) End

func (s *SettingsClause) End() Pos

func (*SettingsClause) Pos

func (s *SettingsClause) Pos() Pos

func (*SettingsClause) String

func (s *SettingsClause) String() string

type StringLiteral

type StringLiteral struct {
	LiteralPos Pos
	LiteralEnd Pos
	Literal    string
}

func (*StringLiteral) Accept

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

type SubQuery struct {
	HasParen bool
	Select   *SelectQuery
}

func (*SubQuery) Accept

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

func (*SubQuery) End

func (s *SubQuery) End() Pos

func (*SubQuery) Pos

func (s *SubQuery) Pos() Pos

func (*SubQuery) String

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

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

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

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

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

type SystemStmt struct {
	SystemPos Pos
	Expr      Expr
}

func (*SystemStmt) Accept

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

func (*SystemStmt) End

func (s *SystemStmt) End() Pos

func (*SystemStmt) Pos

func (s *SystemStmt) Pos() Pos

func (*SystemStmt) String

func (s *SystemStmt) String() string

type SystemSyncExpr

type SystemSyncExpr struct {
	SyncPos Pos
	Cluster *TableIdentifier
}

func (*SystemSyncExpr) Accept

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

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

func (*TTLClause) Accept

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

func (*TTLClause) End

func (t *TTLClause) End() Pos

func (*TTLClause) Pos

func (t *TTLClause) Pos() Pos

func (*TTLClause) String

func (t *TTLClause) String() string

type TTLExpr

type TTLExpr struct {
	TTLPos Pos
	Expr   Expr
	Policy *TTLPolicy
}

func (*TTLExpr) Accept

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 TTLPolicy

type TTLPolicy struct {
	Item    *TTLPolicyRule
	Where   *WhereClause
	GroupBy *GroupByClause
}

func (*TTLPolicy) Accept

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

func (*TTLPolicy) End

func (t *TTLPolicy) End() Pos

func (*TTLPolicy) Pos

func (t *TTLPolicy) Pos() Pos

func (*TTLPolicy) String

func (t *TTLPolicy) String() string

type TTLPolicyRule

type TTLPolicyRule struct {
	RulePos  Pos
	ToVolume *StringLiteral
	ToDisk   *StringLiteral
	Action   *TTLPolicyRuleAction
}

func (*TTLPolicyRule) Accept

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

func (*TTLPolicyRule) End

func (t *TTLPolicyRule) End() Pos

func (*TTLPolicyRule) Pos

func (t *TTLPolicyRule) Pos() Pos

func (*TTLPolicyRule) String

func (t *TTLPolicyRule) String() string

type TTLPolicyRuleAction

type TTLPolicyRuleAction struct {
	ActionPos Pos
	ActionEnd Pos
	Action    string
	Codec     *CompressionCodec
}

func (*TTLPolicyRuleAction) Accept

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

func (*TTLPolicyRuleAction) End

func (t *TTLPolicyRuleAction) End() Pos

func (*TTLPolicyRuleAction) Pos

func (t *TTLPolicyRuleAction) Pos() Pos

func (*TTLPolicyRuleAction) String

func (t *TTLPolicyRuleAction) String() string

type TableArgListExpr

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

func (*TableArgListExpr) Accept

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

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

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

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

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

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

func (*TableProjection) Accept

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

func (*TableProjection) End

func (t *TableProjection) End() Pos

func (*TableProjection) Pos

func (t *TableProjection) Pos() Pos

func (*TableProjection) String

func (t *TableProjection) String() string

type TableSchemaClause

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

func (*TableSchemaClause) Accept

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

func (*TableSchemaClause) End

func (t *TableSchemaClause) End() Pos

func (*TableSchemaClause) Pos

func (t *TableSchemaClause) Pos() Pos

func (*TableSchemaClause) String

func (t *TableSchemaClause) String() string

type TargetPair

type TargetPair struct {
	Old *TableIdentifier
	New *TableIdentifier
}

func (*TargetPair) End

func (t *TargetPair) End() Pos

func (*TargetPair) Pos

func (t *TargetPair) Pos() Pos

func (*TargetPair) String

func (t *TargetPair) String() string

type TernaryOperation

type TernaryOperation struct {
	Condition Expr
	TrueExpr  Expr
	FalseExpr Expr
}

func (*TernaryOperation) Accept

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

func (*TernaryOperation) End

func (t *TernaryOperation) End() Pos

func (*TernaryOperation) Pos

func (t *TernaryOperation) Pos() Pos

func (*TernaryOperation) String

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

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 = "%"
	TokenKindConcat 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

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

func (*TopClause) Accept

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

func (*TopClause) End

func (t *TopClause) End() Pos

func (*TopClause) Pos

func (t *TopClause) Pos() Pos

func (*TopClause) String

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

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

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

func (*TypeWithParams) Accept

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

func (*TypeWithParams) End

func (s *TypeWithParams) End() Pos

func (*TypeWithParams) Pos

func (s *TypeWithParams) Pos() Pos

func (*TypeWithParams) String

func (s *TypeWithParams) String() string

func (*TypeWithParams) Type

func (s *TypeWithParams) Type() string

type TypedPlaceholder

type TypedPlaceholder struct {
	LeftBracePos  Pos
	RightBracePos Pos
	Name          *Ident
	Type          ColumnType
}

func (*TypedPlaceholder) Accept

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

func (*TypedPlaceholder) End

func (t *TypedPlaceholder) End() Pos

func (*TypedPlaceholder) Pos

func (t *TypedPlaceholder) Pos() Pos

func (*TypedPlaceholder) String

func (t *TypedPlaceholder) String() string

type UUID

type UUID struct {
	Value *StringLiteral
}

func (*UUID) Accept

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

type UnaryExpr struct {
	UnaryPos Pos
	Kind     TokenKind
	Expr     Expr
}

func (*UnaryExpr) Accept

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

func (*UnaryExpr) End

func (n *UnaryExpr) End() Pos

func (*UnaryExpr) Pos

func (n *UnaryExpr) Pos() Pos

func (*UnaryExpr) String

func (n *UnaryExpr) String() string

type UseStmt

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

func (*UseStmt) Accept

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

func (*UseStmt) End

func (u *UseStmt) End() Pos

func (*UseStmt) Pos

func (u *UseStmt) Pos() Pos

func (*UseStmt) String

func (u *UseStmt) String() string

type UsingClause

type UsingClause struct {
	UsingPos Pos
	Using    *ColumnExprList
}

func (*UsingClause) Accept

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

func (*UsingClause) End

func (u *UsingClause) End() Pos

func (*UsingClause) Pos

func (u *UsingClause) Pos() Pos

func (*UsingClause) String

func (u *UsingClause) String() string

type VisitFunc

type VisitFunc func(expr Expr) error

type WhenClause

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

func (*WhenClause) Accept

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

func (*WhenClause) End

func (w *WhenClause) End() Pos

func (*WhenClause) Pos

func (w *WhenClause) Pos() Pos

func (*WhenClause) String

func (w *WhenClause) String() string

type WhereClause

type WhereClause struct {
	WherePos Pos
	Expr     Expr
}

func (*WhereClause) Accept

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

func (*WhereClause) End

func (w *WhereClause) End() Pos

func (*WhereClause) Pos

func (w *WhereClause) Pos() Pos

func (*WhereClause) String

func (w *WhereClause) String() string

type WindowClause

type WindowClause struct {
	*WindowExpr

	WindowPos Pos
	Name      *Ident
	AsPos     Pos
}

func (*WindowClause) Accept

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

func (*WindowClause) End

func (w *WindowClause) End() Pos

func (*WindowClause) Pos

func (w *WindowClause) Pos() Pos

func (*WindowClause) String

func (w *WindowClause) String() string

type WindowExpr

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

func (*WindowExpr) Accept

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

type WindowFrameClause struct {
	FramePos Pos
	Type     string
	Extend   Expr
}

func (*WindowFrameClause) Accept

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

func (*WindowFrameClause) End

func (f *WindowFrameClause) End() Pos

func (*WindowFrameClause) Pos

func (f *WindowFrameClause) Pos() Pos

func (*WindowFrameClause) String

func (f *WindowFrameClause) String() string

type WindowFrameCurrentRow

type WindowFrameCurrentRow struct {
	CurrentPos Pos
	RowEnd     Pos
}

func (*WindowFrameCurrentRow) Accept

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

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

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

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

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

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

func (*WithClause) Accept

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

func (*WithClause) End

func (w *WithClause) End() Pos

func (*WithClause) Pos

func (w *WithClause) Pos() Pos

func (*WithClause) String

func (w *WithClause) String() string

type WithTimeoutClause

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

func (*WithTimeoutClause) Accept

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

func (*WithTimeoutClause) End

func (w *WithTimeoutClause) End() Pos

func (*WithTimeoutClause) Pos

func (w *WithTimeoutClause) Pos() Pos

func (*WithTimeoutClause) String

func (w *WithTimeoutClause) String() string

Jump to

Keyboard shortcuts

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