moonrockz/partiql-syntax/ast does not have a README file
pub(all) enum DataType {
Null
Missing
Bool
TinyInt
SmallInt
Int
BigInt
Decimal(Int?, Int?)
Numeric(Int?, Int?)
Real
Double(Int?)
Char(Int?)
Varchar(Int?)
String
Symbol
Blob
Clob
Date
Time(Int?, with_tz~ : Bool)
Timestamp(Int?, with_tz~ : Bool)
Interval(IntervalQualifier)
Struct
Tuple
List
Bag
Sexp
Any
Map(DataType, DataType)
Array(DataType?)
Custom(Identifier)
} derive(Eq, Debug)pub(all) struct EdgePattern {
direction : EdgeDirection
filler : EdgeFiller?
quantifier : Quantifier?
span : Span
} derive(Eq, Debug)pub(all) enum ExprKind {
Lit(Literal)
VarRef(Identifier, qualified~ : Bool)
Parameter
Path(Expr, Array[PathStep])
Unary(UnaryOp, Expr)
Binary(BinaryOp, Expr, Expr)
And(Expr, Expr)
Or(Expr, Expr)
Not(Expr)
BoolTest(Expr, Bool?, negated~ : Bool)
Like(Expr, pattern~ : Expr, escape~ : Expr?, negated~ : Bool)
Between(Expr, low~ : Expr, high~ : Expr, negated~ : Bool)
In(Expr, Expr, negated~ : Bool)
IsNull(Expr, negated~ : Bool)
IsMissing(Expr, negated~ : Bool)
IsType(Expr, DataType, negated~ : Bool)
Overlaps(Expr, Expr)
Case(operand~ : Expr?, branches~ : Array[(Expr, Expr)], default~ : Expr?)
Cast(Expr, DataType)
Extract(DatetimeField, Expr)
Trim(spec~ : TrimSpec?, chars~ : Expr?, Expr)
Substring(Expr, start~ : Expr, length~ : Expr?)
Position(Expr, Expr)
Overlay(Expr, placing~ : Expr, from~ : Expr, for_~ : Expr?)
Coalesce(Array[Expr])
NullIf(Expr, Expr)
DateAdd(DatetimeField, Expr, Expr)
DateDiff(DatetimeField, Expr, Expr)
Call(Identifier, Array[Expr], quantifier~ : SetQuantifier?)
CallStar(Identifier)
List(Array[Expr])
Bag(Array[Expr])
Sexp(Array[Expr])
Struct(Array[(Expr, Expr)])
Map(Array[(Expr, Expr)])
Row(Array[Expr])
Values(Array[Expr])
Query(Query)
GraphMatch(GraphMatch)
Error
} derive(Eq, Debug)pub(all) struct FromSource {
lateral : Bool
expr : Expr
as_ : Identifier?
at : Identifier?
by : Identifier?
span : Span
} derive(Eq, Debug)pub(all) struct GroupPattern {
delimiter : GroupDelimiter
path : PathPattern
where_ : Expr?
quantifier : Quantifier?
span : Span
} derive(Eq, Debug)pub(all) struct IntervalQualifier {
start : DatetimeField
start_precision : Int?
end : DatetimeField?
fractional_precision : Int?
} derive(Eq, Debug)pub(all) enum Literal {
Null
Missing
Bool(Bool)
Int(String)
Decimal(String)
Float(String)
String(String)
Ion(String, IonValue)
Date(String)
Time(String, precision~ : Int?, with_tz~ : Bool)
Timestamp(String, precision~ : Int?, with_tz~ : Bool)
Interval(String, negative~ : Bool, qualifier~ : IntervalQualifier)
} derive(Debug)pub(all) struct PathPattern {
restrictor : Restrictor?
variable : Identifier?
parts : Array[PathPart]
span : Span
} derive(Eq, Debug)pub(all) struct Select {
quantifier : SetQuantifier?
projection : Projection
from : FromItem?
let_ : Array[LetBinding]
where_ : Expr?
group_by : GroupBy?
having : Expr?
span : Span
} derive(Eq, Debug)pub(all) struct SetOp {
op : SetOpKind
quantifier : SetQuantifier?
outer : Bool
corresponding : Corresponding?
left : Query
right : Query
span : Span
} derive(Eq, Debug)Install
Download zipA PartiQL parser for MoonBit.
Dependencies