Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ScanCalls ¶
func ScanCalls(input string, options CallScanOptions) ([]Call, []CallParseError)
ScanCalls parses function calls and returns parsed calls plus malformed-call errors.
Types ¶
type CallParseError ¶
CallParseError represents a malformed call span.
type CallScanOptions ¶
type CallScanOptions struct {
AllowedNames map[string]bool
RequireDollar bool
AllowDollar bool
Strict bool
}
CallScanOptions controls call scanning behavior.
type Declaration ¶
type Declaration struct {
Kind Kind
Raw string
Offset int
Args []string
// Normalized fields for known declarations.
Target string // first argument (alias/column)
DataType string // cast(... as type)
Tag string // tag(..., "...") payload
Limit string // set_limit(..., N)
Connector string // use_connector(view, connector)
Strategy string // match_strategy(view, strategy)
Partition string // set_partitioner(view, partitioner, concurrency)
Size string // compress_above_size(size)
Value string // generic second argument (batch_size, relational_concurrency, cardinality)
Package string // package(default/package)
Alias string // import(alias, package/path)
}
Declaration represents one parsed function declaration in DQL.
func Parse ¶
func Parse(dql string) ([]*Declaration, error)
Parse extracts declarations from original DQL text.
func (*Declaration) String ¶
func (d *Declaration) String() string
type Kind ¶
type Kind string
Kind identifies parsed declaration function.
const ( KindCast Kind = "cast" KindTag Kind = "tag" KindSetLimit Kind = "set_limit" KindAllowNulls Kind = "allow_nulls" KindSetPartitioner Kind = "set_partitioner" KindUseConnector Kind = "use_connector" KindMatchStrategy Kind = "match_strategy" KindCompressAboveSize Kind = "compress_above_size" KindBatchSize Kind = "batch_size" KindRelationalConcurrency Kind = "relational_concurrency" KindPublishParent Kind = "publish_parent" KindCardinality Kind = "cardinality" KindPackage Kind = "package" KindImport Kind = "import" )
Click to show internal directories.
Click to hide internal directories.