token

package
v1.0.0 Latest Latest
Warning

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

Go to latest
Published: Jan 15, 2026 License: MIT Imports: 0 Imported by: 0

Documentation

Overview

Package token defines constants representing the lexical tokens of ClickHouse SQL.

Index

Constants

This section is empty.

Variables

View Source
var Keywords map[string]Token

Keywords maps keyword strings to their token types.

Functions

This section is empty.

Types

type Position

type Position struct {
	Offset int // byte offset
	Line   int // line number (1-based)
	Column int // column number (1-based)
}

Position represents a source position.

type Token

type Token int

Token represents a lexical token.

const (
	// Special tokens
	ILLEGAL Token = iota
	EOF
	WHITESPACE
	LINE_COMMENT // SQL comments like -- and /* */

	// Literals
	IDENT  // identifiers
	NUMBER // integer or float literals
	STRING // string literals
	PARAM  // parameter placeholders like {name:Type}

	// Operators
	PLUS         // +
	MINUS        // -
	ASTERISK     // *
	SLASH        // /
	PERCENT      // %
	EQ           // =
	NEQ          // != or <>
	LT           // <
	GT           // >
	LTE          // <=
	GTE          // >=
	CONCAT       // ||
	ARROW        // ->
	COLONCOLON   // ::
	NULL_SAFE_EQ // <=>
	CARET        // ^

	// Delimiters
	LPAREN    // (
	RPAREN    // )
	LBRACKET  // [
	RBRACKET  // ]
	LBRACE    // {
	RBRACE    // }
	COMMA     // ,
	DOT       // .
	SEMICOLON // ;
	COLON     // :
	QUESTION  // ?

	ADD
	ALIAS
	ALL
	ALTER
	AND
	ANTI
	ANY
	APPLY
	ARRAY
	AS
	ASC
	ASOF
	ATTACH
	BACKUP
	BEGIN
	BETWEEN
	BOTH
	BY
	CASE
	CAST
	CHECK
	CLUSTER
	COLLATE
	COLUMN
	COLUMNS
	COMMENT
	COMMIT
	CONSTRAINT
	CREATE
	CROSS
	CUBE
	DATABASE
	DATABASES
	DEFAULT
	DELETE
	DESC
	DESCRIBE
	DETACH
	DISTINCT
	DISTRIBUTED
	DIV
	DROP
	ELSE
	END
	ENGINE
	EXCEPT
	EXCHANGE
	EXISTS
	EXPLAIN
	EXTRACT
	FALSE
	FETCH
	FILL
	FINAL
	FIRST
	FREEZE
	FOR
	FORMAT
	FROM
	FULL
	FUNCTION
	GLOBAL
	GRANT
	GROUP
	GROUPING
	HAVING
	IF
	ILIKE
	IN
	INDEX
	INF
	INNER
	INSERT
	INTERSECT
	INTERPOLATE
	INTERVAL
	INTO
	IS
	JOIN
	KEY
	KILL
	LEADING
	LEFT
	LIKE
	LIMIT
	LAST
	LIVE
	LOCAL
	MATERIALIZED
	MOD
	MODIFY
	NAN
	NATURAL
	NOT
	NULL
	NULLS
	OFFSET
	ON
	OPTIMIZE
	OR
	ORDER
	OUTER
	OUTFILE
	OVER
	PARTITION
	PARALLEL
	PASTE
	POPULATE
	PREWHERE
	PRIMARY
	QUALIFY
	REGEXP
	RENAME
	REPLACE
	RESTORE
	REVOKE
	RIGHT
	ROLLBACK
	ROLLUP
	SAMPLE
	SELECT
	SEMI
	SET
	SETS
	SETTINGS
	SHOW
	SNAPSHOT
	STEP
	SUBSTRING
	SYNC
	SYSTEM
	TABLE
	TABLES
	TEMPORARY
	THEN
	TIES
	TO
	TOP
	TOTALS
	TRAILING
	TRANSACTION
	TRIM
	TRUE
	TRUNCATE
	TTL
	UNDROP
	UNION
	UPDATE
	USE
	USER
	USING
	VALUES
	VIEW
	WATCH
	WHEN
	WHERE
	WINDOW
	WITH
)

func Lookup

func Lookup(ident string) Token

Lookup returns the token type for an identifier string. If the string is a keyword, it returns the keyword token. Otherwise, it returns IDENT.

func (Token) IsKeyword

func (tok Token) IsKeyword() bool

IsKeyword returns true if the token is a keyword.

func (Token) String

func (tok Token) String() string

Jump to

Keyboard shortcuts

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