Versions in this module Expand all Collapse all v0 v0.11.773 Oct 6, 2026 v0.11.772 Oct 6, 2026 Changes in this version + const HIVE_DATEINT_FORMAT + const HIVE_DATE_FORMAT + const HIVE_TIME_FORMAT + const Loc_POST_ALIAS + const Loc_POST_CREATE + const Loc_POST_EXPRESSION + const Loc_POST_INDEX + const Loc_POST_NAME + const Loc_POST_SCHEMA + const Loc_POST_WITH + const Loc_UNSUPPORTED + const NormCaseInsensitive + const NormCaseInsensitiveUpper + const NormCaseSensitive + const NormLowercase + const NormUppercase + const UNSUPPORTED_TEMPLATE + var ALL_FUNCTIONS = []Kind + var ALL_JSON_PATH_PARTS = newKindSet(allJSONPathPartKinds) + var BIGINT_EXTRACT_DATE_PARTS = newStrSet("EPOCH_SECOND", "EPOCH_MILLISECOND", "EPOCH_MICROSECOND", "EPOCH_NANOSECOND", ...) + var COLUMN_PARTS = []string + var DataType_ARRAY_TYPES = newDTypeSet(DT_ARRAY, DT_LIST) + var DataType_FLOAT_TYPES = newDTypeSet(DT_DOUBLE, DT_FLOAT) + var DataType_INTEGER_TYPES = newDTypeSet(DT_BIGINT, DT_BIT, DT_INT, DT_INT128, DT_INT256, DT_MEDIUMINT, DT_SMALLINT, ...) + var DataType_NESTED_TYPES = newDTypeSet(DT_ARRAY, DT_FILE, DT_LIST, DT_MAP, DT_NESTED, DT_OBJECT, DT_STRUCT, DT_UNION) + var DataType_NUMERIC_TYPES = newDTypeSet(DT_BIGDECIMAL, DT_BIGINT, DT_BIT, DT_DECFLOAT, DT_DECIMAL, DT_DECIMAL128, ...) + var DataType_REAL_TYPES = newDTypeSet(DT_BIGDECIMAL, DT_DECFLOAT, DT_DECIMAL, DT_DECIMAL128, DT_DECIMAL256, ...) + var DataType_SIGNED_INTEGER_TYPES = newDTypeSet(DT_BIGINT, DT_INT, DT_INT128, DT_INT256, DT_MEDIUMINT, DT_SMALLINT, DT_TINYINT) + var DataType_STRUCT_TYPES = newDTypeSet(DT_FILE, DT_NESTED, DT_OBJECT, DT_STRUCT, DT_UNION) + var DataType_TEMPORAL_TYPES = newDTypeSet(DT_DATE, DT_DATE32, DT_DATETIME, DT_DATETIME2, DT_DATETIME64, DT_SMALLDATETIME, ...) + var DataType_TEXT_TYPES = newDTypeSet(DT_CHAR, DT_NAME, DT_NCHAR, DT_NVARCHAR, DT_TEXT, DT_VARCHAR) + var DataType_UNSIGNED_INTEGER_TYPES = newDTypeSet(DT_UBIGINT, DT_UINT, DT_UINT128, DT_UINT256, DT_UMEDIUMINT, DT_USMALLINT, ...) + var DefaultOptimizerRules = []OptimizerRule + var FUNCTION_BY_NAME = map[string]Kind + var HIVE_NON_PADDED_TIME_FORMATS = []string + var JSON_PATH_PART_TRANSFORMS = map[Kind]GenFunc + var Logger = func(msg string) + var NAME_TO_PROPERTY = map[string]Kind + var PROPERTY_TO_NAME = map[Kind]string + var PropertiesLocations = []string + var QUERY_MODIFIERS = []string + var SAFE_IDENTIFIER_RE = regexp.MustCompile(`^[_a-zA-Z][\p{L}\p{N}_]*\n?$`) + var STRICT_TIME_FORMATS = [][2]string + var TABLE_PARTS = []string + var WEEK_START_DAY_TO_DOW = map[string]int + func DataTypeIsType(dt *Expr, dtypes []any, checkNullable bool) bool + func ExprString(e *Expr) string + func FindAllInScope(expression *Expr, kinds ...Kind) iter.Seq[*Expr] + func JoinCondition(join *Expr) ([]*Expr, []*Expr, *Expr) + func LineageAll(expression *Expr, opts LineageOptions) (names []string, nodes map[string]*LineageNode, err error) + func NormalizationDistance(expression *Expr, dnf bool, maxDistance int) int + func Normalized(expression *Expr, dnf bool) bool + func PivotOutputColumns(p *Expr, prePivotColumns []string) *omap[string] + func PushdownCTEAliasColumns(scope *Scope) + func PyLower(s string) string + func PyRepr(s string) string + func PyUpper(s string) string + func QualifyOutputs(expression *Expr, dialect *Dialect) + func QualifyOutputsScope(scope *Scope, dialect *Dialect) + func ReplaceChildren(expression *Expr, fn func(*Expr) any) + func WalkInScope(expression *Expr, prune func(*Expr) bool) iter.Seq[*Expr] + type AnnotateOptions struct + CoercesTo map[DType]DTypeSet + Dialect *Dialect + ExpressionMetadata ExprMetadataType + OverwriteTypes *bool + Schema *MappingSchema + SchemaMap *SchemaMap + type DType uint16 + const DT_AGGREGATEFUNCTION + const DT_ARRAY + const DT_BIGDECIMAL + const DT_BIGINT + const DT_BIGNUM + const DT_BIGSERIAL + const DT_BINARY + const DT_BIT + const DT_BLOB + const DT_BOOLEAN + const DT_BPCHAR + const DT_CHAR + const DT_CHARACTER_SET + const DT_DATE + const DT_DATE32 + const DT_DATEMULTIRANGE + const DT_DATERANGE + const DT_DATETIME + const DT_DATETIME2 + const DT_DATETIME64 + const DT_DECFLOAT + const DT_DECIMAL + const DT_DECIMAL128 + const DT_DECIMAL256 + const DT_DECIMAL32 + const DT_DECIMAL64 + const DT_DOUBLE + const DT_DYNAMIC + const DT_ENUM + const DT_ENUM16 + const DT_ENUM8 + const DT_FILE + const DT_FIXEDSTRING + const DT_FLOAT + const DT_GEOGRAPHY + const DT_GEOGRAPHYPOINT + const DT_GEOMETRY + const DT_HLLSKETCH + const DT_HSTORE + const DT_IMAGE + const DT_INET + const DT_INT + const DT_INT128 + const DT_INT256 + const DT_INT4MULTIRANGE + const DT_INT4RANGE + const DT_INT8MULTIRANGE + const DT_INT8RANGE + const DT_INTERVAL + const DT_IPADDRESS + const DT_IPPREFIX + const DT_IPV4 + const DT_IPV6 + const DT_JSON + const DT_JSONB + const DT_LINESTRING + const DT_LIST + const DT_LONGBLOB + const DT_LONGTEXT + const DT_LOWCARDINALITY + const DT_MAP + const DT_MEDIUMBLOB + const DT_MEDIUMINT + const DT_MEDIUMTEXT + const DT_MONEY + const DT_MULTILINESTRING + const DT_MULTIPOLYGON + const DT_NAME + const DT_NCHAR + const DT_NESTED + const DT_NONE + const DT_NOTHING + const DT_NULL + const DT_NUMMULTIRANGE + const DT_NUMRANGE + const DT_NVARCHAR + const DT_OBJECT + const DT_POINT + const DT_POLYGON + const DT_RANGE + const DT_RING + const DT_ROWVERSION + const DT_SERIAL + const DT_SET + const DT_SIMPLEAGGREGATEFUNCTION + const DT_SMALLDATETIME + const DT_SMALLINT + const DT_SMALLMONEY + const DT_SMALLSERIAL + const DT_STRUCT + const DT_SUPER + const DT_TDIGEST + const DT_TEXT + const DT_TIME + const DT_TIMESTAMP + const DT_TIMESTAMPLTZ + const DT_TIMESTAMPNTZ + const DT_TIMESTAMPTZ + const DT_TIMESTAMP_MS + const DT_TIMESTAMP_NS + const DT_TIMESTAMP_S + const DT_TIMETZ + const DT_TIME_NS + const DT_TINYBLOB + const DT_TINYINT + const DT_TINYTEXT + const DT_TSMULTIRANGE + const DT_TSRANGE + const DT_TSTZMULTIRANGE + const DT_TSTZRANGE + const DT_UBIGINT + const DT_UDECIMAL + const DT_UDOUBLE + const DT_UINT + const DT_UINT128 + const DT_UINT256 + const DT_UMEDIUMINT + const DT_UNION + const DT_UNKNOWN + const DT_USERDEFINED + const DT_USMALLINT + const DT_UTINYINT + const DT_UUID + const DT_VARBINARY + const DT_VARCHAR + const DT_VARIANT + const DT_VECTOR + const DT_XML + const DT_YEAR + type DTypeSet struct + func (s DTypeSet) Has(t DType) bool + func (s DTypeSet) Items() []DType + func (s DTypeSet) Union(o DTypeSet) DTypeSet + func (s DTypeSet) With(types ...DType) DTypeSet + type Dialect struct + ClassName string + G *GeneratorSettings + Name string + NormalizationStrategy string + P *ParserSettings + S *DialectSettings + Settings map[string]any + T *TokenizerSettings + Version [3]int + func GetDialect(spec string) (*Dialect, error) + func MustDialect(name string) *Dialect + func (d *Dialect) CanQuote(id *Expr, identify string) bool + func (d *Dialect) CaseSensitive(text string) bool + func (d *Dialect) Generate(e *Expr, opts *GenerateOptions) (string, error) + func (d *Dialect) GenerateOwned(e *Expr, opts *GenerateOptions) (string, error) + func (d *Dialect) Is(name string) bool + func (d *Dialect) NewGenerator(opts *GenerateOptions) *Generator + func (d *Dialect) NewParser(opts *ParseOptions) *Parser + func (d *Dialect) NormalizeIdentifier(e *Expr) *Expr + func (d *Dialect) Parse(sql string, opts *ParseOptions) ([]*Expr, error) + func (d *Dialect) ParseOne(sql string, opts *ParseOptions) (*Expr, error) + func (d *Dialect) ParseOneInto(kind Kind, sql string, opts *ParseOptions) (*Expr, error) + func (d *Dialect) QuoteIdentifier(e *Expr, identify bool) *Expr + func (d *Dialect) Tokenize(sql string) ([]*Token, error) + func (d *Dialect) TokenizeScript(sql string) ([]*Token, error) + type DialectSettings struct + ALIAS_POST_TABLESAMPLE bool + ALIAS_POST_VERSION bool + ALTER_TABLE_ADD_REQUIRED_FOR_EACH_COLUMN bool + ALTER_TABLE_SUPPORTS_CASCADE bool + ANNOTATE_ALL_SCOPES bool + ARRAY_AGG_INCLUDES_NULLS Tri + ARRAY_FUNCS_PROPAGATES_NULLS bool + BIT_END string + BIT_START string + BYTE_END string + BYTE_START string + BYTE_STRINGS_SUPPORT_ESCAPED_SEQUENCES bool + BYTE_STRING_IS_BYTES_TYPE bool + COALESCE_COMPARISON_NON_STANDARD bool + CONCAT_COALESCE bool + CONCAT_WS_COALESCE bool + CONVERT_FORMAT_MAPPING map[string]string + COPY_PARAMS_ARE_CSV bool + CREATABLE_KIND_MAPPING map[string]string + DATEINT_FORMAT string + DATE_FORMAT string + DATE_PART_MAPPING map[string]string + DEFAULT_FUNCTIONS_COLUMN_NAMES map[Kind]string + DEFAULT_NULL_TYPE DType + DISABLES_ALIAS_REF_EXPANSION bool + DPIPE_IS_STRING_CONCAT bool + ESCAPED_SEQUENCES map[string]string + EXCLUDES_PSEUDOCOLUMNS_FROM_STAR bool + EXPAND_ONLY_GROUP_ALIAS_REF bool + FORCE_EARLY_ALIAS_REF_EXPANSION bool + FORMAT_MAPPING map[string]string + FORMAT_TIME_MAPPING map[string]string + HAS_DISTINCT_ARRAY_CONSTRUCTORS bool + HEX_END string + HEX_LOWERCASE bool + HEX_START string + HEX_STRING_IS_INTEGER_TYPE bool + IDENTIFIERS_CAN_START_WITH_DIGIT bool + IDENTIFIER_END string + IDENTIFIER_START string + INDEX_OFFSET int + INITCAP_DEFAULT_DELIMITER_CHARS string + INITCAP_SUPPORTS_CUSTOM_DELIMITERS bool + INVERSE_CREATABLE_KIND_MAPPING map[string]string + INVERSE_FORMAT_MAPPING map[string]string + INVERSE_TIME_MAPPING map[string]string + INVERSE_VECTOR_TYPE_ALIASES map[string]string + JSON_EXTRACT_SCALAR_SCALAR_ONLY bool + JSON_PATH_SINGLE_DOT_IS_WILDCARD bool + LEAST_GREATEST_IGNORES_NULLS bool + LOCKING_READS_SUPPORTED bool + LOG_BASE_FIRST Tri + NORMALIZATION_STRATEGY string + NORMALIZE_FUNCTIONS string + NULL_ORDERING string + NUMBERS_CAN_BE_UNDERSCORE_SEPARATED bool + ON_CONDITION_EMPTY_BEFORE_ERROR bool + PREFER_CTE_ALIAS_COLUMN bool + PRESERVE_ORIGINAL_NAMES bool + PRIORITIZE_NON_LITERAL_TYPES bool + PROJECTION_ALIASES_SHADOW_SOURCE_NAMES bool + PROMOTE_TO_INFERRED_DATETIME_TYPE bool + PSEUDOCOLUMNS StrSet + QUERY_RESULTS_ARE_STRUCTS bool + QUOTE_END string + QUOTE_START string + REGEXP_EXTRACT_DEFAULT_GROUP int + REGEXP_EXTRACT_POSITION_OVERFLOW_RETURNS_NULL bool + REQUIRES_PARENTHESIZED_STRUCT_ACCESS bool + SAFE_DIVISION bool + SAFE_TO_ELIMINATE_DOUBLE_NEGATION bool + SET_OP_DISTINCT_BY_DEFAULT map[Kind]Tri + STRICT_JSON_PATH_SYNTAX bool + STRICT_STRING_CONCAT bool + STRINGS_SUPPORT_ESCAPED_SEQUENCES bool + SUPPORTED_SETTINGS StrSet + SUPPORTS_ALIAS_REFS_IN_JOIN_CONDITIONS bool + SUPPORTS_COLUMN_JOIN_MARKS bool + SUPPORTS_FIXED_SIZE_ARRAYS bool + SUPPORTS_LIMIT_ALL bool + SUPPORTS_NULL_TYPE bool + SUPPORTS_ORDER_BY_ALL bool + SUPPORTS_STRUCT_STAR_EXPANSION bool + SUPPORTS_USER_DEFINED_TYPES bool + SUPPORTS_VALUES_DEFAULT bool + TABLESAMPLE_SIZE_IS_PERCENT bool + TABLES_REFERENCEABLE_AS_COLUMNS bool + TIME_FORMAT string + TIME_MAPPING map[string]string + TRY_CAST_REQUIRES_STRING Tri + TYPED_DIVISION bool + UNESCAPED_SEQUENCES map[string]string + UNICODE_END string + UNICODE_START string + UNNEST_COLUMN_ONLY bool + UUID_IS_STRING_TYPE bool + VALID_INTERVAL_UNITS StrSet + WEEK_OFFSET int + type ErrorLevel int + const ErrorLevelIgnore + const ErrorLevelImmediate + const ErrorLevelRaise + const ErrorLevelWarn + type Expr struct + func AliasExpr(expression *Expr, alias any, quoted *bool, copy bool) *Expr + func AliasTableExpr(expression *Expr, alias any, columns []any, quoted *bool, copy bool) *Expr + func AliasWithQuote(e *Expr, name string, quoted bool) *Expr + func AndExpr(expressions ...*Expr) *Expr + func AndExprOpts(expressions []*Expr, copy bool, wrap bool) *Expr + func AnnotateTypes(expression *Expr, o AnnotateOptions) *Expr + func ArrayExpr(expressions []*Expr, copy bool) *Expr + func Boolean(b bool) *Expr + func Canonicalize(expression *Expr, d *Dialect) *Expr + func CaseExpr(expression *Expr, copy bool) *Expr + func CastExpr(expression *Expr, to any, copy bool, d *Dialect) *Expr + func CastToType(e *Expr, typ string) *Expr + func ColumnExpr(col any, table, db, catalog any, fields []any, quoted *bool, copy bool) *Expr + func ConditionExpr(expression *Expr, copy bool) *Expr + func DataTypeBuild(dtype any, d *Dialect, udt bool, copy bool) *Expr + func DataTypeFromStr(dtype string, dialect *Dialect, udt bool) *Expr + func DotBuild(exprs []*Expr) *Expr + func EliminateCTEs(expression *Expr) *Expr + func EliminateJoins(expression *Expr) *Expr + func EliminateSubqueries(expression *Expr) *Expr + func ExceptExpr(expressions []*Expr, distinct bool, copy bool) *Expr + func FindInScope(expression *Expr, kinds ...Kind) *Expr + func FromArgList(kind Kind, args []*Expr) *Expr + func FromExpr(expression *Expr) *Expr + func IntersectExpr(expressions []*Expr, distinct bool, copy bool) *Expr + func IsolateTableSelects(expression *Expr, schema *MappingSchema, d *Dialect) *Expr + func LiteralInt(i int) *Expr + func LiteralNumber(s string) *Expr + func LiteralString(s string) *Expr + func MaybeParse(sql string, into Kind, prefix string, d *Dialect) *Expr + func MergeCTEs(expression *Expr, leaveTablesIsolated bool) *Expr + func MergeDerivedTables(expression *Expr, leaveTablesIsolated bool) *Expr + func MergeSubqueries(expression *Expr, leaveTablesIsolated bool) *Expr + func New(kind Kind, kv ...any) *Expr + func NewCTE(body *Expr, name string) *Expr + func NewDataType(d DType) *Expr + func NormalizeCNF(expression *Expr, dnf bool, maxDistance int) *Expr + func NormalizeIdentifiers(e *Expr, d *Dialect) *Expr + func NormalizeIdentifiersFull(e *Expr, d *Dialect, storeOriginalColumnIdentifiers bool) *Expr + func NormalizeIdentifiersStr(name string, d *Dialect) *Expr + func NotExpr(expression *Expr, copy bool) *Expr + func Null() *Expr + func Optimize(e *Expr, schema *MappingSchema, d *Dialect, rules []OptimizerRule) *Expr + func OptimizeJoins(expression *Expr) *Expr + func OptimizeSafe(e *Expr, schema *SchemaMap, d *Dialect, rules []OptimizerRule) (out *Expr, err error) + func OptimizeWith(e *Expr, ctx *OptimizeContext, rules []OptimizerRule) *Expr + func OrExpr(expressions ...*Expr) *Expr + func OrExprOpts(expressions []*Expr, copy bool, wrap bool) *Expr + func Paren(e *Expr) *Expr + func ParenExpr(expression *Expr, copy bool) *Expr + func PushdownPredicates(expression *Expr, d *Dialect) *Expr + func PushdownProjections(expression *Expr, schema *MappingSchema, removeUnusedSelections bool, ...) *Expr + func Qualify(expression *Expr, o QualifyOptions) *Expr + func QualifyColumns(expression *Expr, schema *MappingSchema, expandAliasRefs, expandStars bool, ...) *Expr + func QualifyDerivedTableOutputsTSQL(expression *Expr) *Expr + func QualifyTables(expression *Expr, db, catalog string, onQualify func(table *Expr), d *Dialect, ...) *Expr + func QueryLimitBuild(q *Expr, n int, d *Dialect) (out *Expr, err error) + func QueryLimitBuildOwned(q *Expr, n int, d *Dialect) (out *Expr, err error) + func QueryWithBuild(q *Expr, name, sql string, d *Dialect) (out *Expr, err error) + func QuoteIdentifiers(expression *Expr, d *Dialect, identify bool) *Expr + func ReorderJoins(expression *Expr) *Expr + func ReplaceTree(expression *Expr, fn func(*Expr) *Expr, prune func(*Expr) bool) *Expr + func SelectExpr(expressions ...*Expr) *Expr + func SelectReplaceProjections(sel *Expr, projection *Expr) *Expr + func Simplify(e *Expr, o SimplifyOptions) *Expr + func SimplifyParens(expression *Expr, d *Dialect) *Expr + func Star() *Expr + func SubqueryExpr(expression *Expr, alias any, copy bool) *Expr + func TableExpr(table, db, catalog any, quoted *bool, alias any) *Expr + func ToIdentifier(name string, quoted *bool) *Expr + func ToIdentifierAny(name any, quoted *bool, copy bool) *Expr + func TupleExpr(expressions []*Expr, copy bool) *Expr + func UnionExpr(expressions []*Expr, distinct bool, copy bool) *Expr + func UnnestSubqueries(expression *Expr) *Expr + func ValidateQualifyColumns(expression *Expr, sql string) *Expr + func VarChecked(name string) *Expr + func VarExpr(name string) *Expr + func VarOf(e *Expr) *Expr + func WithValidateArgs(e *Expr, args []*Expr) *Expr + func XorExpr(expressions ...*Expr) *Expr + func XorExprOpts(expressions []*Expr, copy bool, wrap bool) *Expr + func (e *Expr) AddComments(comments []string, prepend bool) + func (e *Expr) Alias() string + func (e *Expr) AliasColumnNames() []string + func (e *Expr) AliasOrName() string + func (e *Expr) Append(key string, value *Expr) + func (e *Expr) Arg(key string) any + func (e *Expr) ArgB(key string) bool + func (e *Expr) ArgE(key string) *Expr + func (e *Expr) ArgKey() string + func (e *Expr) ArgKeys() []string + func (e *Expr) ArgL(key string) []*Expr + func (e *Expr) ArgS(key string) string + func (e *Expr) BFS(prune func(*Expr) bool) iter.Seq[*Expr] + func (e *Expr) CTEs() []*Expr + func (e *Expr) CatalogName() string + func (e *Expr) Comments() []string + func (e *Expr) Copy() *Expr + func (e *Expr) DFS(prune func(*Expr) bool) iter.Seq[*Expr] + func (e *Expr) DTypeOf() DType + func (e *Expr) DbName() string + func (e *Expr) DeleteArg(key string) any + func (e *Expr) Depth() int + func (e *Expr) Equal(o *Expr) bool + func (e *Expr) ErrorMessages(args []*Expr) []string + func (e *Expr) ExprAnd(expressions []*Expr, copy bool, wrap bool) *Expr + func (e *Expr) ExprAs(alias any, quoted *bool, copy bool) *Expr + func (e *Expr) ExprNot(copy bool) *Expr + func (e *Expr) ExprOr(expressions []*Expr, copy bool, wrap bool) *Expr + func (e *Expr) Expression() *Expr + func (e *Expr) Expressions() []*Expr + func (e *Expr) Find(kinds ...Kind) *Expr + func (e *Expr) FindAll(kinds ...Kind) iter.Seq[*Expr] + func (e *Expr) FindAllDFS(kinds ...Kind) iter.Seq[*Expr] + func (e *Expr) FindAllList(kinds ...Kind) []*Expr + func (e *Expr) FindAncestor(kinds ...Kind) *Expr + func (e *Expr) Flatten(unnest bool) []*Expr + func (e *Expr) HasArgKey(key string) bool + func (e *Expr) Hash() uint64 + func (e *Expr) Index() int + func (e *Expr) Is(kind Kind) bool + func (e *Expr) IsA(kinds ...Kind) bool + func (e *Expr) IsInt() bool + func (e *Expr) IsLeaf() bool + func (e *Expr) IsNumber() bool + func (e *Expr) IsSemiOrAntiJoin() bool + func (e *Expr) IsStar() bool + func (e *Expr) IsString() bool + func (e *Expr) IsTypeOf(dtypes ...any) bool + func (e *Expr) IsWrapper() bool + func (e *Expr) IterExpressions(reverse bool) []*Expr + func (e *Expr) JoinOn(expressions []*Expr, appendMode bool, copy bool) *Expr + func (e *Expr) JoinUsing(expressions []*Expr, appendMode bool, copy bool) *Expr + func (e *Expr) Key() string + func (e *Expr) Kind() Kind + func (e *Expr) KindText() string + func (e *Expr) Left() *Expr + func (e *Expr) Meta() map[string]any + func (e *Expr) MetaGet(key string) any + func (e *Expr) MethodText() string + func (e *Expr) Name() string + func (e *Expr) NamedSelects() []string + func (e *Expr) OutputName() string + func (e *Expr) Own() *Expr + func (e *Expr) Parent() *Expr + func (e *Expr) ParentSelect() *Expr + func (e *Expr) Parts() []*Expr + func (e *Expr) Pop() *Expr + func (e *Expr) PopComments() []string + func (e *Expr) QueryExcept(expressions []*Expr, distinct bool, copy bool) *Expr + func (e *Expr) QueryIntersect(expressions []*Expr, distinct bool, copy bool) *Expr + func (e *Expr) QueryLimit(expression *Expr, copy bool) *Expr + func (e *Expr) QueryOffset(expression *Expr, copy bool) *Expr + func (e *Expr) QueryOrderBy(expressions []*Expr, appendMode bool, copy bool) *Expr + func (e *Expr) QuerySelect(expressions []*Expr, appendMode bool, copy bool) *Expr + func (e *Expr) QuerySubquery(alias any, copy bool) *Expr + func (e *Expr) QueryUnion(expressions []*Expr, distinct bool, copy bool) *Expr + func (e *Expr) QueryWhere(expressions []*Expr, appendMode bool, copy bool) *Expr + func (e *Expr) QueryWith(alias, as *Expr, recursive, materialized any, appendMode bool, copy bool, ...) *Expr + func (e *Expr) RawType() *Expr + func (e *Expr) Replace(expression *Expr) *Expr + func (e *Expr) ReplaceWithList(list []*Expr) + func (e *Expr) Right() *Expr + func (e *Expr) Root() *Expr + func (e *Expr) SQL(dialect string, opts *GenerateOptions) (string, error) + func (e *Expr) SameParent() bool + func (e *Expr) SelectClusterBy(expressions []*Expr, appendMode bool, copy bool) *Expr + func (e *Expr) SelectDistinct(ons []*Expr, distinct bool, copy bool) *Expr + func (e *Expr) SelectFrom(expression *Expr, copy bool) *Expr + func (e *Expr) SelectGroupBy(expressions []*Expr, appendMode bool, copy bool) *Expr + func (e *Expr) SelectHaving(expressions []*Expr, appendMode bool, copy bool) *Expr + func (e *Expr) SelectHint(hints []*Expr, copy bool) *Expr + func (e *Expr) SelectJoin(expression *Expr, on []*Expr, using []*Expr, appendMode bool, joinType string, ...) *Expr + func (e *Expr) SelectLateral(expressions []*Expr, appendMode bool, copy bool) *Expr + func (e *Expr) SelectLock(update bool, copy bool) *Expr + func (e *Expr) SelectQualify(expressions []*Expr, appendMode bool, copy bool) *Expr + func (e *Expr) SelectSortBy(expressions []*Expr, appendMode bool, copy bool) *Expr + func (e *Expr) SelectWindow(expressions []*Expr, appendMode bool, copy bool) *Expr + func (e *Expr) Selects() []*Expr + func (e *Expr) Set(key string, value any) + func (e *Expr) SetArgRaw(key string, value any) + func (e *Expr) SetComments(c []string) + func (e *Expr) SetIndex(key string, value any, index int, overwrite bool) + func (e *Expr) SetKwargs(kv ...any) *Expr + func (e *Expr) SetType(dt *Expr) + func (e *Expr) SetTypeAny(dtype any) + func (e *Expr) SetTypeD(d DType) + func (e *Expr) SideText() string + func (e *Expr) TableAliasColumns() []*Expr + func (e *Expr) TableName() string + func (e *Expr) Text(key string) string + func (e *Expr) This() *Expr + func (e *Expr) ThisS() string + func (e *Expr) ToDot(includeDots bool) *Expr + func (e *Expr) Transform(fn func(*Expr) *Expr, copy bool) *Expr + func (e *Expr) Type() *Expr + func (e *Expr) Unalias() *Expr + func (e *Expr) Unnest() *Expr + func (e *Expr) UnnestOperands() []*Expr + func (e *Expr) UnnestSubquery() *Expr + func (e *Expr) UnnestSubqueryOrParen() *Expr + func (e *Expr) Unwrap() *Expr + func (e *Expr) Walk(bfs bool, prune func(*Expr) bool) iter.Seq[*Expr] + type ExprMetadata struct + Annotator func(a *TypeAnnotator, e *Expr) + Returns any + type ExprMetadataType map[Kind]*ExprMetadata + type FuncBuilder func(args []*Expr, d *Dialect) *Expr + type GenFunc func(g *Generator, e *Expr) string + type GenerateOptions struct + Identify string + Indent int + LeadingComma bool + MaxTextWidth int + MaxUnsupported int + NoComments bool + Normalize bool + NormalizeFunctions *string + Pad int + Pretty bool + UnsupportedLevel *ErrorLevel + type Generator struct + func (g *Generator) Generate(e *Expr, copy bool) (out string, err error) + type GeneratorData struct + ALTER_SET_TYPE string + ALTER_SET_WRAPPED bool + ALTER_TABLE_INCLUDE_COLUMN_KEYWORD bool + ARRAY_CONCAT_IS_VAR_LEN bool + ARRAY_SIZE_DIM_REQUIRED Tri + ARRAY_SIZE_NAME string + CAN_IMPLEMENT_ARRAY_ANY bool + CAST_MAPPING map[DType]string + CHAR_CAST_MAPPING map[DType]string + COLLATE_IS_FUNC bool + COMPUTED_COLUMN_WITH_TYPE bool + COPY_HAS_INTO_KEYWORD bool + COPY_PARAMS_ARE_WRAPPED bool + COPY_PARAMS_EQ_REQUIRED bool + CREATE_FUNCTION_RETURN_AS bool + CTE_RECURSIVE_KEYWORD_REQUIRED bool + DATA_TYPE_SPECIFIERS_ALLOWED bool + DECLARE_DEFAULT_ASSIGNMENT string + DIRECTED_JOINS bool + DUPLICATE_KEY_UPDATE_WITH_SET bool + ENSURE_BOOLS bool + EXCEPT_INTERSECT_SUPPORT_ALL_CLAUSE bool + EXCLUDE_COMMENTS []Kind + EXPRESSIONS_WITHOUT_NESTED_CTES KindSet + EXPRESSION_PRECEDES_PROPERTIES_CREATABLES StrSet + EXTRACT_ALLOWS_QUOTES bool + EXTRACT_EPOCH_MAPPINGS map[string]string + EXTRACT_STRFTIME_MAPPINGS OptionsType + GROUPINGS_SEP string + HEX_FUNC string + HISTORICAL_DATA_POST_ALIAS bool + IGNORE_NULLS_BEFORE_ORDER bool + IGNORE_NULLS_FUNCS []Kind + IGNORE_NULLS_IN_FUNC bool + IGNORE_RESPECT_NULLS_WINDOW_FUNCTIONS []Kind + INDEX_ON string + INOUT_SEPARATOR string + INSERT_OVERWRITE string + INTERVAL_ALLOWS_PLURAL_FORM bool + IS_BOOL_ALLOWED bool + JOIN_HINTS bool + JSON_KEY_VALUE_PAIR_SEP string + JSON_PATH_BRACKETED_KEY_SUPPORTED bool + JSON_PATH_KEY_QUOTED_FORCES_BRACKETS bool + JSON_PATH_SINGLE_QUOTE_ESCAPE bool + JSON_TYPE_REQUIRED_FOR_EXTRACTION bool + LAST_DAY_SUPPORTS_DATE_PART bool + LIKE_PROPERTY_INSIDE_SCHEMA bool + LIMIT_FETCH string + LIMIT_IS_TOP bool + LIMIT_ONLY_LITERALS bool + LOCKING_READS_SUPPORTED bool + MATCHED_BY_SOURCE bool + MATCH_AGAINST_TABLE_PREFIX any + MULTI_ARG_DISTINCT bool + NAMED_PLACEHOLDER_TOKEN string + NON_NULLABLE_TYPES DTypeSet + NORMALIZE_EXTRACT_DATE_PARTS bool + NULL_ORDERING_SUPPORTED Tri + NVL2_SUPPORTED bool + ON_CLUSTER_TARGETS StrSet + PAD_FILL_PATTERN_IS_REQUIRED bool + PARAMETERIZABLE_TEXT_TYPES DTypeSet + PARAMETER_TOKEN string + PARSE_JSON_NAME string + PROPERTIES_LOCATION map[Kind]string + QUERY_HINTS bool + QUERY_HINT_SEP string + QUOTE_JSON_PATH bool + RENAME_TABLE_WITH_DB bool + RESERVED_KEYWORDS StrSet + RESPECT_IGNORE_NULLS_UNSUPPORTED_EXPRESSIONS []Kind + RETURNING_END bool + SELECT_KINDS []string + SEMI_ANTI_JOIN_WITH_SIDE bool + SENTINEL_LINE_BREAK string + SET_ASSIGNMENT_REQUIRES_VARIABLE_KEYWORD bool + SET_OP_MODIFIERS bool + SIGNED_CAST_MAPPING map[DType]string + SINGLE_STRING_INTERVAL bool + SQL_SECURITY_VIEW_LOCATION string + STAR_EXCEPT string + STAR_EXCLUDE_REQUIRES_DERIVED_TABLE bool + STRING_TYPE_MAPPING map[DType]string + STRUCT_DELIMITER []string + SUPPORTED_JSON_PATH_PARTS KindSet + SUPPORTS_BETWEEN_FLAGS bool + SUPPORTS_CHANGE_COLUMN bool + SUPPORTS_CONVERT_TIMEZONE bool + SUPPORTS_CREATE_TABLE_LIKE bool + SUPPORTS_DECODE_CASE bool + SUPPORTS_DROP_ALTER_ICEBERG_PROPERTY bool + SUPPORTS_EXPLODING_PROJECTIONS bool + SUPPORTS_LIKE_QUANTIFIERS bool + SUPPORTS_MEDIAN bool + SUPPORTS_MERGE_WHERE bool + SUPPORTS_MODIFY_COLUMN bool + SUPPORTS_NAMED_CTE_COLUMNS bool + SUPPORTS_SELECT_INTO bool + SUPPORTS_SINGLE_ARG_CONCAT bool + SUPPORTS_TABLE_ALIAS_COLUMNS bool + SUPPORTS_TABLE_COPY bool + SUPPORTS_TO_NUMBER bool + SUPPORTS_UESCAPE bool + SUPPORTS_UNIX_SECONDS bool + SUPPORTS_UNLOGGED_TABLES bool + SUPPORTS_WINDOW_EXCLUDE bool + TABLESAMPLE_KEYWORDS string + TABLESAMPLE_REQUIRES_PARENS bool + TABLESAMPLE_SEED_KEYWORD string + TABLESAMPLE_SIZE_IS_ROWS bool + TABLESAMPLE_WITH_METHOD bool + TABLE_HINTS bool + TIMESTAMP_FUNC_TYPES DTypeSet + TIMESTAMP_TYPE_MAPPING map[DType]string + TIME_PART_SINGULARS map[string]string + TOKEN_MAPPING map[TokenType]string + TRY_SUPPORTED bool + TS_OR_DS_EXPRESSIONS []Kind + TS_OR_DS_TYPES []Kind + TYPE_MAPPING map[DType]string + TYPE_PARAM_SETTINGS map[DType][][]int + TZ_TO_WITH_TIME_ZONE bool + UNICODE_SUBSTITUTE any + UNNEST_WITH_ORDINALITY bool + UNPIVOT_ALIASES_ARE_IDENTIFIERS bool + UNSIGNED_TYPE_MAPPING map[DType]string + UNSUPPORTED_TYPES StrSet + UNSUPPORTED_VALUES_EXPRESSIONS KindSet + UNWRAPPED_INTERVAL_VALUES []Kind + UPDATE_STATEMENT_SUPPORTS_FROM bool + VALUES_AS_TABLE bool + VARCHAR_REQUIRES_SIZE bool + WINDOW_FUNCS_WITH_NULL_ORDERING []Kind + WITH_PROPERTIES_PREFIX string + WITH_SEPARATED_COMMENTS []Kind + WRAP_DERIVED_VALUES bool + type GeneratorSettings struct + AFTER_HAVING_MODIFIER_TRANSFORMS map[string]GenFunc + AFTER_HAVING_MODIFIER_TRANSFORMS_KEYS []string + TRANSFORMS map[Kind]GenFunc + UNICODE_SUBSTITUTE func(g *Generator, match string) string + type Kind uint16 + const KAIAgg + const KAIClassify + const KAIEmbed + const KAIForecast + const KAIGenerate + const KAISimilarity + const KAISummarizeAgg + const KAbs + const KAcos + const KAcosh + const KAdd + const KAddConstraint + const KAddMonths + const KAddPartition + const KAdjacent + const KAggFunc + const KAlgorithmProperty + const KAlias + const KAliases + const KAll + const KAllowedValuesProperty + const KAlter + const KAlterColumn + const KAlterDistStyle + const KAlterIndex + const KAlterModifySqlSecurity + const KAlterRename + const KAlterSession + const KAlterSet + const KAlterSortKey + const KAnalyze + const KAnalyzeColumns + const KAnalyzeDelete + const KAnalyzeHistogram + const KAnalyzeListChainedRows + const KAnalyzeSample + const KAnalyzeStatistics + const KAnalyzeValidate + const KAnalyzeWith + const KAnd + const KAnonymous + const KAnonymousAggFunc + const KAny + const KAnyValue + const KApiProperty + const KApplicationProperty + const KApply + const KApproxDistinct + const KApproxPercentileAccumulate + const KApproxPercentileCombine + const KApproxPercentileEstimate + const KApproxQuantile + const KApproxQuantiles + const KApproxTopK + const KApproxTopKAccumulate + const KApproxTopKCombine + const KApproxTopKEstimate + const KApproxTopSum + const KApproximateSimilarity + const KArgMax + const KArgMin + const KArray + const KArrayAgg + const KArrayAll + const KArrayAny + const KArrayAppend + const KArrayCompact + const KArrayConcat + const KArrayConcatAgg + const KArrayConstructCompact + const KArrayContainedBy + const KArrayContains + const KArrayContainsAll + const KArrayDistinct + const KArrayExcept + const KArrayFilter + const KArrayFirst + const KArrayInsert + const KArrayIntersect + const KArrayLast + const KArrayMax + const KArrayMin + const KArrayOverlaps + const KArrayPosition + const KArrayPrepend + const KArrayRemove + const KArrayRemoveAt + const KArrayReverse + const KArraySize + const KArraySlice + const KArraySort + const KArraySum + const KArrayToString + const KArrayUnionAgg + const KArrayUniqueAgg + const KArraysZip + const KAscii + const KAsin + const KAsinh + const KAssumeColumnConstraint + const KAtIndex + const KAtTimeZone + const KAtan + const KAtan2 + const KAtanh + const KAttach + const KAttachOption + const KAutoIncrementColumnConstraint + const KAutoIncrementProperty + const KAutoRefreshProperty + const KAvg + const KBackupProperty + const KBase64DecodeBinary + const KBase64DecodeString + const KBase64Encode + const KBetween + const KBinary + const KBitLength + const KBitString + const KBitmapBitPosition + const KBitmapBucketNumber + const KBitmapConstructAgg + const KBitmapCount + const KBitmapOrAgg + const KBitwiseAnd + const KBitwiseAndAgg + const KBitwiseCount + const KBitwiseLeftShift + const KBitwiseNot + const KBitwiseOr + const KBitwiseOrAgg + const KBitwiseRightShift + const KBitwiseXor + const KBitwiseXorAgg + const KBlock + const KBlockCompressionProperty + const KBooland + const KBoolean + const KBoolnot + const KBoolor + const KBoolxorAgg + const KBracket + const KBuildProperty + const KByteLength + const KByteString + const KCTE + const KCache + const KCalledOnNullInputProperty + const KCase + const KCaseSpecificColumnConstraint + const KCast + const KCastToStrType + const KCatalogProperty + const KCbrt + const KCeil + const KChanges + const KCharacterSet + const KCharacterSetColumnConstraint + const KCharacterSetProperty + const KCheck + const KCheckColumnConstraint + const KCheckJson + const KCheckXml + const KChecksumProperty + const KChr + const KCityHash64 + const KClone + const KCluster + const KClusterProperty + const KClusteredByProperty + const KClusteredColumnConstraint + const KCoalesce + const KCodePointsToBytes + const KCodePointsToString + const KCollate + const KCollateColumnConstraint + const KCollateProperty + const KCollation + const KColumn + const KColumnConstraint + const KColumnConstraintKind + const KColumnDef + const KColumnPosition + const KColumnPrefix + const KColumns + const KCombinedAggFunc + const KCombinedParameterizedAgg + const KCommand + const KComment + const KCommentColumnConstraint + const KCommit + const KComprehension + const KCompress + const KCompressColumnConstraint + const KComputeProperty + const KComputedColumnConstraint + const KConcat + const KConcatWs + const KCondition + const KConditionalInsert + const KConnect + const KConnectByRoot + const KConnector + const KConstraint + const KContains + const KConvert + const KConvertTimezone + const KConvertToCharset + const KCopy + const KCopyGrantsProperty + const KCopyParameter + const KCorr + const KCos + const KCosh + const KCosineDistance + const KCot + const KCoth + const KCount + const KCountIf + const KCovarPop + const KCovarSamp + const KCreate + const KCredentials + const KCredentialsProperty + const KCsc + const KCsch + const KCube + const KCumeDist + const KCurrentAccount + const KCurrentAccountName + const KCurrentAvailableRoles + const KCurrentCatalog + const KCurrentClient + const KCurrentDatabase + const KCurrentDate + const KCurrentDatetime + const KCurrentIpAddress + const KCurrentOrganizationName + const KCurrentOrganizationUser + const KCurrentRegion + const KCurrentRole + const KCurrentRoleType + const KCurrentSchema + const KCurrentSchemas + const KCurrentSecondaryRoles + const KCurrentSession + const KCurrentStatement + const KCurrentTime + const KCurrentTimestamp + const KCurrentTimestampLTZ + const KCurrentTimezone + const KCurrentTransaction + const KCurrentUser + const KCurrentUserId + const KCurrentVersion + const KCurrentWarehouse + const KDDL + const KDML + const KDPipe + const KDataBlocksizeProperty + const KDataDeletionProperty + const KDataType + const KDataTypeParam + const KDatabaseProperty + const KDate + const KDateAdd + const KDateBin + const KDateDiff + const KDateFormatColumnConstraint + const KDateFromParts + const KDateFromUnixDate + const KDateStrToDate + const KDateSub + const KDateToDateStr + const KDateToDi + const KDateTrunc + const KDatetime + const KDatetimeAdd + const KDatetimeDiff + const KDatetimeSub + const KDatetimeTrunc + const KDay + const KDayOfMonth + const KDayOfWeek + const KDayOfWeekIso + const KDayOfYear + const KDayname + const KDeclare + const KDeclareItem + const KDecode + const KDecodeCase + const KDecompressBinary + const KDecompressString + const KDecrypt + const KDecryptRaw + const KDefaultColumnConstraint + const KDefinerProperty + const KDegrees + const KDelete + const KDenseRank + const KDerivedTable + const KDescribe + const KDetach + const KDiToDate + const KDictProperty + const KDictRange + const KDictSubProperty + const KDirectory + const KDirectoryStage + const KDistKeyProperty + const KDistStyleProperty + const KDistance + const KDistanceNd + const KDistinct + const KDistribute + const KDistributedByProperty + const KDiv + const KDot + const KDotProduct + const KDrop + const KDropPartition + const KDropPrimaryKey + const KDuplicateKeyProperty + const KDynamicIdentifier + const KDynamicProperty + const KEQ + const KElt + const KEmptyProperty + const KEncode + const KEncodeColumnConstraint + const KEncodeProperty + const KEncrypt + const KEncryptRaw + const KEndStatement + const KEndsWith + const KEngineProperty + const KEnviromentProperty + const KEphemeralColumnConstraint + const KEqualNull + const KEscape + const KEuclideanDistance + const KExcept + const KExcludeColumnConstraint + const KExecute + const KExecuteAsProperty + const KExecuteSql + const KExists + const KExp + const KExplode + const KExplodeOuter + const KExplodingGenerateSeries + const KExport + const KExpr + const KExpression + const KExtendsLeft + const KExtendsRight + const KExternalProperty + const KExtract + const KFactorial + const KFallbackProperty + const KFarmFingerprint + const KFeaturesAtTime + const KFetch + const KFileFormatProperty + const KFilter + const KFinal + const KFirst + const KFirstValue + const KFlatten + const KFloat64 + const KFloor + const KForClause + const KForIn + const KForceProperty + const KForeignKey + const KFormat + const KFormatJson + const KFormatPhrase + const KFreespaceProperty + const KFrom + const KFromBase + const KFromBase32 + const KFromBase64 + const KFromISO8601Date + const KFromISO8601Timestamp + const KFromISO8601TimestampNanos + const KFromTimeZone + const KFunc + const KGT + const KGTE + const KGapFill + const KGenerateBool + const KGenerateDateArray + const KGenerateDouble + const KGenerateEmbedding + const KGenerateInt + const KGenerateSeries + const KGenerateTable + const KGenerateText + const KGenerateTimestampArray + const KGeneratedAsIdentityColumnConstraint + const KGeneratedAsRowColumnConstraint + const KGenerator + const KGet + const KGetExtract + const KGetIgnoreCase + const KGetbit + const KGlob + const KGlobalProperty + const KGrant + const KGrantPrincipal + const KGrantPrivilege + const KGreatest + const KGroup + const KGroupConcat + const KGrouping + const KGroupingId + const KGroupingSets + const KHandlerProperty + const KHashAgg + const KHaving + const KHavingMax + const KHeapProperty + const KHeredoc + const KHex + const KHexDecodeString + const KHexString + const KHint + const KHistoricalData + const KHll + const KHost + const KHour + const KHybridProperty + const KILike + const KIcebergProperty + const KIdentifier + const KIf + const KIfBlock + const KIgnoreNulls + const KIn + const KInOutColumnConstraint + const KIncludeProperty + const KIndex + const KIndexColumnConstraint + const KIndexConstraintOption + const KIndexParameters + const KIndexTableHint + const KInheritsProperty + const KInitcap + const KInline + const KInlineLengthColumnConstraint + const KInputModelProperty + const KInputOutputFormat + const KInsert + const KInstall + const KInt64 + const KIntDiv + const KIntersect + const KInterval + const KIntervalOp + const KIntervalSpan + const KInto + const KIntroducer + const KInvisibleColumnConstraint + const KIs + const KIsArray + const KIsAscii + const KIsInf + const KIsNan + const KIsNullValue + const KIsolatedLoadingProperty + const KJSON + const KJSONArray + const KJSONArrayAgg + const KJSONArrayAppend + const KJSONArrayContains + const KJSONArrayInsert + const KJSONBContains + const KJSONBContainsAllTopKeys + const KJSONBContainsAnyTopKeys + const KJSONBDeleteAtPath + const KJSONBExists + const KJSONBExtract + const KJSONBExtractScalar + const KJSONBObjectAgg + const KJSONBPathExists + const KJSONBool + const KJSONCast + const KJSONColumnDef + const KJSONExists + const KJSONExtract + const KJSONExtractArray + const KJSONExtractQuote + const KJSONExtractScalar + const KJSONFormat + const KJSONKeyValue + const KJSONKeys + const KJSONKeysAtDepth + const KJSONObject + const KJSONObjectAgg + const KJSONPath + const KJSONPathFilter + const KJSONPathKey + const KJSONPathPart + const KJSONPathRecursive + const KJSONPathRoot + const KJSONPathScript + const KJSONPathSelector + const KJSONPathSlice + const KJSONPathSubscript + const KJSONPathUnion + const KJSONPathWildcard + const KJSONRemove + const KJSONSchema + const KJSONSet + const KJSONStripNulls + const KJSONTable + const KJSONType + const KJSONValue + const KJSONValueArray + const KJarowinklerSimilarity + const KJoin + const KJoinHint + const KJournalProperty + const KJustifyDays + const KJustifyHours + const KJustifyInterval + const KKill + const KKurtosis + const KKwarg + const KLT + const KLTE + const KLag + const KLambda + const KLanguageProperty + const KLast + const KLastDay + const KLastValue + const KLateral + const KLaxBool + const KLaxFloat64 + const KLaxInt64 + const KLaxString + const KLead + const KLeast + const KLeft + const KLength + const KLevenshtein + const KLike + const KLikeProperty + const KLimit + const KLimitOptions + const KList + const KLiteral + const KLn + const KLoadData + const KLocaltime + const KLocaltimestamp + const KLocationProperty + const KLock + const KLockProperty + const KLockingProperty + const KLockingStatement + const KLog + const KLogProperty + const KLogicalAnd + const KLogicalOr + const KLower + const KLowerHex + const KMD5 + const KMD5Digest + const KMD5NumberLower64 + const KMD5NumberUpper64 + const KMLForecast + const KMLTranslate + const KMacroOverload + const KMacroOverloads + const KMakeInterval + const KManhattanDistance + const KMap + const KMapCat + const KMapContainsKey + const KMapDelete + const KMapFromEntries + const KMapInsert + const KMapKeys + const KMapPick + const KMapSize + const KMaskingPolicyColumnConstraint + const KMaskingProperty + const KMatch + const KMatchAgainst + const KMatchRecognize + const KMatchRecognizeMeasure + const KMaterializedProperty + const KMax + const KMedian + const KMerge + const KMergeBlockRatioProperty + const KMergeTreeTTL + const KMergeTreeTTLAction + const KMin + const KMinhash + const KMinhashCombine + const KMinute + const KMod + const KMode + const KModelAttribute + const KModifyColumn + const KModuleProperty + const KMonth + const KMonthname + const KMonthsBetween + const KMul + const KMultitableInserts + const KNEQ + const KNational + const KNeg + const KNestedJSONSelect + const KNetFunc + const KNetworkProperty + const KNextDay + const KNextValueFor + const KNoPrimaryIndexProperty + const KNonClusteredColumnConstraint + const KNone + const KNormal + const KNormalize + const KNot + const KNotForReplicationColumnConstraint + const KNotNullColumnConstraint + const KNthValue + const KNtile + const KNull + const KNullSafeEQ + const KNullSafeNEQ + const KNullif + const KNumberToStr + const KNvl2 + const KObjectAgg + const KObjectId + const KObjectIdentifier + const KObjectInsert + const KObjectTransform + const KOffset + const KOnCluster + const KOnCommitProperty + const KOnCondition + const KOnConflict + const KOnProperty + const KOnUpdateColumnConstraint + const KOpclass + const KOpenJSON + const KOpenJSONColumnDef + const KOperator + const KOr + const KOrder + const KOrdered + const KOutputModelProperty + const KOverflowTruncateBehavior + const KOverlaps + const KOverlay + const KPad + const KParameter + const KParameterStyleProperty + const KParameterizedAgg + const KParen + const KParseBignumeric + const KParseDatetime + const KParseIp + const KParseJSON + const KParseNumeric + const KParseTime + const KParseUrl + const KPartition + const KPartitionBoundSpec + const KPartitionByListProperty + const KPartitionByRangeProperty + const KPartitionByRangePropertyDynamic + const KPartitionByTruncate + const KPartitionId + const KPartitionList + const KPartitionRange + const KPartitionedByBucket + const KPartitionedByProperty + const KPartitionedOfProperty + const KPathColumnConstraint + const KPercentRank + const KPercentileCont + const KPercentileDisc + const KPeriodForSystemTimeConstraint + const KPi + const KPivot + const KPivotAlias + const KPivotAny + const KPlaceholder + const KPosexplode + const KPosexplodeOuter + const KPositionalColumn + const KPow + const KPragma + const KPreWhere + const KPredicate + const KPredict + const KPreviousDay + const KPrimaryKey + const KPrimaryKeyColumnConstraint + const KPrior + const KProjectionDef + const KProjectionPolicyColumnConstraint + const KProperties + const KProperty + const KPropertyEQ + const KPseudoType + const KPseudocolumn + const KPut + const KQualify + const KQuantile + const KQuarter + const KQuery + const KQueryBand + const KQueryOption + const KQueryTransform + const KRadians + const KRand + const KRandn + const KRandstr + const KRangeBucket + const KRangeN + const KRank + const KRawString + const KReadCSV + const KReadParquet + const KRecursiveWithSearch + const KReduce + const KReference + const KRefresh + const KRefreshTriggerProperty + const KRegDomain + const KRegexpCount + const KRegexpExtract + const KRegexpExtractAll + const KRegexpFullMatch + const KRegexpILike + const KRegexpInstr + const KRegexpLike + const KRegexpReplace + const KRegexpSplit + const KRegexpSubstr + const KRegrAvgx + const KRegrAvgy + const KRegrCount + const KRegrIntercept + const KRegrR2 + const KRegrSlope + const KRegrSxx + const KRegrSxy + const KRegrSyy + const KRegrValx + const KRegrValy + const KRemoteWithConnectionModelProperty + const KRenameColumn + const KRenameIndex + const KRepeat + const KReplace + const KReplacePartition + const KRespectNulls + const KReturn + const KReturning + const KReturnsProperty + const KReverse + const KRevoke + const KRight + const KRint + const KRollback + const KRollup + const KRollupIndex + const KRollupProperty + const KRound + const KRowAccessProperty + const KRowFormatDelimitedProperty + const KRowFormatProperty + const KRowFormatSerdeProperty + const KRowNumber + const KRtrimmedLength + const KSHA + const KSHA1Digest + const KSHA2 + const KSHA2Digest + const KSafeAdd + const KSafeConvertBytesToString + const KSafeDivide + const KSafeFunc + const KSafeMultiply + const KSafeNegate + const KSafeSubtract + const KSampleProperty + const KSchema + const KSchemaCommentProperty + const KScopeResolution + const KSearch + const KSearchIp + const KSec + const KSech + const KSecond + const KSecureProperty + const KSecurityIntegrationProperty + const KSelect + const KSelectable + const KSemanticView + const KSemicolon + const KSeq1 + const KSeq2 + const KSeq4 + const KSeq8 + const KSequenceProperties + const KSerdeProperties + const KSessionParameter + const KSessionUser + const KSet + const KSetConfigProperty + const KSetItem + const KSetOperation + const KSetProperty + const KSettingsProperty + const KSharingProperty + const KShow + const KSign + const KSimilarTo + const KSin + const KSinh + const KSkewness + const KSkipJSONColumn + const KSlice + const KSort + const KSortArray + const KSortKeyProperty + const KSoundex + const KSoundexP123 + const KSpace + const KSplit + const KSplitPart + const KSqlReadWriteProperty + const KSqlSecurityProperty + const KSqrt + const KStDistance + const KStPoint + const KStabilityProperty + const KStandardHash + const KStar + const KStarMap + const KStartsWith + const KStddev + const KStddevPop + const KStddevSamp + const KStorageHandlerProperty + const KStoredProcedure + const KStrPosition + const KStrToDate + const KStrToMap + const KStrToTime + const KStrToUnix + const KStream + const KStreamingTableProperty + const KStrictProperty + const KString + const KStringToArray + const KStripNullValue + const KStrtok + const KStrtokToArray + const KStruct + const KStructExtract + const KStuff + const KSub + const KSubquery + const KSubqueryPredicate + const KSubstring + const KSubstringIndex + const KSum + const KSummarize + const KSwapTable + const KSystimestamp + const KTable + const KTableAlias + const KTableColumn + const KTableFromRows + const KTableSample + const KTag + const KTags + const KTan + const KTanh + const KTemporaryProperty + const KTime + const KTimeAdd + const KTimeDiff + const KTimeFromParts + const KTimeSlice + const KTimeStrToDate + const KTimeStrToTime + const KTimeStrToUnix + const KTimeSub + const KTimeToStr + const KTimeToTimeStr + const KTimeToUnix + const KTimeTrunc + const KTimeUnit + const KTimeseriesKey + const KTimestamp + const KTimestampAdd + const KTimestampDiff + const KTimestampFromParts + const KTimestampLtzFromParts + const KTimestampSub + const KTimestampTrunc + const KTimestampTzFromParts + const KTitleColumnConstraint + const KToArray + const KToBase32 + const KToBase64 + const KToBinary + const KToBoolean + const KToChar + const KToCodePoints + const KToDays + const KToDecfloat + const KToDouble + const KToFile + const KToMap + const KToNumber + const KToTableProperty + const KToVariant + const KTransaction + const KTransform + const KTransformModelProperty + const KTransientProperty + const KTranslate + const KTranslateCharacters + const KTriggerEvent + const KTriggerExecute + const KTriggerProperties + const KTriggerReferencing + const KTrim + const KTrunc + const KTruncateTable + const KTry + const KTryBase64DecodeBinary + const KTryBase64DecodeString + const KTryCast + const KTryHexDecodeBinary + const KTryHexDecodeString + const KTryToDecfloat + const KTsOrDiToDi + const KTsOrDsAdd + const KTsOrDsDiff + const KTsOrDsToDate + const KTsOrDsToDateStr + const KTsOrDsToDatetime + const KTsOrDsToTime + const KTsOrDsToTimestamp + const KTuple + const KTypeof + const KUDTF + const KUnary + const KUncache + const KUndrop + const KUnhex + const KUnicode + const KUnicodeString + const KUniform + const KUnion + const KUniqueColumnConstraint + const KUniqueKeyProperty + const KUnixDate + const KUnixMicros + const KUnixMillis + const KUnixSeconds + const KUnixToStr + const KUnixToTime + const KUnixToTimeStr + const KUnloggedProperty + const KUnnest + const KUnpivotColumns + const KUpdate + const KUpper + const KUppercaseColumnConstraint + const KUse + const KUserDefinedFunction + const KUsingData + const KUsingProperty + const KUsingTemplateProperty + const KUtcDate + const KUtcTime + const KUtcTimestamp + const KUuid + const KUuidProperty + const KValues + const KVar + const KVarMap + const KVariadic + const KVariance + const KVariancePop + const KVectorSearch + const KVersion + const KViewAttributeProperty + const KVirtualProperty + const KVolatileProperty + const KWatermarkColumnConstraint + const KWeek + const KWeekOfYear + const KWeekStart + const KWhen + const KWhens + const KWhere + const KWhileBlock + const KWidthBucket + const KWindow + const KWindowSpec + const KWith + const KWithDataProperty + const KWithFill + const KWithJournalTableProperty + const KWithOperator + const KWithProcedureOptions + const KWithSchemaBindingProperty + const KWithSystemVersioningProperty + const KWithTableHint + const KWithinGroup + const KXMLElement + const KXMLGet + const KXMLKeyValueOption + const KXMLNamespace + const KXMLTable + const KXor + const KYear + const KYearOfWeek + const KYearOfWeekIso + const KZeroFillColumnConstraint + const KZipf + const K_ExplodeOuter + const K_TimeUnit + func KindByKey(key string) (Kind, bool) + func (k Kind) ArgTypes() []argSpec + func (k Kind) IsA(kinds ...Kind) bool + func (k Kind) Key() string + func (k Kind) Name() string + func (k Kind) SQLName() string + func (k Kind) SQLNames() []string + func (k Kind) String() string + type KindSet struct + func (s *KindSet) Has(k Kind) bool + func (s KindSet) With(kinds ...Kind) KindSet + func (s KindSet) Without(kinds ...Kind) KindSet + type LineageError struct + Msg string + func (e *LineageError) Error() string + type LineageNode struct + Downstream []*LineageNode + Expression *Expr + Name string + ReferenceNodeName string + Source *Expr + SourceName string + func LineageColumn(column string, expression *Expr, opts LineageOptions) (node *LineageNode, err error) + func (n *LineageNode) Walk() []*LineageNode + type LineageOptions struct + Copy bool + Dialect *Dialect + Schema *MappingSchema + Scope *Scope + TrimSelects bool + type MappingSchema struct + func NewMappingSchema(schema *SchemaMap, visible *SchemaMap, dialect *Dialect, normalize bool, ...) *MappingSchema + func (s *MappingSchema) AddTable(table *Expr, columnMapping *SchemaMap, dialect *Dialect, normalize *bool, ...) + func (s *MappingSchema) ColumnNames(table *Expr, onlyVisible bool, dialect *Dialect, normalize *bool) []string + func (s *MappingSchema) Depth() int + func (s *MappingSchema) Dialect() *Dialect + func (s *MappingSchema) Empty() bool + func (s *MappingSchema) Find(table *Expr, raiseOnMissing bool, ensureDataTypes bool) *SchemaMap + func (s *MappingSchema) GetColumnType(table *Expr, column *Expr, columnName string, dialect *Dialect, ...) *Expr + func (s *MappingSchema) GetUDFType(udf *Expr, dialect *Dialect, normalize *bool) *Expr + func (s *MappingSchema) HasColumn(table *Expr, column *Expr, columnName string, dialect *Dialect, ...) bool + func (s *MappingSchema) SupportedTableArgs() []string + func (s *MappingSchema) TableFromString(name string, dialect *Dialect) *Expr + type OptimizeContext struct + Catalog string + Db string + Dialect *Dialect + Kwargs map[string]any + SQL string + Schema *MappingSchema + type OptimizeError struct + Msg string + func (e *OptimizeError) Error() string + type OptimizerRule func(e *Expr, ctx *OptimizeContext) *Expr + var RuleAnnotateTypes OptimizerRule = func(e *Expr, ctx *OptimizeContext) *Expr { ... } + var RuleCanonicalize OptimizerRule = func(e *Expr, ctx *OptimizeContext) *Expr { ... } + var RuleEliminateCTEs OptimizerRule = func(e *Expr, ctx *OptimizeContext) *Expr { ... } + var RuleEliminateJoins OptimizerRule = func(e *Expr, ctx *OptimizeContext) *Expr { ... } + var RuleEliminateSubqueries OptimizerRule = func(e *Expr, ctx *OptimizeContext) *Expr { ... } + var RuleMergeSubqueries OptimizerRule = func(e *Expr, ctx *OptimizeContext) *Expr { ... } + var RuleNormalize OptimizerRule = func(e *Expr, ctx *OptimizeContext) *Expr { ... } + var RuleOptimizeJoins OptimizerRule = func(e *Expr, ctx *OptimizeContext) *Expr { ... } + var RulePushdownPredicates OptimizerRule = func(e *Expr, ctx *OptimizeContext) *Expr { ... } + var RulePushdownProjections OptimizerRule = func(e *Expr, ctx *OptimizeContext) *Expr { ... } + var RuleQualify OptimizerRule = func(e *Expr, ctx *OptimizeContext) *Expr { ... } + var RuleQuoteIdentifiers OptimizerRule = func(e *Expr, ctx *OptimizeContext) *Expr { ... } + var RuleSimplify OptimizerRule = func(e *Expr, ctx *OptimizeContext) *Expr { ... } + var RuleUnnestSubqueries OptimizerRule = func(e *Expr, ctx *OptimizeContext) *Expr { ... } + type OptionsType map[string][][]string + type ParseError struct + Errors []ParseErrorDetail + Msg string + func (e *ParseError) Error() string + type ParseErrorDetail struct + Col int + Description string + EndContext string + Highlight string + IntoExpression string + Line int + StartContext string + type ParseOptions struct + ErrorLevel *ErrorLevel + ErrorMessageContext int + MaxErrors int + MaxNodes int + type Parser struct + func (p *Parser) ParseInto(kind Kind, tokens []*Token, sql string) (out []*Expr, err error) + func (p *Parser) ParseTokens(tokens []*Token, sql string) (out []*Expr, err error) + type ParserData struct + ADD_CONSTRAINT_TOKENS TokenSet + ADD_JOIN_ON_TRUE bool + ADJACENT_STRINGS_CANNOT_BE_CONNECTED bool + AGGREGATE_TYPE_TOKENS TokenSet + AGG_FUNCTIONS StrSet + AGG_FUNCTIONS_SUFFIXES []string + ALIAS_TOKENS TokenSet + ALTERABLES TokenSet + ALTER_RENAME_REQUIRES_COLUMN bool + ALTER_TABLE_PARTITIONS bool + AMBIGUOUS_ALIAS_TOKENS []TokenType + ANALYZE_STYLES StrSet + ARG_MODE_TOKENS TokenSet + ARRAY_CONSTRUCTORS map[string]Kind + ASSIGNMENT map[TokenType]Kind + BITWISE map[TokenType]Kind + BRACKETS TokenSet + CAST_ACTIONS OptionsType + CAST_COLUMN_OPERATORS TokenSet + CHANGE_COLUMN_ALTER_SYNTAX bool + CLONE_KEYWORDS StrSet + COLON_CHAIN_IS_SINGLE_EXTRACT bool + COLON_IS_VARIANT_EXTRACT bool + COLON_PLACEHOLDER_TOKENS TokenSet + COLUMN_DEFINITION_MODES StrSet + COLUMN_POSTFIX_TOKENS TokenSet + COMMENT_TABLE_ALIAS_TOKENS TokenSet + COMPARISON map[TokenType]Kind + CONFLICT_ACTIONS OptionsType + CONJUNCTION map[TokenType]Kind + COPY_INTO_VARLEN_OPTIONS StrSet + CREATABLES TokenSet + CREATE_SEQUENCE OptionsType + DASHED_TABLE_PART_FOLLOW_TOKENS TokenSet + DB_CREATABLES TokenSet + DDL_SELECT_TOKENS TokenSet + DEFAULT_SAMPLING_METHOD string + DESCRIBE_STYLES StrSet + DISJUNCTION map[TokenType]Kind + DISTINCT_TOKENS TokenSet + ENUM_TYPE_TOKENS TokenSet + EQUALITY map[TokenType]Kind + EXECUTE_AS_OPTIONS OptionsType + EXPONENT map[TokenType]Kind + FACTOR map[TokenType]Kind + FETCH_TOKENS TokenSet + FLATTEN_COLUMNS []string + FUNCTIONS_WITH_ALIASED_ARGS StrSet + FUNC_TOKENS TokenSet + HISTORICAL_DATA_KIND StrSet + HISTORICAL_DATA_PREFIX StrSet + IDENTIFIER_TOKENS TokenSet + IDENTIFY_PIVOT_STRINGS bool + ID_VAR_TOKENS TokenSet + INSERT_ALTERNATIVES StrSet + INTERVAL_SPANS bool + INVALID_FUNC_NAME_TOKENS TokenSet + ISOLATED_LOADING_OPTIONS OptionsType + IS_JSON_PREDICATE_KIND StrSet + JOINS_HAVE_EQUAL_PRECEDENCE bool + JOIN_HINTS StrSet + JOIN_KINDS TokenSet + JOIN_METHODS TokenSet + JOIN_SIDES TokenSet + JSON_ARROWS_REQUIRE_JSON_TYPE bool + JSON_EXTRACT_REQUIRES_JSON_EXPRESSION bool + JSON_KEY_VALUE_SEPARATOR_TOKENS TokenSet + JSON_QUERY_OPTIONS OptionsType + KEY_CONSTRAINT_OPTIONS OptionsType + KEY_VALUE_DEFINITIONS []Kind + LAMBDA_ARG_TERMINATORS TokenSet + LOG_DEFAULTS_TO_LN bool + MAP_KEYS_ARE_ARBITRARY_EXPRESSIONS bool + MODIFIABLES []Kind + MODIFIERS_ATTACHED_TO_SET_OP bool + NESTED_TYPE_TOKENS TokenSet + NON_TABLE_CREATABLES StrSet + NO_PAREN_FUNCTIONS map[TokenType]Kind + NO_PAREN_IF_COMMANDS bool + ODBC_DATETIME_LITERALS map[string]Kind + ON_CONDITION_TOKENS StrSet + OPCLASS_FOLLOW_KEYWORDS StrSet + OPERATION_MODIFIERS StrSet + OPTIONAL_ALIAS_TOKEN_CTE bool + OPTYPE_FOLLOW_TOKENS TokenSet + PARTITION_KEYWORDS StrSet + PIVOT_COLUMN_NAMING string + PREFIXED_PIVOT_COLUMNS bool + PRE_VOLATILE_TOKENS TokenSet + PRIVILEGE_FOLLOW_TOKENS TokenSet + PROCEDURE_OPTIONS OptionsType + PROFILE_TYPES OptionsType + QUERY_MODIFIER_TOKENS TokenSet + QUERY_RESTRICTIONS OptionsType + RECURSIVE_CTE_SEARCH_KIND StrSet + RESERVED_TOKENS TokenSet + RETURNS_TABLE_TOKENS TokenSet + SCHEMA_BINDING_OPTIONS OptionsType + SCHEMA_KINDS StrSet + SCHEMA_UNNAMED_CONSTRAINTS StrSet + SECURITY_PROPERTY_KEYWORDS StrSet + SELECT_START_TOKENS TokenSet + SET_ASSIGNMENT_DELIMITERS StrSet + SET_OPERATIONS TokenSet + SET_OP_MODIFIERS StrSet + SET_REQUIRES_ASSIGNMENT_DELIMITER bool + SIGNED_TO_UNSIGNED_TYPE_TOKEN map[TokenType]TokenType + STAGED_FILE_SINGLE_TOKENS TokenSet + STRICT_CAST bool + STRING_ALIASES bool + STRUCT_TYPE_TOKENS TokenSet + SUBQUERY_PREDICATES map[TokenType]Kind + SUBQUERY_TOKENS TokenSet + SUPPORTS_IMPLICIT_UNNEST bool + SUPPORTS_OMITTED_INTERVAL_SPAN_UNIT bool + SUPPORTS_PARTITION_SELECTION bool + TABLESAMPLE_CSV bool + TABLE_ALIAS_TOKENS TokenSet + TABLE_INDEX_HINT_TOKENS TokenSet + TABLE_POSTFIX_TOKENS TokenSet + TABLE_TERMINATORS TokenSet + TERM map[TokenType]Kind + TEXT_MATCH_EXCLUDED_TOKENS TokenSet + TIMES TokenSet + TIMESTAMPS TokenSet + TRANSACTION_CHARACTERISTICS OptionsType + TRANSACTION_KIND StrSet + TRIGGER_DEFERRABLE OptionsType + TRIGGER_EVENTS TokenSet + TRIGGER_TIMING OptionsType + TRIM_PATTERN_FIRST bool + TRIM_TYPES StrSet + TYPED_LAMBDA_ARGS bool + TYPE_TOKENS TokenSet + UNDROP_OBJECTS OptionsType + UNNEST_OFFSET_ALIAS_TOKENS TokenSet + UPDATE_ALIAS_TOKENS TokenSet + USABLES OptionsType + VALUES_FOLLOWED_BY_PAREN bool + VIEW_ATTRIBUTES StrSet + WINDOW_ALIAS_TOKENS TokenSet + WINDOW_BEFORE_PAREN_TOKENS TokenSet + WINDOW_EXCLUDE_OPTIONS OptionsType + WINDOW_SIDES StrSet + WRAPPED_TRANSFORM_COLUMN_CONSTRAINT bool + ZONE_AWARE_TIMESTAMP_CONSTRUCTOR bool + type ParserSettings struct + ALTER_ALTER_PARSERS map[string]parseFn + ALTER_PARSERS map[string]parseAnyFn + ANALYZE_EXPRESSION_PARSERS map[string]parseFn + COLUMN_OPERATORS map[TokenType]columnOperatorFn + CONSTRAINT_PARSERS map[string]parseFn + DESCRIBE_QUALIFIER_PARSERS map[string]parseFn + EXPRESSION_PARSERS map[Kind]parseFn + FUNCTIONS map[string]FuncBuilder + FUNCTION_PARSERS map[string]parseFn + LAMBDAS map[TokenType]lambdaParseFn + NO_PAREN_FUNCTION_PARSERS map[string]parseFn + NUMERIC_PARSERS map[TokenType]tokenParseFn + PIPE_SYNTAX_TRANSFORM_PARSERS map[string]pipeTransformFn + PLACEHOLDER_PARSERS map[TokenType]parseFn + PRIMARY_PARSERS map[TokenType]tokenParseFn + PROPERTY_PARSERS map[string]propertyParseFn + QUERY_MODIFIER_PARSERS map[TokenType]queryModifierFn + RANGE_PARSERS map[TokenType]rangeParseFn + SET_PARSERS map[string]parseFn + SET_TRIE *trie + SHOW_PARSERS map[string]parseFn + SHOW_TRIE *trie + STATEMENT_PARSERS map[TokenType]parseFn + STRING_PARSERS map[TokenType]tokenParseFn + TYPE_CONVERTERS map[DType]typeConverterFn + TYPE_LITERAL_PARSERS map[DType]typeLiteralParseFn + UNARY_PARSERS map[TokenType]parseFn + type QualifyOptions struct + AllowPartialQualification bool + CanonicalizeTableAliases bool + Catalog string + Db string + Defaults bool + Dialect *Dialect + ExpandAliasRefs bool + ExpandStars bool + Identify bool + InferSchema Tri + IsolateTables bool + OnQualify func(table *Expr) + QualifyColumns bool + QuoteIdentifiers bool + SQL string + Schema *MappingSchema + ValidateQualifyColumns bool + func DefaultQualifyOptions() QualifyOptions + type Resolver struct + func NewResolver(scope *Scope, schema *MappingSchema, inferSchema bool) *Resolver + func (r *Resolver) AllColumns() StrSet + func (r *Resolver) Dialect() *Dialect + func (r *Resolver) GetSourceColumns(name string, onlyVisible bool) []string + func (r *Resolver) GetSourceColumnsFromSetOp(expression *Expr) []string + func (r *Resolver) GetTable(column *Expr) *Expr + func (r *Resolver) GetTableByName(columnName string) *Expr + type SchemaError struct + Msg string + func (e *SchemaError) Error() string + type SchemaMap = omap[any] + func NewSchemaMap() *SchemaMap + func NewSchemaMapSize(n int) *SchemaMap + type Scope struct + CTEScopes []*Scope + CTESources *omap[Source] + CanBeCorrelated bool + DerivedTableScopes []*Scope + Expression *Expr + LateralSources *omap[Source] + OuterColumns []string + Parent *Scope + Sources *omap[Source] + SubqueryScopes []*Scope + TableScopes []*Scope + Type ScopeType + UDTFScopes []*Scope + UnionScopes []*Scope + func BuildScope(e *Expr) *Scope + func NewScope(expression *Expr, sources *omap[Source], outerColumns []string, parent *Scope, ...) *Scope + func TraverseScope(e *Expr) []*Scope + func (s *Scope) AddSource(name string, src Source) + func (s *Scope) Branch(expression *Expr, scopeType ScopeType, ...) *Scope + func (s *Scope) CTEs() []*Expr + func (s *Scope) ClearCache() + func (s *Scope) ColumnIndex() map[*Expr]struct{} + func (s *Scope) Columns() []*Expr + func (s *Scope) DerivedTables() []*Expr + func (s *Scope) ExternalColumns() []*Expr + func (s *Scope) Find(kinds ...Kind) *Expr + func (s *Scope) FindAll(kinds ...Kind) iter.Seq[*Expr] + func (s *Scope) IsCTE() bool + func (s *Scope) IsCorrelatedSubquery() bool + func (s *Scope) IsDerivedTable() bool + func (s *Scope) IsRoot() bool + func (s *Scope) IsSubquery() bool + func (s *Scope) IsUDTF() bool + func (s *Scope) IsUnion() bool + func (s *Scope) JoinHints() []*Expr + func (s *Scope) LocalColumns() []*Expr + func (s *Scope) Pivots() []*Expr + func (s *Scope) RefCount() map[any]int + func (s *Scope) References() []scopeRef + func (s *Scope) RemoveSource(name string) + func (s *Scope) RenameSource(oldName, newName string) + func (s *Scope) Replace(old, new *Expr) + func (s *Scope) ScansAllSubscopeColumns() bool + func (s *Scope) SelectedSources() *omap[SelectedSource] + func (s *Scope) SemiOrAntiJoinTables() StrSet + func (s *Scope) SourceColumns(sourceName string) []*Expr + func (s *Scope) Stars() []*Expr + func (s *Scope) Subqueries() []*Expr + func (s *Scope) TableColumns() []*Expr + func (s *Scope) Tables() []*Expr + func (s *Scope) Traverse() []*Scope + func (s *Scope) UDTFs() []*Expr + func (s *Scope) UnqualifiedColumns() []*Expr + func (s *Scope) Walk(prune func(*Expr) bool) iter.Seq[*Expr] + type ScopeType uint8 + const ScopeCTE + const ScopeDerivedTable + const ScopeRoot + const ScopeSubquery + const ScopeUDTF + const ScopeUnion + type SelectedSource struct + Node *Expr + Source Source + type Simplifier struct + func NewSimplifier(d *Dialect, annotateNewExpressions bool) *Simplifier + func (s *Simplifier) AbsorbAndEliminate(expression *Expr, root bool) *Expr + func (s *Simplifier) Dialect() *Dialect + func (s *Simplifier) RemoveComplements(expression *Expr, root bool) *Expr + func (s *Simplifier) RewriteBetween(expression *Expr) *Expr + func (s *Simplifier) Simplify(expression *Expr, constantPropagation, coalesceSimplification bool) *Expr + func (s *Simplifier) SimplifyCoalesce(expression *Expr) *Expr + func (s *Simplifier) SimplifyComparison(expression, left, right *Expr, or bool) *Expr + func (s *Simplifier) SimplifyConcat(expression *Expr) *Expr + func (s *Simplifier) SimplifyConditionals(expression *Expr) *Expr + func (s *Simplifier) SimplifyConnectors(expression *Expr, root bool) *Expr + func (s *Simplifier) SimplifyDatetrunc(expression *Expr) *Expr + func (s *Simplifier) SimplifyEquality(expression *Expr) *Expr + func (s *Simplifier) SimplifyLiterals(expression *Expr, root bool) *Expr + func (s *Simplifier) SimplifyNot(expression *Expr) *Expr + func (s *Simplifier) SimplifyStartswith(expression *Expr) *Expr + func (s *Simplifier) SortComparison(expression *Expr) *Expr + func (s *Simplifier) UniqSort(expression *Expr, root bool) *Expr + type SimplifyOptions struct + Coalesce bool + ConstantPropagation bool + Dialect *Dialect + MaxDepth int + type Source struct + Scope *Scope + Table *Expr + func (s Source) IsScope() bool + type StrSet map[string]struct + func ColumnTableNames(expression *Expr, exclude string) StrSet + func (s StrSet) Add(items ...string) StrSet + func (s StrSet) Clone() StrSet + func (s StrSet) Has(x string) bool + func (s StrSet) Sorted() []string + type Token struct + Col int32 + Comments []string + End int32 + Line int32 + Start int32 + Text string + Type TokenType + func (t *Token) String() string + type TokenError struct + Msg string + func (e *TokenError) Error() string + type TokenSet struct + func (s *TokenSet) Has(t TokenType) bool + func (s TokenSet) Items() []TokenType + func (s TokenSet) Minus(o TokenSet) TokenSet + func (s TokenSet) Union(o TokenSet) TokenSet + func (s TokenSet) With(types ...TokenType) TokenSet + func (s TokenSet) Without(types ...TokenType) TokenSet + type TokenType uint16 + const TK_ADJACENT + const TK_AGGREGATEFUNCTION + const TK_ALIAS + const TK_ALL + const TK_ALTER + const TK_AMP + const TK_AMP_GT + const TK_AMP_LT + const TK_ANALYZE + const TK_AND + const TK_ANTI + const TK_ANY + const TK_APPLY + const TK_ARRAY + const TK_ARROW + const TK_ASC + const TK_ASOF + const TK_ATTACH + const TK_AT_GT + const TK_AT_QMARK + const TK_AUTO_INCREMENT + const TK_BACKSLASH + const TK_BEGIN + const TK_BETWEEN + const TK_BIGDECIMAL + const TK_BIGINT + const TK_BIGNUM + const TK_BIGSERIAL + const TK_BINARY + const TK_BIT + const TK_BIT_STRING + const TK_BLOB + const TK_BLOCK_END + const TK_BLOCK_START + const TK_BOOLEAN + const TK_BPCHAR + const TK_BREAK + const TK_BULK_COLLECT_INTO + const TK_BYTE_STRING + const TK_CACHE + const TK_CARET + const TK_CARET_AT + const TK_CASE + const TK_CHAR + const TK_CHARACTER_SET + const TK_CLUSTER_BY + const TK_COLLATE + const TK_COLON + const TK_COLON_EQ + const TK_COLON_GT + const TK_COLUMN + const TK_COLUMN_DEF + const TK_COMMA + const TK_COMMAND + const TK_COMMENT + const TK_COMMIT + const TK_CONNECT_BY + const TK_CONSTRAINT + const TK_COPY + const TK_CREATE + const TK_CROSS + const TK_CUBE + const TK_CURRENT_CATALOG + const TK_CURRENT_DATE + const TK_CURRENT_DATETIME + const TK_CURRENT_ROLE + const TK_CURRENT_SCHEMA + const TK_CURRENT_TIME + const TK_CURRENT_TIMESTAMP + const TK_CURRENT_USER + const TK_CURRENT_USER_ID + const TK_DAMP + const TK_DARROW + const TK_DASH + const TK_DAT + const TK_DATABASE + const TK_DATE + const TK_DATE32 + const TK_DATEMULTIRANGE + const TK_DATERANGE + const TK_DATETIME + const TK_DATETIME2 + const TK_DATETIME64 + const TK_DCOLON + const TK_DCOLONDOLLAR + const TK_DCOLONPERCENT + const TK_DCOLONQMARK + const TK_DECFLOAT + const TK_DECIMAL + const TK_DECIMAL128 + const TK_DECIMAL256 + const TK_DECIMAL32 + const TK_DECIMAL64 + const TK_DECLARE + const TK_DEFAULT + const TK_DELETE + const TK_DESC + const TK_DESCRIBE + const TK_DETACH + const TK_DHASH_ARROW + const TK_DICTIONARY + const TK_DISTINCT + const TK_DISTRIBUTE_BY + const TK_DIV + const TK_DOLLAR + const TK_DOT + const TK_DOTCARET + const TK_DOTCOLON + const TK_DOUBLE + const TK_DPIPE + const TK_DPIPE_SLASH + const TK_DQMARK + const TK_DROP + const TK_DSTAR + const TK_DYNAMIC + const TK_ELSE + const TK_END + const TK_ENUM + const TK_ENUM16 + const TK_ENUM8 + const TK_EQ + const TK_ESCAPE + const TK_EXCEPT + const TK_EXCLAMATION + const TK_EXECUTE + const TK_EXISTS + const TK_EXPORT + const TK_FALSE + const TK_FARROW + const TK_FETCH + const TK_FILE + const TK_FILE_FORMAT + const TK_FILTER + const TK_FINAL + const TK_FIRST + const TK_FIXEDSTRING + const TK_FLOAT + const TK_FOR + const TK_FORCE + const TK_FOREIGN_KEY + const TK_FORMAT + const TK_FROM + const TK_FULL + const TK_FUNCTION + const TK_GEOGRAPHY + const TK_GEOGRAPHYPOINT + const TK_GEOMETRY + const TK_GET + const TK_GLOB + const TK_GLOBAL + const TK_GRANT + const TK_GROUPING_SETS + const TK_GROUP_BY + const TK_GT + const TK_GTE + const TK_HASH + const TK_HASH_ARROW + const TK_HASH_DASH + const TK_HAVING + const TK_HEREDOC_STRING + const TK_HEX_STRING + const TK_HINT + const TK_HIVE_TOKEN_STREAM + const TK_HLLSKETCH + const TK_HSTORE + const TK_IDENTIFIER + const TK_IGNORE + const TK_ILIKE + const TK_IMAGE + const TK_IN + const TK_INDEX + const TK_INDEXED_BY + const TK_INET + const TK_INNER + const TK_INOUT + const TK_INSERT + const TK_INSTALL + const TK_INT + const TK_INT128 + const TK_INT256 + const TK_INT4MULTIRANGE + const TK_INT4RANGE + const TK_INT8MULTIRANGE + const TK_INT8RANGE + const TK_INTEGRATION + const TK_INTERSECT + const TK_INTERVAL + const TK_INTO + const TK_INTRODUCER + const TK_IPADDRESS + const TK_IPPREFIX + const TK_IPV4 + const TK_IPV6 + const TK_IRLIKE + const TK_IS + const TK_ISNULL + const TK_JOIN + const TK_JOIN_MARKER + const TK_JSON + const TK_JSONB + const TK_KEEP + const TK_KEY + const TK_KILL + const TK_LANGUAGE + const TK_LATERAL + const TK_LEFT + const TK_LIKE + const TK_LIMIT + const TK_LINESTRING + const TK_LIST + const TK_LLRR_ARROW + const TK_LOAD + const TK_LOCALTIME + const TK_LOCALTIMESTAMP + const TK_LOCK + const TK_LONGBLOB + const TK_LONGTEXT + const TK_LOWCARDINALITY + const TK_LR_ARROW + const TK_LT + const TK_LTE + const TK_LT_AT + const TK_L_BRACE + const TK_L_BRACKET + const TK_L_PAREN + const TK_MAP + const TK_MATCH + const TK_MATCH_CONDITION + const TK_MATCH_RECOGNIZE + const TK_MEDIUMBLOB + const TK_MEDIUMINT + const TK_MEDIUMTEXT + const TK_MEMBER_OF + const TK_MERGE + const TK_MOD + const TK_MODEL + const TK_MONEY + const TK_MULTILINESTRING + const TK_MULTIPOLYGON + const TK_NAME + const TK_NAMESPACE + const TK_NATIONAL_STRING + const TK_NATURAL + const TK_NCHAR + const TK_NCOLON_GT + const TK_NEQ + const TK_NESTED + const TK_NEXT + const TK_NONE + const TK_NOT + const TK_NOTHING + const TK_NOTNULL + const TK_NULL + const TK_NULLABLE + const TK_NULLSAFE_EQ + const TK_NUMBER + const TK_NUMMULTIRANGE + const TK_NUMRANGE + const TK_NVARCHAR + const TK_OBJECT + const TK_OBJECT_IDENTIFIER + const TK_OFFSET + const TK_ON + const TK_ONLY + const TK_OPERATOR + const TK_OPTION + const TK_OR + const TK_ORDERED + const TK_ORDER_BY + const TK_ORDER_SIBLINGS_BY + const TK_ORDINALITY + const TK_OUT + const TK_OUTER + const TK_OVER + const TK_OVERLAPS + const TK_OVERWRITE + const TK_PACKAGE + const TK_PARAMETER + const TK_PARTITION + const TK_PARTITION_BY + const TK_PERCENT + const TK_PIPE + const TK_PIPE_GT + const TK_PIPE_SLASH + const TK_PIVOT + const TK_PLACEHOLDER + const TK_PLUS + const TK_POINT + const TK_POLICY + const TK_POLYGON + const TK_POOL + const TK_POSITIONAL + const TK_PRAGMA + const TK_PREWHERE + const TK_PRIMARY_KEY + const TK_PROCEDURE + const TK_PROJECTION + const TK_PROPERTIES + const TK_PSEUDO_TYPE + const TK_PUT + const TK_QDCOLON + const TK_QMARK_AMP + const TK_QMARK_PIPE + const TK_QUALIFY + const TK_QUOTE + const TK_RANGE + const TK_RAW_STRING + const TK_RECURSIVE + const TK_REFERENCES + const TK_REFRESH + const TK_RENAME + const TK_REPLACE + const TK_RETURNING + const TK_REVOKE + const TK_RIGHT + const TK_RING + const TK_RLIKE + const TK_ROLE + const TK_ROLLBACK + const TK_ROLLUP + const TK_ROW + const TK_ROWS + const TK_ROWVERSION + const TK_RULE + const TK_R_BRACE + const TK_R_BRACKET + const TK_R_PAREN + const TK_SCHEMA + const TK_SELECT + const TK_SEMANTIC_VIEW + const TK_SEMI + const TK_SEMICOLON + const TK_SENTINEL + const TK_SEPARATOR + const TK_SEQUENCE + const TK_SERDE_PROPERTIES + const TK_SERIAL + const TK_SESSION + const TK_SESSION_PARAMETER + const TK_SESSION_USER + const TK_SET + const TK_SETTINGS + const TK_SHOW + const TK_SIMILAR_TO + const TK_SIMPLEAGGREGATEFUNCTION + const TK_SINK + const TK_SLASH + const TK_SMALLDATETIME + const TK_SMALLINT + const TK_SMALLMONEY + const TK_SMALLSERIAL + const TK_SOME + const TK_SORT_BY + const TK_SOUNDS_LIKE + const TK_SOURCE + const TK_SPACE + const TK_SQL_SECURITY + const TK_STAGE + const TK_STAR + const TK_START_WITH + const TK_STORAGE_INTEGRATION + const TK_STRAIGHT_JOIN + const TK_STREAM + const TK_STREAMLIT + const TK_STRING + const TK_STRUCT + const TK_SUMMARIZE + const TK_SUPER + const TK_SYSTIMESTAMP + const TK_TABLE + const TK_TABLE_SAMPLE + const TK_TAG + const TK_TDIGEST + const TK_TEMPORARY + const TK_TEXT + const TK_THEN + const TK_TILDE + const TK_TIME + const TK_TIMESTAMP + const TK_TIMESTAMPLTZ + const TK_TIMESTAMPNTZ + const TK_TIMESTAMPTZ + const TK_TIMESTAMP_MS + const TK_TIMESTAMP_NS + const TK_TIMESTAMP_S + const TK_TIMESTAMP_SNAPSHOT + const TK_TIMETZ + const TK_TIME_NS + const TK_TINYBLOB + const TK_TINYINT + const TK_TINYTEXT + const TK_TOP + const TK_TRIGGER + const TK_TRUE + const TK_TRUNCATE + const TK_TSMULTIRANGE + const TK_TSRANGE + const TK_TSTZMULTIRANGE + const TK_TSTZRANGE + const TK_TYPE + const TK_UBIGINT + const TK_UDECIMAL + const TK_UDOUBLE + const TK_UINT + const TK_UINT128 + const TK_UINT256 + const TK_UMEDIUMINT + const TK_UNCACHE + const TK_UNDROP + const TK_UNICODE_STRING + const TK_UNION + const TK_UNIQUE + const TK_UNKNOWN + const TK_UNNEST + const TK_UNPIVOT + const TK_UPDATE + const TK_URI_START + const TK_USE + const TK_USERDEFINED + const TK_USING + const TK_USMALLINT + const TK_UTC_DATE + const TK_UTC_TIME + const TK_UTC_TIMESTAMP + const TK_UTINYINT + const TK_UUID + const TK_VALUES + const TK_VAR + const TK_VARBINARY + const TK_VARCHAR + const TK_VARIADIC + const TK_VARIANT + const TK_VECTOR + const TK_VERSION_SNAPSHOT + const TK_VIEW + const TK_VOID + const TK_VOLATILE + const TK_VOLUME + const TK_WAREHOUSE + const TK_WHEN + const TK_WHERE + const TK_WINDOW + const TK_WITH + const TK_XML + const TK_XOR + const TK_YEAR + func (t TokenType) Name() string + func (t TokenType) String() string + type TokenizerSettings struct + BIT_STRINGS [][2]string + BYTE_STRINGS [][2]string + BYTE_STRING_ESCAPES []string + COMMANDS TokenSet + COMMAND_PREFIX_TOKENS TokenSet + COMMENTS [][2]string + ESCAPE_FOLLOW_CHARS []string + HEREDOC_STRINGS []string + HEREDOC_STRING_ALTERNATIVE TokenType + HEREDOC_TAG_IS_IDENTIFIER bool + HEX_STRINGS [][2]string + HINT_START string + IDENTIFIERS [][2]string + IDENTIFIER_ESCAPES []string + KEYWORDS map[string]TokenType + NESTED_COMMENTS bool + NUMBERS_CAN_HAVE_DECIMALS bool + NUMERIC_LITERALS map[string]string + QUOTES []string + RAW_STRINGS [][2]string + SINGLE_TOKENS map[string]TokenType + STRING_ESCAPES []string + STRING_ESCAPES_ALLOWED_IN_RAW_STRINGS bool + TOKENS_PRECEDING_HINT TokenSet + UNICODE_STRINGS [][2]string + VAR_SINGLE_TOKENS StrSet + type Tri int8 + const TriFalse + const TriNone + const TriTrue + type TypeAnnotator struct + func (a *TypeAnnotator) Annotate(expression *Expr, annotateScope bool) *Expr + func (a *TypeAnnotator) Clear() + func (a *TypeAnnotator) Dialect() *Dialect + func (a *TypeAnnotator) Schema() *MappingSchema + type UnsupportedError struct + Msg string + func (e *UnsupportedError) Error() string + type ValueError struct + Msg string + func (e *ValueError) Error() string