From 1a4e2de73ce9a6d3f329472af0d8fcf618eaf0ee Mon Sep 17 00:00:00 2001 From: Alan Cai Date: Fri, 20 Sep 2024 17:57:27 -0700 Subject: [PATCH] (pre Kotlin -> Java) unnest Kotlin classes --- partiql-ast/api/partiql-ast.api | 1629 ++++++++--------- .../kotlin/org/partiql/ast/v1/AstVisitor.kt | 351 ++-- .../org/partiql/ast/v1/CaseSensitivity.kt | 10 + .../main/kotlin/org/partiql/ast/v1/Column.kt | 25 + .../kotlin/org/partiql/ast/v1/Constraint.kt | 20 + .../org/partiql/ast/v1/ConstraintBody.kt | 52 + .../kotlin/org/partiql/ast/v1/CreateIndex.kt | 24 + .../kotlin/org/partiql/ast/v1/CreateTable.kt | 21 + .../src/main/kotlin/org/partiql/ast/v1/DDL.kt | 14 + .../kotlin/org/partiql/ast/v1/DropIndex.kt | 21 + .../kotlin/org/partiql/ast/v1/DropTable.kt | 18 + .../main/kotlin/org/partiql/ast/v1/Exclude.kt | 79 +- .../kotlin/org/partiql/ast/v1/ExcludePath.kt | 23 + .../kotlin/org/partiql/ast/v1/ExcludeStep.kt | 56 + .../main/kotlin/org/partiql/ast/v1/Explain.kt | 18 + .../main/kotlin/org/partiql/ast/v1/Expr.kt | 884 --------- .../main/kotlin/org/partiql/ast/v1/From.kt | 82 +- .../kotlin/org/partiql/ast/v1/FromJoin.kt | 44 + .../kotlin/org/partiql/ast/v1/FromValue.kt | 40 + .../kotlin/org/partiql/ast/v1/GraphMatch.kt | 343 ---- .../main/kotlin/org/partiql/ast/v1/GroupBy.kt | 2 + .../kotlin/org/partiql/ast/v1/Identifier.kt | 9 - .../src/main/kotlin/org/partiql/ast/v1/Let.kt | 2 + .../main/kotlin/org/partiql/ast/v1/PathLit.kt | 41 +- .../kotlin/org/partiql/ast/v1/PathLitStep.kt | 36 + .../kotlin/org/partiql/ast/v1/ProjectItem.kt | 51 + .../main/kotlin/org/partiql/ast/v1/Query.kt | 20 + .../kotlin/org/partiql/ast/v1/QueryBody.kt | 2 + .../main/kotlin/org/partiql/ast/v1/Select.kt | 127 +- .../kotlin/org/partiql/ast/v1/SelectPivot.kt | 23 + .../org/partiql/ast/v1/SelectProject.kt | 20 + .../kotlin/org/partiql/ast/v1/SelectStar.kt | 14 + .../kotlin/org/partiql/ast/v1/SelectValue.kt | 22 + .../main/kotlin/org/partiql/ast/v1/Sort.kt | 2 + .../kotlin/org/partiql/ast/v1/Statement.kt | 164 +- .../org/partiql/ast/v1/TableDefinition.kt | 90 - .../main/kotlin/org/partiql/ast/v1/Target.kt | 32 + .../main/kotlin/org/partiql/ast/v1/Type.kt | 469 ----- .../kotlin/org/partiql/ast/v1/expr/Expr.kt | 45 + .../kotlin/org/partiql/ast/v1/expr/ExprAnd.kt | 24 + .../org/partiql/ast/v1/expr/ExprBetween.kt | 29 + .../org/partiql/ast/v1/expr/ExprCall.kt | 28 + .../org/partiql/ast/v1/expr/ExprCase.kt | 47 + .../org/partiql/ast/v1/expr/ExprCast.kt | 25 + .../org/partiql/ast/v1/expr/ExprCoalesce.kt | 21 + .../org/partiql/ast/v1/expr/ExprCollection.kt | 35 + .../org/partiql/ast/v1/expr/ExprDateAdd.kt | 27 + .../org/partiql/ast/v1/expr/ExprDateDiff.kt | 27 + .../org/partiql/ast/v1/expr/ExprExtract.kt | 24 + .../partiql/ast/v1/expr/ExprInCollection.kt | 26 + .../kotlin/org/partiql/ast/v1/expr/ExprIon.kt | 17 + .../org/partiql/ast/v1/expr/ExprIsType.kt | 27 + .../org/partiql/ast/v1/expr/ExprLike.kt | 29 + .../kotlin/org/partiql/ast/v1/expr/ExprLit.kt | 20 + .../org/partiql/ast/v1/expr/ExprMatch.kt | 25 + .../kotlin/org/partiql/ast/v1/expr/ExprNot.kt | 21 + .../org/partiql/ast/v1/expr/ExprNullIf.kt | 24 + .../org/partiql/ast/v1/expr/ExprOperator.kt | 26 + .../kotlin/org/partiql/ast/v1/expr/ExprOr.kt | 24 + .../org/partiql/ast/v1/expr/ExprOverlay.kt | 30 + .../org/partiql/ast/v1/expr/ExprParameter.kt | 17 + .../org/partiql/ast/v1/expr/ExprPath.kt | 24 + .../org/partiql/ast/v1/expr/ExprPathStep.kt | 72 + .../org/partiql/ast/v1/expr/ExprPosition.kt | 24 + .../org/partiql/ast/v1/expr/ExprQuerySet.kt | 32 + .../ast/v1/expr/ExprSessionAttribute.kt | 26 + .../org/partiql/ast/v1/expr/ExprStruct.kt | 41 + .../org/partiql/ast/v1/expr/ExprSubstring.kt | 27 + .../org/partiql/ast/v1/expr/ExprTrim.kt | 33 + .../org/partiql/ast/v1/expr/ExprValues.kt | 38 + .../kotlin/org/partiql/ast/v1/expr/ExprVar.kt | 33 + .../org/partiql/ast/v1/expr/ExprWindow.kt | 62 + .../partiql/ast/v1/graph/GraphDirection.kt | 15 + .../org/partiql/ast/v1/graph/GraphLabel.kt | 98 + .../org/partiql/ast/v1/graph/GraphMatch.kt | 24 + .../org/partiql/ast/v1/graph/GraphPart.kt | 83 + .../org/partiql/ast/v1/graph/GraphPattern.kt | 32 + .../partiql/ast/v1/graph/GraphQuantifier.kt | 19 + .../partiql/ast/v1/graph/GraphRestrictor.kt | 11 + .../org/partiql/ast/v1/graph/GraphSelector.kt | 88 + .../kotlin/org/partiql/ast/v1/type/Type.kt | 50 + .../kotlin/org/partiql/ast/v1/type/TypeAny.kt | 14 + .../kotlin/org/partiql/ast/v1/type/TypeBag.kt | 14 + .../org/partiql/ast/v1/type/TypeBigint.kt | 14 + .../kotlin/org/partiql/ast/v1/type/TypeBit.kt | 17 + .../org/partiql/ast/v1/type/TypeBitVarying.kt | 17 + .../org/partiql/ast/v1/type/TypeBlob.kt | 17 + .../org/partiql/ast/v1/type/TypeBool.kt | 14 + .../org/partiql/ast/v1/type/TypeByteString.kt | 17 + .../org/partiql/ast/v1/type/TypeChar.kt | 17 + .../org/partiql/ast/v1/type/TypeClob.kt | 17 + .../org/partiql/ast/v1/type/TypeCustom.kt | 17 + .../org/partiql/ast/v1/type/TypeDate.kt | 14 + .../org/partiql/ast/v1/type/TypeDecimal.kt | 19 + .../org/partiql/ast/v1/type/TypeFloat32.kt | 14 + .../org/partiql/ast/v1/type/TypeFloat64.kt | 14 + .../kotlin/org/partiql/ast/v1/type/TypeInt.kt | 14 + .../org/partiql/ast/v1/type/TypeInt2.kt | 14 + .../org/partiql/ast/v1/type/TypeInt4.kt | 14 + .../org/partiql/ast/v1/type/TypeInt8.kt | 14 + .../org/partiql/ast/v1/type/TypeInterval.kt | 17 + .../org/partiql/ast/v1/type/TypeList.kt | 14 + .../org/partiql/ast/v1/type/TypeMissing.kt | 14 + .../org/partiql/ast/v1/type/TypeNull.kt | 14 + .../org/partiql/ast/v1/type/TypeNumeric.kt | 19 + .../org/partiql/ast/v1/type/TypeReal.kt | 14 + .../org/partiql/ast/v1/type/TypeSexp.kt | 14 + .../org/partiql/ast/v1/type/TypeSmallint.kt | 14 + .../org/partiql/ast/v1/type/TypeString.kt | 17 + .../org/partiql/ast/v1/type/TypeStruct.kt | 14 + .../org/partiql/ast/v1/type/TypeSymbol.kt | 14 + .../org/partiql/ast/v1/type/TypeTime.kt | 17 + .../org/partiql/ast/v1/type/TypeTimeWithTz.kt | 17 + .../org/partiql/ast/v1/type/TypeTimestamp.kt | 17 + .../ast/v1/type/TypeTimestampWithTz.kt | 17 + .../org/partiql/ast/v1/type/TypeTinyint.kt | 14 + .../org/partiql/ast/v1/type/TypeTuple.kt | 14 + .../org/partiql/ast/v1/type/TypeVarchar.kt | 17 + 118 files changed, 3656 insertions(+), 3244 deletions(-) create mode 100644 partiql-ast/src/main/kotlin/org/partiql/ast/v1/CaseSensitivity.kt create mode 100644 partiql-ast/src/main/kotlin/org/partiql/ast/v1/Column.kt create mode 100644 partiql-ast/src/main/kotlin/org/partiql/ast/v1/Constraint.kt create mode 100644 partiql-ast/src/main/kotlin/org/partiql/ast/v1/ConstraintBody.kt create mode 100644 partiql-ast/src/main/kotlin/org/partiql/ast/v1/CreateIndex.kt create mode 100644 partiql-ast/src/main/kotlin/org/partiql/ast/v1/CreateTable.kt create mode 100644 partiql-ast/src/main/kotlin/org/partiql/ast/v1/DDL.kt create mode 100644 partiql-ast/src/main/kotlin/org/partiql/ast/v1/DropIndex.kt create mode 100644 partiql-ast/src/main/kotlin/org/partiql/ast/v1/DropTable.kt create mode 100644 partiql-ast/src/main/kotlin/org/partiql/ast/v1/ExcludePath.kt create mode 100644 partiql-ast/src/main/kotlin/org/partiql/ast/v1/ExcludeStep.kt create mode 100644 partiql-ast/src/main/kotlin/org/partiql/ast/v1/Explain.kt delete mode 100644 partiql-ast/src/main/kotlin/org/partiql/ast/v1/Expr.kt create mode 100644 partiql-ast/src/main/kotlin/org/partiql/ast/v1/FromJoin.kt create mode 100644 partiql-ast/src/main/kotlin/org/partiql/ast/v1/FromValue.kt delete mode 100644 partiql-ast/src/main/kotlin/org/partiql/ast/v1/GraphMatch.kt create mode 100644 partiql-ast/src/main/kotlin/org/partiql/ast/v1/PathLitStep.kt create mode 100644 partiql-ast/src/main/kotlin/org/partiql/ast/v1/ProjectItem.kt create mode 100644 partiql-ast/src/main/kotlin/org/partiql/ast/v1/Query.kt create mode 100644 partiql-ast/src/main/kotlin/org/partiql/ast/v1/SelectPivot.kt create mode 100644 partiql-ast/src/main/kotlin/org/partiql/ast/v1/SelectProject.kt create mode 100644 partiql-ast/src/main/kotlin/org/partiql/ast/v1/SelectStar.kt create mode 100644 partiql-ast/src/main/kotlin/org/partiql/ast/v1/SelectValue.kt create mode 100644 partiql-ast/src/main/kotlin/org/partiql/ast/v1/Target.kt delete mode 100644 partiql-ast/src/main/kotlin/org/partiql/ast/v1/Type.kt create mode 100644 partiql-ast/src/main/kotlin/org/partiql/ast/v1/expr/Expr.kt create mode 100644 partiql-ast/src/main/kotlin/org/partiql/ast/v1/expr/ExprAnd.kt create mode 100644 partiql-ast/src/main/kotlin/org/partiql/ast/v1/expr/ExprBetween.kt create mode 100644 partiql-ast/src/main/kotlin/org/partiql/ast/v1/expr/ExprCall.kt create mode 100644 partiql-ast/src/main/kotlin/org/partiql/ast/v1/expr/ExprCase.kt create mode 100644 partiql-ast/src/main/kotlin/org/partiql/ast/v1/expr/ExprCast.kt create mode 100644 partiql-ast/src/main/kotlin/org/partiql/ast/v1/expr/ExprCoalesce.kt create mode 100644 partiql-ast/src/main/kotlin/org/partiql/ast/v1/expr/ExprCollection.kt create mode 100644 partiql-ast/src/main/kotlin/org/partiql/ast/v1/expr/ExprDateAdd.kt create mode 100644 partiql-ast/src/main/kotlin/org/partiql/ast/v1/expr/ExprDateDiff.kt create mode 100644 partiql-ast/src/main/kotlin/org/partiql/ast/v1/expr/ExprExtract.kt create mode 100644 partiql-ast/src/main/kotlin/org/partiql/ast/v1/expr/ExprInCollection.kt create mode 100644 partiql-ast/src/main/kotlin/org/partiql/ast/v1/expr/ExprIon.kt create mode 100644 partiql-ast/src/main/kotlin/org/partiql/ast/v1/expr/ExprIsType.kt create mode 100644 partiql-ast/src/main/kotlin/org/partiql/ast/v1/expr/ExprLike.kt create mode 100644 partiql-ast/src/main/kotlin/org/partiql/ast/v1/expr/ExprLit.kt create mode 100644 partiql-ast/src/main/kotlin/org/partiql/ast/v1/expr/ExprMatch.kt create mode 100644 partiql-ast/src/main/kotlin/org/partiql/ast/v1/expr/ExprNot.kt create mode 100644 partiql-ast/src/main/kotlin/org/partiql/ast/v1/expr/ExprNullIf.kt create mode 100644 partiql-ast/src/main/kotlin/org/partiql/ast/v1/expr/ExprOperator.kt create mode 100644 partiql-ast/src/main/kotlin/org/partiql/ast/v1/expr/ExprOr.kt create mode 100644 partiql-ast/src/main/kotlin/org/partiql/ast/v1/expr/ExprOverlay.kt create mode 100644 partiql-ast/src/main/kotlin/org/partiql/ast/v1/expr/ExprParameter.kt create mode 100644 partiql-ast/src/main/kotlin/org/partiql/ast/v1/expr/ExprPath.kt create mode 100644 partiql-ast/src/main/kotlin/org/partiql/ast/v1/expr/ExprPathStep.kt create mode 100644 partiql-ast/src/main/kotlin/org/partiql/ast/v1/expr/ExprPosition.kt create mode 100644 partiql-ast/src/main/kotlin/org/partiql/ast/v1/expr/ExprQuerySet.kt create mode 100644 partiql-ast/src/main/kotlin/org/partiql/ast/v1/expr/ExprSessionAttribute.kt create mode 100644 partiql-ast/src/main/kotlin/org/partiql/ast/v1/expr/ExprStruct.kt create mode 100644 partiql-ast/src/main/kotlin/org/partiql/ast/v1/expr/ExprSubstring.kt create mode 100644 partiql-ast/src/main/kotlin/org/partiql/ast/v1/expr/ExprTrim.kt create mode 100644 partiql-ast/src/main/kotlin/org/partiql/ast/v1/expr/ExprValues.kt create mode 100644 partiql-ast/src/main/kotlin/org/partiql/ast/v1/expr/ExprVar.kt create mode 100644 partiql-ast/src/main/kotlin/org/partiql/ast/v1/expr/ExprWindow.kt create mode 100644 partiql-ast/src/main/kotlin/org/partiql/ast/v1/graph/GraphDirection.kt create mode 100644 partiql-ast/src/main/kotlin/org/partiql/ast/v1/graph/GraphLabel.kt create mode 100644 partiql-ast/src/main/kotlin/org/partiql/ast/v1/graph/GraphMatch.kt create mode 100644 partiql-ast/src/main/kotlin/org/partiql/ast/v1/graph/GraphPart.kt create mode 100644 partiql-ast/src/main/kotlin/org/partiql/ast/v1/graph/GraphPattern.kt create mode 100644 partiql-ast/src/main/kotlin/org/partiql/ast/v1/graph/GraphQuantifier.kt create mode 100644 partiql-ast/src/main/kotlin/org/partiql/ast/v1/graph/GraphRestrictor.kt create mode 100644 partiql-ast/src/main/kotlin/org/partiql/ast/v1/graph/GraphSelector.kt create mode 100644 partiql-ast/src/main/kotlin/org/partiql/ast/v1/type/Type.kt create mode 100644 partiql-ast/src/main/kotlin/org/partiql/ast/v1/type/TypeAny.kt create mode 100644 partiql-ast/src/main/kotlin/org/partiql/ast/v1/type/TypeBag.kt create mode 100644 partiql-ast/src/main/kotlin/org/partiql/ast/v1/type/TypeBigint.kt create mode 100644 partiql-ast/src/main/kotlin/org/partiql/ast/v1/type/TypeBit.kt create mode 100644 partiql-ast/src/main/kotlin/org/partiql/ast/v1/type/TypeBitVarying.kt create mode 100644 partiql-ast/src/main/kotlin/org/partiql/ast/v1/type/TypeBlob.kt create mode 100644 partiql-ast/src/main/kotlin/org/partiql/ast/v1/type/TypeBool.kt create mode 100644 partiql-ast/src/main/kotlin/org/partiql/ast/v1/type/TypeByteString.kt create mode 100644 partiql-ast/src/main/kotlin/org/partiql/ast/v1/type/TypeChar.kt create mode 100644 partiql-ast/src/main/kotlin/org/partiql/ast/v1/type/TypeClob.kt create mode 100644 partiql-ast/src/main/kotlin/org/partiql/ast/v1/type/TypeCustom.kt create mode 100644 partiql-ast/src/main/kotlin/org/partiql/ast/v1/type/TypeDate.kt create mode 100644 partiql-ast/src/main/kotlin/org/partiql/ast/v1/type/TypeDecimal.kt create mode 100644 partiql-ast/src/main/kotlin/org/partiql/ast/v1/type/TypeFloat32.kt create mode 100644 partiql-ast/src/main/kotlin/org/partiql/ast/v1/type/TypeFloat64.kt create mode 100644 partiql-ast/src/main/kotlin/org/partiql/ast/v1/type/TypeInt.kt create mode 100644 partiql-ast/src/main/kotlin/org/partiql/ast/v1/type/TypeInt2.kt create mode 100644 partiql-ast/src/main/kotlin/org/partiql/ast/v1/type/TypeInt4.kt create mode 100644 partiql-ast/src/main/kotlin/org/partiql/ast/v1/type/TypeInt8.kt create mode 100644 partiql-ast/src/main/kotlin/org/partiql/ast/v1/type/TypeInterval.kt create mode 100644 partiql-ast/src/main/kotlin/org/partiql/ast/v1/type/TypeList.kt create mode 100644 partiql-ast/src/main/kotlin/org/partiql/ast/v1/type/TypeMissing.kt create mode 100644 partiql-ast/src/main/kotlin/org/partiql/ast/v1/type/TypeNull.kt create mode 100644 partiql-ast/src/main/kotlin/org/partiql/ast/v1/type/TypeNumeric.kt create mode 100644 partiql-ast/src/main/kotlin/org/partiql/ast/v1/type/TypeReal.kt create mode 100644 partiql-ast/src/main/kotlin/org/partiql/ast/v1/type/TypeSexp.kt create mode 100644 partiql-ast/src/main/kotlin/org/partiql/ast/v1/type/TypeSmallint.kt create mode 100644 partiql-ast/src/main/kotlin/org/partiql/ast/v1/type/TypeString.kt create mode 100644 partiql-ast/src/main/kotlin/org/partiql/ast/v1/type/TypeStruct.kt create mode 100644 partiql-ast/src/main/kotlin/org/partiql/ast/v1/type/TypeSymbol.kt create mode 100644 partiql-ast/src/main/kotlin/org/partiql/ast/v1/type/TypeTime.kt create mode 100644 partiql-ast/src/main/kotlin/org/partiql/ast/v1/type/TypeTimeWithTz.kt create mode 100644 partiql-ast/src/main/kotlin/org/partiql/ast/v1/type/TypeTimestamp.kt create mode 100644 partiql-ast/src/main/kotlin/org/partiql/ast/v1/type/TypeTimestampWithTz.kt create mode 100644 partiql-ast/src/main/kotlin/org/partiql/ast/v1/type/TypeTinyint.kt create mode 100644 partiql-ast/src/main/kotlin/org/partiql/ast/v1/type/TypeTuple.kt create mode 100644 partiql-ast/src/main/kotlin/org/partiql/ast/v1/type/TypeVarchar.kt diff --git a/partiql-ast/api/partiql-ast.api b/partiql-ast/api/partiql-ast.api index c4dcc541c3..80720ef786 100644 --- a/partiql-ast/api/partiql-ast.api +++ b/partiql-ast/api/partiql-ast.api @@ -5610,78 +5610,90 @@ public abstract class org/partiql/ast/v1/AstNode { public abstract interface class org/partiql/ast/v1/AstVisitor { public abstract fun visit (Lorg/partiql/ast/v1/AstNode;Ljava/lang/Object;)Ljava/lang/Object; + public abstract fun visitColumn (Lorg/partiql/ast/v1/Column;Ljava/lang/Object;)Ljava/lang/Object; + public abstract fun visitConstraint (Lorg/partiql/ast/v1/Constraint;Ljava/lang/Object;)Ljava/lang/Object; + public abstract fun visitConstraintBody (Lorg/partiql/ast/v1/ConstraintBody;Ljava/lang/Object;)Ljava/lang/Object; + public abstract fun visitConstraintBodyCheck (Lorg/partiql/ast/v1/ConstraintBody$Check;Ljava/lang/Object;)Ljava/lang/Object; + public abstract fun visitConstraintBodyNotNull (Lorg/partiql/ast/v1/ConstraintBody$NotNull;Ljava/lang/Object;)Ljava/lang/Object; + public abstract fun visitConstraintBodyNullable (Lorg/partiql/ast/v1/ConstraintBody$Nullable;Ljava/lang/Object;)Ljava/lang/Object; + public abstract fun visitCreateIndex (Lorg/partiql/ast/v1/CreateIndex;Ljava/lang/Object;)Ljava/lang/Object; + public abstract fun visitCreateTable (Lorg/partiql/ast/v1/CreateTable;Ljava/lang/Object;)Ljava/lang/Object; + public abstract fun visitDDL (Lorg/partiql/ast/v1/DDL;Ljava/lang/Object;)Ljava/lang/Object; + public abstract fun visitDropIndex (Lorg/partiql/ast/v1/DropIndex;Ljava/lang/Object;)Ljava/lang/Object; + public abstract fun visitDropTable (Lorg/partiql/ast/v1/DropTable;Ljava/lang/Object;)Ljava/lang/Object; public abstract fun visitExclude (Lorg/partiql/ast/v1/Exclude;Ljava/lang/Object;)Ljava/lang/Object; - public abstract fun visitExcludeItem (Lorg/partiql/ast/v1/Exclude$Item;Ljava/lang/Object;)Ljava/lang/Object; - public abstract fun visitExcludeStep (Lorg/partiql/ast/v1/Exclude$Step;Ljava/lang/Object;)Ljava/lang/Object; - public abstract fun visitExcludeStepCollIndex (Lorg/partiql/ast/v1/Exclude$Step$CollIndex;Ljava/lang/Object;)Ljava/lang/Object; - public abstract fun visitExcludeStepCollWildcard (Lorg/partiql/ast/v1/Exclude$Step$CollWildcard;Ljava/lang/Object;)Ljava/lang/Object; - public abstract fun visitExcludeStepStructField (Lorg/partiql/ast/v1/Exclude$Step$StructField;Ljava/lang/Object;)Ljava/lang/Object; - public abstract fun visitExcludeStepStructWildcard (Lorg/partiql/ast/v1/Exclude$Step$StructWildcard;Ljava/lang/Object;)Ljava/lang/Object; - public abstract fun visitExpr (Lorg/partiql/ast/v1/Expr;Ljava/lang/Object;)Ljava/lang/Object; - public abstract fun visitExprAnd (Lorg/partiql/ast/v1/Expr$And;Ljava/lang/Object;)Ljava/lang/Object; - public abstract fun visitExprBetween (Lorg/partiql/ast/v1/Expr$Between;Ljava/lang/Object;)Ljava/lang/Object; - public abstract fun visitExprCall (Lorg/partiql/ast/v1/Expr$Call;Ljava/lang/Object;)Ljava/lang/Object; - public abstract fun visitExprCase (Lorg/partiql/ast/v1/Expr$Case;Ljava/lang/Object;)Ljava/lang/Object; - public abstract fun visitExprCaseBranch (Lorg/partiql/ast/v1/Expr$Case$Branch;Ljava/lang/Object;)Ljava/lang/Object; - public abstract fun visitExprCast (Lorg/partiql/ast/v1/Expr$Cast;Ljava/lang/Object;)Ljava/lang/Object; - public abstract fun visitExprCoalesce (Lorg/partiql/ast/v1/Expr$Coalesce;Ljava/lang/Object;)Ljava/lang/Object; - public abstract fun visitExprCollection (Lorg/partiql/ast/v1/Expr$Collection;Ljava/lang/Object;)Ljava/lang/Object; - public abstract fun visitExprDateAdd (Lorg/partiql/ast/v1/Expr$DateAdd;Ljava/lang/Object;)Ljava/lang/Object; - public abstract fun visitExprDateDiff (Lorg/partiql/ast/v1/Expr$DateDiff;Ljava/lang/Object;)Ljava/lang/Object; - public abstract fun visitExprExtract (Lorg/partiql/ast/v1/Expr$Extract;Ljava/lang/Object;)Ljava/lang/Object; - public abstract fun visitExprInCollection (Lorg/partiql/ast/v1/Expr$InCollection;Ljava/lang/Object;)Ljava/lang/Object; - public abstract fun visitExprIon (Lorg/partiql/ast/v1/Expr$Ion;Ljava/lang/Object;)Ljava/lang/Object; - public abstract fun visitExprIsType (Lorg/partiql/ast/v1/Expr$IsType;Ljava/lang/Object;)Ljava/lang/Object; - public abstract fun visitExprLike (Lorg/partiql/ast/v1/Expr$Like;Ljava/lang/Object;)Ljava/lang/Object; - public abstract fun visitExprLit (Lorg/partiql/ast/v1/Expr$Lit;Ljava/lang/Object;)Ljava/lang/Object; - public abstract fun visitExprMatch (Lorg/partiql/ast/v1/Expr$Match;Ljava/lang/Object;)Ljava/lang/Object; - public abstract fun visitExprNot (Lorg/partiql/ast/v1/Expr$Not;Ljava/lang/Object;)Ljava/lang/Object; - public abstract fun visitExprNullIf (Lorg/partiql/ast/v1/Expr$NullIf;Ljava/lang/Object;)Ljava/lang/Object; - public abstract fun visitExprOperator (Lorg/partiql/ast/v1/Expr$Operator;Ljava/lang/Object;)Ljava/lang/Object; - public abstract fun visitExprOr (Lorg/partiql/ast/v1/Expr$Or;Ljava/lang/Object;)Ljava/lang/Object; - public abstract fun visitExprOverlay (Lorg/partiql/ast/v1/Expr$Overlay;Ljava/lang/Object;)Ljava/lang/Object; - public abstract fun visitExprParameter (Lorg/partiql/ast/v1/Expr$Parameter;Ljava/lang/Object;)Ljava/lang/Object; - public abstract fun visitExprPath (Lorg/partiql/ast/v1/Expr$Path;Ljava/lang/Object;)Ljava/lang/Object; - public abstract fun visitExprPathStep (Lorg/partiql/ast/v1/Expr$Path$Step;Ljava/lang/Object;)Ljava/lang/Object; - public abstract fun visitExprPathStepIndex (Lorg/partiql/ast/v1/Expr$Path$Step$Index;Ljava/lang/Object;)Ljava/lang/Object; - public abstract fun visitExprPathStepSymbol (Lorg/partiql/ast/v1/Expr$Path$Step$Symbol;Ljava/lang/Object;)Ljava/lang/Object; - public abstract fun visitExprPathStepUnpivot (Lorg/partiql/ast/v1/Expr$Path$Step$Unpivot;Ljava/lang/Object;)Ljava/lang/Object; - public abstract fun visitExprPathStepWildcard (Lorg/partiql/ast/v1/Expr$Path$Step$Wildcard;Ljava/lang/Object;)Ljava/lang/Object; - public abstract fun visitExprPosition (Lorg/partiql/ast/v1/Expr$Position;Ljava/lang/Object;)Ljava/lang/Object; - public abstract fun visitExprQuerySet (Lorg/partiql/ast/v1/Expr$QuerySet;Ljava/lang/Object;)Ljava/lang/Object; - public abstract fun visitExprSessionAttribute (Lorg/partiql/ast/v1/Expr$SessionAttribute;Ljava/lang/Object;)Ljava/lang/Object; - public abstract fun visitExprStruct (Lorg/partiql/ast/v1/Expr$Struct;Ljava/lang/Object;)Ljava/lang/Object; - public abstract fun visitExprStructField (Lorg/partiql/ast/v1/Expr$Struct$Field;Ljava/lang/Object;)Ljava/lang/Object; - public abstract fun visitExprSubstring (Lorg/partiql/ast/v1/Expr$Substring;Ljava/lang/Object;)Ljava/lang/Object; - public abstract fun visitExprTrim (Lorg/partiql/ast/v1/Expr$Trim;Ljava/lang/Object;)Ljava/lang/Object; - public abstract fun visitExprValues (Lorg/partiql/ast/v1/Expr$Values;Ljava/lang/Object;)Ljava/lang/Object; - public abstract fun visitExprValuesRow (Lorg/partiql/ast/v1/Expr$Values$Row;Ljava/lang/Object;)Ljava/lang/Object; - public abstract fun visitExprVar (Lorg/partiql/ast/v1/Expr$Var;Ljava/lang/Object;)Ljava/lang/Object; - public abstract fun visitExprWindow (Lorg/partiql/ast/v1/Expr$Window;Ljava/lang/Object;)Ljava/lang/Object; - public abstract fun visitExprWindowOver (Lorg/partiql/ast/v1/Expr$Window$Over;Ljava/lang/Object;)Ljava/lang/Object; + public abstract fun visitExcludePath (Lorg/partiql/ast/v1/ExcludePath;Ljava/lang/Object;)Ljava/lang/Object; + public abstract fun visitExcludeStep (Lorg/partiql/ast/v1/ExcludeStep;Ljava/lang/Object;)Ljava/lang/Object; + public abstract fun visitExcludeStepCollIndex (Lorg/partiql/ast/v1/ExcludeStep$CollIndex;Ljava/lang/Object;)Ljava/lang/Object; + public abstract fun visitExcludeStepCollWildcard (Lorg/partiql/ast/v1/ExcludeStep$CollWildcard;Ljava/lang/Object;)Ljava/lang/Object; + public abstract fun visitExcludeStepStructField (Lorg/partiql/ast/v1/ExcludeStep$StructField;Ljava/lang/Object;)Ljava/lang/Object; + public abstract fun visitExcludeStepStructWildcard (Lorg/partiql/ast/v1/ExcludeStep$StructWildcard;Ljava/lang/Object;)Ljava/lang/Object; + public abstract fun visitExplain (Lorg/partiql/ast/v1/Explain;Ljava/lang/Object;)Ljava/lang/Object; + public abstract fun visitExpr (Lorg/partiql/ast/v1/expr/Expr;Ljava/lang/Object;)Ljava/lang/Object; + public abstract fun visitExprAnd (Lorg/partiql/ast/v1/expr/ExprAnd;Ljava/lang/Object;)Ljava/lang/Object; + public abstract fun visitExprBetween (Lorg/partiql/ast/v1/expr/ExprBetween;Ljava/lang/Object;)Ljava/lang/Object; + public abstract fun visitExprCall (Lorg/partiql/ast/v1/expr/ExprCall;Ljava/lang/Object;)Ljava/lang/Object; + public abstract fun visitExprCase (Lorg/partiql/ast/v1/expr/ExprCase;Ljava/lang/Object;)Ljava/lang/Object; + public abstract fun visitExprCaseBranch (Lorg/partiql/ast/v1/expr/ExprCase$Branch;Ljava/lang/Object;)Ljava/lang/Object; + public abstract fun visitExprCast (Lorg/partiql/ast/v1/expr/ExprCast;Ljava/lang/Object;)Ljava/lang/Object; + public abstract fun visitExprCoalesce (Lorg/partiql/ast/v1/expr/ExprCoalesce;Ljava/lang/Object;)Ljava/lang/Object; + public abstract fun visitExprCollection (Lorg/partiql/ast/v1/expr/ExprCollection;Ljava/lang/Object;)Ljava/lang/Object; + public abstract fun visitExprDateAdd (Lorg/partiql/ast/v1/expr/ExprDateAdd;Ljava/lang/Object;)Ljava/lang/Object; + public abstract fun visitExprDateDiff (Lorg/partiql/ast/v1/expr/ExprDateDiff;Ljava/lang/Object;)Ljava/lang/Object; + public abstract fun visitExprExtract (Lorg/partiql/ast/v1/expr/ExprExtract;Ljava/lang/Object;)Ljava/lang/Object; + public abstract fun visitExprInCollection (Lorg/partiql/ast/v1/expr/ExprInCollection;Ljava/lang/Object;)Ljava/lang/Object; + public abstract fun visitExprIon (Lorg/partiql/ast/v1/expr/ExprIon;Ljava/lang/Object;)Ljava/lang/Object; + public abstract fun visitExprIsType (Lorg/partiql/ast/v1/expr/ExprIsType;Ljava/lang/Object;)Ljava/lang/Object; + public abstract fun visitExprLike (Lorg/partiql/ast/v1/expr/ExprLike;Ljava/lang/Object;)Ljava/lang/Object; + public abstract fun visitExprLit (Lorg/partiql/ast/v1/expr/ExprLit;Ljava/lang/Object;)Ljava/lang/Object; + public abstract fun visitExprMatch (Lorg/partiql/ast/v1/expr/ExprMatch;Ljava/lang/Object;)Ljava/lang/Object; + public abstract fun visitExprNot (Lorg/partiql/ast/v1/expr/ExprNot;Ljava/lang/Object;)Ljava/lang/Object; + public abstract fun visitExprNullIf (Lorg/partiql/ast/v1/expr/ExprNullIf;Ljava/lang/Object;)Ljava/lang/Object; + public abstract fun visitExprOperator (Lorg/partiql/ast/v1/expr/ExprOperator;Ljava/lang/Object;)Ljava/lang/Object; + public abstract fun visitExprOr (Lorg/partiql/ast/v1/expr/ExprOr;Ljava/lang/Object;)Ljava/lang/Object; + public abstract fun visitExprOverlay (Lorg/partiql/ast/v1/expr/ExprOverlay;Ljava/lang/Object;)Ljava/lang/Object; + public abstract fun visitExprParameter (Lorg/partiql/ast/v1/expr/ExprParameter;Ljava/lang/Object;)Ljava/lang/Object; + public abstract fun visitExprPath (Lorg/partiql/ast/v1/expr/ExprPath;Ljava/lang/Object;)Ljava/lang/Object; + public abstract fun visitExprPathStep (Lorg/partiql/ast/v1/expr/ExprPathStep;Ljava/lang/Object;)Ljava/lang/Object; + public abstract fun visitExprPathStepIndex (Lorg/partiql/ast/v1/expr/ExprPathStep$Index;Ljava/lang/Object;)Ljava/lang/Object; + public abstract fun visitExprPathStepSymbol (Lorg/partiql/ast/v1/expr/ExprPathStep$Symbol;Ljava/lang/Object;)Ljava/lang/Object; + public abstract fun visitExprPathStepUnpivot (Lorg/partiql/ast/v1/expr/ExprPathStep$Unpivot;Ljava/lang/Object;)Ljava/lang/Object; + public abstract fun visitExprPathStepWildcard (Lorg/partiql/ast/v1/expr/ExprPathStep$Wildcard;Ljava/lang/Object;)Ljava/lang/Object; + public abstract fun visitExprPosition (Lorg/partiql/ast/v1/expr/ExprPosition;Ljava/lang/Object;)Ljava/lang/Object; + public abstract fun visitExprQuerySet (Lorg/partiql/ast/v1/expr/ExprQuerySet;Ljava/lang/Object;)Ljava/lang/Object; + public abstract fun visitExprSessionAttribute (Lorg/partiql/ast/v1/expr/ExprSessionAttribute;Ljava/lang/Object;)Ljava/lang/Object; + public abstract fun visitExprStruct (Lorg/partiql/ast/v1/expr/ExprStruct;Ljava/lang/Object;)Ljava/lang/Object; + public abstract fun visitExprStructField (Lorg/partiql/ast/v1/expr/ExprStruct$Field;Ljava/lang/Object;)Ljava/lang/Object; + public abstract fun visitExprSubstring (Lorg/partiql/ast/v1/expr/ExprSubstring;Ljava/lang/Object;)Ljava/lang/Object; + public abstract fun visitExprTrim (Lorg/partiql/ast/v1/expr/ExprTrim;Ljava/lang/Object;)Ljava/lang/Object; + public abstract fun visitExprValues (Lorg/partiql/ast/v1/expr/ExprValues;Ljava/lang/Object;)Ljava/lang/Object; + public abstract fun visitExprValuesRow (Lorg/partiql/ast/v1/expr/ExprValues$Row;Ljava/lang/Object;)Ljava/lang/Object; + public abstract fun visitExprVar (Lorg/partiql/ast/v1/expr/ExprVar;Ljava/lang/Object;)Ljava/lang/Object; + public abstract fun visitExprWindow (Lorg/partiql/ast/v1/expr/ExprWindow;Ljava/lang/Object;)Ljava/lang/Object; + public abstract fun visitExprWindowOver (Lorg/partiql/ast/v1/expr/ExprWindow$Over;Ljava/lang/Object;)Ljava/lang/Object; public abstract fun visitFrom (Lorg/partiql/ast/v1/From;Ljava/lang/Object;)Ljava/lang/Object; - public abstract fun visitFromJoin (Lorg/partiql/ast/v1/From$Join;Ljava/lang/Object;)Ljava/lang/Object; - public abstract fun visitFromValue (Lorg/partiql/ast/v1/From$Value;Ljava/lang/Object;)Ljava/lang/Object; - public abstract fun visitGraphMatch (Lorg/partiql/ast/v1/GraphMatch;Ljava/lang/Object;)Ljava/lang/Object; - public abstract fun visitGraphMatchLabel (Lorg/partiql/ast/v1/GraphMatch$Label;Ljava/lang/Object;)Ljava/lang/Object; - public abstract fun visitGraphMatchLabelConj (Lorg/partiql/ast/v1/GraphMatch$Label$Conj;Ljava/lang/Object;)Ljava/lang/Object; - public abstract fun visitGraphMatchLabelDisj (Lorg/partiql/ast/v1/GraphMatch$Label$Disj;Ljava/lang/Object;)Ljava/lang/Object; - public abstract fun visitGraphMatchLabelName (Lorg/partiql/ast/v1/GraphMatch$Label$Name;Ljava/lang/Object;)Ljava/lang/Object; - public abstract fun visitGraphMatchLabelNegation (Lorg/partiql/ast/v1/GraphMatch$Label$Negation;Ljava/lang/Object;)Ljava/lang/Object; - public abstract fun visitGraphMatchLabelWildcard (Lorg/partiql/ast/v1/GraphMatch$Label$Wildcard;Ljava/lang/Object;)Ljava/lang/Object; - public abstract fun visitGraphMatchPattern (Lorg/partiql/ast/v1/GraphMatch$Pattern;Ljava/lang/Object;)Ljava/lang/Object; - public abstract fun visitGraphMatchPatternPart (Lorg/partiql/ast/v1/GraphMatch$Pattern$Part;Ljava/lang/Object;)Ljava/lang/Object; - public abstract fun visitGraphMatchPatternPartEdge (Lorg/partiql/ast/v1/GraphMatch$Pattern$Part$Edge;Ljava/lang/Object;)Ljava/lang/Object; - public abstract fun visitGraphMatchPatternPartNode (Lorg/partiql/ast/v1/GraphMatch$Pattern$Part$Node;Ljava/lang/Object;)Ljava/lang/Object; - public abstract fun visitGraphMatchPatternPartPattern (Lorg/partiql/ast/v1/GraphMatch$Pattern$Part$Pattern;Ljava/lang/Object;)Ljava/lang/Object; - public abstract fun visitGraphMatchQuantifier (Lorg/partiql/ast/v1/GraphMatch$Quantifier;Ljava/lang/Object;)Ljava/lang/Object; - public abstract fun visitGraphMatchSelector (Lorg/partiql/ast/v1/GraphMatch$Selector;Ljava/lang/Object;)Ljava/lang/Object; - public abstract fun visitGraphMatchSelectorAllShortest (Lorg/partiql/ast/v1/GraphMatch$Selector$AllShortest;Ljava/lang/Object;)Ljava/lang/Object; - public abstract fun visitGraphMatchSelectorAny (Lorg/partiql/ast/v1/GraphMatch$Selector$Any;Ljava/lang/Object;)Ljava/lang/Object; - public abstract fun visitGraphMatchSelectorAnyK (Lorg/partiql/ast/v1/GraphMatch$Selector$AnyK;Ljava/lang/Object;)Ljava/lang/Object; - public abstract fun visitGraphMatchSelectorAnyShortest (Lorg/partiql/ast/v1/GraphMatch$Selector$AnyShortest;Ljava/lang/Object;)Ljava/lang/Object; - public abstract fun visitGraphMatchSelectorShortestK (Lorg/partiql/ast/v1/GraphMatch$Selector$ShortestK;Ljava/lang/Object;)Ljava/lang/Object; - public abstract fun visitGraphMatchSelectorShortestKGroup (Lorg/partiql/ast/v1/GraphMatch$Selector$ShortestKGroup;Ljava/lang/Object;)Ljava/lang/Object; + public abstract fun visitFromJoin (Lorg/partiql/ast/v1/FromJoin;Ljava/lang/Object;)Ljava/lang/Object; + public abstract fun visitFromValue (Lorg/partiql/ast/v1/FromValue;Ljava/lang/Object;)Ljava/lang/Object; + public abstract fun visitGraphLabel (Lorg/partiql/ast/v1/graph/GraphLabel;Ljava/lang/Object;)Ljava/lang/Object; + public abstract fun visitGraphLabelConj (Lorg/partiql/ast/v1/graph/GraphLabel$Conj;Ljava/lang/Object;)Ljava/lang/Object; + public abstract fun visitGraphLabelDisj (Lorg/partiql/ast/v1/graph/GraphLabel$Disj;Ljava/lang/Object;)Ljava/lang/Object; + public abstract fun visitGraphLabelName (Lorg/partiql/ast/v1/graph/GraphLabel$Name;Ljava/lang/Object;)Ljava/lang/Object; + public abstract fun visitGraphLabelNegation (Lorg/partiql/ast/v1/graph/GraphLabel$Negation;Ljava/lang/Object;)Ljava/lang/Object; + public abstract fun visitGraphLabelWildcard (Lorg/partiql/ast/v1/graph/GraphLabel$Wildcard;Ljava/lang/Object;)Ljava/lang/Object; + public abstract fun visitGraphMatch (Lorg/partiql/ast/v1/graph/GraphMatch;Ljava/lang/Object;)Ljava/lang/Object; + public abstract fun visitGraphMatchPattern (Lorg/partiql/ast/v1/graph/GraphPattern;Ljava/lang/Object;)Ljava/lang/Object; + public abstract fun visitGraphPart (Lorg/partiql/ast/v1/graph/GraphPart;Ljava/lang/Object;)Ljava/lang/Object; + public abstract fun visitGraphPartEdge (Lorg/partiql/ast/v1/graph/GraphPart$Edge;Ljava/lang/Object;)Ljava/lang/Object; + public abstract fun visitGraphPartNode (Lorg/partiql/ast/v1/graph/GraphPart$Node;Ljava/lang/Object;)Ljava/lang/Object; + public abstract fun visitGraphPartPattern (Lorg/partiql/ast/v1/graph/GraphPart$Pattern;Ljava/lang/Object;)Ljava/lang/Object; + public abstract fun visitGraphQuantifier (Lorg/partiql/ast/v1/graph/GraphQuantifier;Ljava/lang/Object;)Ljava/lang/Object; + public abstract fun visitGraphSelector (Lorg/partiql/ast/v1/graph/GraphSelector;Ljava/lang/Object;)Ljava/lang/Object; + public abstract fun visitGraphSelectorAllShortest (Lorg/partiql/ast/v1/graph/GraphSelector$AllShortest;Ljava/lang/Object;)Ljava/lang/Object; + public abstract fun visitGraphSelectorAny (Lorg/partiql/ast/v1/graph/GraphSelector$Any;Ljava/lang/Object;)Ljava/lang/Object; + public abstract fun visitGraphSelectorAnyK (Lorg/partiql/ast/v1/graph/GraphSelector$AnyK;Ljava/lang/Object;)Ljava/lang/Object; + public abstract fun visitGraphSelectorAnyShortest (Lorg/partiql/ast/v1/graph/GraphSelector$AnyShortest;Ljava/lang/Object;)Ljava/lang/Object; + public abstract fun visitGraphSelectorShortestK (Lorg/partiql/ast/v1/graph/GraphSelector$ShortestK;Ljava/lang/Object;)Ljava/lang/Object; + public abstract fun visitGraphSelectorShortestKGroup (Lorg/partiql/ast/v1/graph/GraphSelector$ShortestKGroup;Ljava/lang/Object;)Ljava/lang/Object; public abstract fun visitGroupBy (Lorg/partiql/ast/v1/GroupBy;Ljava/lang/Object;)Ljava/lang/Object; public abstract fun visitGroupByKey (Lorg/partiql/ast/v1/GroupBy$Key;Ljava/lang/Object;)Ljava/lang/Object; public abstract fun visitIdentifier (Lorg/partiql/ast/v1/Identifier;Ljava/lang/Object;)Ljava/lang/Object; @@ -5690,1226 +5702,1177 @@ public abstract interface class org/partiql/ast/v1/AstVisitor { public abstract fun visitLet (Lorg/partiql/ast/v1/Let;Ljava/lang/Object;)Ljava/lang/Object; public abstract fun visitLetBinding (Lorg/partiql/ast/v1/Let$Binding;Ljava/lang/Object;)Ljava/lang/Object; public abstract fun visitOrderBy (Lorg/partiql/ast/v1/OrderBy;Ljava/lang/Object;)Ljava/lang/Object; - public abstract fun visitPath (Lorg/partiql/ast/v1/PathLit;Ljava/lang/Object;)Ljava/lang/Object; - public abstract fun visitPathStep (Lorg/partiql/ast/v1/PathLit$Step;Ljava/lang/Object;)Ljava/lang/Object; - public abstract fun visitPathStepIndex (Lorg/partiql/ast/v1/PathLit$Step$Index;Ljava/lang/Object;)Ljava/lang/Object; - public abstract fun visitPathStepSymbol (Lorg/partiql/ast/v1/PathLit$Step$Symbol;Ljava/lang/Object;)Ljava/lang/Object; + public abstract fun visitPathLit (Lorg/partiql/ast/v1/PathLit;Ljava/lang/Object;)Ljava/lang/Object; + public abstract fun visitPathLitStep (Lorg/partiql/ast/v1/PathLitStep;Ljava/lang/Object;)Ljava/lang/Object; + public abstract fun visitPathLitStepIndex (Lorg/partiql/ast/v1/PathLitStep$Index;Ljava/lang/Object;)Ljava/lang/Object; + public abstract fun visitPathLitStepSymbol (Lorg/partiql/ast/v1/PathLitStep$Symbol;Ljava/lang/Object;)Ljava/lang/Object; + public abstract fun visitProjectItem (Lorg/partiql/ast/v1/ProjectItem;Ljava/lang/Object;)Ljava/lang/Object; + public abstract fun visitProjectItemAll (Lorg/partiql/ast/v1/ProjectItem$All;Ljava/lang/Object;)Ljava/lang/Object; + public abstract fun visitProjectItemExpression (Lorg/partiql/ast/v1/ProjectItem$Expression;Ljava/lang/Object;)Ljava/lang/Object; + public abstract fun visitQuery (Lorg/partiql/ast/v1/Query;Ljava/lang/Object;)Ljava/lang/Object; public abstract fun visitQueryBody (Lorg/partiql/ast/v1/QueryBody;Ljava/lang/Object;)Ljava/lang/Object; public abstract fun visitQueryBodySFW (Lorg/partiql/ast/v1/QueryBody$SFW;Ljava/lang/Object;)Ljava/lang/Object; public abstract fun visitQueryBodySetOp (Lorg/partiql/ast/v1/QueryBody$SetOp;Ljava/lang/Object;)Ljava/lang/Object; public abstract fun visitSelect (Lorg/partiql/ast/v1/Select;Ljava/lang/Object;)Ljava/lang/Object; - public abstract fun visitSelectPivot (Lorg/partiql/ast/v1/Select$Pivot;Ljava/lang/Object;)Ljava/lang/Object; - public abstract fun visitSelectProject (Lorg/partiql/ast/v1/Select$Project;Ljava/lang/Object;)Ljava/lang/Object; - public abstract fun visitSelectProjectItem (Lorg/partiql/ast/v1/Select$Project$Item;Ljava/lang/Object;)Ljava/lang/Object; - public abstract fun visitSelectProjectItemAll (Lorg/partiql/ast/v1/Select$Project$Item$All;Ljava/lang/Object;)Ljava/lang/Object; - public abstract fun visitSelectProjectItemExpression (Lorg/partiql/ast/v1/Select$Project$Item$Expression;Ljava/lang/Object;)Ljava/lang/Object; - public abstract fun visitSelectStar (Lorg/partiql/ast/v1/Select$Star;Ljava/lang/Object;)Ljava/lang/Object; - public abstract fun visitSelectValue (Lorg/partiql/ast/v1/Select$Value;Ljava/lang/Object;)Ljava/lang/Object; + public abstract fun visitSelectPivot (Lorg/partiql/ast/v1/SelectPivot;Ljava/lang/Object;)Ljava/lang/Object; + public abstract fun visitSelectProject (Lorg/partiql/ast/v1/SelectProject;Ljava/lang/Object;)Ljava/lang/Object; + public abstract fun visitSelectStar (Lorg/partiql/ast/v1/SelectStar;Ljava/lang/Object;)Ljava/lang/Object; + public abstract fun visitSelectValue (Lorg/partiql/ast/v1/SelectValue;Ljava/lang/Object;)Ljava/lang/Object; public abstract fun visitSetOp (Lorg/partiql/ast/v1/SetOp;Ljava/lang/Object;)Ljava/lang/Object; public abstract fun visitSort (Lorg/partiql/ast/v1/Sort;Ljava/lang/Object;)Ljava/lang/Object; public abstract fun visitStatement (Lorg/partiql/ast/v1/Statement;Ljava/lang/Object;)Ljava/lang/Object; - public abstract fun visitStatementDDL (Lorg/partiql/ast/v1/Statement$DDL;Ljava/lang/Object;)Ljava/lang/Object; - public abstract fun visitStatementDDLCreateIndex (Lorg/partiql/ast/v1/Statement$DDL$CreateIndex;Ljava/lang/Object;)Ljava/lang/Object; - public abstract fun visitStatementDDLCreateTable (Lorg/partiql/ast/v1/Statement$DDL$CreateTable;Ljava/lang/Object;)Ljava/lang/Object; - public abstract fun visitStatementDDLDropIndex (Lorg/partiql/ast/v1/Statement$DDL$DropIndex;Ljava/lang/Object;)Ljava/lang/Object; - public abstract fun visitStatementDDLDropTable (Lorg/partiql/ast/v1/Statement$DDL$DropTable;Ljava/lang/Object;)Ljava/lang/Object; - public abstract fun visitStatementExplain (Lorg/partiql/ast/v1/Statement$Explain;Ljava/lang/Object;)Ljava/lang/Object; - public abstract fun visitStatementExplainTarget (Lorg/partiql/ast/v1/Statement$Explain$Target;Ljava/lang/Object;)Ljava/lang/Object; - public abstract fun visitStatementExplainTargetDomain (Lorg/partiql/ast/v1/Statement$Explain$Target$Domain;Ljava/lang/Object;)Ljava/lang/Object; - public abstract fun visitStatementQuery (Lorg/partiql/ast/v1/Statement$Query;Ljava/lang/Object;)Ljava/lang/Object; public abstract fun visitTableDefinition (Lorg/partiql/ast/v1/TableDefinition;Ljava/lang/Object;)Ljava/lang/Object; - public abstract fun visitTableDefinitionColumn (Lorg/partiql/ast/v1/TableDefinition$Column;Ljava/lang/Object;)Ljava/lang/Object; - public abstract fun visitTableDefinitionColumnConstraint (Lorg/partiql/ast/v1/TableDefinition$Column$Constraint;Ljava/lang/Object;)Ljava/lang/Object; - public abstract fun visitTableDefinitionColumnConstraintBody (Lorg/partiql/ast/v1/TableDefinition$Column$Constraint$Body;Ljava/lang/Object;)Ljava/lang/Object; - public abstract fun visitTableDefinitionColumnConstraintBodyCheck (Lorg/partiql/ast/v1/TableDefinition$Column$Constraint$Body$Check;Ljava/lang/Object;)Ljava/lang/Object; - public abstract fun visitTableDefinitionColumnConstraintBodyNotNull (Lorg/partiql/ast/v1/TableDefinition$Column$Constraint$Body$NotNull;Ljava/lang/Object;)Ljava/lang/Object; - public abstract fun visitTableDefinitionColumnConstraintBodyNullable (Lorg/partiql/ast/v1/TableDefinition$Column$Constraint$Body$Nullable;Ljava/lang/Object;)Ljava/lang/Object; - public abstract fun visitType (Lorg/partiql/ast/v1/Type;Ljava/lang/Object;)Ljava/lang/Object; - public abstract fun visitTypeAny (Lorg/partiql/ast/v1/Type$Any;Ljava/lang/Object;)Ljava/lang/Object; - public abstract fun visitTypeBag (Lorg/partiql/ast/v1/Type$Bag;Ljava/lang/Object;)Ljava/lang/Object; - public abstract fun visitTypeBigint (Lorg/partiql/ast/v1/Type$Bigint;Ljava/lang/Object;)Ljava/lang/Object; - public abstract fun visitTypeBit (Lorg/partiql/ast/v1/Type$Bit;Ljava/lang/Object;)Ljava/lang/Object; - public abstract fun visitTypeBitVarying (Lorg/partiql/ast/v1/Type$BitVarying;Ljava/lang/Object;)Ljava/lang/Object; - public abstract fun visitTypeBlob (Lorg/partiql/ast/v1/Type$Blob;Ljava/lang/Object;)Ljava/lang/Object; - public abstract fun visitTypeBool (Lorg/partiql/ast/v1/Type$Bool;Ljava/lang/Object;)Ljava/lang/Object; - public abstract fun visitTypeByteString (Lorg/partiql/ast/v1/Type$ByteString;Ljava/lang/Object;)Ljava/lang/Object; - public abstract fun visitTypeChar (Lorg/partiql/ast/v1/Type$Char;Ljava/lang/Object;)Ljava/lang/Object; - public abstract fun visitTypeClob (Lorg/partiql/ast/v1/Type$Clob;Ljava/lang/Object;)Ljava/lang/Object; - public abstract fun visitTypeCustom (Lorg/partiql/ast/v1/Type$Custom;Ljava/lang/Object;)Ljava/lang/Object; - public abstract fun visitTypeDate (Lorg/partiql/ast/v1/Type$Date;Ljava/lang/Object;)Ljava/lang/Object; - public abstract fun visitTypeDecimal (Lorg/partiql/ast/v1/Type$Decimal;Ljava/lang/Object;)Ljava/lang/Object; - public abstract fun visitTypeFloat32 (Lorg/partiql/ast/v1/Type$Float32;Ljava/lang/Object;)Ljava/lang/Object; - public abstract fun visitTypeFloat64 (Lorg/partiql/ast/v1/Type$Float64;Ljava/lang/Object;)Ljava/lang/Object; - public abstract fun visitTypeInt (Lorg/partiql/ast/v1/Type$Int;Ljava/lang/Object;)Ljava/lang/Object; - public abstract fun visitTypeInt2 (Lorg/partiql/ast/v1/Type$Int2;Ljava/lang/Object;)Ljava/lang/Object; - public abstract fun visitTypeInt4 (Lorg/partiql/ast/v1/Type$Int4;Ljava/lang/Object;)Ljava/lang/Object; - public abstract fun visitTypeInt8 (Lorg/partiql/ast/v1/Type$Int8;Ljava/lang/Object;)Ljava/lang/Object; - public abstract fun visitTypeInterval (Lorg/partiql/ast/v1/Type$Interval;Ljava/lang/Object;)Ljava/lang/Object; - public abstract fun visitTypeList (Lorg/partiql/ast/v1/Type$List;Ljava/lang/Object;)Ljava/lang/Object; - public abstract fun visitTypeMissing (Lorg/partiql/ast/v1/Type$Missing;Ljava/lang/Object;)Ljava/lang/Object; - public abstract fun visitTypeNull (Lorg/partiql/ast/v1/Type$Null;Ljava/lang/Object;)Ljava/lang/Object; - public abstract fun visitTypeNumeric (Lorg/partiql/ast/v1/Type$Numeric;Ljava/lang/Object;)Ljava/lang/Object; - public abstract fun visitTypeReal (Lorg/partiql/ast/v1/Type$Real;Ljava/lang/Object;)Ljava/lang/Object; - public abstract fun visitTypeSexp (Lorg/partiql/ast/v1/Type$Sexp;Ljava/lang/Object;)Ljava/lang/Object; - public abstract fun visitTypeSmallint (Lorg/partiql/ast/v1/Type$Smallint;Ljava/lang/Object;)Ljava/lang/Object; - public abstract fun visitTypeString (Lorg/partiql/ast/v1/Type$String;Ljava/lang/Object;)Ljava/lang/Object; - public abstract fun visitTypeStruct (Lorg/partiql/ast/v1/Type$Struct;Ljava/lang/Object;)Ljava/lang/Object; - public abstract fun visitTypeSymbol (Lorg/partiql/ast/v1/Type$Symbol;Ljava/lang/Object;)Ljava/lang/Object; - public abstract fun visitTypeTime (Lorg/partiql/ast/v1/Type$Time;Ljava/lang/Object;)Ljava/lang/Object; - public abstract fun visitTypeTimeWithTz (Lorg/partiql/ast/v1/Type$TimeWithTz;Ljava/lang/Object;)Ljava/lang/Object; - public abstract fun visitTypeTimestamp (Lorg/partiql/ast/v1/Type$Timestamp;Ljava/lang/Object;)Ljava/lang/Object; - public abstract fun visitTypeTimestampWithTz (Lorg/partiql/ast/v1/Type$TimestampWithTz;Ljava/lang/Object;)Ljava/lang/Object; - public abstract fun visitTypeTinyint (Lorg/partiql/ast/v1/Type$Tinyint;Ljava/lang/Object;)Ljava/lang/Object; - public abstract fun visitTypeTuple (Lorg/partiql/ast/v1/Type$Tuple;Ljava/lang/Object;)Ljava/lang/Object; - public abstract fun visitTypeVarchar (Lorg/partiql/ast/v1/Type$Varchar;Ljava/lang/Object;)Ljava/lang/Object; -} - -public final class org/partiql/ast/v1/DatetimeField : java/lang/Enum { - public static final field DAY Lorg/partiql/ast/v1/DatetimeField; - public static final field HOUR Lorg/partiql/ast/v1/DatetimeField; - public static final field MINUTE Lorg/partiql/ast/v1/DatetimeField; - public static final field MONTH Lorg/partiql/ast/v1/DatetimeField; - public static final field OTHER Lorg/partiql/ast/v1/DatetimeField; - public static final field SECOND Lorg/partiql/ast/v1/DatetimeField; - public static final field TIMEZONE_HOUR Lorg/partiql/ast/v1/DatetimeField; - public static final field TIMEZONE_MINUTE Lorg/partiql/ast/v1/DatetimeField; - public static final field YEAR Lorg/partiql/ast/v1/DatetimeField; + public abstract fun visitTarget (Lorg/partiql/ast/v1/Target;Ljava/lang/Object;)Ljava/lang/Object; + public abstract fun visitTargetDomain (Lorg/partiql/ast/v1/Target$Domain;Ljava/lang/Object;)Ljava/lang/Object; + public abstract fun visitType (Lorg/partiql/ast/v1/type/Type;Ljava/lang/Object;)Ljava/lang/Object; + public abstract fun visitTypeAny (Lorg/partiql/ast/v1/type/TypeAny;Ljava/lang/Object;)Ljava/lang/Object; + public abstract fun visitTypeBag (Lorg/partiql/ast/v1/type/TypeBag;Ljava/lang/Object;)Ljava/lang/Object; + public abstract fun visitTypeBigint (Lorg/partiql/ast/v1/type/TypeBigint;Ljava/lang/Object;)Ljava/lang/Object; + public abstract fun visitTypeBit (Lorg/partiql/ast/v1/type/TypeBit;Ljava/lang/Object;)Ljava/lang/Object; + public abstract fun visitTypeBitVarying (Lorg/partiql/ast/v1/type/TypeBitVarying;Ljava/lang/Object;)Ljava/lang/Object; + public abstract fun visitTypeBlob (Lorg/partiql/ast/v1/type/TypeBlob;Ljava/lang/Object;)Ljava/lang/Object; + public abstract fun visitTypeBool (Lorg/partiql/ast/v1/type/TypeBool;Ljava/lang/Object;)Ljava/lang/Object; + public abstract fun visitTypeByteString (Lorg/partiql/ast/v1/type/TypeByteString;Ljava/lang/Object;)Ljava/lang/Object; + public abstract fun visitTypeChar (Lorg/partiql/ast/v1/type/TypeChar;Ljava/lang/Object;)Ljava/lang/Object; + public abstract fun visitTypeClob (Lorg/partiql/ast/v1/type/TypeClob;Ljava/lang/Object;)Ljava/lang/Object; + public abstract fun visitTypeCustom (Lorg/partiql/ast/v1/type/TypeCustom;Ljava/lang/Object;)Ljava/lang/Object; + public abstract fun visitTypeDate (Lorg/partiql/ast/v1/type/TypeDate;Ljava/lang/Object;)Ljava/lang/Object; + public abstract fun visitTypeDecimal (Lorg/partiql/ast/v1/type/TypeDecimal;Ljava/lang/Object;)Ljava/lang/Object; + public abstract fun visitTypeFloat32 (Lorg/partiql/ast/v1/type/TypeFloat32;Ljava/lang/Object;)Ljava/lang/Object; + public abstract fun visitTypeFloat64 (Lorg/partiql/ast/v1/type/TypeFloat64;Ljava/lang/Object;)Ljava/lang/Object; + public abstract fun visitTypeInt (Lorg/partiql/ast/v1/type/TypeInt;Ljava/lang/Object;)Ljava/lang/Object; + public abstract fun visitTypeInt2 (Lorg/partiql/ast/v1/type/TypeInt2;Ljava/lang/Object;)Ljava/lang/Object; + public abstract fun visitTypeInt4 (Lorg/partiql/ast/v1/type/TypeInt4;Ljava/lang/Object;)Ljava/lang/Object; + public abstract fun visitTypeInt8 (Lorg/partiql/ast/v1/type/TypeInt8;Ljava/lang/Object;)Ljava/lang/Object; + public abstract fun visitTypeInterval (Lorg/partiql/ast/v1/type/TypeInterval;Ljava/lang/Object;)Ljava/lang/Object; + public abstract fun visitTypeList (Lorg/partiql/ast/v1/type/TypeList;Ljava/lang/Object;)Ljava/lang/Object; + public abstract fun visitTypeMissing (Lorg/partiql/ast/v1/type/TypeMissing;Ljava/lang/Object;)Ljava/lang/Object; + public abstract fun visitTypeNull (Lorg/partiql/ast/v1/type/TypeNull;Ljava/lang/Object;)Ljava/lang/Object; + public abstract fun visitTypeNumeric (Lorg/partiql/ast/v1/type/TypeNumeric;Ljava/lang/Object;)Ljava/lang/Object; + public abstract fun visitTypeReal (Lorg/partiql/ast/v1/type/TypeReal;Ljava/lang/Object;)Ljava/lang/Object; + public abstract fun visitTypeSexp (Lorg/partiql/ast/v1/type/TypeSexp;Ljava/lang/Object;)Ljava/lang/Object; + public abstract fun visitTypeSmallint (Lorg/partiql/ast/v1/type/TypeSmallint;Ljava/lang/Object;)Ljava/lang/Object; + public abstract fun visitTypeString (Lorg/partiql/ast/v1/type/TypeString;Ljava/lang/Object;)Ljava/lang/Object; + public abstract fun visitTypeStruct (Lorg/partiql/ast/v1/type/TypeStruct;Ljava/lang/Object;)Ljava/lang/Object; + public abstract fun visitTypeSymbol (Lorg/partiql/ast/v1/type/TypeSymbol;Ljava/lang/Object;)Ljava/lang/Object; + public abstract fun visitTypeTime (Lorg/partiql/ast/v1/type/TypeTime;Ljava/lang/Object;)Ljava/lang/Object; + public abstract fun visitTypeTimeWithTz (Lorg/partiql/ast/v1/type/TypeTimeWithTz;Ljava/lang/Object;)Ljava/lang/Object; + public abstract fun visitTypeTimestamp (Lorg/partiql/ast/v1/type/TypeTimestamp;Ljava/lang/Object;)Ljava/lang/Object; + public abstract fun visitTypeTimestampWithTz (Lorg/partiql/ast/v1/type/TypeTimestampWithTz;Ljava/lang/Object;)Ljava/lang/Object; + public abstract fun visitTypeTinyint (Lorg/partiql/ast/v1/type/TypeTinyint;Ljava/lang/Object;)Ljava/lang/Object; + public abstract fun visitTypeTuple (Lorg/partiql/ast/v1/type/TypeTuple;Ljava/lang/Object;)Ljava/lang/Object; + public abstract fun visitTypeVarchar (Lorg/partiql/ast/v1/type/TypeVarchar;Ljava/lang/Object;)Ljava/lang/Object; +} + +public final class org/partiql/ast/v1/CaseSensitivity : java/lang/Enum { + public static final field INSENSITIVE Lorg/partiql/ast/v1/CaseSensitivity; + public static final field OTHER Lorg/partiql/ast/v1/CaseSensitivity; + public static final field SENSITIVE Lorg/partiql/ast/v1/CaseSensitivity; public static fun getEntries ()Lkotlin/enums/EnumEntries; - public static fun valueOf (Ljava/lang/String;)Lorg/partiql/ast/v1/DatetimeField; - public static fun values ()[Lorg/partiql/ast/v1/DatetimeField; + public static fun valueOf (Ljava/lang/String;)Lorg/partiql/ast/v1/CaseSensitivity; + public static fun values ()[Lorg/partiql/ast/v1/CaseSensitivity; } -public final class org/partiql/ast/v1/Exclude : org/partiql/ast/v1/AstNode { - public field items Ljava/util/List; - public fun (Ljava/util/List;)V +public final class org/partiql/ast/v1/Column : org/partiql/ast/v1/AstNode { + public field constraints Ljava/util/List; + public field name Ljava/lang/String; + public field type Lorg/partiql/ast/v1/type/Type; + public fun (Ljava/lang/String;Lorg/partiql/ast/v1/type/Type;Ljava/util/List;)V public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; public fun children ()Ljava/util/Collection; } -public final class org/partiql/ast/v1/Exclude$Item : org/partiql/ast/v1/AstNode { - public field root Lorg/partiql/ast/v1/Expr$Var; - public field steps Ljava/util/List; - public fun (Lorg/partiql/ast/v1/Expr$Var;Ljava/util/List;)V +public final class org/partiql/ast/v1/Constraint : org/partiql/ast/v1/AstNode { + public field constraintBody Lorg/partiql/ast/v1/ConstraintBody; + public field name Ljava/lang/String; + public fun (Ljava/lang/String;Lorg/partiql/ast/v1/ConstraintBody;)V public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; public fun children ()Ljava/util/Collection; } -public abstract class org/partiql/ast/v1/Exclude$Step : org/partiql/ast/v1/AstNode { +public abstract class org/partiql/ast/v1/ConstraintBody : org/partiql/ast/v1/AstNode { public fun ()V + public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; } -public final class org/partiql/ast/v1/Exclude$Step$CollIndex : org/partiql/ast/v1/Exclude$Step { - public field index I - public fun (I)V +public final class org/partiql/ast/v1/ConstraintBody$Check : org/partiql/ast/v1/ConstraintBody { + public field expr Lorg/partiql/ast/v1/expr/Expr; + public fun (Lorg/partiql/ast/v1/expr/Expr;)V public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; public fun children ()Ljava/util/Collection; } -public final class org/partiql/ast/v1/Exclude$Step$CollWildcard : org/partiql/ast/v1/Exclude$Step { - public static final field INSTANCE Lorg/partiql/ast/v1/Exclude$Step$CollWildcard; +public final class org/partiql/ast/v1/ConstraintBody$NotNull : org/partiql/ast/v1/ConstraintBody { + public static final field INSTANCE Lorg/partiql/ast/v1/ConstraintBody$NotNull; public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; public fun children ()Ljava/util/Collection; } -public final class org/partiql/ast/v1/Exclude$Step$StructField : org/partiql/ast/v1/Exclude$Step { - public field symbol Lorg/partiql/ast/v1/Identifier$Symbol; - public fun (Lorg/partiql/ast/v1/Identifier$Symbol;)V +public final class org/partiql/ast/v1/ConstraintBody$Nullable : org/partiql/ast/v1/ConstraintBody { + public static final field INSTANCE Lorg/partiql/ast/v1/ConstraintBody$Nullable; public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; public fun children ()Ljava/util/Collection; } -public final class org/partiql/ast/v1/Exclude$Step$StructWildcard : org/partiql/ast/v1/Exclude$Step { - public static final field INSTANCE Lorg/partiql/ast/v1/Exclude$Step$StructWildcard; +public final class org/partiql/ast/v1/CreateIndex : org/partiql/ast/v1/DDL { + public field fields Ljava/util/List; + public field index Lorg/partiql/ast/v1/Identifier; + public field table Lorg/partiql/ast/v1/Identifier; + public fun (Lorg/partiql/ast/v1/Identifier;Lorg/partiql/ast/v1/Identifier;Ljava/util/List;)V public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; public fun children ()Ljava/util/Collection; } -public abstract class org/partiql/ast/v1/Expr : org/partiql/ast/v1/AstNode { - public fun ()V +public final class org/partiql/ast/v1/CreateTable : org/partiql/ast/v1/DDL { + public field definition Lorg/partiql/ast/v1/TableDefinition; + public field name Lorg/partiql/ast/v1/Identifier; + public fun (Lorg/partiql/ast/v1/Identifier;Lorg/partiql/ast/v1/TableDefinition;)V public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; + public fun children ()Ljava/util/Collection; } -public final class org/partiql/ast/v1/Expr$And : org/partiql/ast/v1/Expr { - public field lhs Lorg/partiql/ast/v1/Expr; - public field rhs Lorg/partiql/ast/v1/Expr; - public fun (Lorg/partiql/ast/v1/Expr;Lorg/partiql/ast/v1/Expr;)V +public abstract class org/partiql/ast/v1/DDL : org/partiql/ast/v1/Statement { + public fun ()V public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; - public synthetic fun children ()Ljava/util/Collection; - public fun children ()Ljava/util/List; } -public final class org/partiql/ast/v1/Expr$Between : org/partiql/ast/v1/Expr { - public field from Lorg/partiql/ast/v1/Expr; - public field not Ljava/lang/Boolean; - public field to Lorg/partiql/ast/v1/Expr; - public field value Lorg/partiql/ast/v1/Expr; - public fun (Lorg/partiql/ast/v1/Expr;Lorg/partiql/ast/v1/Expr;Lorg/partiql/ast/v1/Expr;Ljava/lang/Boolean;)V - public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; - public synthetic fun children ()Ljava/util/Collection; - public fun children ()Ljava/util/List; +public final class org/partiql/ast/v1/DatetimeField : java/lang/Enum { + public static final field DAY Lorg/partiql/ast/v1/DatetimeField; + public static final field HOUR Lorg/partiql/ast/v1/DatetimeField; + public static final field MINUTE Lorg/partiql/ast/v1/DatetimeField; + public static final field MONTH Lorg/partiql/ast/v1/DatetimeField; + public static final field OTHER Lorg/partiql/ast/v1/DatetimeField; + public static final field SECOND Lorg/partiql/ast/v1/DatetimeField; + public static final field TIMEZONE_HOUR Lorg/partiql/ast/v1/DatetimeField; + public static final field TIMEZONE_MINUTE Lorg/partiql/ast/v1/DatetimeField; + public static final field YEAR Lorg/partiql/ast/v1/DatetimeField; + public static fun getEntries ()Lkotlin/enums/EnumEntries; + public static fun valueOf (Ljava/lang/String;)Lorg/partiql/ast/v1/DatetimeField; + public static fun values ()[Lorg/partiql/ast/v1/DatetimeField; } -public final class org/partiql/ast/v1/Expr$Call : org/partiql/ast/v1/Expr { - public field args Ljava/util/List; - public field function Lorg/partiql/ast/v1/Identifier; - public field setq Lorg/partiql/ast/v1/SetQuantifier; - public fun (Lorg/partiql/ast/v1/Identifier;Ljava/util/List;Lorg/partiql/ast/v1/SetQuantifier;)V +public final class org/partiql/ast/v1/DropIndex : org/partiql/ast/v1/DDL { + public field index Lorg/partiql/ast/v1/Identifier; + public field table Lorg/partiql/ast/v1/Identifier; + public fun (Lorg/partiql/ast/v1/Identifier;Lorg/partiql/ast/v1/Identifier;)V public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; - public synthetic fun children ()Ljava/util/Collection; - public fun children ()Ljava/util/List; + public fun children ()Ljava/util/Collection; } -public final class org/partiql/ast/v1/Expr$Case : org/partiql/ast/v1/Expr { - public field branches Ljava/util/List; - public field default Lorg/partiql/ast/v1/Expr; - public field expr Lorg/partiql/ast/v1/Expr; - public fun (Lorg/partiql/ast/v1/Expr;Ljava/util/List;Lorg/partiql/ast/v1/Expr;)V +public final class org/partiql/ast/v1/DropTable : org/partiql/ast/v1/DDL { + public field table Lorg/partiql/ast/v1/Identifier; + public fun (Lorg/partiql/ast/v1/Identifier;)V public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; - public synthetic fun children ()Ljava/util/Collection; - public fun children ()Ljava/util/List; + public fun children ()Ljava/util/Collection; } -public final class org/partiql/ast/v1/Expr$Case$Branch : org/partiql/ast/v1/AstNode { - public field condition Lorg/partiql/ast/v1/Expr; - public field expr Lorg/partiql/ast/v1/Expr; - public fun (Lorg/partiql/ast/v1/Expr;Lorg/partiql/ast/v1/Expr;)V +public final class org/partiql/ast/v1/Exclude : org/partiql/ast/v1/AstNode { + public field excludePaths Ljava/util/List; + public fun (Ljava/util/List;)V public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; - public synthetic fun children ()Ljava/util/Collection; - public fun children ()Ljava/util/List; + public fun children ()Ljava/util/Collection; } -public final class org/partiql/ast/v1/Expr$Cast : org/partiql/ast/v1/Expr { - public field asType Lorg/partiql/ast/v1/Type; - public field value Lorg/partiql/ast/v1/Expr; - public fun (Lorg/partiql/ast/v1/Expr;Lorg/partiql/ast/v1/Type;)V +public final class org/partiql/ast/v1/ExcludePath : org/partiql/ast/v1/AstNode { + public field excludeSteps Ljava/util/List; + public field root Lorg/partiql/ast/v1/expr/ExprVar; + public fun (Lorg/partiql/ast/v1/expr/ExprVar;Ljava/util/List;)V public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; - public synthetic fun children ()Ljava/util/Collection; - public fun children ()Ljava/util/List; + public fun children ()Ljava/util/Collection; } -public final class org/partiql/ast/v1/Expr$Coalesce : org/partiql/ast/v1/Expr { - public field args Ljava/util/List; - public fun (Ljava/util/List;)V - public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; - public synthetic fun children ()Ljava/util/Collection; - public fun children ()Ljava/util/List; +public abstract class org/partiql/ast/v1/ExcludeStep : org/partiql/ast/v1/AstNode { + public fun ()V } -public final class org/partiql/ast/v1/Expr$Collection : org/partiql/ast/v1/Expr { - public field type Lorg/partiql/ast/v1/Expr$Collection$Type; - public field values Ljava/util/List; - public fun (Lorg/partiql/ast/v1/Expr$Collection$Type;Ljava/util/List;)V +public final class org/partiql/ast/v1/ExcludeStep$CollIndex : org/partiql/ast/v1/ExcludeStep { + public field index I + public fun (I)V public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; - public synthetic fun children ()Ljava/util/Collection; - public fun children ()Ljava/util/List; + public fun children ()Ljava/util/Collection; } -public final class org/partiql/ast/v1/Expr$Collection$Type : java/lang/Enum { - public static final field ARRAY Lorg/partiql/ast/v1/Expr$Collection$Type; - public static final field BAG Lorg/partiql/ast/v1/Expr$Collection$Type; - public static final field LIST Lorg/partiql/ast/v1/Expr$Collection$Type; - public static final field OTHER Lorg/partiql/ast/v1/Expr$Collection$Type; - public static final field SEXP Lorg/partiql/ast/v1/Expr$Collection$Type; - public static final field VALUES Lorg/partiql/ast/v1/Expr$Collection$Type; - public static fun getEntries ()Lkotlin/enums/EnumEntries; - public static fun valueOf (Ljava/lang/String;)Lorg/partiql/ast/v1/Expr$Collection$Type; - public static fun values ()[Lorg/partiql/ast/v1/Expr$Collection$Type; +public final class org/partiql/ast/v1/ExcludeStep$CollWildcard : org/partiql/ast/v1/ExcludeStep { + public static final field INSTANCE Lorg/partiql/ast/v1/ExcludeStep$CollWildcard; + public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; + public fun children ()Ljava/util/Collection; } -public final class org/partiql/ast/v1/Expr$DateAdd : org/partiql/ast/v1/Expr { - public field field Lorg/partiql/ast/v1/DatetimeField; - public field lhs Lorg/partiql/ast/v1/Expr; - public field rhs Lorg/partiql/ast/v1/Expr; - public fun (Lorg/partiql/ast/v1/DatetimeField;Lorg/partiql/ast/v1/Expr;Lorg/partiql/ast/v1/Expr;)V +public final class org/partiql/ast/v1/ExcludeStep$StructField : org/partiql/ast/v1/ExcludeStep { + public field symbol Lorg/partiql/ast/v1/Identifier$Symbol; + public fun (Lorg/partiql/ast/v1/Identifier$Symbol;)V public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; - public synthetic fun children ()Ljava/util/Collection; - public fun children ()Ljava/util/List; + public fun children ()Ljava/util/Collection; } -public final class org/partiql/ast/v1/Expr$DateDiff : org/partiql/ast/v1/Expr { - public field field Lorg/partiql/ast/v1/DatetimeField; - public field lhs Lorg/partiql/ast/v1/Expr; - public field rhs Lorg/partiql/ast/v1/Expr; - public fun (Lorg/partiql/ast/v1/DatetimeField;Lorg/partiql/ast/v1/Expr;Lorg/partiql/ast/v1/Expr;)V +public final class org/partiql/ast/v1/ExcludeStep$StructWildcard : org/partiql/ast/v1/ExcludeStep { + public static final field INSTANCE Lorg/partiql/ast/v1/ExcludeStep$StructWildcard; public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; - public synthetic fun children ()Ljava/util/Collection; - public fun children ()Ljava/util/List; + public fun children ()Ljava/util/Collection; } -public final class org/partiql/ast/v1/Expr$Extract : org/partiql/ast/v1/Expr { - public field field Lorg/partiql/ast/v1/DatetimeField; - public field source Lorg/partiql/ast/v1/Expr; - public fun (Lorg/partiql/ast/v1/DatetimeField;Lorg/partiql/ast/v1/Expr;)V +public final class org/partiql/ast/v1/Explain : org/partiql/ast/v1/Statement { + public field target Lorg/partiql/ast/v1/Target; + public fun (Lorg/partiql/ast/v1/Target;)V public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; - public synthetic fun children ()Ljava/util/Collection; - public fun children ()Ljava/util/List; + public fun children ()Ljava/util/Collection; } -public final class org/partiql/ast/v1/Expr$InCollection : org/partiql/ast/v1/Expr { - public field lhs Lorg/partiql/ast/v1/Expr; - public field not Ljava/lang/Boolean; - public field rhs Lorg/partiql/ast/v1/Expr; - public fun (Lorg/partiql/ast/v1/Expr;Lorg/partiql/ast/v1/Expr;Ljava/lang/Boolean;)V +public abstract class org/partiql/ast/v1/From : org/partiql/ast/v1/AstNode { + public fun ()V public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; - public synthetic fun children ()Ljava/util/Collection; - public fun children ()Ljava/util/List; } -public final class org/partiql/ast/v1/Expr$Ion : org/partiql/ast/v1/Expr { - public field value Lcom/amazon/ionelement/api/IonElement; - public fun (Lcom/amazon/ionelement/api/IonElement;)V +public final class org/partiql/ast/v1/FromJoin : org/partiql/ast/v1/From { + public field condition Lorg/partiql/ast/v1/expr/Expr; + public field lhs Lorg/partiql/ast/v1/From; + public field rhs Lorg/partiql/ast/v1/From; + public field type Lorg/partiql/ast/v1/FromJoin$Type; + public fun (Lorg/partiql/ast/v1/From;Lorg/partiql/ast/v1/From;Lorg/partiql/ast/v1/FromJoin$Type;Lorg/partiql/ast/v1/expr/Expr;)V public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; public fun children ()Ljava/util/Collection; } -public final class org/partiql/ast/v1/Expr$IsType : org/partiql/ast/v1/Expr { - public field not Ljava/lang/Boolean; - public field type Lorg/partiql/ast/v1/Type; - public field value Lorg/partiql/ast/v1/Expr; - public fun (Lorg/partiql/ast/v1/Expr;Lorg/partiql/ast/v1/Type;Ljava/lang/Boolean;)V - public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; - public synthetic fun children ()Ljava/util/Collection; - public fun children ()Ljava/util/List; +public final class org/partiql/ast/v1/FromJoin$Type : java/lang/Enum { + public static final field COMMA Lorg/partiql/ast/v1/FromJoin$Type; + public static final field CROSS Lorg/partiql/ast/v1/FromJoin$Type; + public static final field FULL Lorg/partiql/ast/v1/FromJoin$Type; + public static final field FULL_OUTER Lorg/partiql/ast/v1/FromJoin$Type; + public static final field INNER Lorg/partiql/ast/v1/FromJoin$Type; + public static final field LEFT Lorg/partiql/ast/v1/FromJoin$Type; + public static final field LEFT_OUTER Lorg/partiql/ast/v1/FromJoin$Type; + public static final field OTHER Lorg/partiql/ast/v1/FromJoin$Type; + public static final field RIGHT Lorg/partiql/ast/v1/FromJoin$Type; + public static final field RIGHT_OUTER Lorg/partiql/ast/v1/FromJoin$Type; + public static fun getEntries ()Lkotlin/enums/EnumEntries; + public static fun valueOf (Ljava/lang/String;)Lorg/partiql/ast/v1/FromJoin$Type; + public static fun values ()[Lorg/partiql/ast/v1/FromJoin$Type; } -public final class org/partiql/ast/v1/Expr$Like : org/partiql/ast/v1/Expr { - public field escape Lorg/partiql/ast/v1/Expr; - public field not Ljava/lang/Boolean; - public field pattern Lorg/partiql/ast/v1/Expr; - public field value Lorg/partiql/ast/v1/Expr; - public fun (Lorg/partiql/ast/v1/Expr;Lorg/partiql/ast/v1/Expr;Lorg/partiql/ast/v1/Expr;Ljava/lang/Boolean;)V +public final class org/partiql/ast/v1/FromValue : org/partiql/ast/v1/From { + public field asAlias Lorg/partiql/ast/v1/Identifier$Symbol; + public field atAlias Lorg/partiql/ast/v1/Identifier$Symbol; + public field byAlias Lorg/partiql/ast/v1/Identifier$Symbol; + public field expr Lorg/partiql/ast/v1/expr/Expr; + public field type Lorg/partiql/ast/v1/FromValue$Type; + public fun (Lorg/partiql/ast/v1/expr/Expr;Lorg/partiql/ast/v1/FromValue$Type;Lorg/partiql/ast/v1/Identifier$Symbol;Lorg/partiql/ast/v1/Identifier$Symbol;Lorg/partiql/ast/v1/Identifier$Symbol;)V public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; - public synthetic fun children ()Ljava/util/Collection; - public fun children ()Ljava/util/List; + public fun children ()Ljava/util/Collection; } -public final class org/partiql/ast/v1/Expr$Lit : org/partiql/ast/v1/Expr { - public field value Lorg/partiql/value/PartiQLValue; - public fun (Lorg/partiql/value/PartiQLValue;)V +public final class org/partiql/ast/v1/FromValue$Type : java/lang/Enum { + public static final field OTHER Lorg/partiql/ast/v1/FromValue$Type; + public static final field SCAN Lorg/partiql/ast/v1/FromValue$Type; + public static final field UNPIVOT Lorg/partiql/ast/v1/FromValue$Type; + public static fun getEntries ()Lkotlin/enums/EnumEntries; + public static fun valueOf (Ljava/lang/String;)Lorg/partiql/ast/v1/FromValue$Type; + public static fun values ()[Lorg/partiql/ast/v1/FromValue$Type; +} + +public final class org/partiql/ast/v1/GroupBy : org/partiql/ast/v1/AstNode { + public field asAlias Lorg/partiql/ast/v1/Identifier$Symbol; + public field keys Ljava/util/List; + public field strategy Lorg/partiql/ast/v1/GroupBy$Strategy; + public fun (Lorg/partiql/ast/v1/GroupBy$Strategy;Ljava/util/List;Lorg/partiql/ast/v1/Identifier$Symbol;)V public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; public fun children ()Ljava/util/Collection; } -public final class org/partiql/ast/v1/Expr$Match : org/partiql/ast/v1/Expr { - public field expr Lorg/partiql/ast/v1/Expr; - public field pattern Lorg/partiql/ast/v1/GraphMatch; - public fun (Lorg/partiql/ast/v1/Expr;Lorg/partiql/ast/v1/GraphMatch;)V +public final class org/partiql/ast/v1/GroupBy$Key : org/partiql/ast/v1/AstNode { + public field asAlias Lorg/partiql/ast/v1/Identifier$Symbol; + public field expr Lorg/partiql/ast/v1/expr/Expr; + public fun (Lorg/partiql/ast/v1/expr/Expr;Lorg/partiql/ast/v1/Identifier$Symbol;)V public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; - public synthetic fun children ()Ljava/util/Collection; - public fun children ()Ljava/util/List; + public fun children ()Ljava/util/Collection; } -public final class org/partiql/ast/v1/Expr$Not : org/partiql/ast/v1/Expr { - public field value Lorg/partiql/ast/v1/Expr; - public fun (Lorg/partiql/ast/v1/Expr;)V +public final class org/partiql/ast/v1/GroupBy$Strategy : java/lang/Enum { + public static final field FULL Lorg/partiql/ast/v1/GroupBy$Strategy; + public static final field OTHER Lorg/partiql/ast/v1/GroupBy$Strategy; + public static final field PARTIAL Lorg/partiql/ast/v1/GroupBy$Strategy; + public static fun getEntries ()Lkotlin/enums/EnumEntries; + public static fun valueOf (Ljava/lang/String;)Lorg/partiql/ast/v1/GroupBy$Strategy; + public static fun values ()[Lorg/partiql/ast/v1/GroupBy$Strategy; +} + +public abstract class org/partiql/ast/v1/Identifier : org/partiql/ast/v1/AstNode { + public fun ()V public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; - public synthetic fun children ()Ljava/util/Collection; - public fun children ()Ljava/util/List; } -public final class org/partiql/ast/v1/Expr$NullIf : org/partiql/ast/v1/Expr { - public field nullifier Lorg/partiql/ast/v1/Expr; - public field value Lorg/partiql/ast/v1/Expr; - public fun (Lorg/partiql/ast/v1/Expr;Lorg/partiql/ast/v1/Expr;)V +public final class org/partiql/ast/v1/Identifier$Qualified : org/partiql/ast/v1/Identifier { + public field root Lorg/partiql/ast/v1/Identifier$Symbol; + public field steps Ljava/util/List; + public fun (Lorg/partiql/ast/v1/Identifier$Symbol;Ljava/util/List;)V public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; - public synthetic fun children ()Ljava/util/Collection; - public fun children ()Ljava/util/List; + public fun children ()Ljava/util/Collection; } -public final class org/partiql/ast/v1/Expr$Operator : org/partiql/ast/v1/Expr { - public field lhs Lorg/partiql/ast/v1/Expr; - public field rhs Lorg/partiql/ast/v1/Expr; +public final class org/partiql/ast/v1/Identifier$Symbol : org/partiql/ast/v1/Identifier { + public field caseSensitivity Lorg/partiql/ast/v1/CaseSensitivity; public field symbol Ljava/lang/String; - public fun (Ljava/lang/String;Lorg/partiql/ast/v1/Expr;Lorg/partiql/ast/v1/Expr;)V + public fun (Ljava/lang/String;Lorg/partiql/ast/v1/CaseSensitivity;)V public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; - public synthetic fun children ()Ljava/util/Collection; - public fun children ()Ljava/util/List; + public fun children ()Ljava/util/Collection; } -public final class org/partiql/ast/v1/Expr$Or : org/partiql/ast/v1/Expr { - public field lhs Lorg/partiql/ast/v1/Expr; - public field rhs Lorg/partiql/ast/v1/Expr; - public fun (Lorg/partiql/ast/v1/Expr;Lorg/partiql/ast/v1/Expr;)V +public final class org/partiql/ast/v1/Let : org/partiql/ast/v1/AstNode { + public field bindings Ljava/util/List; + public fun (Ljava/util/List;)V public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; - public synthetic fun children ()Ljava/util/Collection; - public fun children ()Ljava/util/List; + public fun children ()Ljava/util/Collection; } -public final class org/partiql/ast/v1/Expr$Overlay : org/partiql/ast/v1/Expr { - public field length Lorg/partiql/ast/v1/Expr; - public field overlay Lorg/partiql/ast/v1/Expr; - public field start Lorg/partiql/ast/v1/Expr; - public field value Lorg/partiql/ast/v1/Expr; - public fun (Lorg/partiql/ast/v1/Expr;Lorg/partiql/ast/v1/Expr;Lorg/partiql/ast/v1/Expr;Lorg/partiql/ast/v1/Expr;)V +public final class org/partiql/ast/v1/Let$Binding : org/partiql/ast/v1/AstNode { + public field asAlias Lorg/partiql/ast/v1/Identifier$Symbol; + public field expr Lorg/partiql/ast/v1/expr/Expr; + public fun (Lorg/partiql/ast/v1/expr/Expr;Lorg/partiql/ast/v1/Identifier$Symbol;)V public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; - public synthetic fun children ()Ljava/util/Collection; - public fun children ()Ljava/util/List; + public fun children ()Ljava/util/Collection; } -public final class org/partiql/ast/v1/Expr$Parameter : org/partiql/ast/v1/Expr { - public field index I - public fun (I)V +public final class org/partiql/ast/v1/OrderBy : org/partiql/ast/v1/AstNode { + public field sorts Ljava/util/List; + public fun (Ljava/util/List;)V public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; - public synthetic fun children ()Ljava/util/Collection; - public fun children ()Ljava/util/List; + public fun children ()Ljava/util/Collection; } -public final class org/partiql/ast/v1/Expr$Path : org/partiql/ast/v1/Expr { - public field root Lorg/partiql/ast/v1/Expr; +public final class org/partiql/ast/v1/PathLit : org/partiql/ast/v1/AstNode { + public field root Lorg/partiql/ast/v1/Identifier$Symbol; public field steps Ljava/util/List; - public fun (Lorg/partiql/ast/v1/Expr;Ljava/util/List;)V + public fun (Lorg/partiql/ast/v1/Identifier$Symbol;Ljava/util/List;)V public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; - public synthetic fun children ()Ljava/util/Collection; - public fun children ()Ljava/util/List; + public fun children ()Ljava/util/Collection; } -public abstract class org/partiql/ast/v1/Expr$Path$Step : org/partiql/ast/v1/AstNode { +public abstract class org/partiql/ast/v1/PathLitStep : org/partiql/ast/v1/AstNode { public fun ()V - public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; } -public final class org/partiql/ast/v1/Expr$Path$Step$Index : org/partiql/ast/v1/Expr$Path$Step { - public field key Lorg/partiql/ast/v1/Expr; - public fun (Lorg/partiql/ast/v1/Expr;)V +public final class org/partiql/ast/v1/PathLitStep$Index : org/partiql/ast/v1/PathLitStep { + public field index I + public fun (I)V public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; - public synthetic fun children ()Ljava/util/Collection; - public fun children ()Ljava/util/List; + public fun children ()Ljava/util/Collection; } -public final class org/partiql/ast/v1/Expr$Path$Step$Symbol : org/partiql/ast/v1/Expr$Path$Step { +public final class org/partiql/ast/v1/PathLitStep$Symbol : org/partiql/ast/v1/PathLitStep { public field symbol Lorg/partiql/ast/v1/Identifier$Symbol; public fun (Lorg/partiql/ast/v1/Identifier$Symbol;)V public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; - public synthetic fun children ()Ljava/util/Collection; - public fun children ()Ljava/util/List; -} - -public final class org/partiql/ast/v1/Expr$Path$Step$Unpivot : org/partiql/ast/v1/Expr$Path$Step { - public static final field INSTANCE Lorg/partiql/ast/v1/Expr$Path$Step$Unpivot; - public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; - public synthetic fun children ()Ljava/util/Collection; - public fun children ()Ljava/util/List; + public fun children ()Ljava/util/Collection; } -public final class org/partiql/ast/v1/Expr$Path$Step$Wildcard : org/partiql/ast/v1/Expr$Path$Step { - public static final field INSTANCE Lorg/partiql/ast/v1/Expr$Path$Step$Wildcard; +public abstract class org/partiql/ast/v1/ProjectItem : org/partiql/ast/v1/AstNode { + public fun ()V public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; - public synthetic fun children ()Ljava/util/Collection; - public fun children ()Ljava/util/List; } -public final class org/partiql/ast/v1/Expr$Position : org/partiql/ast/v1/Expr { - public field lhs Lorg/partiql/ast/v1/Expr; - public field rhs Lorg/partiql/ast/v1/Expr; - public fun (Lorg/partiql/ast/v1/Expr;Lorg/partiql/ast/v1/Expr;)V +public final class org/partiql/ast/v1/ProjectItem$All : org/partiql/ast/v1/ProjectItem { + public field expr Lorg/partiql/ast/v1/expr/Expr; + public fun (Lorg/partiql/ast/v1/expr/Expr;)V public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; - public synthetic fun children ()Ljava/util/Collection; - public fun children ()Ljava/util/List; + public fun children ()Ljava/util/Collection; } -public final class org/partiql/ast/v1/Expr$QuerySet : org/partiql/ast/v1/Expr { - public field body Lorg/partiql/ast/v1/QueryBody; - public field limit Lorg/partiql/ast/v1/Expr; - public field offset Lorg/partiql/ast/v1/Expr; - public field orderBy Lorg/partiql/ast/v1/OrderBy; - public fun (Lorg/partiql/ast/v1/QueryBody;Lorg/partiql/ast/v1/OrderBy;Lorg/partiql/ast/v1/Expr;Lorg/partiql/ast/v1/Expr;)V +public final class org/partiql/ast/v1/ProjectItem$Expression : org/partiql/ast/v1/ProjectItem { + public field asAlias Lorg/partiql/ast/v1/Identifier$Symbol; + public field expr Lorg/partiql/ast/v1/expr/Expr; + public fun (Lorg/partiql/ast/v1/expr/Expr;Lorg/partiql/ast/v1/Identifier$Symbol;)V public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; - public synthetic fun children ()Ljava/util/Collection; - public fun children ()Ljava/util/List; + public fun children ()Ljava/util/Collection; } -public final class org/partiql/ast/v1/Expr$SessionAttribute : org/partiql/ast/v1/Expr { - public field attribute Lorg/partiql/ast/v1/Expr$SessionAttribute$Attribute; - public fun (Lorg/partiql/ast/v1/Expr$SessionAttribute$Attribute;)V +public final class org/partiql/ast/v1/Query : org/partiql/ast/v1/Statement { + public field expr Lorg/partiql/ast/v1/expr/Expr; + public fun (Lorg/partiql/ast/v1/expr/Expr;)V public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; - public synthetic fun children ()Ljava/util/Collection; - public fun children ()Ljava/util/List; -} - -public final class org/partiql/ast/v1/Expr$SessionAttribute$Attribute : java/lang/Enum { - public static final field CURRENT_DATE Lorg/partiql/ast/v1/Expr$SessionAttribute$Attribute; - public static final field CURRENT_USER Lorg/partiql/ast/v1/Expr$SessionAttribute$Attribute; - public static final field OTHER Lorg/partiql/ast/v1/Expr$SessionAttribute$Attribute; - public static fun getEntries ()Lkotlin/enums/EnumEntries; - public static fun valueOf (Ljava/lang/String;)Lorg/partiql/ast/v1/Expr$SessionAttribute$Attribute; - public static fun values ()[Lorg/partiql/ast/v1/Expr$SessionAttribute$Attribute; + public fun children ()Ljava/util/Collection; } -public final class org/partiql/ast/v1/Expr$Struct : org/partiql/ast/v1/Expr { - public field fields Ljava/util/List; - public fun (Ljava/util/List;)V +public abstract class org/partiql/ast/v1/QueryBody : org/partiql/ast/v1/AstNode { + public fun ()V public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; - public synthetic fun children ()Ljava/util/Collection; - public fun children ()Ljava/util/List; } -public final class org/partiql/ast/v1/Expr$Struct$Field : org/partiql/ast/v1/AstNode { - public field name Lorg/partiql/ast/v1/Expr; - public field value Lorg/partiql/ast/v1/Expr; - public fun (Lorg/partiql/ast/v1/Expr;Lorg/partiql/ast/v1/Expr;)V +public final class org/partiql/ast/v1/QueryBody$SFW : org/partiql/ast/v1/QueryBody { + public field exclude Lorg/partiql/ast/v1/Exclude; + public field from Lorg/partiql/ast/v1/From; + public field groupBy Lorg/partiql/ast/v1/GroupBy; + public field having Lorg/partiql/ast/v1/expr/Expr; + public field let Lorg/partiql/ast/v1/Let; + public field select Lorg/partiql/ast/v1/Select; + public field where Lorg/partiql/ast/v1/expr/Expr; + public fun (Lorg/partiql/ast/v1/Select;Lorg/partiql/ast/v1/Exclude;Lorg/partiql/ast/v1/From;Lorg/partiql/ast/v1/Let;Lorg/partiql/ast/v1/expr/Expr;Lorg/partiql/ast/v1/GroupBy;Lorg/partiql/ast/v1/expr/Expr;)V public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; - public synthetic fun children ()Ljava/util/Collection; - public fun children ()Ljava/util/List; + public fun children ()Ljava/util/Collection; } -public final class org/partiql/ast/v1/Expr$Substring : org/partiql/ast/v1/Expr { - public field length Lorg/partiql/ast/v1/Expr; - public field start Lorg/partiql/ast/v1/Expr; - public field value Lorg/partiql/ast/v1/Expr; - public fun (Lorg/partiql/ast/v1/Expr;Lorg/partiql/ast/v1/Expr;Lorg/partiql/ast/v1/Expr;)V +public final class org/partiql/ast/v1/QueryBody$SetOp : org/partiql/ast/v1/QueryBody { + public field isOuter Z + public field lhs Lorg/partiql/ast/v1/expr/Expr; + public field rhs Lorg/partiql/ast/v1/expr/Expr; + public field type Lorg/partiql/ast/v1/SetOp; + public fun (Lorg/partiql/ast/v1/SetOp;ZLorg/partiql/ast/v1/expr/Expr;Lorg/partiql/ast/v1/expr/Expr;)V public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; - public synthetic fun children ()Ljava/util/Collection; - public fun children ()Ljava/util/List; + public fun children ()Ljava/util/Collection; } -public final class org/partiql/ast/v1/Expr$Trim : org/partiql/ast/v1/Expr { - public field chars Lorg/partiql/ast/v1/Expr; - public field spec Lorg/partiql/ast/v1/Expr$Trim$Spec; - public field value Lorg/partiql/ast/v1/Expr; - public fun (Lorg/partiql/ast/v1/Expr;Lorg/partiql/ast/v1/Expr;Lorg/partiql/ast/v1/Expr$Trim$Spec;)V +public abstract class org/partiql/ast/v1/Select : org/partiql/ast/v1/AstNode { + public fun ()V public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; - public synthetic fun children ()Ljava/util/Collection; - public fun children ()Ljava/util/List; -} - -public final class org/partiql/ast/v1/Expr$Trim$Spec : java/lang/Enum { - public static final field BOTH Lorg/partiql/ast/v1/Expr$Trim$Spec; - public static final field LEADING Lorg/partiql/ast/v1/Expr$Trim$Spec; - public static final field OTHER Lorg/partiql/ast/v1/Expr$Trim$Spec; - public static final field TRAILING Lorg/partiql/ast/v1/Expr$Trim$Spec; - public static fun getEntries ()Lkotlin/enums/EnumEntries; - public static fun valueOf (Ljava/lang/String;)Lorg/partiql/ast/v1/Expr$Trim$Spec; - public static fun values ()[Lorg/partiql/ast/v1/Expr$Trim$Spec; } -public final class org/partiql/ast/v1/Expr$Values : org/partiql/ast/v1/Expr { - public field rows Ljava/util/List; - public fun (Ljava/util/List;)V +public final class org/partiql/ast/v1/SelectPivot : org/partiql/ast/v1/Select { + public field key Lorg/partiql/ast/v1/expr/Expr; + public field value Lorg/partiql/ast/v1/expr/Expr; + public fun (Lorg/partiql/ast/v1/expr/Expr;Lorg/partiql/ast/v1/expr/Expr;)V public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; - public synthetic fun children ()Ljava/util/Collection; - public fun children ()Ljava/util/List; + public fun children ()Ljava/util/Collection; } -public final class org/partiql/ast/v1/Expr$Values$Row : org/partiql/ast/v1/AstNode { +public final class org/partiql/ast/v1/SelectProject : org/partiql/ast/v1/Select { public field items Ljava/util/List; - public fun (Ljava/util/List;)V - public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; - public synthetic fun children ()Ljava/util/Collection; - public fun children ()Ljava/util/List; -} - -public final class org/partiql/ast/v1/Expr$Var : org/partiql/ast/v1/Expr { - public field identifier Lorg/partiql/ast/v1/Identifier; - public field scope Lorg/partiql/ast/v1/Expr$Var$Scope; - public fun (Lorg/partiql/ast/v1/Identifier;Lorg/partiql/ast/v1/Expr$Var$Scope;)V - public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; - public synthetic fun children ()Ljava/util/Collection; - public fun children ()Ljava/util/List; -} - -public final class org/partiql/ast/v1/Expr$Var$Scope : java/lang/Enum { - public static final field DEFAULT Lorg/partiql/ast/v1/Expr$Var$Scope; - public static final field LOCAL Lorg/partiql/ast/v1/Expr$Var$Scope; - public static final field OTHER Lorg/partiql/ast/v1/Expr$Var$Scope; - public static fun getEntries ()Lkotlin/enums/EnumEntries; - public static fun valueOf (Ljava/lang/String;)Lorg/partiql/ast/v1/Expr$Var$Scope; - public static fun values ()[Lorg/partiql/ast/v1/Expr$Var$Scope; -} - -public final class org/partiql/ast/v1/Expr$Window : org/partiql/ast/v1/Expr { - public field default Lorg/partiql/ast/v1/Expr; - public field expression Lorg/partiql/ast/v1/Expr; - public field function Lorg/partiql/ast/v1/Expr$Window$Function; - public field offset Lorg/partiql/ast/v1/Expr; - public field over Lorg/partiql/ast/v1/Expr$Window$Over; - public fun (Lorg/partiql/ast/v1/Expr$Window$Function;Lorg/partiql/ast/v1/Expr;Lorg/partiql/ast/v1/Expr;Lorg/partiql/ast/v1/Expr;Lorg/partiql/ast/v1/Expr$Window$Over;)V + public field setq Lorg/partiql/ast/v1/SetQuantifier; + public fun (Ljava/util/List;Lorg/partiql/ast/v1/SetQuantifier;)V public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; - public synthetic fun children ()Ljava/util/Collection; - public fun children ()Ljava/util/List; -} - -public final class org/partiql/ast/v1/Expr$Window$Function : java/lang/Enum { - public static final field LAG Lorg/partiql/ast/v1/Expr$Window$Function; - public static final field LEAD Lorg/partiql/ast/v1/Expr$Window$Function; - public static final field OTHER Lorg/partiql/ast/v1/Expr$Window$Function; - public static fun getEntries ()Lkotlin/enums/EnumEntries; - public static fun valueOf (Ljava/lang/String;)Lorg/partiql/ast/v1/Expr$Window$Function; - public static fun values ()[Lorg/partiql/ast/v1/Expr$Window$Function; + public fun children ()Ljava/util/Collection; } -public final class org/partiql/ast/v1/Expr$Window$Over : org/partiql/ast/v1/AstNode { - public field partitions Ljava/util/List; - public field sorts Ljava/util/List; - public fun (Ljava/util/List;Ljava/util/List;)V +public final class org/partiql/ast/v1/SelectStar : org/partiql/ast/v1/Select { + public field setq Lorg/partiql/ast/v1/SetQuantifier; + public fun (Lorg/partiql/ast/v1/SetQuantifier;)V public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; - public synthetic fun children ()Ljava/util/Collection; - public fun children ()Ljava/util/List; + public fun children ()Ljava/util/Collection; } -public abstract class org/partiql/ast/v1/From : org/partiql/ast/v1/AstNode { - public fun ()V +public final class org/partiql/ast/v1/SelectValue : org/partiql/ast/v1/Select { + public field constructor Lorg/partiql/ast/v1/expr/Expr; + public field setq Lorg/partiql/ast/v1/SetQuantifier; + public fun (Lorg/partiql/ast/v1/expr/Expr;Lorg/partiql/ast/v1/SetQuantifier;)V public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; + public fun children ()Ljava/util/Collection; } -public final class org/partiql/ast/v1/From$Join : org/partiql/ast/v1/From { - public field condition Lorg/partiql/ast/v1/Expr; - public field lhs Lorg/partiql/ast/v1/From; - public field rhs Lorg/partiql/ast/v1/From; - public field type Lorg/partiql/ast/v1/From$Join$Type; - public fun (Lorg/partiql/ast/v1/From;Lorg/partiql/ast/v1/From;Lorg/partiql/ast/v1/From$Join$Type;Lorg/partiql/ast/v1/Expr;)V +public final class org/partiql/ast/v1/SetOp : org/partiql/ast/v1/AstNode { + public field setq Lorg/partiql/ast/v1/SetQuantifier; + public field type Lorg/partiql/ast/v1/SetOp$Type; + public fun (Lorg/partiql/ast/v1/SetOp$Type;Lorg/partiql/ast/v1/SetQuantifier;)V public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; public fun children ()Ljava/util/Collection; } -public final class org/partiql/ast/v1/From$Join$Type : java/lang/Enum { - public static final field COMMA Lorg/partiql/ast/v1/From$Join$Type; - public static final field CROSS Lorg/partiql/ast/v1/From$Join$Type; - public static final field FULL Lorg/partiql/ast/v1/From$Join$Type; - public static final field FULL_OUTER Lorg/partiql/ast/v1/From$Join$Type; - public static final field INNER Lorg/partiql/ast/v1/From$Join$Type; - public static final field LEFT Lorg/partiql/ast/v1/From$Join$Type; - public static final field LEFT_OUTER Lorg/partiql/ast/v1/From$Join$Type; - public static final field OTHER Lorg/partiql/ast/v1/From$Join$Type; - public static final field RIGHT Lorg/partiql/ast/v1/From$Join$Type; - public static final field RIGHT_OUTER Lorg/partiql/ast/v1/From$Join$Type; +public final class org/partiql/ast/v1/SetOp$Type : java/lang/Enum { + public static final field EXCEPT Lorg/partiql/ast/v1/SetOp$Type; + public static final field INTERSECT Lorg/partiql/ast/v1/SetOp$Type; + public static final field OTHER Lorg/partiql/ast/v1/SetOp$Type; + public static final field UNION Lorg/partiql/ast/v1/SetOp$Type; public static fun getEntries ()Lkotlin/enums/EnumEntries; - public static fun valueOf (Ljava/lang/String;)Lorg/partiql/ast/v1/From$Join$Type; - public static fun values ()[Lorg/partiql/ast/v1/From$Join$Type; -} - -public final class org/partiql/ast/v1/From$Value : org/partiql/ast/v1/From { - public field asAlias Lorg/partiql/ast/v1/Identifier$Symbol; - public field atAlias Lorg/partiql/ast/v1/Identifier$Symbol; - public field byAlias Lorg/partiql/ast/v1/Identifier$Symbol; - public field expr Lorg/partiql/ast/v1/Expr; - public field type Lorg/partiql/ast/v1/From$Value$Type; - public fun (Lorg/partiql/ast/v1/Expr;Lorg/partiql/ast/v1/From$Value$Type;Lorg/partiql/ast/v1/Identifier$Symbol;Lorg/partiql/ast/v1/Identifier$Symbol;Lorg/partiql/ast/v1/Identifier$Symbol;)V - public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; - public fun children ()Ljava/util/Collection; + public static fun valueOf (Ljava/lang/String;)Lorg/partiql/ast/v1/SetOp$Type; + public static fun values ()[Lorg/partiql/ast/v1/SetOp$Type; } -public final class org/partiql/ast/v1/From$Value$Type : java/lang/Enum { - public static final field OTHER Lorg/partiql/ast/v1/From$Value$Type; - public static final field SCAN Lorg/partiql/ast/v1/From$Value$Type; - public static final field UNPIVOT Lorg/partiql/ast/v1/From$Value$Type; +public final class org/partiql/ast/v1/SetQuantifier : java/lang/Enum { + public static final field ALL Lorg/partiql/ast/v1/SetQuantifier; + public static final field DISTINCT Lorg/partiql/ast/v1/SetQuantifier; + public static final field OTHER Lorg/partiql/ast/v1/SetQuantifier; public static fun getEntries ()Lkotlin/enums/EnumEntries; - public static fun valueOf (Ljava/lang/String;)Lorg/partiql/ast/v1/From$Value$Type; - public static fun values ()[Lorg/partiql/ast/v1/From$Value$Type; + public static fun valueOf (Ljava/lang/String;)Lorg/partiql/ast/v1/SetQuantifier; + public static fun values ()[Lorg/partiql/ast/v1/SetQuantifier; } -public final class org/partiql/ast/v1/GraphMatch : org/partiql/ast/v1/AstNode { - public field patterns Ljava/util/List; - public field selector Lorg/partiql/ast/v1/GraphMatch$Selector; - public fun (Ljava/util/List;Lorg/partiql/ast/v1/GraphMatch$Selector;)V +public final class org/partiql/ast/v1/Sort : org/partiql/ast/v1/AstNode { + public field dir Lorg/partiql/ast/v1/Sort$Dir; + public field expr Lorg/partiql/ast/v1/expr/Expr; + public field nulls Lorg/partiql/ast/v1/Sort$Nulls; + public fun (Lorg/partiql/ast/v1/expr/Expr;Lorg/partiql/ast/v1/Sort$Dir;Lorg/partiql/ast/v1/Sort$Nulls;)V public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; public fun children ()Ljava/util/Collection; } -public final class org/partiql/ast/v1/GraphMatch$Direction : java/lang/Enum { - public static final field LEFT Lorg/partiql/ast/v1/GraphMatch$Direction; - public static final field LEFT_OR_RIGHT Lorg/partiql/ast/v1/GraphMatch$Direction; - public static final field LEFT_OR_UNDIRECTED Lorg/partiql/ast/v1/GraphMatch$Direction; - public static final field LEFT_UNDIRECTED_OR_RIGHT Lorg/partiql/ast/v1/GraphMatch$Direction; - public static final field OTHER Lorg/partiql/ast/v1/GraphMatch$Direction; - public static final field RIGHT Lorg/partiql/ast/v1/GraphMatch$Direction; - public static final field UNDIRECTED Lorg/partiql/ast/v1/GraphMatch$Direction; - public static final field UNDIRECTED_OR_RIGHT Lorg/partiql/ast/v1/GraphMatch$Direction; +public final class org/partiql/ast/v1/Sort$Dir : java/lang/Enum { + public static final field ASC Lorg/partiql/ast/v1/Sort$Dir; + public static final field DESC Lorg/partiql/ast/v1/Sort$Dir; + public static final field OTHER Lorg/partiql/ast/v1/Sort$Dir; + public static fun getEntries ()Lkotlin/enums/EnumEntries; + public static fun valueOf (Ljava/lang/String;)Lorg/partiql/ast/v1/Sort$Dir; + public static fun values ()[Lorg/partiql/ast/v1/Sort$Dir; +} + +public final class org/partiql/ast/v1/Sort$Nulls : java/lang/Enum { + public static final field FIRST Lorg/partiql/ast/v1/Sort$Nulls; + public static final field LAST Lorg/partiql/ast/v1/Sort$Nulls; + public static final field OTHER Lorg/partiql/ast/v1/Sort$Nulls; public static fun getEntries ()Lkotlin/enums/EnumEntries; - public static fun valueOf (Ljava/lang/String;)Lorg/partiql/ast/v1/GraphMatch$Direction; - public static fun values ()[Lorg/partiql/ast/v1/GraphMatch$Direction; + public static fun valueOf (Ljava/lang/String;)Lorg/partiql/ast/v1/Sort$Nulls; + public static fun values ()[Lorg/partiql/ast/v1/Sort$Nulls; } -public abstract class org/partiql/ast/v1/GraphMatch$Label : org/partiql/ast/v1/AstNode { +public abstract class org/partiql/ast/v1/Statement : org/partiql/ast/v1/AstNode { public fun ()V public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; } -public final class org/partiql/ast/v1/GraphMatch$Label$Conj : org/partiql/ast/v1/GraphMatch$Label { - public field lhs Lorg/partiql/ast/v1/GraphMatch$Label; - public field rhs Lorg/partiql/ast/v1/GraphMatch$Label; - public fun (Lorg/partiql/ast/v1/GraphMatch$Label;Lorg/partiql/ast/v1/GraphMatch$Label;)V +public final class org/partiql/ast/v1/TableDefinition : org/partiql/ast/v1/AstNode { + public field columns Ljava/util/List; + public fun (Ljava/util/List;)V public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; public fun children ()Ljava/util/Collection; } -public final class org/partiql/ast/v1/GraphMatch$Label$Disj : org/partiql/ast/v1/GraphMatch$Label { - public field lhs Lorg/partiql/ast/v1/GraphMatch$Label; - public field rhs Lorg/partiql/ast/v1/GraphMatch$Label; - public fun (Lorg/partiql/ast/v1/GraphMatch$Label;Lorg/partiql/ast/v1/GraphMatch$Label;)V +public abstract class org/partiql/ast/v1/Target : org/partiql/ast/v1/AstNode { + public fun ()V public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; - public fun children ()Ljava/util/Collection; } -public final class org/partiql/ast/v1/GraphMatch$Label$Name : org/partiql/ast/v1/GraphMatch$Label { - public field name Ljava/lang/String; - public fun (Ljava/lang/String;)V +public final class org/partiql/ast/v1/Target$Domain : org/partiql/ast/v1/Target { + public field format Ljava/lang/String; + public field statement Lorg/partiql/ast/v1/Statement; + public field type Ljava/lang/String; + public fun (Lorg/partiql/ast/v1/Statement;Ljava/lang/String;Ljava/lang/String;)V public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; public fun children ()Ljava/util/Collection; } -public final class org/partiql/ast/v1/GraphMatch$Label$Negation : org/partiql/ast/v1/GraphMatch$Label { - public field arg Lorg/partiql/ast/v1/GraphMatch$Label; - public fun (Lorg/partiql/ast/v1/GraphMatch$Label;)V +public abstract class org/partiql/ast/v1/expr/Expr : org/partiql/ast/v1/AstNode { + public fun ()V + public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; +} + +public final class org/partiql/ast/v1/expr/ExprAnd : org/partiql/ast/v1/expr/Expr { + public field lhs Lorg/partiql/ast/v1/expr/Expr; + public field rhs Lorg/partiql/ast/v1/expr/Expr; + public fun (Lorg/partiql/ast/v1/expr/Expr;Lorg/partiql/ast/v1/expr/Expr;)V public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; public fun children ()Ljava/util/Collection; } -public final class org/partiql/ast/v1/GraphMatch$Label$Wildcard : org/partiql/ast/v1/GraphMatch$Label { - public static final field INSTANCE Lorg/partiql/ast/v1/GraphMatch$Label$Wildcard; +public final class org/partiql/ast/v1/expr/ExprBetween : org/partiql/ast/v1/expr/Expr { + public field from Lorg/partiql/ast/v1/expr/Expr; + public field not Ljava/lang/Boolean; + public field to Lorg/partiql/ast/v1/expr/Expr; + public field value Lorg/partiql/ast/v1/expr/Expr; + public fun (Lorg/partiql/ast/v1/expr/Expr;Lorg/partiql/ast/v1/expr/Expr;Lorg/partiql/ast/v1/expr/Expr;Ljava/lang/Boolean;)V public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; public fun children ()Ljava/util/Collection; } -public final class org/partiql/ast/v1/GraphMatch$Pattern : org/partiql/ast/v1/AstNode { - public field parts Ljava/util/List; - public field prefilter Lorg/partiql/ast/v1/Expr; - public field quantifier Lorg/partiql/ast/v1/GraphMatch$Quantifier; - public field restrictor Lorg/partiql/ast/v1/GraphMatch$Restrictor; - public field variable Ljava/lang/String; - public fun (Lorg/partiql/ast/v1/GraphMatch$Restrictor;Lorg/partiql/ast/v1/Expr;Ljava/lang/String;Lorg/partiql/ast/v1/GraphMatch$Quantifier;Ljava/util/List;)V +public final class org/partiql/ast/v1/expr/ExprCall : org/partiql/ast/v1/expr/Expr { + public field args Ljava/util/List; + public field function Lorg/partiql/ast/v1/Identifier; + public field setq Lorg/partiql/ast/v1/SetQuantifier; + public fun (Lorg/partiql/ast/v1/Identifier;Ljava/util/List;Lorg/partiql/ast/v1/SetQuantifier;)V public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; public fun children ()Ljava/util/Collection; } -public abstract class org/partiql/ast/v1/GraphMatch$Pattern$Part : org/partiql/ast/v1/AstNode { - public fun ()V +public final class org/partiql/ast/v1/expr/ExprCase : org/partiql/ast/v1/expr/Expr { + public field branches Ljava/util/List; + public field default Lorg/partiql/ast/v1/expr/Expr; + public field expr Lorg/partiql/ast/v1/expr/Expr; + public fun (Lorg/partiql/ast/v1/expr/Expr;Ljava/util/List;Lorg/partiql/ast/v1/expr/Expr;)V public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; + public fun children ()Ljava/util/Collection; } -public final class org/partiql/ast/v1/GraphMatch$Pattern$Part$Edge : org/partiql/ast/v1/GraphMatch$Pattern$Part { - public field direction Lorg/partiql/ast/v1/GraphMatch$Direction; - public field label Lorg/partiql/ast/v1/GraphMatch$Label; - public field prefilter Lorg/partiql/ast/v1/Expr; - public field quantifier Lorg/partiql/ast/v1/GraphMatch$Quantifier; - public field variable Ljava/lang/String; - public fun (Lorg/partiql/ast/v1/GraphMatch$Direction;Lorg/partiql/ast/v1/GraphMatch$Quantifier;Lorg/partiql/ast/v1/Expr;Ljava/lang/String;Lorg/partiql/ast/v1/GraphMatch$Label;)V +public final class org/partiql/ast/v1/expr/ExprCase$Branch : org/partiql/ast/v1/AstNode { + public field condition Lorg/partiql/ast/v1/expr/Expr; + public field expr Lorg/partiql/ast/v1/expr/Expr; + public fun (Lorg/partiql/ast/v1/expr/Expr;Lorg/partiql/ast/v1/expr/Expr;)V public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; public fun children ()Ljava/util/Collection; } -public final class org/partiql/ast/v1/GraphMatch$Pattern$Part$Node : org/partiql/ast/v1/GraphMatch$Pattern$Part { - public field label Lorg/partiql/ast/v1/GraphMatch$Label; - public field prefilter Lorg/partiql/ast/v1/Expr; - public field variable Ljava/lang/String; - public fun (Lorg/partiql/ast/v1/Expr;Ljava/lang/String;Lorg/partiql/ast/v1/GraphMatch$Label;)V +public final class org/partiql/ast/v1/expr/ExprCast : org/partiql/ast/v1/expr/Expr { + public field asType Lorg/partiql/ast/v1/type/Type; + public field value Lorg/partiql/ast/v1/expr/Expr; + public fun (Lorg/partiql/ast/v1/expr/Expr;Lorg/partiql/ast/v1/type/Type;)V public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; public fun children ()Ljava/util/Collection; } -public final class org/partiql/ast/v1/GraphMatch$Pattern$Part$Pattern : org/partiql/ast/v1/GraphMatch$Pattern$Part { - public field pattern Lorg/partiql/ast/v1/GraphMatch$Pattern; - public fun (Lorg/partiql/ast/v1/GraphMatch$Pattern;)V +public final class org/partiql/ast/v1/expr/ExprCoalesce : org/partiql/ast/v1/expr/Expr { + public field args Ljava/util/List; + public fun (Ljava/util/List;)V public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; public fun children ()Ljava/util/Collection; } -public final class org/partiql/ast/v1/GraphMatch$Quantifier : org/partiql/ast/v1/AstNode { - public field lower J - public field upper Ljava/lang/Long; - public fun (JLjava/lang/Long;)V +public final class org/partiql/ast/v1/expr/ExprCollection : org/partiql/ast/v1/expr/Expr { + public field type Lorg/partiql/ast/v1/expr/ExprCollection$Type; + public field values Ljava/util/List; + public fun (Lorg/partiql/ast/v1/expr/ExprCollection$Type;Ljava/util/List;)V public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; public fun children ()Ljava/util/Collection; } -public final class org/partiql/ast/v1/GraphMatch$Restrictor : java/lang/Enum { - public static final field ACYCLIC Lorg/partiql/ast/v1/GraphMatch$Restrictor; - public static final field OTHER Lorg/partiql/ast/v1/GraphMatch$Restrictor; - public static final field SIMPLE Lorg/partiql/ast/v1/GraphMatch$Restrictor; - public static final field TRAIL Lorg/partiql/ast/v1/GraphMatch$Restrictor; +public final class org/partiql/ast/v1/expr/ExprCollection$Type : java/lang/Enum { + public static final field ARRAY Lorg/partiql/ast/v1/expr/ExprCollection$Type; + public static final field BAG Lorg/partiql/ast/v1/expr/ExprCollection$Type; + public static final field LIST Lorg/partiql/ast/v1/expr/ExprCollection$Type; + public static final field OTHER Lorg/partiql/ast/v1/expr/ExprCollection$Type; + public static final field SEXP Lorg/partiql/ast/v1/expr/ExprCollection$Type; + public static final field VALUES Lorg/partiql/ast/v1/expr/ExprCollection$Type; public static fun getEntries ()Lkotlin/enums/EnumEntries; - public static fun valueOf (Ljava/lang/String;)Lorg/partiql/ast/v1/GraphMatch$Restrictor; - public static fun values ()[Lorg/partiql/ast/v1/GraphMatch$Restrictor; + public static fun valueOf (Ljava/lang/String;)Lorg/partiql/ast/v1/expr/ExprCollection$Type; + public static fun values ()[Lorg/partiql/ast/v1/expr/ExprCollection$Type; } -public abstract class org/partiql/ast/v1/GraphMatch$Selector : org/partiql/ast/v1/AstNode { - public fun ()V +public final class org/partiql/ast/v1/expr/ExprDateAdd : org/partiql/ast/v1/expr/Expr { + public field field Lorg/partiql/ast/v1/DatetimeField; + public field lhs Lorg/partiql/ast/v1/expr/Expr; + public field rhs Lorg/partiql/ast/v1/expr/Expr; + public fun (Lorg/partiql/ast/v1/DatetimeField;Lorg/partiql/ast/v1/expr/Expr;Lorg/partiql/ast/v1/expr/Expr;)V public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; + public fun children ()Ljava/util/Collection; } -public final class org/partiql/ast/v1/GraphMatch$Selector$AllShortest : org/partiql/ast/v1/GraphMatch$Selector { - public static final field INSTANCE Lorg/partiql/ast/v1/GraphMatch$Selector$AllShortest; +public final class org/partiql/ast/v1/expr/ExprDateDiff : org/partiql/ast/v1/expr/Expr { + public field field Lorg/partiql/ast/v1/DatetimeField; + public field lhs Lorg/partiql/ast/v1/expr/Expr; + public field rhs Lorg/partiql/ast/v1/expr/Expr; + public fun (Lorg/partiql/ast/v1/DatetimeField;Lorg/partiql/ast/v1/expr/Expr;Lorg/partiql/ast/v1/expr/Expr;)V public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; public fun children ()Ljava/util/Collection; } -public final class org/partiql/ast/v1/GraphMatch$Selector$Any : org/partiql/ast/v1/GraphMatch$Selector { - public static final field INSTANCE Lorg/partiql/ast/v1/GraphMatch$Selector$Any; +public final class org/partiql/ast/v1/expr/ExprExtract : org/partiql/ast/v1/expr/Expr { + public field field Lorg/partiql/ast/v1/DatetimeField; + public field source Lorg/partiql/ast/v1/expr/Expr; + public fun (Lorg/partiql/ast/v1/DatetimeField;Lorg/partiql/ast/v1/expr/Expr;)V public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; public fun children ()Ljava/util/Collection; } -public final class org/partiql/ast/v1/GraphMatch$Selector$AnyK : org/partiql/ast/v1/GraphMatch$Selector { - public field k J - public fun (J)V +public final class org/partiql/ast/v1/expr/ExprInCollection : org/partiql/ast/v1/expr/Expr { + public field lhs Lorg/partiql/ast/v1/expr/Expr; + public field not Ljava/lang/Boolean; + public field rhs Lorg/partiql/ast/v1/expr/Expr; + public fun (Lorg/partiql/ast/v1/expr/Expr;Lorg/partiql/ast/v1/expr/Expr;Ljava/lang/Boolean;)V public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; public fun children ()Ljava/util/Collection; } -public final class org/partiql/ast/v1/GraphMatch$Selector$AnyShortest : org/partiql/ast/v1/GraphMatch$Selector { - public static final field INSTANCE Lorg/partiql/ast/v1/GraphMatch$Selector$AnyShortest; +public final class org/partiql/ast/v1/expr/ExprIon : org/partiql/ast/v1/expr/Expr { + public field value Lcom/amazon/ionelement/api/IonElement; + public fun (Lcom/amazon/ionelement/api/IonElement;)V public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; - public fun children ()Ljava/util/Collection; + public synthetic fun children ()Ljava/util/Collection; + public fun children ()Ljava/util/List; } -public final class org/partiql/ast/v1/GraphMatch$Selector$ShortestK : org/partiql/ast/v1/GraphMatch$Selector { - public field k J - public fun (J)V +public final class org/partiql/ast/v1/expr/ExprIsType : org/partiql/ast/v1/expr/Expr { + public field not Ljava/lang/Boolean; + public field type Lorg/partiql/ast/v1/type/Type; + public field value Lorg/partiql/ast/v1/expr/Expr; + public fun (Lorg/partiql/ast/v1/expr/Expr;Lorg/partiql/ast/v1/type/Type;Ljava/lang/Boolean;)V public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; public fun children ()Ljava/util/Collection; } -public final class org/partiql/ast/v1/GraphMatch$Selector$ShortestKGroup : org/partiql/ast/v1/GraphMatch$Selector { - public field k J - public fun (J)V +public final class org/partiql/ast/v1/expr/ExprLike : org/partiql/ast/v1/expr/Expr { + public field escape Lorg/partiql/ast/v1/expr/Expr; + public field not Ljava/lang/Boolean; + public field pattern Lorg/partiql/ast/v1/expr/Expr; + public field value Lorg/partiql/ast/v1/expr/Expr; + public fun (Lorg/partiql/ast/v1/expr/Expr;Lorg/partiql/ast/v1/expr/Expr;Lorg/partiql/ast/v1/expr/Expr;Ljava/lang/Boolean;)V public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; public fun children ()Ljava/util/Collection; } -public final class org/partiql/ast/v1/GroupBy : org/partiql/ast/v1/AstNode { - public field asAlias Lorg/partiql/ast/v1/Identifier$Symbol; - public field keys Ljava/util/List; - public field strategy Lorg/partiql/ast/v1/GroupBy$Strategy; - public fun (Lorg/partiql/ast/v1/GroupBy$Strategy;Ljava/util/List;Lorg/partiql/ast/v1/Identifier$Symbol;)V +public final class org/partiql/ast/v1/expr/ExprLit : org/partiql/ast/v1/expr/Expr { + public field value Lorg/partiql/value/PartiQLValue; + public fun (Lorg/partiql/value/PartiQLValue;)V public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; public fun children ()Ljava/util/Collection; } -public final class org/partiql/ast/v1/GroupBy$Key : org/partiql/ast/v1/AstNode { - public field asAlias Lorg/partiql/ast/v1/Identifier$Symbol; - public field expr Lorg/partiql/ast/v1/Expr; - public fun (Lorg/partiql/ast/v1/Expr;Lorg/partiql/ast/v1/Identifier$Symbol;)V +public final class org/partiql/ast/v1/expr/ExprMatch : org/partiql/ast/v1/expr/Expr { + public field expr Lorg/partiql/ast/v1/expr/Expr; + public field pattern Lorg/partiql/ast/v1/graph/GraphMatch; + public fun (Lorg/partiql/ast/v1/expr/Expr;Lorg/partiql/ast/v1/graph/GraphMatch;)V public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; public fun children ()Ljava/util/Collection; } -public final class org/partiql/ast/v1/GroupBy$Strategy : java/lang/Enum { - public static final field FULL Lorg/partiql/ast/v1/GroupBy$Strategy; - public static final field OTHER Lorg/partiql/ast/v1/GroupBy$Strategy; - public static final field PARTIAL Lorg/partiql/ast/v1/GroupBy$Strategy; - public static fun getEntries ()Lkotlin/enums/EnumEntries; - public static fun valueOf (Ljava/lang/String;)Lorg/partiql/ast/v1/GroupBy$Strategy; - public static fun values ()[Lorg/partiql/ast/v1/GroupBy$Strategy; -} - -public abstract class org/partiql/ast/v1/Identifier : org/partiql/ast/v1/AstNode { - public fun ()V +public final class org/partiql/ast/v1/expr/ExprNot : org/partiql/ast/v1/expr/Expr { + public field value Lorg/partiql/ast/v1/expr/Expr; + public fun (Lorg/partiql/ast/v1/expr/Expr;)V public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; + public fun children ()Ljava/util/Collection; } -public final class org/partiql/ast/v1/Identifier$CaseSensitivity : java/lang/Enum { - public static final field INSENSITIVE Lorg/partiql/ast/v1/Identifier$CaseSensitivity; - public static final field OTHER Lorg/partiql/ast/v1/Identifier$CaseSensitivity; - public static final field SENSITIVE Lorg/partiql/ast/v1/Identifier$CaseSensitivity; - public static fun getEntries ()Lkotlin/enums/EnumEntries; - public static fun valueOf (Ljava/lang/String;)Lorg/partiql/ast/v1/Identifier$CaseSensitivity; - public static fun values ()[Lorg/partiql/ast/v1/Identifier$CaseSensitivity; -} - -public final class org/partiql/ast/v1/Identifier$Qualified : org/partiql/ast/v1/Identifier { - public field root Lorg/partiql/ast/v1/Identifier$Symbol; - public field steps Ljava/util/List; - public fun (Lorg/partiql/ast/v1/Identifier$Symbol;Ljava/util/List;)V +public final class org/partiql/ast/v1/expr/ExprNullIf : org/partiql/ast/v1/expr/Expr { + public field nullifier Lorg/partiql/ast/v1/expr/Expr; + public field value Lorg/partiql/ast/v1/expr/Expr; + public fun (Lorg/partiql/ast/v1/expr/Expr;Lorg/partiql/ast/v1/expr/Expr;)V public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; public fun children ()Ljava/util/Collection; } -public final class org/partiql/ast/v1/Identifier$Symbol : org/partiql/ast/v1/Identifier { - public field caseSensitivity Lorg/partiql/ast/v1/Identifier$CaseSensitivity; +public final class org/partiql/ast/v1/expr/ExprOperator : org/partiql/ast/v1/expr/Expr { + public field lhs Lorg/partiql/ast/v1/expr/Expr; + public field rhs Lorg/partiql/ast/v1/expr/Expr; public field symbol Ljava/lang/String; - public fun (Ljava/lang/String;Lorg/partiql/ast/v1/Identifier$CaseSensitivity;)V + public fun (Ljava/lang/String;Lorg/partiql/ast/v1/expr/Expr;Lorg/partiql/ast/v1/expr/Expr;)V public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; public fun children ()Ljava/util/Collection; } -public final class org/partiql/ast/v1/Let : org/partiql/ast/v1/AstNode { - public field bindings Ljava/util/List; - public fun (Ljava/util/List;)V +public final class org/partiql/ast/v1/expr/ExprOr : org/partiql/ast/v1/expr/Expr { + public field lhs Lorg/partiql/ast/v1/expr/Expr; + public field rhs Lorg/partiql/ast/v1/expr/Expr; + public fun (Lorg/partiql/ast/v1/expr/Expr;Lorg/partiql/ast/v1/expr/Expr;)V public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; public fun children ()Ljava/util/Collection; } -public final class org/partiql/ast/v1/Let$Binding : org/partiql/ast/v1/AstNode { - public field asAlias Lorg/partiql/ast/v1/Identifier$Symbol; - public field expr Lorg/partiql/ast/v1/Expr; - public fun (Lorg/partiql/ast/v1/Expr;Lorg/partiql/ast/v1/Identifier$Symbol;)V +public final class org/partiql/ast/v1/expr/ExprOverlay : org/partiql/ast/v1/expr/Expr { + public field length Lorg/partiql/ast/v1/expr/Expr; + public field overlay Lorg/partiql/ast/v1/expr/Expr; + public field start Lorg/partiql/ast/v1/expr/Expr; + public field value Lorg/partiql/ast/v1/expr/Expr; + public fun (Lorg/partiql/ast/v1/expr/Expr;Lorg/partiql/ast/v1/expr/Expr;Lorg/partiql/ast/v1/expr/Expr;Lorg/partiql/ast/v1/expr/Expr;)V public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; public fun children ()Ljava/util/Collection; } -public final class org/partiql/ast/v1/OrderBy : org/partiql/ast/v1/AstNode { - public field sorts Ljava/util/List; - public fun (Ljava/util/List;)V +public final class org/partiql/ast/v1/expr/ExprParameter : org/partiql/ast/v1/expr/Expr { + public field index I + public fun (I)V public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; public fun children ()Ljava/util/Collection; } -public final class org/partiql/ast/v1/PathLit : org/partiql/ast/v1/AstNode { - public field root Lorg/partiql/ast/v1/Identifier$Symbol; +public final class org/partiql/ast/v1/expr/ExprPath : org/partiql/ast/v1/expr/Expr { + public field root Lorg/partiql/ast/v1/expr/Expr; public field steps Ljava/util/List; - public fun (Lorg/partiql/ast/v1/Identifier$Symbol;Ljava/util/List;)V + public fun (Lorg/partiql/ast/v1/expr/Expr;Ljava/util/List;)V public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; public fun children ()Ljava/util/Collection; } -public abstract class org/partiql/ast/v1/PathLit$Step : org/partiql/ast/v1/AstNode { +public abstract class org/partiql/ast/v1/expr/ExprPathStep : org/partiql/ast/v1/AstNode { public fun ()V + public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; } -public final class org/partiql/ast/v1/PathLit$Step$Index : org/partiql/ast/v1/PathLit$Step { - public field index I - public fun (I)V +public final class org/partiql/ast/v1/expr/ExprPathStep$Index : org/partiql/ast/v1/expr/ExprPathStep { + public field key Lorg/partiql/ast/v1/expr/Expr; + public fun (Lorg/partiql/ast/v1/expr/Expr;)V public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; public fun children ()Ljava/util/Collection; } -public final class org/partiql/ast/v1/PathLit$Step$Symbol : org/partiql/ast/v1/PathLit$Step { +public final class org/partiql/ast/v1/expr/ExprPathStep$Symbol : org/partiql/ast/v1/expr/ExprPathStep { public field symbol Lorg/partiql/ast/v1/Identifier$Symbol; public fun (Lorg/partiql/ast/v1/Identifier$Symbol;)V public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; public fun children ()Ljava/util/Collection; } -public abstract class org/partiql/ast/v1/QueryBody : org/partiql/ast/v1/AstNode { - public fun ()V +public final class org/partiql/ast/v1/expr/ExprPathStep$Unpivot : org/partiql/ast/v1/expr/ExprPathStep { + public static final field INSTANCE Lorg/partiql/ast/v1/expr/ExprPathStep$Unpivot; public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; + public fun children ()Ljava/util/Collection; } -public final class org/partiql/ast/v1/QueryBody$SFW : org/partiql/ast/v1/QueryBody { - public field exclude Lorg/partiql/ast/v1/Exclude; - public field from Lorg/partiql/ast/v1/From; - public field groupBy Lorg/partiql/ast/v1/GroupBy; - public field having Lorg/partiql/ast/v1/Expr; - public field let Lorg/partiql/ast/v1/Let; - public field select Lorg/partiql/ast/v1/Select; - public field where Lorg/partiql/ast/v1/Expr; - public fun (Lorg/partiql/ast/v1/Select;Lorg/partiql/ast/v1/Exclude;Lorg/partiql/ast/v1/From;Lorg/partiql/ast/v1/Let;Lorg/partiql/ast/v1/Expr;Lorg/partiql/ast/v1/GroupBy;Lorg/partiql/ast/v1/Expr;)V +public final class org/partiql/ast/v1/expr/ExprPathStep$Wildcard : org/partiql/ast/v1/expr/ExprPathStep { + public static final field INSTANCE Lorg/partiql/ast/v1/expr/ExprPathStep$Wildcard; public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; public fun children ()Ljava/util/Collection; } -public final class org/partiql/ast/v1/QueryBody$SetOp : org/partiql/ast/v1/QueryBody { - public field isOuter Z - public field lhs Lorg/partiql/ast/v1/Expr; - public field rhs Lorg/partiql/ast/v1/Expr; - public field type Lorg/partiql/ast/v1/SetOp; - public fun (Lorg/partiql/ast/v1/SetOp;ZLorg/partiql/ast/v1/Expr;Lorg/partiql/ast/v1/Expr;)V +public final class org/partiql/ast/v1/expr/ExprPosition : org/partiql/ast/v1/expr/Expr { + public field lhs Lorg/partiql/ast/v1/expr/Expr; + public field rhs Lorg/partiql/ast/v1/expr/Expr; + public fun (Lorg/partiql/ast/v1/expr/Expr;Lorg/partiql/ast/v1/expr/Expr;)V public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; public fun children ()Ljava/util/Collection; } -public abstract class org/partiql/ast/v1/Select : org/partiql/ast/v1/AstNode { - public fun ()V +public final class org/partiql/ast/v1/expr/ExprQuerySet : org/partiql/ast/v1/expr/Expr { + public field body Lorg/partiql/ast/v1/QueryBody; + public field limit Lorg/partiql/ast/v1/expr/Expr; + public field offset Lorg/partiql/ast/v1/expr/Expr; + public field orderBy Lorg/partiql/ast/v1/OrderBy; + public fun (Lorg/partiql/ast/v1/QueryBody;Lorg/partiql/ast/v1/OrderBy;Lorg/partiql/ast/v1/expr/Expr;Lorg/partiql/ast/v1/expr/Expr;)V public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; + public fun children ()Ljava/util/Collection; } -public final class org/partiql/ast/v1/Select$Pivot : org/partiql/ast/v1/Select { - public field key Lorg/partiql/ast/v1/Expr; - public field value Lorg/partiql/ast/v1/Expr; - public fun (Lorg/partiql/ast/v1/Expr;Lorg/partiql/ast/v1/Expr;)V +public final class org/partiql/ast/v1/expr/ExprSessionAttribute : org/partiql/ast/v1/expr/Expr { + public field attribute Lorg/partiql/ast/v1/expr/ExprSessionAttribute$Attribute; + public fun (Lorg/partiql/ast/v1/expr/ExprSessionAttribute$Attribute;)V public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; public fun children ()Ljava/util/Collection; } -public final class org/partiql/ast/v1/Select$Project : org/partiql/ast/v1/Select { - public field items Ljava/util/List; - public field setq Lorg/partiql/ast/v1/SetQuantifier; - public fun (Ljava/util/List;Lorg/partiql/ast/v1/SetQuantifier;)V - public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; - public fun children ()Ljava/util/Collection; +public final class org/partiql/ast/v1/expr/ExprSessionAttribute$Attribute : java/lang/Enum { + public static final field CURRENT_DATE Lorg/partiql/ast/v1/expr/ExprSessionAttribute$Attribute; + public static final field CURRENT_USER Lorg/partiql/ast/v1/expr/ExprSessionAttribute$Attribute; + public static final field OTHER Lorg/partiql/ast/v1/expr/ExprSessionAttribute$Attribute; + public static fun getEntries ()Lkotlin/enums/EnumEntries; + public static fun valueOf (Ljava/lang/String;)Lorg/partiql/ast/v1/expr/ExprSessionAttribute$Attribute; + public static fun values ()[Lorg/partiql/ast/v1/expr/ExprSessionAttribute$Attribute; } -public abstract class org/partiql/ast/v1/Select$Project$Item : org/partiql/ast/v1/AstNode { - public fun ()V +public final class org/partiql/ast/v1/expr/ExprStruct : org/partiql/ast/v1/expr/Expr { + public field fields Ljava/util/List; + public fun (Ljava/util/List;)V public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; + public fun children ()Ljava/util/Collection; } -public final class org/partiql/ast/v1/Select$Project$Item$All : org/partiql/ast/v1/Select$Project$Item { - public field expr Lorg/partiql/ast/v1/Expr; - public fun (Lorg/partiql/ast/v1/Expr;)V +public final class org/partiql/ast/v1/expr/ExprStruct$Field : org/partiql/ast/v1/AstNode { + public field name Lorg/partiql/ast/v1/expr/Expr; + public field value Lorg/partiql/ast/v1/expr/Expr; + public fun (Lorg/partiql/ast/v1/expr/Expr;Lorg/partiql/ast/v1/expr/Expr;)V public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; public fun children ()Ljava/util/Collection; } -public final class org/partiql/ast/v1/Select$Project$Item$Expression : org/partiql/ast/v1/Select$Project$Item { - public field asAlias Lorg/partiql/ast/v1/Identifier$Symbol; - public field expr Lorg/partiql/ast/v1/Expr; - public fun (Lorg/partiql/ast/v1/Expr;Lorg/partiql/ast/v1/Identifier$Symbol;)V +public final class org/partiql/ast/v1/expr/ExprSubstring : org/partiql/ast/v1/expr/Expr { + public field length Lorg/partiql/ast/v1/expr/Expr; + public field start Lorg/partiql/ast/v1/expr/Expr; + public field value Lorg/partiql/ast/v1/expr/Expr; + public fun (Lorg/partiql/ast/v1/expr/Expr;Lorg/partiql/ast/v1/expr/Expr;Lorg/partiql/ast/v1/expr/Expr;)V public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; public fun children ()Ljava/util/Collection; } -public final class org/partiql/ast/v1/Select$Star : org/partiql/ast/v1/Select { - public field setq Lorg/partiql/ast/v1/SetQuantifier; - public fun (Lorg/partiql/ast/v1/SetQuantifier;)V +public final class org/partiql/ast/v1/expr/ExprTrim : org/partiql/ast/v1/expr/Expr { + public field chars Lorg/partiql/ast/v1/expr/Expr; + public field spec Lorg/partiql/ast/v1/expr/ExprTrim$Spec; + public field value Lorg/partiql/ast/v1/expr/Expr; + public fun (Lorg/partiql/ast/v1/expr/Expr;Lorg/partiql/ast/v1/expr/Expr;Lorg/partiql/ast/v1/expr/ExprTrim$Spec;)V public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; public fun children ()Ljava/util/Collection; } -public final class org/partiql/ast/v1/Select$Value : org/partiql/ast/v1/Select { - public field constructor Lorg/partiql/ast/v1/Expr; - public field setq Lorg/partiql/ast/v1/SetQuantifier; - public fun (Lorg/partiql/ast/v1/Expr;Lorg/partiql/ast/v1/SetQuantifier;)V +public final class org/partiql/ast/v1/expr/ExprTrim$Spec : java/lang/Enum { + public static final field BOTH Lorg/partiql/ast/v1/expr/ExprTrim$Spec; + public static final field LEADING Lorg/partiql/ast/v1/expr/ExprTrim$Spec; + public static final field OTHER Lorg/partiql/ast/v1/expr/ExprTrim$Spec; + public static final field TRAILING Lorg/partiql/ast/v1/expr/ExprTrim$Spec; + public static fun getEntries ()Lkotlin/enums/EnumEntries; + public static fun valueOf (Ljava/lang/String;)Lorg/partiql/ast/v1/expr/ExprTrim$Spec; + public static fun values ()[Lorg/partiql/ast/v1/expr/ExprTrim$Spec; +} + +public final class org/partiql/ast/v1/expr/ExprValues : org/partiql/ast/v1/expr/Expr { + public field rows Ljava/util/List; + public fun (Ljava/util/List;)V public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; public fun children ()Ljava/util/Collection; } -public final class org/partiql/ast/v1/SetOp : org/partiql/ast/v1/AstNode { - public field setq Lorg/partiql/ast/v1/SetQuantifier; - public field type Lorg/partiql/ast/v1/SetOp$Type; - public fun (Lorg/partiql/ast/v1/SetOp$Type;Lorg/partiql/ast/v1/SetQuantifier;)V +public final class org/partiql/ast/v1/expr/ExprValues$Row : org/partiql/ast/v1/AstNode { + public field items Ljava/util/List; + public fun (Ljava/util/List;)V public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; public fun children ()Ljava/util/Collection; } -public final class org/partiql/ast/v1/SetOp$Type : java/lang/Enum { - public static final field EXCEPT Lorg/partiql/ast/v1/SetOp$Type; - public static final field INTERSECT Lorg/partiql/ast/v1/SetOp$Type; - public static final field OTHER Lorg/partiql/ast/v1/SetOp$Type; - public static final field UNION Lorg/partiql/ast/v1/SetOp$Type; - public static fun getEntries ()Lkotlin/enums/EnumEntries; - public static fun valueOf (Ljava/lang/String;)Lorg/partiql/ast/v1/SetOp$Type; - public static fun values ()[Lorg/partiql/ast/v1/SetOp$Type; +public final class org/partiql/ast/v1/expr/ExprVar : org/partiql/ast/v1/expr/Expr { + public field identifier Lorg/partiql/ast/v1/Identifier; + public field scope Lorg/partiql/ast/v1/expr/ExprVar$Scope; + public fun (Lorg/partiql/ast/v1/Identifier;Lorg/partiql/ast/v1/expr/ExprVar$Scope;)V + public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; + public fun children ()Ljava/util/Collection; } -public final class org/partiql/ast/v1/SetQuantifier : java/lang/Enum { - public static final field ALL Lorg/partiql/ast/v1/SetQuantifier; - public static final field DISTINCT Lorg/partiql/ast/v1/SetQuantifier; - public static final field OTHER Lorg/partiql/ast/v1/SetQuantifier; +public final class org/partiql/ast/v1/expr/ExprVar$Scope : java/lang/Enum { + public static final field DEFAULT Lorg/partiql/ast/v1/expr/ExprVar$Scope; + public static final field LOCAL Lorg/partiql/ast/v1/expr/ExprVar$Scope; + public static final field OTHER Lorg/partiql/ast/v1/expr/ExprVar$Scope; public static fun getEntries ()Lkotlin/enums/EnumEntries; - public static fun valueOf (Ljava/lang/String;)Lorg/partiql/ast/v1/SetQuantifier; - public static fun values ()[Lorg/partiql/ast/v1/SetQuantifier; + public static fun valueOf (Ljava/lang/String;)Lorg/partiql/ast/v1/expr/ExprVar$Scope; + public static fun values ()[Lorg/partiql/ast/v1/expr/ExprVar$Scope; } -public final class org/partiql/ast/v1/Sort : org/partiql/ast/v1/AstNode { - public field dir Lorg/partiql/ast/v1/Sort$Dir; - public field expr Lorg/partiql/ast/v1/Expr; - public field nulls Lorg/partiql/ast/v1/Sort$Nulls; - public fun (Lorg/partiql/ast/v1/Expr;Lorg/partiql/ast/v1/Sort$Dir;Lorg/partiql/ast/v1/Sort$Nulls;)V +public final class org/partiql/ast/v1/expr/ExprWindow : org/partiql/ast/v1/expr/Expr { + public field default Lorg/partiql/ast/v1/expr/Expr; + public field expression Lorg/partiql/ast/v1/expr/Expr; + public field function Lorg/partiql/ast/v1/expr/ExprWindow$Function; + public field offset Lorg/partiql/ast/v1/expr/Expr; + public field over Lorg/partiql/ast/v1/expr/ExprWindow$Over; + public fun (Lorg/partiql/ast/v1/expr/ExprWindow$Function;Lorg/partiql/ast/v1/expr/Expr;Lorg/partiql/ast/v1/expr/Expr;Lorg/partiql/ast/v1/expr/Expr;Lorg/partiql/ast/v1/expr/ExprWindow$Over;)V public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; public fun children ()Ljava/util/Collection; } -public final class org/partiql/ast/v1/Sort$Dir : java/lang/Enum { - public static final field ASC Lorg/partiql/ast/v1/Sort$Dir; - public static final field DESC Lorg/partiql/ast/v1/Sort$Dir; - public static final field OTHER Lorg/partiql/ast/v1/Sort$Dir; +public final class org/partiql/ast/v1/expr/ExprWindow$Function : java/lang/Enum { + public static final field LAG Lorg/partiql/ast/v1/expr/ExprWindow$Function; + public static final field LEAD Lorg/partiql/ast/v1/expr/ExprWindow$Function; + public static final field OTHER Lorg/partiql/ast/v1/expr/ExprWindow$Function; public static fun getEntries ()Lkotlin/enums/EnumEntries; - public static fun valueOf (Ljava/lang/String;)Lorg/partiql/ast/v1/Sort$Dir; - public static fun values ()[Lorg/partiql/ast/v1/Sort$Dir; + public static fun valueOf (Ljava/lang/String;)Lorg/partiql/ast/v1/expr/ExprWindow$Function; + public static fun values ()[Lorg/partiql/ast/v1/expr/ExprWindow$Function; } -public final class org/partiql/ast/v1/Sort$Nulls : java/lang/Enum { - public static final field FIRST Lorg/partiql/ast/v1/Sort$Nulls; - public static final field LAST Lorg/partiql/ast/v1/Sort$Nulls; - public static final field OTHER Lorg/partiql/ast/v1/Sort$Nulls; +public final class org/partiql/ast/v1/expr/ExprWindow$Over : org/partiql/ast/v1/AstNode { + public field partitions Ljava/util/List; + public field sorts Ljava/util/List; + public fun (Ljava/util/List;Ljava/util/List;)V + public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; + public fun children ()Ljava/util/Collection; +} + +public final class org/partiql/ast/v1/graph/GraphDirection : java/lang/Enum { + public static final field LEFT Lorg/partiql/ast/v1/graph/GraphDirection; + public static final field LEFT_OR_RIGHT Lorg/partiql/ast/v1/graph/GraphDirection; + public static final field LEFT_OR_UNDIRECTED Lorg/partiql/ast/v1/graph/GraphDirection; + public static final field LEFT_UNDIRECTED_OR_RIGHT Lorg/partiql/ast/v1/graph/GraphDirection; + public static final field OTHER Lorg/partiql/ast/v1/graph/GraphDirection; + public static final field RIGHT Lorg/partiql/ast/v1/graph/GraphDirection; + public static final field UNDIRECTED Lorg/partiql/ast/v1/graph/GraphDirection; + public static final field UNDIRECTED_OR_RIGHT Lorg/partiql/ast/v1/graph/GraphDirection; public static fun getEntries ()Lkotlin/enums/EnumEntries; - public static fun valueOf (Ljava/lang/String;)Lorg/partiql/ast/v1/Sort$Nulls; - public static fun values ()[Lorg/partiql/ast/v1/Sort$Nulls; + public static fun valueOf (Ljava/lang/String;)Lorg/partiql/ast/v1/graph/GraphDirection; + public static fun values ()[Lorg/partiql/ast/v1/graph/GraphDirection; } -public abstract class org/partiql/ast/v1/Statement : org/partiql/ast/v1/AstNode { +public abstract class org/partiql/ast/v1/graph/GraphLabel : org/partiql/ast/v1/AstNode { public fun ()V public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; } -public abstract class org/partiql/ast/v1/Statement$DDL : org/partiql/ast/v1/Statement { - public fun ()V +public final class org/partiql/ast/v1/graph/GraphLabel$Conj : org/partiql/ast/v1/graph/GraphLabel { + public field lhs Lorg/partiql/ast/v1/graph/GraphLabel; + public field rhs Lorg/partiql/ast/v1/graph/GraphLabel; + public fun (Lorg/partiql/ast/v1/graph/GraphLabel;Lorg/partiql/ast/v1/graph/GraphLabel;)V public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; + public fun children ()Ljava/util/Collection; } -public final class org/partiql/ast/v1/Statement$DDL$CreateIndex : org/partiql/ast/v1/Statement$DDL { - public field fields Ljava/util/List; - public field index Lorg/partiql/ast/v1/Identifier; - public field table Lorg/partiql/ast/v1/Identifier; - public fun (Lorg/partiql/ast/v1/Identifier;Lorg/partiql/ast/v1/Identifier;Ljava/util/List;)V +public final class org/partiql/ast/v1/graph/GraphLabel$Disj : org/partiql/ast/v1/graph/GraphLabel { + public field lhs Lorg/partiql/ast/v1/graph/GraphLabel; + public field rhs Lorg/partiql/ast/v1/graph/GraphLabel; + public fun (Lorg/partiql/ast/v1/graph/GraphLabel;Lorg/partiql/ast/v1/graph/GraphLabel;)V public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; public fun children ()Ljava/util/Collection; } -public final class org/partiql/ast/v1/Statement$DDL$CreateTable : org/partiql/ast/v1/Statement$DDL { - public field definition Lorg/partiql/ast/v1/TableDefinition; - public field name Lorg/partiql/ast/v1/Identifier; - public fun (Lorg/partiql/ast/v1/Identifier;Lorg/partiql/ast/v1/TableDefinition;)V +public final class org/partiql/ast/v1/graph/GraphLabel$Name : org/partiql/ast/v1/graph/GraphLabel { + public field name Ljava/lang/String; + public fun (Ljava/lang/String;)V public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; public fun children ()Ljava/util/Collection; } -public final class org/partiql/ast/v1/Statement$DDL$DropIndex : org/partiql/ast/v1/Statement$DDL { - public field index Lorg/partiql/ast/v1/Identifier; - public field table Lorg/partiql/ast/v1/Identifier; - public fun (Lorg/partiql/ast/v1/Identifier;Lorg/partiql/ast/v1/Identifier;)V +public final class org/partiql/ast/v1/graph/GraphLabel$Negation : org/partiql/ast/v1/graph/GraphLabel { + public field arg Lorg/partiql/ast/v1/graph/GraphLabel; + public fun (Lorg/partiql/ast/v1/graph/GraphLabel;)V public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; public fun children ()Ljava/util/Collection; } -public final class org/partiql/ast/v1/Statement$DDL$DropTable : org/partiql/ast/v1/Statement$DDL { - public field table Lorg/partiql/ast/v1/Identifier; - public fun (Lorg/partiql/ast/v1/Identifier;)V +public final class org/partiql/ast/v1/graph/GraphLabel$Wildcard : org/partiql/ast/v1/graph/GraphLabel { + public static final field INSTANCE Lorg/partiql/ast/v1/graph/GraphLabel$Wildcard; public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; public fun children ()Ljava/util/Collection; } -public final class org/partiql/ast/v1/Statement$Explain : org/partiql/ast/v1/Statement { - public field target Lorg/partiql/ast/v1/Statement$Explain$Target; - public fun (Lorg/partiql/ast/v1/Statement$Explain$Target;)V +public final class org/partiql/ast/v1/graph/GraphMatch : org/partiql/ast/v1/AstNode { + public field patterns Ljava/util/List; + public field selector Lorg/partiql/ast/v1/graph/GraphSelector; + public fun (Ljava/util/List;Lorg/partiql/ast/v1/graph/GraphSelector;)V public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; public fun children ()Ljava/util/Collection; } -public abstract class org/partiql/ast/v1/Statement$Explain$Target : org/partiql/ast/v1/AstNode { +public abstract class org/partiql/ast/v1/graph/GraphPart : org/partiql/ast/v1/AstNode { public fun ()V public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; } -public final class org/partiql/ast/v1/Statement$Explain$Target$Domain : org/partiql/ast/v1/Statement$Explain$Target { - public field format Ljava/lang/String; - public field statement Lorg/partiql/ast/v1/Statement; - public field type Ljava/lang/String; - public fun (Lorg/partiql/ast/v1/Statement;Ljava/lang/String;Ljava/lang/String;)V +public final class org/partiql/ast/v1/graph/GraphPart$Edge : org/partiql/ast/v1/graph/GraphPart { + public field direction Lorg/partiql/ast/v1/graph/GraphDirection; + public field label Lorg/partiql/ast/v1/graph/GraphLabel; + public field prefilter Lorg/partiql/ast/v1/expr/Expr; + public field quantifier Lorg/partiql/ast/v1/graph/GraphQuantifier; + public field variable Ljava/lang/String; + public fun (Lorg/partiql/ast/v1/graph/GraphDirection;Lorg/partiql/ast/v1/graph/GraphQuantifier;Lorg/partiql/ast/v1/expr/Expr;Ljava/lang/String;Lorg/partiql/ast/v1/graph/GraphLabel;)V public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; public fun children ()Ljava/util/Collection; } -public final class org/partiql/ast/v1/Statement$Query : org/partiql/ast/v1/Statement { - public field expr Lorg/partiql/ast/v1/Expr; - public fun (Lorg/partiql/ast/v1/Expr;)V +public final class org/partiql/ast/v1/graph/GraphPart$Node : org/partiql/ast/v1/graph/GraphPart { + public field label Lorg/partiql/ast/v1/graph/GraphLabel; + public field prefilter Lorg/partiql/ast/v1/expr/Expr; + public field variable Ljava/lang/String; + public fun (Lorg/partiql/ast/v1/expr/Expr;Ljava/lang/String;Lorg/partiql/ast/v1/graph/GraphLabel;)V public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; public fun children ()Ljava/util/Collection; } -public final class org/partiql/ast/v1/TableDefinition : org/partiql/ast/v1/AstNode { - public field columns Ljava/util/List; - public fun (Ljava/util/List;)V +public final class org/partiql/ast/v1/graph/GraphPart$Pattern : org/partiql/ast/v1/graph/GraphPart { + public field pattern Lorg/partiql/ast/v1/graph/GraphPattern; + public fun (Lorg/partiql/ast/v1/graph/GraphPattern;)V public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; public fun children ()Ljava/util/Collection; } -public final class org/partiql/ast/v1/TableDefinition$Column : org/partiql/ast/v1/AstNode { - public field constraints Ljava/util/List; - public field name Ljava/lang/String; - public field type Lorg/partiql/ast/v1/Type; - public fun (Ljava/lang/String;Lorg/partiql/ast/v1/Type;Ljava/util/List;)V +public final class org/partiql/ast/v1/graph/GraphPattern : org/partiql/ast/v1/AstNode { + public field parts Ljava/util/List; + public field prefilter Lorg/partiql/ast/v1/expr/Expr; + public field quantifier Lorg/partiql/ast/v1/graph/GraphQuantifier; + public field restrictor Lorg/partiql/ast/v1/graph/GraphRestrictor; + public field variable Ljava/lang/String; + public fun (Lorg/partiql/ast/v1/graph/GraphRestrictor;Lorg/partiql/ast/v1/expr/Expr;Ljava/lang/String;Lorg/partiql/ast/v1/graph/GraphQuantifier;Ljava/util/List;)V public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; public fun children ()Ljava/util/Collection; } -public final class org/partiql/ast/v1/TableDefinition$Column$Constraint : org/partiql/ast/v1/AstNode { - public field body Lorg/partiql/ast/v1/TableDefinition$Column$Constraint$Body; - public field name Ljava/lang/String; - public fun (Ljava/lang/String;Lorg/partiql/ast/v1/TableDefinition$Column$Constraint$Body;)V +public final class org/partiql/ast/v1/graph/GraphQuantifier : org/partiql/ast/v1/AstNode { + public field lower J + public field upper Ljava/lang/Long; + public fun (JLjava/lang/Long;)V public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; public fun children ()Ljava/util/Collection; } -public abstract class org/partiql/ast/v1/TableDefinition$Column$Constraint$Body : org/partiql/ast/v1/AstNode { +public final class org/partiql/ast/v1/graph/GraphRestrictor : java/lang/Enum { + public static final field ACYCLIC Lorg/partiql/ast/v1/graph/GraphRestrictor; + public static final field OTHER Lorg/partiql/ast/v1/graph/GraphRestrictor; + public static final field SIMPLE Lorg/partiql/ast/v1/graph/GraphRestrictor; + public static final field TRAIL Lorg/partiql/ast/v1/graph/GraphRestrictor; + public static fun getEntries ()Lkotlin/enums/EnumEntries; + public static fun valueOf (Ljava/lang/String;)Lorg/partiql/ast/v1/graph/GraphRestrictor; + public static fun values ()[Lorg/partiql/ast/v1/graph/GraphRestrictor; +} + +public abstract class org/partiql/ast/v1/graph/GraphSelector : org/partiql/ast/v1/AstNode { public fun ()V public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; } -public final class org/partiql/ast/v1/TableDefinition$Column$Constraint$Body$Check : org/partiql/ast/v1/TableDefinition$Column$Constraint$Body { - public field expr Lorg/partiql/ast/v1/Expr; - public fun (Lorg/partiql/ast/v1/Expr;)V +public final class org/partiql/ast/v1/graph/GraphSelector$AllShortest : org/partiql/ast/v1/graph/GraphSelector { + public static final field INSTANCE Lorg/partiql/ast/v1/graph/GraphSelector$AllShortest; + public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; + public fun children ()Ljava/util/Collection; +} + +public final class org/partiql/ast/v1/graph/GraphSelector$Any : org/partiql/ast/v1/graph/GraphSelector { + public static final field INSTANCE Lorg/partiql/ast/v1/graph/GraphSelector$Any; + public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; + public fun children ()Ljava/util/Collection; +} + +public final class org/partiql/ast/v1/graph/GraphSelector$AnyK : org/partiql/ast/v1/graph/GraphSelector { + public field k J + public fun (J)V + public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; + public fun children ()Ljava/util/Collection; +} + +public final class org/partiql/ast/v1/graph/GraphSelector$AnyShortest : org/partiql/ast/v1/graph/GraphSelector { + public static final field INSTANCE Lorg/partiql/ast/v1/graph/GraphSelector$AnyShortest; public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; public fun children ()Ljava/util/Collection; } -public final class org/partiql/ast/v1/TableDefinition$Column$Constraint$Body$NotNull : org/partiql/ast/v1/TableDefinition$Column$Constraint$Body { - public static final field INSTANCE Lorg/partiql/ast/v1/TableDefinition$Column$Constraint$Body$NotNull; +public final class org/partiql/ast/v1/graph/GraphSelector$ShortestK : org/partiql/ast/v1/graph/GraphSelector { + public field k J + public fun (J)V public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; public fun children ()Ljava/util/Collection; } -public final class org/partiql/ast/v1/TableDefinition$Column$Constraint$Body$Nullable : org/partiql/ast/v1/TableDefinition$Column$Constraint$Body { - public static final field INSTANCE Lorg/partiql/ast/v1/TableDefinition$Column$Constraint$Body$Nullable; +public final class org/partiql/ast/v1/graph/GraphSelector$ShortestKGroup : org/partiql/ast/v1/graph/GraphSelector { + public field k J + public fun (J)V public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; public fun children ()Ljava/util/Collection; } -public abstract class org/partiql/ast/v1/Type : org/partiql/ast/v1/AstNode { +public abstract class org/partiql/ast/v1/type/Type : org/partiql/ast/v1/AstNode { public fun ()V public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; } -public final class org/partiql/ast/v1/Type$Any : org/partiql/ast/v1/Type { - public static final field INSTANCE Lorg/partiql/ast/v1/Type$Any; +public final class org/partiql/ast/v1/type/TypeAny : org/partiql/ast/v1/type/Type { + public static final field INSTANCE Lorg/partiql/ast/v1/type/TypeAny; public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; public fun children ()Ljava/util/Collection; } -public final class org/partiql/ast/v1/Type$Bag : org/partiql/ast/v1/Type { - public static final field INSTANCE Lorg/partiql/ast/v1/Type$Bag; +public final class org/partiql/ast/v1/type/TypeBag : org/partiql/ast/v1/type/Type { + public static final field INSTANCE Lorg/partiql/ast/v1/type/TypeBag; public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; public fun children ()Ljava/util/Collection; } -public final class org/partiql/ast/v1/Type$Bigint : org/partiql/ast/v1/Type { - public static final field INSTANCE Lorg/partiql/ast/v1/Type$Bigint; +public final class org/partiql/ast/v1/type/TypeBigint : org/partiql/ast/v1/type/Type { + public static final field INSTANCE Lorg/partiql/ast/v1/type/TypeBigint; public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; public fun children ()Ljava/util/Collection; } -public final class org/partiql/ast/v1/Type$Bit : org/partiql/ast/v1/Type { +public final class org/partiql/ast/v1/type/TypeBit : org/partiql/ast/v1/type/Type { public field length Ljava/lang/Integer; public fun (Ljava/lang/Integer;)V public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; public fun children ()Ljava/util/Collection; } -public final class org/partiql/ast/v1/Type$BitVarying : org/partiql/ast/v1/Type { +public final class org/partiql/ast/v1/type/TypeBitVarying : org/partiql/ast/v1/type/Type { public field length Ljava/lang/Integer; public fun (Ljava/lang/Integer;)V public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; public fun children ()Ljava/util/Collection; } -public final class org/partiql/ast/v1/Type$Blob : org/partiql/ast/v1/Type { +public final class org/partiql/ast/v1/type/TypeBlob : org/partiql/ast/v1/type/Type { public field length Ljava/lang/Integer; public fun (Ljava/lang/Integer;)V public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; public fun children ()Ljava/util/Collection; } -public final class org/partiql/ast/v1/Type$Bool : org/partiql/ast/v1/Type { - public static final field INSTANCE Lorg/partiql/ast/v1/Type$Bool; +public final class org/partiql/ast/v1/type/TypeBool : org/partiql/ast/v1/type/Type { + public static final field INSTANCE Lorg/partiql/ast/v1/type/TypeBool; public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; public fun children ()Ljava/util/Collection; } -public final class org/partiql/ast/v1/Type$ByteString : org/partiql/ast/v1/Type { +public final class org/partiql/ast/v1/type/TypeByteString : org/partiql/ast/v1/type/Type { public field length Ljava/lang/Integer; public fun (Ljava/lang/Integer;)V public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; public fun children ()Ljava/util/Collection; } -public final class org/partiql/ast/v1/Type$Char : org/partiql/ast/v1/Type { +public final class org/partiql/ast/v1/type/TypeChar : org/partiql/ast/v1/type/Type { public field length Ljava/lang/Integer; public fun (Ljava/lang/Integer;)V public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; public fun children ()Ljava/util/Collection; } -public final class org/partiql/ast/v1/Type$Clob : org/partiql/ast/v1/Type { +public final class org/partiql/ast/v1/type/TypeClob : org/partiql/ast/v1/type/Type { public field length Ljava/lang/Integer; public fun (Ljava/lang/Integer;)V public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; public fun children ()Ljava/util/Collection; } -public final class org/partiql/ast/v1/Type$Custom : org/partiql/ast/v1/Type { +public final class org/partiql/ast/v1/type/TypeCustom : org/partiql/ast/v1/type/Type { public field name Ljava/lang/String; public fun (Ljava/lang/String;)V public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; public fun children ()Ljava/util/Collection; } -public final class org/partiql/ast/v1/Type$Date : org/partiql/ast/v1/Type { - public static final field INSTANCE Lorg/partiql/ast/v1/Type$Date; +public final class org/partiql/ast/v1/type/TypeDate : org/partiql/ast/v1/type/Type { + public static final field INSTANCE Lorg/partiql/ast/v1/type/TypeDate; public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; public fun children ()Ljava/util/Collection; } -public final class org/partiql/ast/v1/Type$Decimal : org/partiql/ast/v1/Type { +public final class org/partiql/ast/v1/type/TypeDecimal : org/partiql/ast/v1/type/Type { public field precision Ljava/lang/Integer; public field scale Ljava/lang/Integer; public fun (Ljava/lang/Integer;Ljava/lang/Integer;)V @@ -6917,68 +6880,68 @@ public final class org/partiql/ast/v1/Type$Decimal : org/partiql/ast/v1/Type { public fun children ()Ljava/util/Collection; } -public final class org/partiql/ast/v1/Type$Float32 : org/partiql/ast/v1/Type { - public static final field INSTANCE Lorg/partiql/ast/v1/Type$Float32; +public final class org/partiql/ast/v1/type/TypeFloat32 : org/partiql/ast/v1/type/Type { + public static final field INSTANCE Lorg/partiql/ast/v1/type/TypeFloat32; public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; public fun children ()Ljava/util/Collection; } -public final class org/partiql/ast/v1/Type$Float64 : org/partiql/ast/v1/Type { - public static final field INSTANCE Lorg/partiql/ast/v1/Type$Float64; +public final class org/partiql/ast/v1/type/TypeFloat64 : org/partiql/ast/v1/type/Type { + public static final field INSTANCE Lorg/partiql/ast/v1/type/TypeFloat64; public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; public fun children ()Ljava/util/Collection; } -public final class org/partiql/ast/v1/Type$Int : org/partiql/ast/v1/Type { - public static final field INSTANCE Lorg/partiql/ast/v1/Type$Int; +public final class org/partiql/ast/v1/type/TypeInt : org/partiql/ast/v1/type/Type { + public static final field INSTANCE Lorg/partiql/ast/v1/type/TypeInt; public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; public fun children ()Ljava/util/Collection; } -public final class org/partiql/ast/v1/Type$Int2 : org/partiql/ast/v1/Type { - public static final field INSTANCE Lorg/partiql/ast/v1/Type$Int2; +public final class org/partiql/ast/v1/type/TypeInt2 : org/partiql/ast/v1/type/Type { + public static final field INSTANCE Lorg/partiql/ast/v1/type/TypeInt2; public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; public fun children ()Ljava/util/Collection; } -public final class org/partiql/ast/v1/Type$Int4 : org/partiql/ast/v1/Type { - public static final field INSTANCE Lorg/partiql/ast/v1/Type$Int4; +public final class org/partiql/ast/v1/type/TypeInt4 : org/partiql/ast/v1/type/Type { + public static final field INSTANCE Lorg/partiql/ast/v1/type/TypeInt4; public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; public fun children ()Ljava/util/Collection; } -public final class org/partiql/ast/v1/Type$Int8 : org/partiql/ast/v1/Type { - public static final field INSTANCE Lorg/partiql/ast/v1/Type$Int8; +public final class org/partiql/ast/v1/type/TypeInt8 : org/partiql/ast/v1/type/Type { + public static final field INSTANCE Lorg/partiql/ast/v1/type/TypeInt8; public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; public fun children ()Ljava/util/Collection; } -public final class org/partiql/ast/v1/Type$Interval : org/partiql/ast/v1/Type { +public final class org/partiql/ast/v1/type/TypeInterval : org/partiql/ast/v1/type/Type { public field precision Ljava/lang/Integer; public fun (Ljava/lang/Integer;)V public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; public fun children ()Ljava/util/Collection; } -public final class org/partiql/ast/v1/Type$List : org/partiql/ast/v1/Type { - public static final field INSTANCE Lorg/partiql/ast/v1/Type$List; +public final class org/partiql/ast/v1/type/TypeList : org/partiql/ast/v1/type/Type { + public static final field INSTANCE Lorg/partiql/ast/v1/type/TypeList; public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; public fun children ()Ljava/util/Collection; } -public final class org/partiql/ast/v1/Type$Missing : org/partiql/ast/v1/Type { - public static final field INSTANCE Lorg/partiql/ast/v1/Type$Missing; +public final class org/partiql/ast/v1/type/TypeMissing : org/partiql/ast/v1/type/Type { + public static final field INSTANCE Lorg/partiql/ast/v1/type/TypeMissing; public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; public fun children ()Ljava/util/Collection; } -public final class org/partiql/ast/v1/Type$Null : org/partiql/ast/v1/Type { - public static final field INSTANCE Lorg/partiql/ast/v1/Type$Null; +public final class org/partiql/ast/v1/type/TypeNull : org/partiql/ast/v1/type/Type { + public static final field INSTANCE Lorg/partiql/ast/v1/type/TypeNull; public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; public fun children ()Ljava/util/Collection; } -public final class org/partiql/ast/v1/Type$Numeric : org/partiql/ast/v1/Type { +public final class org/partiql/ast/v1/type/TypeNumeric : org/partiql/ast/v1/type/Type { public field precision Ljava/lang/Integer; public field scale Ljava/lang/Integer; public fun (Ljava/lang/Integer;Ljava/lang/Integer;)V @@ -6986,84 +6949,84 @@ public final class org/partiql/ast/v1/Type$Numeric : org/partiql/ast/v1/Type { public fun children ()Ljava/util/Collection; } -public final class org/partiql/ast/v1/Type$Real : org/partiql/ast/v1/Type { - public static final field INSTANCE Lorg/partiql/ast/v1/Type$Real; +public final class org/partiql/ast/v1/type/TypeReal : org/partiql/ast/v1/type/Type { + public static final field INSTANCE Lorg/partiql/ast/v1/type/TypeReal; public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; public fun children ()Ljava/util/Collection; } -public final class org/partiql/ast/v1/Type$Sexp : org/partiql/ast/v1/Type { - public static final field INSTANCE Lorg/partiql/ast/v1/Type$Sexp; +public final class org/partiql/ast/v1/type/TypeSexp : org/partiql/ast/v1/type/Type { + public static final field INSTANCE Lorg/partiql/ast/v1/type/TypeSexp; public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; public fun children ()Ljava/util/Collection; } -public final class org/partiql/ast/v1/Type$Smallint : org/partiql/ast/v1/Type { - public static final field INSTANCE Lorg/partiql/ast/v1/Type$Smallint; +public final class org/partiql/ast/v1/type/TypeSmallint : org/partiql/ast/v1/type/Type { + public static final field INSTANCE Lorg/partiql/ast/v1/type/TypeSmallint; public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; public fun children ()Ljava/util/Collection; } -public final class org/partiql/ast/v1/Type$String : org/partiql/ast/v1/Type { +public final class org/partiql/ast/v1/type/TypeString : org/partiql/ast/v1/type/Type { public field length Ljava/lang/Integer; public fun (Ljava/lang/Integer;)V public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; public fun children ()Ljava/util/Collection; } -public final class org/partiql/ast/v1/Type$Struct : org/partiql/ast/v1/Type { - public static final field INSTANCE Lorg/partiql/ast/v1/Type$Struct; +public final class org/partiql/ast/v1/type/TypeStruct : org/partiql/ast/v1/type/Type { + public static final field INSTANCE Lorg/partiql/ast/v1/type/TypeStruct; public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; public fun children ()Ljava/util/Collection; } -public final class org/partiql/ast/v1/Type$Symbol : org/partiql/ast/v1/Type { - public static final field INSTANCE Lorg/partiql/ast/v1/Type$Symbol; +public final class org/partiql/ast/v1/type/TypeSymbol : org/partiql/ast/v1/type/Type { + public static final field INSTANCE Lorg/partiql/ast/v1/type/TypeSymbol; public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; public fun children ()Ljava/util/Collection; } -public final class org/partiql/ast/v1/Type$Time : org/partiql/ast/v1/Type { +public final class org/partiql/ast/v1/type/TypeTime : org/partiql/ast/v1/type/Type { public field precision Ljava/lang/Integer; public fun (Ljava/lang/Integer;)V public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; public fun children ()Ljava/util/Collection; } -public final class org/partiql/ast/v1/Type$TimeWithTz : org/partiql/ast/v1/Type { +public final class org/partiql/ast/v1/type/TypeTimeWithTz : org/partiql/ast/v1/type/Type { public field precision Ljava/lang/Integer; public fun (Ljava/lang/Integer;)V public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; public fun children ()Ljava/util/Collection; } -public final class org/partiql/ast/v1/Type$Timestamp : org/partiql/ast/v1/Type { +public final class org/partiql/ast/v1/type/TypeTimestamp : org/partiql/ast/v1/type/Type { public field precision Ljava/lang/Integer; public fun (Ljava/lang/Integer;)V public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; public fun children ()Ljava/util/Collection; } -public final class org/partiql/ast/v1/Type$TimestampWithTz : org/partiql/ast/v1/Type { +public final class org/partiql/ast/v1/type/TypeTimestampWithTz : org/partiql/ast/v1/type/Type { public field precision Ljava/lang/Integer; public fun (Ljava/lang/Integer;)V public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; public fun children ()Ljava/util/Collection; } -public final class org/partiql/ast/v1/Type$Tinyint : org/partiql/ast/v1/Type { - public static final field INSTANCE Lorg/partiql/ast/v1/Type$Tinyint; +public final class org/partiql/ast/v1/type/TypeTinyint : org/partiql/ast/v1/type/Type { + public static final field INSTANCE Lorg/partiql/ast/v1/type/TypeTinyint; public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; public fun children ()Ljava/util/Collection; } -public final class org/partiql/ast/v1/Type$Tuple : org/partiql/ast/v1/Type { - public static final field INSTANCE Lorg/partiql/ast/v1/Type$Tuple; +public final class org/partiql/ast/v1/type/TypeTuple : org/partiql/ast/v1/type/Type { + public static final field INSTANCE Lorg/partiql/ast/v1/type/TypeTuple; public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; public fun children ()Ljava/util/Collection; } -public final class org/partiql/ast/v1/Type$Varchar : org/partiql/ast/v1/Type { +public final class org/partiql/ast/v1/type/TypeVarchar : org/partiql/ast/v1/type/Type { public field length Ljava/lang/Integer; public fun (Ljava/lang/Integer;)V public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; diff --git a/partiql-ast/src/main/kotlin/org/partiql/ast/v1/AstVisitor.kt b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/AstVisitor.kt index 7b72c82cb5..31b1c1a57b 100644 --- a/partiql-ast/src/main/kotlin/org/partiql/ast/v1/AstVisitor.kt +++ b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/AstVisitor.kt @@ -1,5 +1,84 @@ package org.partiql.ast.v1 +import org.partiql.ast.v1.expr.Expr +import org.partiql.ast.v1.expr.ExprAnd +import org.partiql.ast.v1.expr.ExprBetween +import org.partiql.ast.v1.expr.ExprCall +import org.partiql.ast.v1.expr.ExprCase +import org.partiql.ast.v1.expr.ExprCast +import org.partiql.ast.v1.expr.ExprCoalesce +import org.partiql.ast.v1.expr.ExprCollection +import org.partiql.ast.v1.expr.ExprDateAdd +import org.partiql.ast.v1.expr.ExprDateDiff +import org.partiql.ast.v1.expr.ExprExtract +import org.partiql.ast.v1.expr.ExprInCollection +import org.partiql.ast.v1.expr.ExprIon +import org.partiql.ast.v1.expr.ExprIsType +import org.partiql.ast.v1.expr.ExprLike +import org.partiql.ast.v1.expr.ExprLit +import org.partiql.ast.v1.expr.ExprMatch +import org.partiql.ast.v1.expr.ExprNot +import org.partiql.ast.v1.expr.ExprNullIf +import org.partiql.ast.v1.expr.ExprOperator +import org.partiql.ast.v1.expr.ExprOr +import org.partiql.ast.v1.expr.ExprOverlay +import org.partiql.ast.v1.expr.ExprParameter +import org.partiql.ast.v1.expr.ExprPath +import org.partiql.ast.v1.expr.ExprPathStep +import org.partiql.ast.v1.expr.ExprPosition +import org.partiql.ast.v1.expr.ExprQuerySet +import org.partiql.ast.v1.expr.ExprSessionAttribute +import org.partiql.ast.v1.expr.ExprStruct +import org.partiql.ast.v1.expr.ExprSubstring +import org.partiql.ast.v1.expr.ExprTrim +import org.partiql.ast.v1.expr.ExprValues +import org.partiql.ast.v1.expr.ExprVar +import org.partiql.ast.v1.expr.ExprWindow +import org.partiql.ast.v1.graph.GraphLabel +import org.partiql.ast.v1.graph.GraphMatch +import org.partiql.ast.v1.graph.GraphPart +import org.partiql.ast.v1.graph.GraphPattern +import org.partiql.ast.v1.graph.GraphQuantifier +import org.partiql.ast.v1.graph.GraphSelector +import org.partiql.ast.v1.type.Type +import org.partiql.ast.v1.type.TypeAny +import org.partiql.ast.v1.type.TypeBag +import org.partiql.ast.v1.type.TypeBigint +import org.partiql.ast.v1.type.TypeBit +import org.partiql.ast.v1.type.TypeBitVarying +import org.partiql.ast.v1.type.TypeBlob +import org.partiql.ast.v1.type.TypeBool +import org.partiql.ast.v1.type.TypeByteString +import org.partiql.ast.v1.type.TypeChar +import org.partiql.ast.v1.type.TypeClob +import org.partiql.ast.v1.type.TypeCustom +import org.partiql.ast.v1.type.TypeDate +import org.partiql.ast.v1.type.TypeDecimal +import org.partiql.ast.v1.type.TypeFloat32 +import org.partiql.ast.v1.type.TypeFloat64 +import org.partiql.ast.v1.type.TypeInt +import org.partiql.ast.v1.type.TypeInt2 +import org.partiql.ast.v1.type.TypeInt4 +import org.partiql.ast.v1.type.TypeInt8 +import org.partiql.ast.v1.type.TypeInterval +import org.partiql.ast.v1.type.TypeList +import org.partiql.ast.v1.type.TypeMissing +import org.partiql.ast.v1.type.TypeNull +import org.partiql.ast.v1.type.TypeNumeric +import org.partiql.ast.v1.type.TypeReal +import org.partiql.ast.v1.type.TypeSexp +import org.partiql.ast.v1.type.TypeSmallint +import org.partiql.ast.v1.type.TypeString +import org.partiql.ast.v1.type.TypeStruct +import org.partiql.ast.v1.type.TypeSymbol +import org.partiql.ast.v1.type.TypeTime +import org.partiql.ast.v1.type.TypeTimeWithTz +import org.partiql.ast.v1.type.TypeTimestamp +import org.partiql.ast.v1.type.TypeTimestampWithTz +import org.partiql.ast.v1.type.TypeTinyint +import org.partiql.ast.v1.type.TypeTuple +import org.partiql.ast.v1.type.TypeVarchar + /** * TODO docs, equals, hashcode */ @@ -8,99 +87,99 @@ public interface AstVisitor { public fun visitStatement(node: Statement, ctx: C): R - public fun visitStatementQuery(node: Statement.Query, ctx: C): R + public fun visitQuery(node: Query, ctx: C): R - public fun visitStatementDDL(node: Statement.DDL, ctx: C): R + public fun visitDDL(node: DDL, ctx: C): R - public fun visitStatementDDLCreateTable(node: Statement.DDL.CreateTable, ctx: C): R + public fun visitCreateTable(node: CreateTable, ctx: C): R - public fun visitStatementDDLCreateIndex(node: Statement.DDL.CreateIndex, ctx: C): R + public fun visitCreateIndex(node: CreateIndex, ctx: C): R - public fun visitStatementDDLDropTable(node: Statement.DDL.DropTable, ctx: C): R + public fun visitDropTable(node: DropTable, ctx: C): R - public fun visitStatementDDLDropIndex(node: Statement.DDL.DropIndex, ctx: C): R + public fun visitDropIndex(node: DropIndex, ctx: C): R - public fun visitStatementExplain(node: Statement.Explain, ctx: C): R + public fun visitExplain(node: Explain, ctx: C): R - public fun visitStatementExplainTarget(node: Statement.Explain.Target, ctx: C): R + public fun visitTarget(node: Target, ctx: C): R - public fun visitStatementExplainTargetDomain(node: Statement.Explain.Target.Domain, ctx: C): R + public fun visitTargetDomain(node: Target.Domain, ctx: C): R public fun visitType(node: Type, ctx: C): R - public fun visitTypeNull(node: Type.Null, ctx: C): R + public fun visitTypeNull(node: TypeNull, ctx: C): R - public fun visitTypeMissing(node: Type.Missing, ctx: C): R + public fun visitTypeMissing(node: TypeMissing, ctx: C): R - public fun visitTypeBool(node: Type.Bool, ctx: C): R + public fun visitTypeBool(node: TypeBool, ctx: C): R - public fun visitTypeTinyint(node: Type.Tinyint, ctx: C): R + public fun visitTypeTinyint(node: TypeTinyint, ctx: C): R - public fun visitTypeSmallint(node: Type.Smallint, ctx: C): R + public fun visitTypeSmallint(node: TypeSmallint, ctx: C): R - public fun visitTypeInt2(node: Type.Int2, ctx: C): R + public fun visitTypeInt2(node: TypeInt2, ctx: C): R - public fun visitTypeInt4(node: Type.Int4, ctx: C): R + public fun visitTypeInt4(node: TypeInt4, ctx: C): R - public fun visitTypeBigint(node: Type.Bigint, ctx: C): R + public fun visitTypeBigint(node: TypeBigint, ctx: C): R - public fun visitTypeInt8(node: Type.Int8, ctx: C): R + public fun visitTypeInt8(node: TypeInt8, ctx: C): R - public fun visitTypeInt(node: Type.Int, ctx: C): R + public fun visitTypeInt(node: TypeInt, ctx: C): R - public fun visitTypeReal(node: Type.Real, ctx: C): R + public fun visitTypeReal(node: TypeReal, ctx: C): R - public fun visitTypeFloat32(node: Type.Float32, ctx: C): R + public fun visitTypeFloat32(node: TypeFloat32, ctx: C): R - public fun visitTypeFloat64(node: Type.Float64, ctx: C): R + public fun visitTypeFloat64(node: TypeFloat64, ctx: C): R - public fun visitTypeDecimal(node: Type.Decimal, ctx: C): R + public fun visitTypeDecimal(node: TypeDecimal, ctx: C): R - public fun visitTypeNumeric(node: Type.Numeric, ctx: C): R + public fun visitTypeNumeric(node: TypeNumeric, ctx: C): R - public fun visitTypeChar(node: Type.Char, ctx: C): R + public fun visitTypeChar(node: TypeChar, ctx: C): R - public fun visitTypeVarchar(node: Type.Varchar, ctx: C): R + public fun visitTypeVarchar(node: TypeVarchar, ctx: C): R - public fun visitTypeString(node: Type.String, ctx: C): R + public fun visitTypeString(node: TypeString, ctx: C): R - public fun visitTypeSymbol(node: Type.Symbol, ctx: C): R + public fun visitTypeSymbol(node: TypeSymbol, ctx: C): R - public fun visitTypeBit(node: Type.Bit, ctx: C): R + public fun visitTypeBit(node: TypeBit, ctx: C): R - public fun visitTypeBitVarying(node: Type.BitVarying, ctx: C): R + public fun visitTypeBitVarying(node: TypeBitVarying, ctx: C): R - public fun visitTypeByteString(node: Type.ByteString, ctx: C): R + public fun visitTypeByteString(node: TypeByteString, ctx: C): R - public fun visitTypeBlob(node: Type.Blob, ctx: C): R + public fun visitTypeBlob(node: TypeBlob, ctx: C): R - public fun visitTypeClob(node: Type.Clob, ctx: C): R + public fun visitTypeClob(node: TypeClob, ctx: C): R - public fun visitTypeDate(node: Type.Date, ctx: C): R + public fun visitTypeDate(node: TypeDate, ctx: C): R - public fun visitTypeTime(node: Type.Time, ctx: C): R + public fun visitTypeTime(node: TypeTime, ctx: C): R - public fun visitTypeTimeWithTz(node: Type.TimeWithTz, ctx: C): R + public fun visitTypeTimeWithTz(node: TypeTimeWithTz, ctx: C): R - public fun visitTypeTimestamp(node: Type.Timestamp, ctx: C): R + public fun visitTypeTimestamp(node: TypeTimestamp, ctx: C): R - public fun visitTypeTimestampWithTz(node: Type.TimestampWithTz, ctx: C): R + public fun visitTypeTimestampWithTz(node: TypeTimestampWithTz, ctx: C): R - public fun visitTypeInterval(node: Type.Interval, ctx: C): R + public fun visitTypeInterval(node: TypeInterval, ctx: C): R - public fun visitTypeBag(node: Type.Bag, ctx: C): R + public fun visitTypeBag(node: TypeBag, ctx: C): R - public fun visitTypeList(node: Type.List, ctx: C): R + public fun visitTypeList(node: TypeList, ctx: C): R - public fun visitTypeSexp(node: Type.Sexp, ctx: C): R + public fun visitTypeSexp(node: TypeSexp, ctx: C): R - public fun visitTypeTuple(node: Type.Tuple, ctx: C): R + public fun visitTypeTuple(node: TypeTuple, ctx: C): R - public fun visitTypeStruct(node: Type.Struct, ctx: C): R + public fun visitTypeStruct(node: TypeStruct, ctx: C): R - public fun visitTypeAny(node: Type.Any, ctx: C): R + public fun visitTypeAny(node: TypeAny, ctx: C): R - public fun visitTypeCustom(node: Type.Custom, ctx: C): R + public fun visitTypeCustom(node: TypeCustom, ctx: C): R public fun visitIdentifier(node: Identifier, ctx: C): R @@ -108,97 +187,97 @@ public interface AstVisitor { public fun visitIdentifierQualified(node: Identifier.Qualified, ctx: C): R - public fun visitPath(node: PathLit, ctx: C): R + public fun visitPathLit(node: PathLit, ctx: C): R - public fun visitPathStep(node: PathLit.Step, ctx: C): R + public fun visitPathLitStep(node: PathLitStep, ctx: C): R - public fun visitPathStepSymbol(node: PathLit.Step.Symbol, ctx: C): R + public fun visitPathLitStepSymbol(node: PathLitStep.Symbol, ctx: C): R - public fun visitPathStepIndex(node: PathLit.Step.Index, ctx: C): R + public fun visitPathLitStepIndex(node: PathLitStep.Index, ctx: C): R public fun visitExpr(node: Expr, ctx: C): R - public fun visitExprLit(node: Expr.Lit, ctx: C): R + public fun visitExprLit(node: ExprLit, ctx: C): R - public fun visitExprIon(node: Expr.Ion, ctx: C): R + public fun visitExprIon(node: ExprIon, ctx: C): R - public fun visitExprVar(node: Expr.Var, ctx: C): R + public fun visitExprVar(node: ExprVar, ctx: C): R - public fun visitExprSessionAttribute(node: Expr.SessionAttribute, ctx: C): R + public fun visitExprSessionAttribute(node: ExprSessionAttribute, ctx: C): R - public fun visitExprPath(node: Expr.Path, ctx: C): R + public fun visitExprPath(node: ExprPath, ctx: C): R - public fun visitExprPathStep(node: Expr.Path.Step, ctx: C): R + public fun visitExprPathStep(node: ExprPathStep, ctx: C): R - public fun visitExprPathStepSymbol(node: Expr.Path.Step.Symbol, ctx: C): R + public fun visitExprPathStepSymbol(node: ExprPathStep.Symbol, ctx: C): R - public fun visitExprPathStepIndex(node: Expr.Path.Step.Index, ctx: C): R + public fun visitExprPathStepIndex(node: ExprPathStep.Index, ctx: C): R - public fun visitExprPathStepWildcard(node: Expr.Path.Step.Wildcard, ctx: C): R + public fun visitExprPathStepWildcard(node: ExprPathStep.Wildcard, ctx: C): R - public fun visitExprPathStepUnpivot(node: Expr.Path.Step.Unpivot, ctx: C): R + public fun visitExprPathStepUnpivot(node: ExprPathStep.Unpivot, ctx: C): R - public fun visitExprCall(node: Expr.Call, ctx: C): R + public fun visitExprCall(node: ExprCall, ctx: C): R - public fun visitExprParameter(node: Expr.Parameter, ctx: C): R + public fun visitExprParameter(node: ExprParameter, ctx: C): R - public fun visitExprOperator(node: Expr.Operator, ctx: C): R + public fun visitExprOperator(node: ExprOperator, ctx: C): R - public fun visitExprNot(node: Expr.Not, ctx: C): R + public fun visitExprNot(node: ExprNot, ctx: C): R - public fun visitExprAnd(node: Expr.And, ctx: C): R + public fun visitExprAnd(node: ExprAnd, ctx: C): R - public fun visitExprOr(node: Expr.Or, ctx: C): R + public fun visitExprOr(node: ExprOr, ctx: C): R - public fun visitExprValues(node: Expr.Values, ctx: C): R + public fun visitExprValues(node: ExprValues, ctx: C): R - public fun visitExprValuesRow(node: Expr.Values.Row, ctx: C): R + public fun visitExprValuesRow(node: ExprValues.Row, ctx: C): R - public fun visitExprCollection(node: Expr.Collection, ctx: C): R + public fun visitExprCollection(node: ExprCollection, ctx: C): R - public fun visitExprStruct(node: Expr.Struct, ctx: C): R + public fun visitExprStruct(node: ExprStruct, ctx: C): R - public fun visitExprStructField(node: Expr.Struct.Field, ctx: C): R + public fun visitExprStructField(node: ExprStruct.Field, ctx: C): R - public fun visitExprLike(node: Expr.Like, ctx: C): R + public fun visitExprLike(node: ExprLike, ctx: C): R - public fun visitExprBetween(node: Expr.Between, ctx: C): R + public fun visitExprBetween(node: ExprBetween, ctx: C): R - public fun visitExprInCollection(node: Expr.InCollection, ctx: C): R + public fun visitExprInCollection(node: ExprInCollection, ctx: C): R - public fun visitExprIsType(node: Expr.IsType, ctx: C): R + public fun visitExprIsType(node: ExprIsType, ctx: C): R - public fun visitExprCase(node: Expr.Case, ctx: C): R + public fun visitExprCase(node: ExprCase, ctx: C): R - public fun visitExprCaseBranch(node: Expr.Case.Branch, ctx: C): R + public fun visitExprCaseBranch(node: ExprCase.Branch, ctx: C): R - public fun visitExprCoalesce(node: Expr.Coalesce, ctx: C): R + public fun visitExprCoalesce(node: ExprCoalesce, ctx: C): R - public fun visitExprNullIf(node: Expr.NullIf, ctx: C): R + public fun visitExprNullIf(node: ExprNullIf, ctx: C): R - public fun visitExprSubstring(node: Expr.Substring, ctx: C): R + public fun visitExprSubstring(node: ExprSubstring, ctx: C): R - public fun visitExprPosition(node: Expr.Position, ctx: C): R + public fun visitExprPosition(node: ExprPosition, ctx: C): R - public fun visitExprTrim(node: Expr.Trim, ctx: C): R + public fun visitExprTrim(node: ExprTrim, ctx: C): R - public fun visitExprOverlay(node: Expr.Overlay, ctx: C): R + public fun visitExprOverlay(node: ExprOverlay, ctx: C): R - public fun visitExprExtract(node: Expr.Extract, ctx: C): R + public fun visitExprExtract(node: ExprExtract, ctx: C): R - public fun visitExprCast(node: Expr.Cast, ctx: C): R + public fun visitExprCast(node: ExprCast, ctx: C): R - public fun visitExprDateAdd(node: Expr.DateAdd, ctx: C): R + public fun visitExprDateAdd(node: ExprDateAdd, ctx: C): R - public fun visitExprDateDiff(node: Expr.DateDiff, ctx: C): R + public fun visitExprDateDiff(node: ExprDateDiff, ctx: C): R - public fun visitExprQuerySet(node: Expr.QuerySet, ctx: C): R + public fun visitExprQuerySet(node: ExprQuerySet, ctx: C): R - public fun visitExprMatch(node: Expr.Match, ctx: C): R + public fun visitExprMatch(node: ExprMatch, ctx: C): R - public fun visitExprWindow(node: Expr.Window, ctx: C): R + public fun visitExprWindow(node: ExprWindow, ctx: C): R - public fun visitExprWindowOver(node: Expr.Window.Over, ctx: C): R + public fun visitExprWindowOver(node: ExprWindow.Over, ctx: C): R public fun visitQueryBody(node: QueryBody, ctx: C): R @@ -208,39 +287,39 @@ public interface AstVisitor { public fun visitSelect(node: Select, ctx: C): R - public fun visitSelectStar(node: Select.Star, ctx: C): R + public fun visitSelectStar(node: SelectStar, ctx: C): R - public fun visitSelectProject(node: Select.Project, ctx: C): R + public fun visitSelectProject(node: SelectProject, ctx: C): R - public fun visitSelectProjectItem(node: Select.Project.Item, ctx: C): R + public fun visitProjectItem(node: ProjectItem, ctx: C): R - public fun visitSelectProjectItemAll(node: Select.Project.Item.All, ctx: C): R + public fun visitProjectItemAll(node: ProjectItem.All, ctx: C): R - public fun visitSelectProjectItemExpression(node: Select.Project.Item.Expression, ctx: C): R + public fun visitProjectItemExpression(node: ProjectItem.Expression, ctx: C): R - public fun visitSelectPivot(node: Select.Pivot, ctx: C): R + public fun visitSelectPivot(node: SelectPivot, ctx: C): R - public fun visitSelectValue(node: Select.Value, ctx: C): R + public fun visitSelectValue(node: SelectValue, ctx: C): R public fun visitExclude(node: Exclude, ctx: C): R - public fun visitExcludeItem(node: Exclude.Item, ctx: C): R + public fun visitExcludePath(node: ExcludePath, ctx: C): R - public fun visitExcludeStep(node: Exclude.Step, ctx: C): R + public fun visitExcludeStep(node: ExcludeStep, ctx: C): R - public fun visitExcludeStepStructField(node: Exclude.Step.StructField, ctx: C): R + public fun visitExcludeStepStructField(node: ExcludeStep.StructField, ctx: C): R - public fun visitExcludeStepCollIndex(node: Exclude.Step.CollIndex, ctx: C): R + public fun visitExcludeStepCollIndex(node: ExcludeStep.CollIndex, ctx: C): R - public fun visitExcludeStepStructWildcard(node: Exclude.Step.StructWildcard, ctx: C): R + public fun visitExcludeStepStructWildcard(node: ExcludeStep.StructWildcard, ctx: C): R - public fun visitExcludeStepCollWildcard(node: Exclude.Step.CollWildcard, ctx: C): R + public fun visitExcludeStepCollWildcard(node: ExcludeStep.CollWildcard, ctx: C): R public fun visitFrom(node: From, ctx: C): R - public fun visitFromValue(node: From.Value, ctx: C): R + public fun visitFromValue(node: FromValue, ctx: C): R - public fun visitFromJoin(node: From.Join, ctx: C): R + public fun visitFromJoin(node: FromJoin, ctx: C): R public fun visitLet(node: Let, ctx: C): R @@ -258,74 +337,74 @@ public interface AstVisitor { public fun visitGraphMatch(node: GraphMatch, ctx: C): R - public fun visitGraphMatchPattern(node: GraphMatch.Pattern, ctx: C): R + public fun visitGraphMatchPattern(node: GraphPattern, ctx: C): R - public fun visitGraphMatchPatternPart(node: GraphMatch.Pattern.Part, ctx: C): R + public fun visitGraphPart(node: GraphPart, ctx: C): R - public fun visitGraphMatchPatternPartNode(node: GraphMatch.Pattern.Part.Node, ctx: C): R + public fun visitGraphPartNode(node: GraphPart.Node, ctx: C): R - public fun visitGraphMatchPatternPartEdge(node: GraphMatch.Pattern.Part.Edge, ctx: C): R + public fun visitGraphPartEdge(node: GraphPart.Edge, ctx: C): R - public fun visitGraphMatchPatternPartPattern(node: GraphMatch.Pattern.Part.Pattern, ctx: C): R + public fun visitGraphPartPattern(node: GraphPart.Pattern, ctx: C): R - public fun visitGraphMatchQuantifier(node: GraphMatch.Quantifier, ctx: C): R + public fun visitGraphQuantifier(node: GraphQuantifier, ctx: C): R - public fun visitGraphMatchSelector(node: GraphMatch.Selector, ctx: C): R + public fun visitGraphSelector(node: GraphSelector, ctx: C): R - public fun visitGraphMatchSelectorAnyShortest(node: GraphMatch.Selector.AnyShortest, ctx: C): R + public fun visitGraphSelectorAnyShortest(node: GraphSelector.AnyShortest, ctx: C): R - public fun visitGraphMatchSelectorAllShortest(node: GraphMatch.Selector.AllShortest, ctx: C): R + public fun visitGraphSelectorAllShortest(node: GraphSelector.AllShortest, ctx: C): R - public fun visitGraphMatchSelectorAny(node: GraphMatch.Selector.Any, ctx: C): R + public fun visitGraphSelectorAny(node: GraphSelector.Any, ctx: C): R - public fun visitGraphMatchSelectorAnyK(node: GraphMatch.Selector.AnyK, ctx: C): R + public fun visitGraphSelectorAnyK(node: GraphSelector.AnyK, ctx: C): R - public fun visitGraphMatchSelectorShortestK(node: GraphMatch.Selector.ShortestK, ctx: C): R + public fun visitGraphSelectorShortestK(node: GraphSelector.ShortestK, ctx: C): R - public fun visitGraphMatchSelectorShortestKGroup( - node: GraphMatch.Selector.ShortestKGroup, + public fun visitGraphSelectorShortestKGroup( + node: GraphSelector.ShortestKGroup, ctx: C ): R - public fun visitGraphMatchLabel(node: GraphMatch.Label, ctx: C): R + public fun visitGraphLabel(node: GraphLabel, ctx: C): R - public fun visitGraphMatchLabelName(node: GraphMatch.Label.Name, ctx: C): R + public fun visitGraphLabelName(node: GraphLabel.Name, ctx: C): R - public fun visitGraphMatchLabelWildcard(node: GraphMatch.Label.Wildcard, ctx: C): R + public fun visitGraphLabelWildcard(node: GraphLabel.Wildcard, ctx: C): R - public fun visitGraphMatchLabelNegation(node: GraphMatch.Label.Negation, ctx: C): R + public fun visitGraphLabelNegation(node: GraphLabel.Negation, ctx: C): R - public fun visitGraphMatchLabelConj(node: GraphMatch.Label.Conj, ctx: C): R + public fun visitGraphLabelConj(node: GraphLabel.Conj, ctx: C): R - public fun visitGraphMatchLabelDisj(node: GraphMatch.Label.Disj, ctx: C): R + public fun visitGraphLabelDisj(node: GraphLabel.Disj, ctx: C): R public fun visitTableDefinition(node: TableDefinition, ctx: C): R - public fun visitTableDefinitionColumn(node: TableDefinition.Column, ctx: C): R + public fun visitColumn(node: Column, ctx: C): R - public fun visitTableDefinitionColumnConstraint(node: TableDefinition.Column.Constraint, ctx: C): + public fun visitConstraint(node: Constraint, ctx: C): R - public fun visitTableDefinitionColumnConstraintBody( - node: TableDefinition.Column.Constraint.Body, + public fun visitConstraintBody( + node: ConstraintBody, ctx: C ): R public - fun visitTableDefinitionColumnConstraintBodyNullable( - node: TableDefinition.Column.Constraint.Body.Nullable, + fun visitConstraintBodyNullable( + node: ConstraintBody.Nullable, ctx: C ): R public - fun visitTableDefinitionColumnConstraintBodyNotNull( - node: TableDefinition.Column.Constraint.Body.NotNull, + fun visitConstraintBodyNotNull( + node: ConstraintBody.NotNull, ctx: C ): R public - fun visitTableDefinitionColumnConstraintBodyCheck( - node: TableDefinition.Column.Constraint.Body.Check, + fun visitConstraintBodyCheck( + node: ConstraintBody.Check, ctx: C ): R } diff --git a/partiql-ast/src/main/kotlin/org/partiql/ast/v1/CaseSensitivity.kt b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/CaseSensitivity.kt new file mode 100644 index 0000000000..79d221f0e0 --- /dev/null +++ b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/CaseSensitivity.kt @@ -0,0 +1,10 @@ +package org.partiql.ast.v1 + +/** + * TODO docs, equals, hashcode + */ +public enum class CaseSensitivity { + SENSITIVE, + INSENSITIVE, + OTHER, +} diff --git a/partiql-ast/src/main/kotlin/org/partiql/ast/v1/Column.kt b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/Column.kt new file mode 100644 index 0000000000..2a53708bda --- /dev/null +++ b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/Column.kt @@ -0,0 +1,25 @@ +package org.partiql.ast.v1 + +import org.partiql.ast.v1.type.Type + +/** + * TODO docs, equals, hashcode + */ +public class Column( + @JvmField + public var name: String, + @JvmField + public var type: Type, + @JvmField + public var constraints: List, +) : AstNode() { + public override fun children(): Collection { + val kids = mutableListOf() + kids.add(type) + kids.addAll(constraints) + return kids.filterNotNull() + } + + public override fun accept(visitor: AstVisitor, ctx: C): R = + visitor.visitColumn(this, ctx) +} diff --git a/partiql-ast/src/main/kotlin/org/partiql/ast/v1/Constraint.kt b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/Constraint.kt new file mode 100644 index 0000000000..102609d8d6 --- /dev/null +++ b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/Constraint.kt @@ -0,0 +1,20 @@ +package org.partiql.ast.v1 + +/** + * TODO docs, equals, hashcode + */ +public class Constraint( + @JvmField + public var name: String?, + @JvmField + public var constraintBody: ConstraintBody, +) : AstNode() { + public override fun children(): Collection { + val kids = mutableListOf() + kids.add(constraintBody) + return kids.filterNotNull() + } + + public override fun accept(visitor: AstVisitor, ctx: C): R = + visitor.visitConstraint(this, ctx) +} diff --git a/partiql-ast/src/main/kotlin/org/partiql/ast/v1/ConstraintBody.kt b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/ConstraintBody.kt new file mode 100644 index 0000000000..aa1e6b0c83 --- /dev/null +++ b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/ConstraintBody.kt @@ -0,0 +1,52 @@ +package org.partiql.ast.v1 + +import org.partiql.ast.v1.expr.Expr + +/** + * TODO docs, equals, hashcode + */ +public abstract class ConstraintBody : AstNode() { + public override fun accept(visitor: AstVisitor, ctx: C): R = when (this) { + is Nullable -> visitor.visitConstraintBodyNullable(this, ctx) + is NotNull -> visitor.visitConstraintBodyNotNull(this, ctx) + is Check -> visitor.visitConstraintBodyCheck(this, ctx) + else -> throw NotImplementedError() + } + + /** + * TODO docs, equals, hashcode + */ + public object Nullable : ConstraintBody() { + public override fun children(): Collection = emptyList() + + public override fun accept(visitor: AstVisitor, ctx: C): R = + visitor.visitConstraintBodyNullable(this, ctx) + } + + /** + * TODO docs, equals, hashcode + */ + public object NotNull : ConstraintBody() { + public override fun children(): Collection = emptyList() + + public override fun accept(visitor: AstVisitor, ctx: C): R = + visitor.visitConstraintBodyNotNull(this, ctx) + } + + /** + * TODO docs, equals, hashcode + */ + public class Check( + @JvmField + public var expr: Expr, + ) : ConstraintBody() { + public override fun children(): Collection { + val kids = mutableListOf() + kids.add(expr) + return kids.filterNotNull() + } + + public override fun accept(visitor: AstVisitor, ctx: C): R = + visitor.visitConstraintBodyCheck(this, ctx) + } +} diff --git a/partiql-ast/src/main/kotlin/org/partiql/ast/v1/CreateIndex.kt b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/CreateIndex.kt new file mode 100644 index 0000000000..14f40f19f7 --- /dev/null +++ b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/CreateIndex.kt @@ -0,0 +1,24 @@ +package org.partiql.ast.v1 + +/** + * TODO docs, equals, hashcode + */ +public class CreateIndex( + @JvmField + public var index: Identifier?, + @JvmField + public var table: Identifier, + @JvmField + public var fields: List, +) : DDL() { + public override fun children(): Collection { + val kids = mutableListOf() + index?.let { kids.add(it) } + kids.add(table) + kids.addAll(fields) + return kids.filterNotNull() + } + + public override fun accept(visitor: AstVisitor, ctx: C): R = + visitor.visitCreateIndex(this, ctx) +} diff --git a/partiql-ast/src/main/kotlin/org/partiql/ast/v1/CreateTable.kt b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/CreateTable.kt new file mode 100644 index 0000000000..0769158151 --- /dev/null +++ b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/CreateTable.kt @@ -0,0 +1,21 @@ +package org.partiql.ast.v1 + +/** + * TODO docs, equals, hashcode + */ +public class CreateTable( + @JvmField + public var name: Identifier, + @JvmField + public var definition: TableDefinition?, +) : DDL() { + public override fun children(): Collection { + val kids = mutableListOf() + kids.add(name) + definition?.let { kids.add(it) } + return kids.filterNotNull() + } + + public override fun accept(visitor: AstVisitor, ctx: C): R = + visitor.visitCreateTable(this, ctx) +} diff --git a/partiql-ast/src/main/kotlin/org/partiql/ast/v1/DDL.kt b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/DDL.kt new file mode 100644 index 0000000000..7d01f8db6f --- /dev/null +++ b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/DDL.kt @@ -0,0 +1,14 @@ +package org.partiql.ast.v1 + +/** + * TODO docs, equals, hashcode + */ +public abstract class DDL : Statement() { + public override fun accept(visitor: AstVisitor, ctx: C): R = when (this) { + is CreateTable -> visitor.visitCreateTable(this, ctx) + is CreateIndex -> visitor.visitCreateIndex(this, ctx) + is DropTable -> visitor.visitDropTable(this, ctx) + is DropIndex -> visitor.visitDropIndex(this, ctx) + else -> throw NotImplementedError() + } +} diff --git a/partiql-ast/src/main/kotlin/org/partiql/ast/v1/DropIndex.kt b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/DropIndex.kt new file mode 100644 index 0000000000..907e7afdf0 --- /dev/null +++ b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/DropIndex.kt @@ -0,0 +1,21 @@ +package org.partiql.ast.v1 + +/** + * TODO docs, equals, hashcode + */ +public class DropIndex( + @JvmField + public var index: Identifier, + @JvmField + public var table: Identifier, +) : DDL() { + public override fun children(): Collection { + val kids = mutableListOf() + kids.add(index) + kids.add(table) + return kids.filterNotNull() + } + + public override fun accept(visitor: AstVisitor, ctx: C): R = + visitor.visitDropIndex(this, ctx) +} diff --git a/partiql-ast/src/main/kotlin/org/partiql/ast/v1/DropTable.kt b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/DropTable.kt new file mode 100644 index 0000000000..b74afae51b --- /dev/null +++ b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/DropTable.kt @@ -0,0 +1,18 @@ +package org.partiql.ast.v1 + +/** + * TODO docs, equals, hashcode + */ +public class DropTable( + @JvmField + public var table: Identifier, +) : DDL() { + public override fun children(): Collection { + val kids = mutableListOf() + kids.add(table) + return kids.filterNotNull() + } + + public override fun accept(visitor: AstVisitor, ctx: C): R = + visitor.visitDropTable(this, ctx) +} diff --git a/partiql-ast/src/main/kotlin/org/partiql/ast/v1/Exclude.kt b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/Exclude.kt index 9a94e12a3f..9982c77f3e 100644 --- a/partiql-ast/src/main/kotlin/org/partiql/ast/v1/Exclude.kt +++ b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/Exclude.kt @@ -5,89 +5,14 @@ package org.partiql.ast.v1 */ public class Exclude( @JvmField - public var items: List, + public var excludePaths: List, ) : AstNode() { public override fun children(): Collection { val kids = mutableListOf() - kids.addAll(items) + kids.addAll(excludePaths) return kids.filterNotNull() } public override fun accept(visitor: AstVisitor, ctx: C): R = visitor.visitExclude(this, ctx) - - /** - * TODO docs, equals, hashcode - */ - public class Item( - @JvmField - public var root: Expr.Var, - @JvmField - public var steps: List, - ) : AstNode() { - public override fun children(): Collection { - val kids = mutableListOf() - kids.add(root) - kids.addAll(steps) - return kids.filterNotNull() - } - - public override fun accept(visitor: AstVisitor, ctx: C): R = - visitor.visitExcludeItem(this, ctx) - } - - /** - * TODO docs, equals, hashcode - */ - public abstract class Step : AstNode() { - /** - * TODO docs, equals, hashcode - */ - public class StructField( - @JvmField - public var symbol: Identifier.Symbol, - ) : Step() { - public override fun children(): Collection { - val kids = mutableListOf() - kids.add(symbol) - return kids.filterNotNull() - } - - public override fun accept(visitor: AstVisitor, ctx: C): R = - visitor.visitExcludeStepStructField(this, ctx) - } - - /** - * TODO docs, equals, hashcode - */ - public class CollIndex( - @JvmField - public var index: Int, - ) : Step() { - public override fun children(): Collection = emptyList() - - public override fun accept(visitor: AstVisitor, ctx: C): R = - visitor.visitExcludeStepCollIndex(this, ctx) - } - - /** - * TODO docs, equals, hashcode - */ - public object StructWildcard : Step() { - public override fun children(): Collection = emptyList() - - public override fun accept(visitor: AstVisitor, ctx: C): R = - visitor.visitExcludeStepStructWildcard(this, ctx) - } - - /** - * TODO docs, equals, hashcode - */ - public object CollWildcard : Step() { - public override fun children(): Collection = emptyList() - - public override fun accept(visitor: AstVisitor, ctx: C): R = - visitor.visitExcludeStepCollWildcard(this, ctx) - } - } } diff --git a/partiql-ast/src/main/kotlin/org/partiql/ast/v1/ExcludePath.kt b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/ExcludePath.kt new file mode 100644 index 0000000000..d0bfc72bf4 --- /dev/null +++ b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/ExcludePath.kt @@ -0,0 +1,23 @@ +package org.partiql.ast.v1 + +import org.partiql.ast.v1.expr.ExprVar + +/** + * TODO docs, equals, hashcode + */ +public class ExcludePath( + @JvmField + public var root: ExprVar, + @JvmField + public var excludeSteps: List, +) : AstNode() { + public override fun children(): Collection { + val kids = mutableListOf() + kids.add(root) + kids.addAll(excludeSteps) + return kids.filterNotNull() + } + + public override fun accept(visitor: AstVisitor, ctx: C): R = + visitor.visitExcludePath(this, ctx) +} diff --git a/partiql-ast/src/main/kotlin/org/partiql/ast/v1/ExcludeStep.kt b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/ExcludeStep.kt new file mode 100644 index 0000000000..c94a9150c3 --- /dev/null +++ b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/ExcludeStep.kt @@ -0,0 +1,56 @@ +package org.partiql.ast.v1 + +/** + * TODO docs, equals, hashcode + */ +public abstract class ExcludeStep : AstNode() { + /** + * TODO docs, equals, hashcode + */ + public class StructField( + @JvmField + public var symbol: Identifier.Symbol, + ) : ExcludeStep() { + public override fun children(): Collection { + val kids = mutableListOf() + kids.add(symbol) + return kids.filterNotNull() + } + + public override fun accept(visitor: AstVisitor, ctx: C): R = + visitor.visitExcludeStepStructField(this, ctx) + } + + /** + * TODO docs, equals, hashcode + */ + public class CollIndex( + @JvmField + public var index: Int, + ) : ExcludeStep() { + public override fun children(): Collection = emptyList() + + public override fun accept(visitor: AstVisitor, ctx: C): R = + visitor.visitExcludeStepCollIndex(this, ctx) + } + + /** + * TODO docs, equals, hashcode + */ + public object StructWildcard : ExcludeStep() { + public override fun children(): Collection = emptyList() + + public override fun accept(visitor: AstVisitor, ctx: C): R = + visitor.visitExcludeStepStructWildcard(this, ctx) + } + + /** + * TODO docs, equals, hashcode + */ + public object CollWildcard : ExcludeStep() { + public override fun children(): Collection = emptyList() + + public override fun accept(visitor: AstVisitor, ctx: C): R = + visitor.visitExcludeStepCollWildcard(this, ctx) + } +} diff --git a/partiql-ast/src/main/kotlin/org/partiql/ast/v1/Explain.kt b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/Explain.kt new file mode 100644 index 0000000000..15b2708536 --- /dev/null +++ b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/Explain.kt @@ -0,0 +1,18 @@ +package org.partiql.ast.v1 + +/** + * TODO docs, equals, hashcode + */ +public class Explain( + @JvmField + public var target: Target, +) : Statement() { + public override fun children(): Collection { + val kids = mutableListOf() + kids.add(target) + return kids.filterNotNull() + } + + public override fun accept(visitor: AstVisitor, ctx: C): R = + visitor.visitExplain(this, ctx) +} diff --git a/partiql-ast/src/main/kotlin/org/partiql/ast/v1/Expr.kt b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/Expr.kt deleted file mode 100644 index 62c6fb8521..0000000000 --- a/partiql-ast/src/main/kotlin/org/partiql/ast/v1/Expr.kt +++ /dev/null @@ -1,884 +0,0 @@ -package org.partiql.ast.v1 - -import com.amazon.ionelement.api.IonElement -import org.partiql.value.PartiQLValue -import org.partiql.value.PartiQLValueExperimental - -/** - * TODO docs, equals, hashcode - */ -public abstract class Expr : AstNode() { - public override fun accept(visitor: AstVisitor, ctx: C): R = when (this) { - is Lit -> visitor.visitExprLit(this, ctx) - is Ion -> visitor.visitExprIon(this, ctx) - is Var -> visitor.visitExprVar(this, ctx) - is SessionAttribute -> visitor.visitExprSessionAttribute(this, ctx) - is Path -> visitor.visitExprPath(this, ctx) - is Call -> visitor.visitExprCall(this, ctx) - is Parameter -> visitor.visitExprParameter(this, ctx) - is Operator -> visitor.visitExprOperator(this, ctx) - is Not -> visitor.visitExprNot(this, ctx) - is And -> visitor.visitExprAnd(this, ctx) - is Or -> visitor.visitExprOr(this, ctx) - is Values -> visitor.visitExprValues(this, ctx) - is Collection -> visitor.visitExprCollection(this, ctx) - is Struct -> visitor.visitExprStruct(this, ctx) - is Like -> visitor.visitExprLike(this, ctx) - is Between -> visitor.visitExprBetween(this, ctx) - is InCollection -> visitor.visitExprInCollection(this, ctx) - is IsType -> visitor.visitExprIsType(this, ctx) - is Case -> visitor.visitExprCase(this, ctx) - is Coalesce -> visitor.visitExprCoalesce(this, ctx) - is NullIf -> visitor.visitExprNullIf(this, ctx) - is Substring -> visitor.visitExprSubstring(this, ctx) - is Position -> visitor.visitExprPosition(this, ctx) - is Trim -> visitor.visitExprTrim(this, ctx) - is Overlay -> visitor.visitExprOverlay(this, ctx) - is Extract -> visitor.visitExprExtract(this, ctx) - is Cast -> visitor.visitExprCast(this, ctx) - is DateAdd -> visitor.visitExprDateAdd(this, ctx) - is DateDiff -> visitor.visitExprDateDiff(this, ctx) - is QuerySet -> visitor.visitExprQuerySet(this, ctx) - is Match -> visitor.visitExprMatch(this, ctx) - is Window -> visitor.visitExprWindow(this, ctx) - else -> throw NotImplementedError() - } - - @OptIn(PartiQLValueExperimental::class) - /** - * TODO docs, equals, hashcode - */ - public class Lit( - @JvmField - public var `value`: PartiQLValue, - ) : Expr() { - public override fun children(): kotlin.collections.Collection = emptyList() - - public override fun accept(visitor: AstVisitor, ctx: C): R = - visitor.visitExprLit(this, ctx) - } - - /** - * TODO docs, equals, hashcode - */ - public class Ion( - @JvmField - public var `value`: IonElement, - ) : Expr() { - public override fun children(): kotlin.collections.Collection = emptyList() - - public override fun accept(visitor: AstVisitor, ctx: C): R = - visitor.visitExprIon(this, ctx) - } - - /** - * TODO docs, equals, hashcode - */ - public class Var( - @JvmField - public var identifier: Identifier, - @JvmField - public var scope: Scope, - ) : Expr() { - public override fun children(): List { - val kids = mutableListOf() - kids.add(identifier) - return kids.filterNotNull() - } - - public override fun accept(visitor: AstVisitor, ctx: C): R = - visitor.visitExprVar(this, ctx) - - /** - * TODO docs, equals, hashcode - */ - public enum class Scope { - DEFAULT, - LOCAL, - OTHER, - } - } - - /** - * TODO docs, equals, hashcode - */ - public class SessionAttribute( - @JvmField - public var attribute: Attribute, - ) : Expr() { - public override fun children(): List = emptyList() - - public override fun accept(visitor: AstVisitor, ctx: C): R = - visitor.visitExprSessionAttribute(this, ctx) - - /** - * TODO docs, equals, hashcode - */ - public enum class Attribute { - CURRENT_USER, - CURRENT_DATE, - OTHER, - } - } - - /** - * TODO docs, equals, hashcode - */ - public class Path( - @JvmField - public var root: Expr, - @JvmField - public var steps: List, - ) : Expr() { - public override fun children(): List { - val kids = mutableListOf() - kids.add(root) - kids.addAll(steps) - return kids.filterNotNull() - } - - public override fun accept(visitor: AstVisitor, ctx: C): R = - visitor.visitExprPath(this, ctx) - - /** - * TODO docs, equals, hashcode - */ - public abstract class Step : AstNode() { - public override fun accept(visitor: AstVisitor, ctx: C): R = when (this) { - is Symbol -> visitor.visitExprPathStepSymbol(this, ctx) - is Index -> visitor.visitExprPathStepIndex(this, ctx) - is Wildcard -> visitor.visitExprPathStepWildcard(this, ctx) - is Unpivot -> visitor.visitExprPathStepUnpivot(this, ctx) - else -> throw NotImplementedError() - } - - /** - * TODO docs, equals, hashcode - */ - public class Symbol( - @JvmField - public var symbol: Identifier.Symbol, - ) : Step() { - public override fun children(): List { - val kids = mutableListOf() - kids.add(symbol) - return kids.filterNotNull() - } - - public override fun accept(visitor: AstVisitor, ctx: C): R = - visitor.visitExprPathStepSymbol(this, ctx) - } - - /** - * TODO docs, equals, hashcode - */ - public class Index( - @JvmField - public var key: Expr, - ) : Step() { - public override fun children(): List { - val kids = mutableListOf() - kids.add(key) - return kids.filterNotNull() - } - - public override fun accept(visitor: AstVisitor, ctx: C): R = - visitor.visitExprPathStepIndex(this, ctx) - } - - /** - * TODO docs, equals, hashcode - */ - public object Wildcard : Step() { - public override fun children(): List = emptyList() - - public override fun accept(visitor: AstVisitor, ctx: C): R = - visitor.visitExprPathStepWildcard(this, ctx) - } - - /** - * TODO docs, equals, hashcode - */ - public object Unpivot : Step() { - public override fun children(): List = emptyList() - - public override fun accept(visitor: AstVisitor, ctx: C): R = - visitor.visitExprPathStepUnpivot(this, ctx) - } - } - } - - /** - * TODO docs, equals, hashcode - */ - public class Call( - @JvmField - public var function: Identifier, - @JvmField - public var args: List, - @JvmField - public var setq: SetQuantifier?, - ) : Expr() { - public override fun children(): List { - val kids = mutableListOf() - kids.add(function) - kids.addAll(args) - return kids.filterNotNull() - } - - public override fun accept(visitor: AstVisitor, ctx: C): R = - visitor.visitExprCall(this, ctx) - } - - /** - * TODO docs, equals, hashcode - */ - public class Parameter( - @JvmField - public var index: Int, - ) : Expr() { - public override fun children(): List = emptyList() - - public override fun accept(visitor: AstVisitor, ctx: C): R = - visitor.visitExprParameter(this, ctx) - } - - /** - * TODO docs, equals, hashcode - */ - public class Operator( - @JvmField - public var symbol: String, - @JvmField - public var lhs: Expr?, - @JvmField - public var rhs: Expr, - ) : Expr() { - public override fun children(): List { - val kids = mutableListOf() - lhs?.let { kids.add(it) } - kids.add(rhs) - return kids.filterNotNull() - } - - public override fun accept(visitor: AstVisitor, ctx: C): R = - visitor.visitExprOperator(this, ctx) - } - - /** - * TODO docs, equals, hashcode - */ - public class Not( - @JvmField - public var `value`: Expr, - ) : Expr() { - public override fun children(): List { - val kids = mutableListOf() - kids.add(value) - return kids.filterNotNull() - } - - public override fun accept(visitor: AstVisitor, ctx: C): R = - visitor.visitExprNot(this, ctx) - } - - /** - * TODO docs, equals, hashcode - */ - public class And( - @JvmField - public var lhs: Expr, - @JvmField - public var rhs: Expr, - ) : Expr() { - public override fun children(): List { - val kids = mutableListOf() - kids.add(lhs) - kids.add(rhs) - return kids.filterNotNull() - } - - public override fun accept(visitor: AstVisitor, ctx: C): R = - visitor.visitExprAnd(this, ctx) - } - - /** - * TODO docs, equals, hashcode - */ - public class Or( - @JvmField - public var lhs: Expr, - @JvmField - public var rhs: Expr, - ) : Expr() { - public override fun children(): List { - val kids = mutableListOf() - kids.add(lhs) - kids.add(rhs) - return kids.filterNotNull() - } - - public override fun accept(visitor: AstVisitor, ctx: C): R = - visitor.visitExprOr(this, ctx) - } - - /** - * TODO docs, equals, hashcode - */ - public class Values( - @JvmField - public var rows: List, - ) : Expr() { - public override fun children(): List { - val kids = mutableListOf() - kids.addAll(rows) - return kids.filterNotNull() - } - - public override fun accept(visitor: AstVisitor, ctx: C): R = - visitor.visitExprValues(this, ctx) - - /** - * TODO docs, equals, hashcode - */ - public class Row( - @JvmField - public var items: List, - ) : AstNode() { - public override fun children(): List { - val kids = mutableListOf() - kids.addAll(items) - return kids.filterNotNull() - } - - public override fun accept(visitor: AstVisitor, ctx: C): R = - visitor.visitExprValuesRow(this, ctx) - } - } - - /** - * TODO docs, equals, hashcode - */ - public class Collection( - @JvmField - public var type: Type, - @JvmField - public var values: List, - ) : Expr() { - public override fun children(): List { - val kids = mutableListOf() - kids.addAll(values) - return kids.filterNotNull() - } - - public override fun accept(visitor: AstVisitor, ctx: C): R = - visitor.visitExprCollection(this, ctx) - - /** - * TODO docs, equals, hashcode - */ - public enum class Type { - BAG, - ARRAY, - VALUES, - LIST, - SEXP, - OTHER, - } - } - - /** - * TODO docs, equals, hashcode - */ - public class Struct( - @JvmField - public var fields: List, - ) : Expr() { - public override fun children(): List { - val kids = mutableListOf() - kids.addAll(fields) - return kids.filterNotNull() - } - - public override fun accept(visitor: AstVisitor, ctx: C): R = - visitor.visitExprStruct(this, ctx) - - /** - * TODO docs, equals, hashcode - */ - public class Field( - @JvmField - public var name: Expr, - @JvmField - public var `value`: Expr, - ) : AstNode() { - public override fun children(): List { - val kids = mutableListOf() - kids.add(name) - kids.add(value) - return kids.filterNotNull() - } - - public override fun accept(visitor: AstVisitor, ctx: C): R = - visitor.visitExprStructField(this, ctx) - } - } - - /** - * TODO docs, equals, hashcode - */ - public class Like( - @JvmField - public var `value`: Expr, - @JvmField - public var pattern: Expr, - @JvmField - public var escape: Expr?, - @JvmField - public var not: Boolean?, - ) : Expr() { - public override fun children(): List { - val kids = mutableListOf() - kids.add(value) - kids.add(pattern) - escape?.let { kids.add(it) } - return kids.filterNotNull() - } - - public override fun accept(visitor: AstVisitor, ctx: C): R = - visitor.visitExprLike(this, ctx) - } - - /** - * TODO docs, equals, hashcode - */ - public class Between( - @JvmField - public var `value`: Expr, - @JvmField - public var from: Expr, - @JvmField - public var to: Expr, - @JvmField - public var not: Boolean?, - ) : Expr() { - public override fun children(): List { - val kids = mutableListOf() - kids.add(value) - kids.add(from) - kids.add(to) - return kids.filterNotNull() - } - - public override fun accept(visitor: AstVisitor, ctx: C): R = - visitor.visitExprBetween(this, ctx) - } - - /** - * TODO docs, equals, hashcode - */ - public class InCollection( - @JvmField - public var lhs: Expr, - @JvmField - public var rhs: Expr, - @JvmField - public var not: Boolean?, - ) : Expr() { - public override fun children(): List { - val kids = mutableListOf() - kids.add(lhs) - kids.add(rhs) - return kids.filterNotNull() - } - - public override fun accept(visitor: AstVisitor, ctx: C): R = - visitor.visitExprInCollection(this, ctx) - } - - /** - * TODO docs, equals, hashcode - */ - public class IsType( - @JvmField - public var `value`: Expr, - @JvmField - public var type: Type, - @JvmField - public var not: Boolean?, - ) : Expr() { - public override fun children(): List { - val kids = mutableListOf() - kids.add(value) - kids.add(type) - return kids.filterNotNull() - } - - public override fun accept(visitor: AstVisitor, ctx: C): R = - visitor.visitExprIsType(this, ctx) - } - - /** - * TODO docs, equals, hashcode - */ - public class Case( - @JvmField - public var expr: Expr?, - @JvmField - public var branches: List, - @JvmField - public var default: Expr?, - ) : Expr() { - public override fun children(): List { - val kids = mutableListOf() - expr?.let { kids.add(it) } - kids.addAll(branches) - default?.let { kids.add(it) } - return kids.filterNotNull() - } - - public override fun accept(visitor: AstVisitor, ctx: C): R = - visitor.visitExprCase(this, ctx) - - /** - * TODO docs, equals, hashcode - */ - public class Branch( - @JvmField - public var condition: Expr, - @JvmField - public var expr: Expr, - ) : AstNode() { - public override fun children(): List { - val kids = mutableListOf() - kids.add(condition) - kids.add(expr) - return kids.filterNotNull() - } - - public override fun accept(visitor: AstVisitor, ctx: C): R = - visitor.visitExprCaseBranch(this, ctx) - } - } - - /** - * TODO docs, equals, hashcode - */ - public class Coalesce( - @JvmField - public var args: List, - ) : Expr() { - public override fun children(): List { - val kids = mutableListOf() - kids.addAll(args) - return kids.filterNotNull() - } - - public override fun accept(visitor: AstVisitor, ctx: C): R = - visitor.visitExprCoalesce(this, ctx) - } - - /** - * TODO docs, equals, hashcode - */ - public class NullIf( - @JvmField - public var `value`: Expr, - @JvmField - public var nullifier: Expr, - ) : Expr() { - public override fun children(): List { - val kids = mutableListOf() - kids.add(value) - kids.add(nullifier) - return kids.filterNotNull() - } - - public override fun accept(visitor: AstVisitor, ctx: C): R = - visitor.visitExprNullIf(this, ctx) - } - - /** - * TODO docs, equals, hashcode - */ - public class Substring( - @JvmField - public var `value`: Expr, - @JvmField - public var start: Expr?, - @JvmField - public var length: Expr?, - ) : Expr() { - public override fun children(): List { - val kids = mutableListOf() - kids.add(value) - start?.let { kids.add(it) } - length?.let { kids.add(it) } - return kids.filterNotNull() - } - - public override fun accept(visitor: AstVisitor, ctx: C): R = - visitor.visitExprSubstring(this, ctx) - } - - /** - * TODO docs, equals, hashcode - */ - public class Position( - @JvmField - public var lhs: Expr, - @JvmField - public var rhs: Expr, - ) : Expr() { - public override fun children(): List { - val kids = mutableListOf() - kids.add(lhs) - kids.add(rhs) - return kids.filterNotNull() - } - - public override fun accept(visitor: AstVisitor, ctx: C): R = - visitor.visitExprPosition(this, ctx) - } - - /** - * TODO docs, equals, hashcode - */ - public class Trim( - @JvmField - public var `value`: Expr, - @JvmField - public var chars: Expr?, - @JvmField - public var spec: Spec?, - ) : Expr() { - public override fun children(): List { - val kids = mutableListOf() - kids.add(value) - chars?.let { kids.add(it) } - return kids.filterNotNull() - } - - public override fun accept(visitor: AstVisitor, ctx: C): R = - visitor.visitExprTrim(this, ctx) - - public enum class Spec { - LEADING, - TRAILING, - BOTH, - OTHER, - } - } - - /** - * TODO docs, equals, hashcode - */ - public class Overlay( - @JvmField - public var `value`: Expr, - @JvmField - public var overlay: Expr, - @JvmField - public var start: Expr, - @JvmField - public var length: Expr?, - ) : Expr() { - public override fun children(): List { - val kids = mutableListOf() - kids.add(value) - kids.add(overlay) - kids.add(start) - length?.let { kids.add(it) } - return kids.filterNotNull() - } - - public override fun accept(visitor: AstVisitor, ctx: C): R = - visitor.visitExprOverlay(this, ctx) - } - - /** - * TODO docs, equals, hashcode - */ - public class Extract( - @JvmField - public var `field`: DatetimeField, - @JvmField - public var source: Expr, - ) : Expr() { - public override fun children(): List { - val kids = mutableListOf() - kids.add(source) - return kids.filterNotNull() - } - - public override fun accept(visitor: AstVisitor, ctx: C): R = - visitor.visitExprExtract(this, ctx) - } - - /** - * TODO docs, equals, hashcode - */ - public class Cast( - @JvmField - public var `value`: Expr, - @JvmField - public var asType: Type, - ) : Expr() { - public override fun children(): List { - val kids = mutableListOf() - kids.add(value) - kids.add(asType) - return kids.filterNotNull() - } - - public override fun accept(visitor: AstVisitor, ctx: C): R = - visitor.visitExprCast(this, ctx) - } - - /** - * TODO docs, equals, hashcode - */ - public class DateAdd( - @JvmField - public var `field`: DatetimeField, - @JvmField - public var lhs: Expr, - @JvmField - public var rhs: Expr, - ) : Expr() { - public override fun children(): List { - val kids = mutableListOf() - kids.add(lhs) - kids.add(rhs) - return kids.filterNotNull() - } - - public override fun accept(visitor: AstVisitor, ctx: C): R = - visitor.visitExprDateAdd(this, ctx) - } - - /** - * TODO docs, equals, hashcode - */ - public class DateDiff( - @JvmField - public var `field`: DatetimeField, - @JvmField - public var lhs: Expr, - @JvmField - public var rhs: Expr, - ) : Expr() { - public override fun children(): List { - val kids = mutableListOf() - kids.add(lhs) - kids.add(rhs) - return kids.filterNotNull() - } - - public override fun accept(visitor: AstVisitor, ctx: C): R = - visitor.visitExprDateDiff(this, ctx) - } - - /** - * TODO docs, equals, hashcode - */ - public class QuerySet( - @JvmField - public var body: QueryBody, - @JvmField - public var orderBy: OrderBy?, - @JvmField - public var limit: Expr?, - @JvmField - public var offset: Expr?, - ) : Expr() { - public override fun children(): List { - val kids = mutableListOf() - kids.add(body) - orderBy?.let { kids.add(it) } - limit?.let { kids.add(it) } - offset?.let { kids.add(it) } - return kids.filterNotNull() - } - - public override fun accept(visitor: AstVisitor, ctx: C): R = - visitor.visitExprQuerySet(this, ctx) - } - - /** - * TODO docs, equals, hashcode - */ - public class Match( - @JvmField - public var expr: Expr, - @JvmField - public var pattern: GraphMatch, - ) : Expr() { - public override fun children(): List { - val kids = mutableListOf() - kids.add(expr) - kids.add(pattern) - return kids.filterNotNull() - } - - public override fun accept(visitor: AstVisitor, ctx: C): R = - visitor.visitExprMatch(this, ctx) - } - - /** - * TODO docs, equals, hashcode - */ - public class Window( - @JvmField - public var function: Function, - @JvmField - public var expression: Expr, - @JvmField - public var offset: Expr?, - @JvmField - public var default: Expr?, - @JvmField - public var over: Over, - ) : Expr() { - public override fun children(): List { - val kids = mutableListOf() - kids.add(expression) - offset?.let { kids.add(it) } - default?.let { kids.add(it) } - kids.add(over) - return kids.filterNotNull() - } - - public override fun accept(visitor: AstVisitor, ctx: C): R = - visitor.visitExprWindow(this, ctx) - - /** - * TODO docs, equals, hashcode - */ - public enum class Function { - LAG, - LEAD, - OTHER, - } - - /** - * TODO docs, equals, hashcode - */ - public class Over( - @JvmField - public var partitions: List?, - @JvmField - public var sorts: List?, - ) : AstNode() { - public override fun children(): List { - val kids = mutableListOf() - partitions?.let { kids.addAll(it) } - sorts?.let { kids.addAll(it) } - return kids.filterNotNull() - } - - public override fun accept(visitor: AstVisitor, ctx: C): R = - visitor.visitExprWindowOver(this, ctx) - } - } -} diff --git a/partiql-ast/src/main/kotlin/org/partiql/ast/v1/From.kt b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/From.kt index 3a8c56d5d5..41c54acdd4 100644 --- a/partiql-ast/src/main/kotlin/org/partiql/ast/v1/From.kt +++ b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/From.kt @@ -5,86 +5,8 @@ package org.partiql.ast.v1 */ public abstract class From : AstNode() { public override fun accept(visitor: AstVisitor, ctx: C): R = when (this) { - is Value -> visitor.visitFromValue(this, ctx) - is Join -> visitor.visitFromJoin(this, ctx) + is FromValue -> visitor.visitFromValue(this, ctx) + is FromJoin -> visitor.visitFromJoin(this, ctx) else -> throw NotImplementedError() } - - /** - * TODO docs, equals, hashcode - */ - public class Value( - @JvmField - public var expr: Expr, - @JvmField - public var type: Type, - @JvmField - public var asAlias: Identifier.Symbol?, - @JvmField - public var atAlias: Identifier.Symbol?, - @JvmField - public var byAlias: Identifier.Symbol?, - ) : From() { - public override fun children(): Collection { - val kids = mutableListOf() - kids.add(expr) - asAlias?.let { kids.add(it) } - atAlias?.let { kids.add(it) } - byAlias?.let { kids.add(it) } - return kids.filterNotNull() - } - - public override fun accept(visitor: AstVisitor, ctx: C): R = - visitor.visitFromValue(this, ctx) - - /** - * TODO docs, equals, hashcode - */ - public enum class Type { - SCAN, - UNPIVOT, - OTHER, - } - } - - /** - * TODO docs, equals, hashcode - */ - public class Join( - @JvmField - public var lhs: From, - @JvmField - public var rhs: From, - @JvmField - public var type: Type?, - @JvmField - public var condition: Expr?, - ) : From() { - public override fun children(): Collection { - val kids = mutableListOf() - kids.add(lhs) - kids.add(rhs) - condition?.let { kids.add(it) } - return kids.filterNotNull() - } - - public override fun accept(visitor: AstVisitor, ctx: C): R = - visitor.visitFromJoin(this, ctx) - - /** - * TODO docs, equals, hashcode - */ - public enum class Type { - INNER, - LEFT, - LEFT_OUTER, - RIGHT, - RIGHT_OUTER, - FULL, - FULL_OUTER, - CROSS, - COMMA, - OTHER, - } - } } diff --git a/partiql-ast/src/main/kotlin/org/partiql/ast/v1/FromJoin.kt b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/FromJoin.kt new file mode 100644 index 0000000000..17ede7dc30 --- /dev/null +++ b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/FromJoin.kt @@ -0,0 +1,44 @@ +package org.partiql.ast.v1 + +import org.partiql.ast.v1.expr.Expr + +/** + * TODO docs, equals, hashcode + */ +public class FromJoin( + @JvmField + public var lhs: From, + @JvmField + public var rhs: From, + @JvmField + public var type: Type?, + @JvmField + public var condition: Expr?, +) : From() { + public override fun children(): Collection { + val kids = mutableListOf() + kids.add(lhs) + kids.add(rhs) + condition?.let { kids.add(it) } + return kids.filterNotNull() + } + + public override fun accept(visitor: AstVisitor, ctx: C): R = + visitor.visitFromJoin(this, ctx) + + /** + * TODO docs, equals, hashcode + */ + public enum class Type { + INNER, + LEFT, + LEFT_OUTER, + RIGHT, + RIGHT_OUTER, + FULL, + FULL_OUTER, + CROSS, + COMMA, + OTHER, + } +} diff --git a/partiql-ast/src/main/kotlin/org/partiql/ast/v1/FromValue.kt b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/FromValue.kt new file mode 100644 index 0000000000..cd9a8025b7 --- /dev/null +++ b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/FromValue.kt @@ -0,0 +1,40 @@ +package org.partiql.ast.v1 + +import org.partiql.ast.v1.expr.Expr + +/** + * TODO docs, equals, hashcode + */ +public class FromValue( + @JvmField + public var expr: Expr, + @JvmField + public var type: Type, + @JvmField + public var asAlias: Identifier.Symbol?, + @JvmField + public var atAlias: Identifier.Symbol?, + @JvmField + public var byAlias: Identifier.Symbol?, +) : From() { + public override fun children(): Collection { + val kids = mutableListOf() + kids.add(expr) + asAlias?.let { kids.add(it) } + atAlias?.let { kids.add(it) } + byAlias?.let { kids.add(it) } + return kids.filterNotNull() + } + + public override fun accept(visitor: AstVisitor, ctx: C): R = + visitor.visitFromValue(this, ctx) + + /** + * TODO docs, equals, hashcode + */ + public enum class Type { + SCAN, + UNPIVOT, + OTHER, + } +} diff --git a/partiql-ast/src/main/kotlin/org/partiql/ast/v1/GraphMatch.kt b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/GraphMatch.kt deleted file mode 100644 index d92b120014..0000000000 --- a/partiql-ast/src/main/kotlin/org/partiql/ast/v1/GraphMatch.kt +++ /dev/null @@ -1,343 +0,0 @@ -package org.partiql.ast.v1 - -/** - * TODO docs, equals, hashcode - */ -public class GraphMatch( - @JvmField - public var patterns: List, - @JvmField - public var selector: Selector?, -) : AstNode() { - public override fun children(): Collection { - val kids = mutableListOf() - kids.addAll(patterns) - selector?.let { kids.add(it) } - return kids.filterNotNull() - } - - public override fun accept(visitor: AstVisitor, ctx: C): R = - visitor.visitGraphMatch(this, ctx) - - /** - * TODO docs, equals, hashcode - */ - public enum class Direction { - LEFT, - UNDIRECTED, - RIGHT, - LEFT_OR_UNDIRECTED, - UNDIRECTED_OR_RIGHT, - LEFT_OR_RIGHT, - LEFT_UNDIRECTED_OR_RIGHT, - OTHER, - } - - /** - * TODO docs, equals, hashcode - */ - public enum class Restrictor { - TRAIL, - ACYCLIC, - SIMPLE, - OTHER, - } - - /** - * TODO docs, equals, hashcode - */ - public class Pattern( - @JvmField - public var restrictor: Restrictor?, - @JvmField - public var prefilter: Expr?, - @JvmField - public var variable: String?, - @JvmField - public var quantifier: Quantifier?, - @JvmField - public var parts: List, - ) : AstNode() { - public override fun children(): Collection { - val kids = mutableListOf() - prefilter?.let { kids.add(it) } - quantifier?.let { kids.add(it) } - kids.addAll(parts) - return kids.filterNotNull() - } - - public override fun accept(visitor: AstVisitor, ctx: C): R = - visitor.visitGraphMatchPattern(this, ctx) - - /** - * TODO docs, equals, hashcode - */ - public abstract class Part : AstNode() { - public override fun accept(visitor: AstVisitor, ctx: C): R = when (this) { - is Node -> visitor.visitGraphMatchPatternPartNode(this, ctx) - is Edge -> visitor.visitGraphMatchPatternPartEdge(this, ctx) - is Pattern -> visitor.visitGraphMatchPatternPartPattern(this, ctx) - else -> throw NotImplementedError() - } - - /** - * TODO docs, equals, hashcode - */ - public class Node( - @JvmField - public var prefilter: Expr?, - @JvmField - public var variable: String?, - @JvmField - public var label: Label?, - ) : Part() { - public override fun children(): Collection { - val kids = mutableListOf() - prefilter?.let { kids.add(it) } - label?.let { kids.add(it) } - return kids.filterNotNull() - } - - public override fun accept(visitor: AstVisitor, ctx: C): R = - visitor.visitGraphMatchPatternPartNode(this, ctx) - } - - /** - * TODO docs, equals, hashcode - */ - public class Edge( - @JvmField - public var direction: Direction, - @JvmField - public var quantifier: Quantifier?, - @JvmField - public var prefilter: Expr?, - @JvmField - public var variable: String?, - @JvmField - public var label: Label?, - ) : Part() { - public override fun children(): Collection { - val kids = mutableListOf() - quantifier?.let { kids.add(it) } - prefilter?.let { kids.add(it) } - label?.let { kids.add(it) } - return kids.filterNotNull() - } - - public override fun accept(visitor: AstVisitor, ctx: C): R = - visitor.visitGraphMatchPatternPartEdge(this, ctx) - } - - /** - * TODO docs, equals, hashcode - */ - public class Pattern( - @JvmField - public var pattern: GraphMatch.Pattern, - ) : Part() { - public override fun children(): Collection { - val kids = mutableListOf() - kids.add(pattern) - return kids.filterNotNull() - } - - public override fun accept(visitor: AstVisitor, ctx: C): R = - visitor.visitGraphMatchPatternPartPattern(this, ctx) - } - } - } - - /** - * TODO docs, equals, hashcode - */ - public class Quantifier( - @JvmField - public var lower: Long, - @JvmField - public var upper: Long?, - ) : AstNode() { - public override fun children(): Collection = emptyList() - - public override fun accept(visitor: AstVisitor, ctx: C): R = - visitor.visitGraphMatchQuantifier(this, ctx) - } - - /** - * TODO docs, equals, hashcode - */ - public abstract class Selector : AstNode() { - public override fun accept(visitor: AstVisitor, ctx: C): R = when (this) { - is AnyShortest -> visitor.visitGraphMatchSelectorAnyShortest(this, ctx) - is AllShortest -> visitor.visitGraphMatchSelectorAllShortest(this, ctx) - is Any -> visitor.visitGraphMatchSelectorAny(this, ctx) - is AnyK -> visitor.visitGraphMatchSelectorAnyK(this, ctx) - is ShortestK -> visitor.visitGraphMatchSelectorShortestK(this, ctx) - is ShortestKGroup -> visitor.visitGraphMatchSelectorShortestKGroup(this, ctx) - else -> throw NotImplementedError() - } - - /** - * TODO docs, equals, hashcode - */ - public object AnyShortest : Selector() { - public override fun children(): Collection = emptyList() - - public override fun accept(visitor: AstVisitor, ctx: C): R = - visitor.visitGraphMatchSelectorAnyShortest(this, ctx) - } - - /** - * TODO docs, equals, hashcode - */ - public object AllShortest : Selector() { - public override fun children(): Collection = emptyList() - - public override fun accept(visitor: AstVisitor, ctx: C): R = - visitor.visitGraphMatchSelectorAllShortest(this, ctx) - } - - /** - * TODO docs, equals, hashcode - */ - public object Any : Selector() { - public override fun children(): Collection = emptyList() - - public override fun accept(visitor: AstVisitor, ctx: C): R = - visitor.visitGraphMatchSelectorAny(this, ctx) - } - - /** - * TODO docs, equals, hashcode - */ - public class AnyK( - @JvmField - public var k: Long, - ) : Selector() { - public override fun children(): Collection = emptyList() - - public override fun accept(visitor: AstVisitor, ctx: C): R = - visitor.visitGraphMatchSelectorAnyK(this, ctx) - } - - /** - * TODO docs, equals, hashcode - */ - public class ShortestK( - @JvmField - public var k: Long, - ) : Selector() { - public override fun children(): Collection = emptyList() - - public override fun accept(visitor: AstVisitor, ctx: C): R = - visitor.visitGraphMatchSelectorShortestK(this, ctx) - } - - /** - * TODO docs, equals, hashcode - */ - public class ShortestKGroup( - @JvmField - public var k: Long, - ) : Selector() { - public override fun children(): Collection = emptyList() - - public override fun accept(visitor: AstVisitor, ctx: C): R = - visitor.visitGraphMatchSelectorShortestKGroup(this, ctx) - } - } - - /** - * TODO docs, equals, hashcode - */ - public abstract class Label : AstNode() { - public override fun accept(visitor: AstVisitor, ctx: C): R = when (this) { - is Name -> visitor.visitGraphMatchLabelName(this, ctx) - is Wildcard -> visitor.visitGraphMatchLabelWildcard(this, ctx) - is Negation -> visitor.visitGraphMatchLabelNegation(this, ctx) - is Conj -> visitor.visitGraphMatchLabelConj(this, ctx) - is Disj -> visitor.visitGraphMatchLabelDisj(this, ctx) - else -> throw NotImplementedError() - } - - /** - * TODO docs, equals, hashcode - */ - public class Name( - @JvmField - public var name: String, - ) : Label() { - public override fun children(): Collection = emptyList() - - public override fun accept(visitor: AstVisitor, ctx: C): R = - visitor.visitGraphMatchLabelName(this, ctx) - } - - /** - * TODO docs, equals, hashcode - */ - public object Wildcard : Label() { - public override fun children(): Collection = emptyList() - - public override fun accept(visitor: AstVisitor, ctx: C): R = - visitor.visitGraphMatchLabelWildcard(this, ctx) - } - - /** - * TODO docs, equals, hashcode - */ - public class Negation( - @JvmField - public var arg: Label, - ) : Label() { - public override fun children(): Collection { - val kids = mutableListOf() - kids.add(arg) - return kids.filterNotNull() - } - - public override fun accept(visitor: AstVisitor, ctx: C): R = - visitor.visitGraphMatchLabelNegation(this, ctx) - } - - /** - * TODO docs, equals, hashcode - */ - public class Conj( - @JvmField - public var lhs: Label, - @JvmField - public var rhs: Label, - ) : Label() { - public override fun children(): Collection { - val kids = mutableListOf() - kids.add(lhs) - kids.add(rhs) - return kids.filterNotNull() - } - - public override fun accept(visitor: AstVisitor, ctx: C): R = - visitor.visitGraphMatchLabelConj(this, ctx) - } - - /** - * TODO docs, equals, hashcode - */ - public class Disj( - @JvmField - public var lhs: Label, - @JvmField - public var rhs: Label, - ) : Label() { - public override fun children(): Collection { - val kids = mutableListOf() - kids.add(lhs) - kids.add(rhs) - return kids.filterNotNull() - } - - public override fun accept(visitor: AstVisitor, ctx: C): R = - visitor.visitGraphMatchLabelDisj(this, ctx) - } - } -} diff --git a/partiql-ast/src/main/kotlin/org/partiql/ast/v1/GroupBy.kt b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/GroupBy.kt index 9d0246d0b7..a4d347197e 100644 --- a/partiql-ast/src/main/kotlin/org/partiql/ast/v1/GroupBy.kt +++ b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/GroupBy.kt @@ -1,5 +1,7 @@ package org.partiql.ast.v1 +import org.partiql.ast.v1.expr.Expr + /** * TODO docs, equals, hashcode */ diff --git a/partiql-ast/src/main/kotlin/org/partiql/ast/v1/Identifier.kt b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/Identifier.kt index 3f142a9010..be21d7005b 100644 --- a/partiql-ast/src/main/kotlin/org/partiql/ast/v1/Identifier.kt +++ b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/Identifier.kt @@ -10,15 +10,6 @@ public abstract class Identifier : AstNode() { else -> throw NotImplementedError() } - /** - * TODO docs, equals, hashcode - */ - public enum class CaseSensitivity { - SENSITIVE, - INSENSITIVE, - OTHER, - } - /** * TODO docs, equals, hashcode */ diff --git a/partiql-ast/src/main/kotlin/org/partiql/ast/v1/Let.kt b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/Let.kt index 2f7ca49541..43e853e34b 100644 --- a/partiql-ast/src/main/kotlin/org/partiql/ast/v1/Let.kt +++ b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/Let.kt @@ -1,5 +1,7 @@ package org.partiql.ast.v1 +import org.partiql.ast.v1.expr.Expr + /** * TODO docs, equals, hashcode */ diff --git a/partiql-ast/src/main/kotlin/org/partiql/ast/v1/PathLit.kt b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/PathLit.kt index 43c0164c6e..996801953c 100644 --- a/partiql-ast/src/main/kotlin/org/partiql/ast/v1/PathLit.kt +++ b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/PathLit.kt @@ -1,7 +1,5 @@ package org.partiql.ast.v1 -import kotlin.Int - /** * TODO docs, equals, hashcode */ @@ -9,7 +7,7 @@ public class PathLit( @JvmField public var root: Identifier.Symbol, @JvmField - public var steps: List, + public var steps: List, ) : AstNode() { public override fun children(): Collection { val kids = mutableListOf() @@ -18,43 +16,8 @@ public class PathLit( return kids.filterNotNull() } - public override fun accept(visitor: AstVisitor, ctx: C): R = visitor.visitPath( + public override fun accept(visitor: AstVisitor, ctx: C): R = visitor.visitPathLit( this, ctx ) - - /** - * TODO docs, equals, hashcode - */ - public abstract class Step : AstNode() { - /** - * TODO docs, equals, hashcode - */ - public class Symbol( - @JvmField - public var symbol: Identifier.Symbol, - ) : Step() { - public override fun children(): Collection { - val kids = mutableListOf() - kids.add(symbol) - return kids.filterNotNull() - } - - public override fun accept(visitor: AstVisitor, ctx: C): R = - visitor.visitPathStepSymbol(this, ctx) - } - - /** - * TODO docs, equals, hashcode - */ - public class Index( - @JvmField - public var index: Int, - ) : Step() { - public override fun children(): Collection = emptyList() - - public override fun accept(visitor: AstVisitor, ctx: C): R = - visitor.visitPathStepIndex(this, ctx) - } - } } diff --git a/partiql-ast/src/main/kotlin/org/partiql/ast/v1/PathLitStep.kt b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/PathLitStep.kt new file mode 100644 index 0000000000..286da60753 --- /dev/null +++ b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/PathLitStep.kt @@ -0,0 +1,36 @@ +package org.partiql.ast.v1 + +/** + * TODO docs, equals, hashcode + */ +public abstract class PathLitStep : AstNode() { + /** + * TODO docs, equals, hashcode + */ + public class Symbol( + @JvmField + public var symbol: Identifier.Symbol, + ) : PathLitStep() { + public override fun children(): Collection { + val kids = mutableListOf() + kids.add(symbol) + return kids.filterNotNull() + } + + public override fun accept(visitor: AstVisitor, ctx: C): R = + visitor.visitPathLitStepSymbol(this, ctx) + } + + /** + * TODO docs, equals, hashcode + */ + public class Index( + @JvmField + public var index: Int, + ) : PathLitStep() { + public override fun children(): Collection = emptyList() + + public override fun accept(visitor: AstVisitor, ctx: C): R = + visitor.visitPathLitStepIndex(this, ctx) + } +} diff --git a/partiql-ast/src/main/kotlin/org/partiql/ast/v1/ProjectItem.kt b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/ProjectItem.kt new file mode 100644 index 0000000000..2a60b608b7 --- /dev/null +++ b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/ProjectItem.kt @@ -0,0 +1,51 @@ +package org.partiql.ast.v1 + +import org.partiql.ast.v1.expr.Expr + +/** + * TODO docs, equals, hashcode + */ +public abstract class ProjectItem : AstNode() { + public override fun accept(visitor: AstVisitor, ctx: C): R = when (this) { + is All -> visitor.visitProjectItemAll(this, ctx) + is Expression -> visitor.visitProjectItemExpression(this, ctx) + else -> throw NotImplementedError() + } + + /** + * TODO docs, equals, hashcode + */ + public class All( + @JvmField + public var expr: Expr, + ) : ProjectItem() { + public override fun children(): Collection { + val kids = mutableListOf() + kids.add(expr) + return kids.filterNotNull() + } + + public override fun accept(visitor: AstVisitor, ctx: C): R = + visitor.visitProjectItemAll(this, ctx) + } + + /** + * TODO docs, equals, hashcode + */ + public class Expression( + @JvmField + public var expr: Expr, + @JvmField + public var asAlias: Identifier.Symbol?, + ) : ProjectItem() { + public override fun children(): Collection { + val kids = mutableListOf() + kids.add(expr) + asAlias?.let { kids.add(it) } + return kids.filterNotNull() + } + + public override fun accept(visitor: AstVisitor, ctx: C): R = + visitor.visitProjectItemExpression(this, ctx) + } +} diff --git a/partiql-ast/src/main/kotlin/org/partiql/ast/v1/Query.kt b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/Query.kt new file mode 100644 index 0000000000..097a19b01c --- /dev/null +++ b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/Query.kt @@ -0,0 +1,20 @@ +package org.partiql.ast.v1 + +import org.partiql.ast.v1.expr.Expr + +/** + * TODO docs, equals, hashcode + */ +public class Query( + @JvmField + public var expr: Expr, +) : Statement() { + public override fun children(): Collection { + val kids = mutableListOf() + kids.add(expr) + return kids.filterNotNull() + } + + public override fun accept(visitor: AstVisitor, ctx: C): R = + visitor.visitQuery(this, ctx) +} diff --git a/partiql-ast/src/main/kotlin/org/partiql/ast/v1/QueryBody.kt b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/QueryBody.kt index 4e50bed9c8..249dc69938 100644 --- a/partiql-ast/src/main/kotlin/org/partiql/ast/v1/QueryBody.kt +++ b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/QueryBody.kt @@ -1,5 +1,7 @@ package org.partiql.ast.v1 +import org.partiql.ast.v1.expr.Expr + /** * TODO docs, equals, hashcode */ diff --git a/partiql-ast/src/main/kotlin/org/partiql/ast/v1/Select.kt b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/Select.kt index 81fc4d5536..1ffa12a71c 100644 --- a/partiql-ast/src/main/kotlin/org/partiql/ast/v1/Select.kt +++ b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/Select.kt @@ -5,129 +5,10 @@ package org.partiql.ast.v1 */ public abstract class Select : AstNode() { public override fun accept(visitor: AstVisitor, ctx: C): R = when (this) { - is Star -> visitor.visitSelectStar(this, ctx) - is Project -> visitor.visitSelectProject(this, ctx) - is Pivot -> visitor.visitSelectPivot(this, ctx) - is Value -> visitor.visitSelectValue(this, ctx) + is SelectStar -> visitor.visitSelectStar(this, ctx) + is SelectProject -> visitor.visitSelectProject(this, ctx) + is SelectPivot -> visitor.visitSelectPivot(this, ctx) + is SelectValue -> visitor.visitSelectValue(this, ctx) else -> throw NotImplementedError() } - - /** - * TODO docs, equals, hashcode - */ - public class Star( - @JvmField - public var setq: SetQuantifier?, - ) : Select() { - public override fun children(): Collection = emptyList() - - public override fun accept(visitor: AstVisitor, ctx: C): R = - visitor.visitSelectStar(this, ctx) - } - - /** - * TODO docs, equals, hashcode - */ - public class Project( - @JvmField - public var items: List, - @JvmField - public var setq: SetQuantifier?, - ) : Select() { - public override fun children(): Collection { - val kids = mutableListOf() - kids.addAll(items) - return kids.filterNotNull() - } - - public override fun accept(visitor: AstVisitor, ctx: C): R = - visitor.visitSelectProject(this, ctx) - - /** - * TODO docs, equals, hashcode - */ - public abstract class Item : AstNode() { - public override fun accept(visitor: AstVisitor, ctx: C): R = when (this) { - is All -> visitor.visitSelectProjectItemAll(this, ctx) - is Expression -> visitor.visitSelectProjectItemExpression(this, ctx) - else -> throw NotImplementedError() - } - - /** - * TODO docs, equals, hashcode - */ - public class All( - @JvmField - public var expr: Expr, - ) : Item() { - public override fun children(): Collection { - val kids = mutableListOf() - kids.add(expr) - return kids.filterNotNull() - } - - public override fun accept(visitor: AstVisitor, ctx: C): R = - visitor.visitSelectProjectItemAll(this, ctx) - } - - /** - * TODO docs, equals, hashcode - */ - public class Expression( - @JvmField - public var expr: Expr, - @JvmField - public var asAlias: Identifier.Symbol?, - ) : Item() { - public override fun children(): Collection { - val kids = mutableListOf() - kids.add(expr) - asAlias?.let { kids.add(it) } - return kids.filterNotNull() - } - - public override fun accept(visitor: AstVisitor, ctx: C): R = - visitor.visitSelectProjectItemExpression(this, ctx) - } - } - } - - /** - * TODO docs, equals, hashcode - */ - public class Pivot( - @JvmField - public var key: Expr, - @JvmField - public var `value`: Expr, - ) : Select() { - public override fun children(): Collection { - val kids = mutableListOf() - kids.add(key) - kids.add(value) - return kids.filterNotNull() - } - - public override fun accept(visitor: AstVisitor, ctx: C): R = - visitor.visitSelectPivot(this, ctx) - } - - /** - * TODO docs, equals, hashcode - */ - public class Value( - @JvmField - public var `constructor`: Expr, - @JvmField - public var setq: SetQuantifier?, - ) : Select() { - public override fun children(): Collection { - val kids = mutableListOf() - kids.add(constructor) - return kids.filterNotNull() - } - - public override fun accept(visitor: AstVisitor, ctx: C): R = - visitor.visitSelectValue(this, ctx) - } } diff --git a/partiql-ast/src/main/kotlin/org/partiql/ast/v1/SelectPivot.kt b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/SelectPivot.kt new file mode 100644 index 0000000000..e31da28e44 --- /dev/null +++ b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/SelectPivot.kt @@ -0,0 +1,23 @@ +package org.partiql.ast.v1 + +import org.partiql.ast.v1.expr.Expr + +/** + * TODO docs, equals, hashcode + */ +public class SelectPivot( + @JvmField + public var key: Expr, + @JvmField + public var `value`: Expr, +) : Select() { + public override fun children(): Collection { + val kids = mutableListOf() + kids.add(key) + kids.add(value) + return kids.filterNotNull() + } + + public override fun accept(visitor: AstVisitor, ctx: C): R = + visitor.visitSelectPivot(this, ctx) +} diff --git a/partiql-ast/src/main/kotlin/org/partiql/ast/v1/SelectProject.kt b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/SelectProject.kt new file mode 100644 index 0000000000..ea421bb7e7 --- /dev/null +++ b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/SelectProject.kt @@ -0,0 +1,20 @@ +package org.partiql.ast.v1 + +/** + * TODO docs, equals, hashcode + */ +public class SelectProject( + @JvmField + public var items: List, + @JvmField + public var setq: SetQuantifier?, +) : Select() { + public override fun children(): Collection { + val kids = mutableListOf() + kids.addAll(items) + return kids.filterNotNull() + } + + public override fun accept(visitor: AstVisitor, ctx: C): R = + visitor.visitSelectProject(this, ctx) +} diff --git a/partiql-ast/src/main/kotlin/org/partiql/ast/v1/SelectStar.kt b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/SelectStar.kt new file mode 100644 index 0000000000..1a5c489232 --- /dev/null +++ b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/SelectStar.kt @@ -0,0 +1,14 @@ +package org.partiql.ast.v1 + +/** + * TODO docs, equals, hashcode + */ +public class SelectStar( + @JvmField + public var setq: SetQuantifier?, +) : Select() { + public override fun children(): Collection = emptyList() + + public override fun accept(visitor: AstVisitor, ctx: C): R = + visitor.visitSelectStar(this, ctx) +} diff --git a/partiql-ast/src/main/kotlin/org/partiql/ast/v1/SelectValue.kt b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/SelectValue.kt new file mode 100644 index 0000000000..d1b94187a3 --- /dev/null +++ b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/SelectValue.kt @@ -0,0 +1,22 @@ +package org.partiql.ast.v1 + +import org.partiql.ast.v1.expr.Expr + +/** + * TODO docs, equals, hashcode + */ +public class SelectValue( + @JvmField + public var `constructor`: Expr, + @JvmField + public var setq: SetQuantifier?, +) : Select() { + public override fun children(): Collection { + val kids = mutableListOf() + kids.add(constructor) + return kids.filterNotNull() + } + + public override fun accept(visitor: AstVisitor, ctx: C): R = + visitor.visitSelectValue(this, ctx) +} diff --git a/partiql-ast/src/main/kotlin/org/partiql/ast/v1/Sort.kt b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/Sort.kt index a4320ee715..95fd3a6ca1 100644 --- a/partiql-ast/src/main/kotlin/org/partiql/ast/v1/Sort.kt +++ b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/Sort.kt @@ -1,5 +1,7 @@ package org.partiql.ast.v1 +import org.partiql.ast.v1.expr.Expr + /** * TODO docs, equals, hashcode */ diff --git a/partiql-ast/src/main/kotlin/org/partiql/ast/v1/Statement.kt b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/Statement.kt index 7203fb74f3..78572bffa5 100644 --- a/partiql-ast/src/main/kotlin/org/partiql/ast/v1/Statement.kt +++ b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/Statement.kt @@ -5,167 +5,9 @@ package org.partiql.ast.v1 */ public abstract class Statement : AstNode() { public override fun accept(visitor: AstVisitor, ctx: C): R = when (this) { - is Query -> visitor.visitStatementQuery(this, ctx) - is DDL -> visitor.visitStatementDDL(this, ctx) - is Explain -> visitor.visitStatementExplain(this, ctx) + is Query -> visitor.visitQuery(this, ctx) + is DDL -> visitor.visitDDL(this, ctx) + is Explain -> visitor.visitExplain(this, ctx) else -> throw NotImplementedError() } - - /** - * TODO docs, equals, hashcode - */ - public class Query( - @JvmField - public var expr: Expr, - ) : Statement() { - public override fun children(): Collection { - val kids = mutableListOf() - kids.add(expr) - return kids.filterNotNull() - } - - public override fun accept(visitor: AstVisitor, ctx: C): R = - visitor.visitStatementQuery(this, ctx) - } - - /** - * TODO docs, equals, hashcode - */ - public abstract class DDL : Statement() { - public override fun accept(visitor: AstVisitor, ctx: C): R = when (this) { - is CreateTable -> visitor.visitStatementDDLCreateTable(this, ctx) - is CreateIndex -> visitor.visitStatementDDLCreateIndex(this, ctx) - is DropTable -> visitor.visitStatementDDLDropTable(this, ctx) - is DropIndex -> visitor.visitStatementDDLDropIndex(this, ctx) - else -> throw NotImplementedError() - } - - /** - * TODO docs, equals, hashcode - */ - public class CreateTable( - @JvmField - public var name: Identifier, - @JvmField - public var definition: TableDefinition?, - ) : DDL() { - public override fun children(): Collection { - val kids = mutableListOf() - kids.add(name) - definition?.let { kids.add(it) } - return kids.filterNotNull() - } - - public override fun accept(visitor: AstVisitor, ctx: C): R = - visitor.visitStatementDDLCreateTable(this, ctx) - } - - /** - * TODO docs, equals, hashcode - */ - public class CreateIndex( - @JvmField - public var index: Identifier?, - @JvmField - public var table: Identifier, - @JvmField - public var fields: List, - ) : DDL() { - public override fun children(): Collection { - val kids = mutableListOf() - index?.let { kids.add(it) } - kids.add(table) - kids.addAll(fields) - return kids.filterNotNull() - } - - public override fun accept(visitor: AstVisitor, ctx: C): R = - visitor.visitStatementDDLCreateIndex(this, ctx) - } - - /** - * TODO docs, equals, hashcode - */ - public class DropTable( - @JvmField - public var table: Identifier, - ) : DDL() { - public override fun children(): Collection { - val kids = mutableListOf() - kids.add(table) - return kids.filterNotNull() - } - - public override fun accept(visitor: AstVisitor, ctx: C): R = - visitor.visitStatementDDLDropTable(this, ctx) - } - - /** - * TODO docs, equals, hashcode - */ - public class DropIndex( - @JvmField - public var index: Identifier, - @JvmField - public var table: Identifier, - ) : DDL() { - public override fun children(): Collection { - val kids = mutableListOf() - kids.add(index) - kids.add(table) - return kids.filterNotNull() - } - - public override fun accept(visitor: AstVisitor, ctx: C): R = - visitor.visitStatementDDLDropIndex(this, ctx) - } - } - - /** - * TODO docs, equals, hashcode - */ - public class Explain( - @JvmField - public var target: Target, - ) : Statement() { - public override fun children(): Collection { - val kids = mutableListOf() - kids.add(target) - return kids.filterNotNull() - } - - public override fun accept(visitor: AstVisitor, ctx: C): R = - visitor.visitStatementExplain(this, ctx) - - /** - * TODO docs, equals, hashcode - */ - public abstract class Target : AstNode() { - public override fun accept(visitor: AstVisitor, ctx: C): R = when (this) { - is Domain -> visitor.visitStatementExplainTargetDomain(this, ctx) - else -> throw NotImplementedError() - } - - /** - * TODO docs, equals, hashcode - */ - public class Domain( - @JvmField - public var statement: Statement, - @JvmField - public var type: String?, - @JvmField - public var format: String?, - ) : Target() { - public override fun children(): Collection { - val kids = mutableListOf() - kids.add(statement) - return kids.filterNotNull() - } - - public override fun accept(visitor: AstVisitor, ctx: C): R = - visitor.visitStatementExplainTargetDomain(this, ctx) - } - } - } } diff --git a/partiql-ast/src/main/kotlin/org/partiql/ast/v1/TableDefinition.kt b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/TableDefinition.kt index 0393a31d2a..cb7cd1b0cf 100644 --- a/partiql-ast/src/main/kotlin/org/partiql/ast/v1/TableDefinition.kt +++ b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/TableDefinition.kt @@ -15,94 +15,4 @@ public class TableDefinition( public override fun accept(visitor: AstVisitor, ctx: C): R = visitor.visitTableDefinition(this, ctx) - - /** - * TODO docs, equals, hashcode - */ - public class Column( - @JvmField - public var name: String, - @JvmField - public var type: Type, - @JvmField - public var constraints: List, - ) : AstNode() { - public override fun children(): Collection { - val kids = mutableListOf() - kids.add(type) - kids.addAll(constraints) - return kids.filterNotNull() - } - - public override fun accept(visitor: AstVisitor, ctx: C): R = - visitor.visitTableDefinitionColumn(this, ctx) - - /** - * TODO docs, equals, hashcode - */ - public class Constraint( - @JvmField - public var name: String?, - @JvmField - public var body: Body, - ) : AstNode() { - public override fun children(): Collection { - val kids = mutableListOf() - kids.add(body) - return kids.filterNotNull() - } - - public override fun accept(visitor: AstVisitor, ctx: C): R = - visitor.visitTableDefinitionColumnConstraint(this, ctx) - - /** - * TODO docs, equals, hashcode - */ - public abstract class Body : AstNode() { - public override fun accept(visitor: AstVisitor, ctx: C): R = when (this) { - is Nullable -> visitor.visitTableDefinitionColumnConstraintBodyNullable(this, ctx) - is NotNull -> visitor.visitTableDefinitionColumnConstraintBodyNotNull(this, ctx) - is Check -> visitor.visitTableDefinitionColumnConstraintBodyCheck(this, ctx) - else -> throw NotImplementedError() - } - - /** - * TODO docs, equals, hashcode - */ - public object Nullable : Body() { - public override fun children(): Collection = emptyList() - - public override fun accept(visitor: AstVisitor, ctx: C): R = - visitor.visitTableDefinitionColumnConstraintBodyNullable(this, ctx) - } - - /** - * TODO docs, equals, hashcode - */ - public object NotNull : Body() { - public override fun children(): Collection = emptyList() - - public override fun accept(visitor: AstVisitor, ctx: C): R = - visitor.visitTableDefinitionColumnConstraintBodyNotNull(this, ctx) - } - - /** - * TODO docs, equals, hashcode - */ - public class Check( - @JvmField - public var expr: Expr, - ) : Body() { - public override fun children(): Collection { - val kids = mutableListOf() - kids.add(expr) - return kids.filterNotNull() - } - - public override fun accept(visitor: AstVisitor, ctx: C): R = - visitor.visitTableDefinitionColumnConstraintBodyCheck(this, ctx) - } - } - } - } } diff --git a/partiql-ast/src/main/kotlin/org/partiql/ast/v1/Target.kt b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/Target.kt new file mode 100644 index 0000000000..56d8e9113c --- /dev/null +++ b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/Target.kt @@ -0,0 +1,32 @@ +package org.partiql.ast.v1 + +/** + * TODO docs, equals, hashcode + */ +public abstract class Target : AstNode() { + public override fun accept(visitor: AstVisitor, ctx: C): R = when (this) { + is Domain -> visitor.visitTargetDomain(this, ctx) + else -> throw NotImplementedError() + } + + /** + * TODO docs, equals, hashcode + */ + public class Domain( + @JvmField + public var statement: Statement, + @JvmField + public var type: String?, + @JvmField + public var format: String?, + ) : Target() { + public override fun children(): Collection { + val kids = mutableListOf() + kids.add(statement) + return kids.filterNotNull() + } + + public override fun accept(visitor: AstVisitor, ctx: C): R = + visitor.visitTargetDomain(this, ctx) + } +} diff --git a/partiql-ast/src/main/kotlin/org/partiql/ast/v1/Type.kt b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/Type.kt deleted file mode 100644 index a770497fb1..0000000000 --- a/partiql-ast/src/main/kotlin/org/partiql/ast/v1/Type.kt +++ /dev/null @@ -1,469 +0,0 @@ -package org.partiql.ast.v1 - -/** - * TODO docs, equals, hashcode - */ -public abstract class Type : AstNode() { - public override fun accept(visitor: AstVisitor, ctx: C): R = when (this) { - is Null -> visitor.visitTypeNull(this, ctx) - is Missing -> visitor.visitTypeMissing(this, ctx) - is Bool -> visitor.visitTypeBool(this, ctx) - is Tinyint -> visitor.visitTypeTinyint(this, ctx) - is Smallint -> visitor.visitTypeSmallint(this, ctx) - is Int2 -> visitor.visitTypeInt2(this, ctx) - is Int4 -> visitor.visitTypeInt4(this, ctx) - is Bigint -> visitor.visitTypeBigint(this, ctx) - is Int8 -> visitor.visitTypeInt8(this, ctx) - is Int -> visitor.visitTypeInt(this, ctx) - is Real -> visitor.visitTypeReal(this, ctx) - is Float32 -> visitor.visitTypeFloat32(this, ctx) - is Float64 -> visitor.visitTypeFloat64(this, ctx) - is Decimal -> visitor.visitTypeDecimal(this, ctx) - is Numeric -> visitor.visitTypeNumeric(this, ctx) - is Char -> visitor.visitTypeChar(this, ctx) - is Varchar -> visitor.visitTypeVarchar(this, ctx) - is String -> visitor.visitTypeString(this, ctx) - is Symbol -> visitor.visitTypeSymbol(this, ctx) - is Bit -> visitor.visitTypeBit(this, ctx) - is BitVarying -> visitor.visitTypeBitVarying(this, ctx) - is ByteString -> visitor.visitTypeByteString(this, ctx) - is Blob -> visitor.visitTypeBlob(this, ctx) - is Clob -> visitor.visitTypeClob(this, ctx) - is Date -> visitor.visitTypeDate(this, ctx) - is Time -> visitor.visitTypeTime(this, ctx) - is TimeWithTz -> visitor.visitTypeTimeWithTz(this, ctx) - is Timestamp -> visitor.visitTypeTimestamp(this, ctx) - is TimestampWithTz -> visitor.visitTypeTimestampWithTz(this, ctx) - is Interval -> visitor.visitTypeInterval(this, ctx) - is Bag -> visitor.visitTypeBag(this, ctx) - is List -> visitor.visitTypeList(this, ctx) - is Sexp -> visitor.visitTypeSexp(this, ctx) - is Tuple -> visitor.visitTypeTuple(this, ctx) - is Struct -> visitor.visitTypeStruct(this, ctx) - is Any -> visitor.visitTypeAny(this, ctx) - is Custom -> visitor.visitTypeCustom(this, ctx) - else -> throw NotImplementedError() - } - - /** - * TODO docs, equals, hashcode - */ - public object Null : Type() { - public override fun children(): Collection = emptyList() - - public override fun accept(visitor: AstVisitor, ctx: C): R = - visitor.visitTypeNull(this, ctx) - } - - /** - * TODO docs, equals, hashcode - */ - public object Missing : Type() { - public override fun children(): Collection = emptyList() - - public override fun accept(visitor: AstVisitor, ctx: C): R = - visitor.visitTypeMissing(this, ctx) - } - - /** - * TODO docs, equals, hashcode - */ - public object Bool : Type() { - public override fun children(): Collection = emptyList() - - public override fun accept(visitor: AstVisitor, ctx: C): R = - visitor.visitTypeBool(this, ctx) - } - - /** - * TODO docs, equals, hashcode - */ - public object Tinyint : Type() { - public override fun children(): Collection = emptyList() - - public override fun accept(visitor: AstVisitor, ctx: C): R = - visitor.visitTypeTinyint(this, ctx) - } - - /** - * TODO docs, equals, hashcode - */ - public object Smallint : Type() { - public override fun children(): Collection = emptyList() - - public override fun accept(visitor: AstVisitor, ctx: C): R = - visitor.visitTypeSmallint(this, ctx) - } - - /** - * TODO docs, equals, hashcode - */ - public object Int2 : Type() { - public override fun children(): Collection = emptyList() - - public override fun accept(visitor: AstVisitor, ctx: C): R = - visitor.visitTypeInt2(this, ctx) - } - - /** - * TODO docs, equals, hashcode - */ - public object Int4 : Type() { - public override fun children(): Collection = emptyList() - - public override fun accept(visitor: AstVisitor, ctx: C): R = - visitor.visitTypeInt4(this, ctx) - } - - /** - * TODO docs, equals, hashcode - */ - public object Bigint : Type() { - public override fun children(): Collection = emptyList() - - public override fun accept(visitor: AstVisitor, ctx: C): R = - visitor.visitTypeBigint(this, ctx) - } - - /** - * TODO docs, equals, hashcode - */ - public object Int8 : Type() { - public override fun children(): Collection = emptyList() - - public override fun accept(visitor: AstVisitor, ctx: C): R = - visitor.visitTypeInt8(this, ctx) - } - - /** - * TODO docs, equals, hashcode - */ - public object Int : Type() { - public override fun children(): Collection = emptyList() - - public override fun accept(visitor: AstVisitor, ctx: C): R = - visitor.visitTypeInt(this, ctx) - } - - /** - * TODO docs, equals, hashcode - */ - public object Real : Type() { - public override fun children(): Collection = emptyList() - - public override fun accept(visitor: AstVisitor, ctx: C): R = - visitor.visitTypeReal(this, ctx) - } - - /** - * TODO docs, equals, hashcode - */ - public object Float32 : Type() { - public override fun children(): Collection = emptyList() - - public override fun accept(visitor: AstVisitor, ctx: C): R = - visitor.visitTypeFloat32(this, ctx) - } - - /** - * TODO docs, equals, hashcode - */ - public object Float64 : Type() { - public override fun children(): Collection = emptyList() - - public override fun accept(visitor: AstVisitor, ctx: C): R = - visitor.visitTypeFloat64(this, ctx) - } - - /** - * TODO docs, equals, hashcode - */ - public class Decimal( - @JvmField - public var precision: kotlin.Int?, - @JvmField - public var scale: kotlin.Int?, - ) : Type() { - public override fun children(): Collection = emptyList() - - public override fun accept(visitor: AstVisitor, ctx: C): R = - visitor.visitTypeDecimal(this, ctx) - } - - /** - * TODO docs, equals, hashcode - */ - public class Numeric( - @JvmField - public var precision: kotlin.Int?, - @JvmField - public var scale: kotlin.Int?, - ) : Type() { - public override fun children(): Collection = emptyList() - - public override fun accept(visitor: AstVisitor, ctx: C): R = - visitor.visitTypeNumeric(this, ctx) - } - - /** - * TODO docs, equals, hashcode - */ - public class Char( - @JvmField - public var length: kotlin.Int?, - ) : Type() { - public override fun children(): Collection = emptyList() - - public override fun accept(visitor: AstVisitor, ctx: C): R = - visitor.visitTypeChar(this, ctx) - } - - /** - * TODO docs, equals, hashcode - */ - public class Varchar( - @JvmField - public var length: kotlin.Int?, - ) : Type() { - public override fun children(): Collection = emptyList() - - public override fun accept(visitor: AstVisitor, ctx: C): R = - visitor.visitTypeVarchar(this, ctx) - } - - /** - * TODO docs, equals, hashcode - */ - public class String( - @JvmField - public var length: kotlin.Int?, - ) : Type() { - public override fun children(): Collection = emptyList() - - public override fun accept(visitor: AstVisitor, ctx: C): R = - visitor.visitTypeString(this, ctx) - } - - /** - * TODO docs, equals, hashcode - */ - public object Symbol : Type() { - public override fun children(): Collection = emptyList() - - public override fun accept(visitor: AstVisitor, ctx: C): R = - visitor.visitTypeSymbol(this, ctx) - } - - /** - * TODO docs, equals, hashcode - */ - public class Bit( - @JvmField - public var length: kotlin.Int?, - ) : Type() { - public override fun children(): Collection = emptyList() - - public override fun accept(visitor: AstVisitor, ctx: C): R = - visitor.visitTypeBit(this, ctx) - } - - /** - * TODO docs, equals, hashcode - */ - public class BitVarying( - @JvmField - public var length: kotlin.Int?, - ) : Type() { - public override fun children(): Collection = emptyList() - - public override fun accept(visitor: AstVisitor, ctx: C): R = - visitor.visitTypeBitVarying(this, ctx) - } - - /** - * TODO docs, equals, hashcode - */ - public class ByteString( - @JvmField - public var length: kotlin.Int?, - ) : Type() { - public override fun children(): Collection = emptyList() - - public override fun accept(visitor: AstVisitor, ctx: C): R = - visitor.visitTypeByteString(this, ctx) - } - - /** - * TODO docs, equals, hashcode - */ - public class Blob( - @JvmField - public var length: kotlin.Int?, - ) : Type() { - public override fun children(): Collection = emptyList() - - public override fun accept(visitor: AstVisitor, ctx: C): R = - visitor.visitTypeBlob(this, ctx) - } - - /** - * TODO docs, equals, hashcode - */ - public class Clob( - @JvmField - public var length: kotlin.Int?, - ) : Type() { - public override fun children(): Collection = emptyList() - - public override fun accept(visitor: AstVisitor, ctx: C): R = - visitor.visitTypeClob(this, ctx) - } - - /** - * TODO docs, equals, hashcode - */ - public object Date : Type() { - public override fun children(): Collection = emptyList() - - public override fun accept(visitor: AstVisitor, ctx: C): R = - visitor.visitTypeDate(this, ctx) - } - - /** - * TODO docs, equals, hashcode - */ - public class Time( - @JvmField - public var precision: kotlin.Int?, - ) : Type() { - public override fun children(): Collection = emptyList() - - public override fun accept(visitor: AstVisitor, ctx: C): R = - visitor.visitTypeTime(this, ctx) - } - - /** - * TODO docs, equals, hashcode - */ - public class TimeWithTz( - @JvmField - public var precision: kotlin.Int?, - ) : Type() { - public override fun children(): Collection = emptyList() - - public override fun accept(visitor: AstVisitor, ctx: C): R = - visitor.visitTypeTimeWithTz(this, ctx) - } - - /** - * TODO docs, equals, hashcode - */ - public class Timestamp( - @JvmField - public var precision: kotlin.Int?, - ) : Type() { - public override fun children(): Collection = emptyList() - - public override fun accept(visitor: AstVisitor, ctx: C): R = - visitor.visitTypeTimestamp(this, ctx) - } - - /** - * TODO docs, equals, hashcode - */ - public class TimestampWithTz( - @JvmField - public var precision: kotlin.Int?, - ) : Type() { - public override fun children(): Collection = emptyList() - - public override fun accept(visitor: AstVisitor, ctx: C): R = - visitor.visitTypeTimestampWithTz(this, ctx) - } - - /** - * TODO docs, equals, hashcode - */ - public class Interval( - @JvmField - public var precision: kotlin.Int?, - ) : Type() { - public override fun children(): Collection = emptyList() - - public override fun accept(visitor: AstVisitor, ctx: C): R = - visitor.visitTypeInterval(this, ctx) - } - - /** - * TODO docs, equals, hashcode - */ - public object Bag : Type() { - public override fun children(): Collection = emptyList() - - public override fun accept(visitor: AstVisitor, ctx: C): R = - visitor.visitTypeBag(this, ctx) - } - - /** - * TODO docs, equals, hashcode - */ - public object List : Type() { - public override fun children(): Collection = emptyList() - - public override fun accept(visitor: AstVisitor, ctx: C): R = - visitor.visitTypeList(this, ctx) - } - - /** - * TODO docs, equals, hashcode - */ - public object Sexp : Type() { - public override fun children(): Collection = emptyList() - - public override fun accept(visitor: AstVisitor, ctx: C): R = - visitor.visitTypeSexp(this, ctx) - } - - /** - * TODO docs, equals, hashcode - */ - public object Tuple : Type() { - public override fun children(): Collection = emptyList() - - public override fun accept(visitor: AstVisitor, ctx: C): R = - visitor.visitTypeTuple(this, ctx) - } - - /** - * TODO docs, equals, hashcode - */ - public object Struct : Type() { - public override fun children(): Collection = emptyList() - - public override fun accept(visitor: AstVisitor, ctx: C): R = - visitor.visitTypeStruct(this, ctx) - } - - /** - * TODO docs, equals, hashcode - */ - public object Any : Type() { - public override fun children(): Collection = emptyList() - - public override fun accept(visitor: AstVisitor, ctx: C): R = - visitor.visitTypeAny(this, ctx) - } - - /** - * TODO docs, equals, hashcode - */ - public class Custom( - @JvmField - public var name: kotlin.String, - ) : Type() { - public override fun children(): Collection = emptyList() - - public override fun accept(visitor: AstVisitor, ctx: C): R = - visitor.visitTypeCustom(this, ctx) - } -} diff --git a/partiql-ast/src/main/kotlin/org/partiql/ast/v1/expr/Expr.kt b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/expr/Expr.kt new file mode 100644 index 0000000000..a2d0546772 --- /dev/null +++ b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/expr/Expr.kt @@ -0,0 +1,45 @@ +package org.partiql.ast.v1.expr + +import org.partiql.ast.v1.AstNode +import org.partiql.ast.v1.AstVisitor + +/** + * TODO docs, equals, hashcode + */ +public abstract class Expr : AstNode() { + public override fun accept(visitor: AstVisitor, ctx: C): R = when (this) { + is ExprLit -> visitor.visitExprLit(this, ctx) + is ExprIon -> visitor.visitExprIon(this, ctx) + is ExprVar -> visitor.visitExprVar(this, ctx) + is ExprSessionAttribute -> visitor.visitExprSessionAttribute(this, ctx) + is ExprPath -> visitor.visitExprPath(this, ctx) + is ExprCall -> visitor.visitExprCall(this, ctx) + is ExprParameter -> visitor.visitExprParameter(this, ctx) + is ExprOperator -> visitor.visitExprOperator(this, ctx) + is ExprNot -> visitor.visitExprNot(this, ctx) + is ExprAnd -> visitor.visitExprAnd(this, ctx) + is ExprOr -> visitor.visitExprOr(this, ctx) + is ExprValues -> visitor.visitExprValues(this, ctx) + is ExprCollection -> visitor.visitExprCollection(this, ctx) + is ExprStruct -> visitor.visitExprStruct(this, ctx) + is ExprLike -> visitor.visitExprLike(this, ctx) + is ExprBetween -> visitor.visitExprBetween(this, ctx) + is ExprInCollection -> visitor.visitExprInCollection(this, ctx) + is ExprIsType -> visitor.visitExprIsType(this, ctx) + is ExprCase -> visitor.visitExprCase(this, ctx) + is ExprCoalesce -> visitor.visitExprCoalesce(this, ctx) + is ExprNullIf -> visitor.visitExprNullIf(this, ctx) + is ExprSubstring -> visitor.visitExprSubstring(this, ctx) + is ExprPosition -> visitor.visitExprPosition(this, ctx) + is ExprTrim -> visitor.visitExprTrim(this, ctx) + is ExprOverlay -> visitor.visitExprOverlay(this, ctx) + is ExprExtract -> visitor.visitExprExtract(this, ctx) + is ExprCast -> visitor.visitExprCast(this, ctx) + is ExprDateAdd -> visitor.visitExprDateAdd(this, ctx) + is ExprDateDiff -> visitor.visitExprDateDiff(this, ctx) + is ExprQuerySet -> visitor.visitExprQuerySet(this, ctx) + is ExprMatch -> visitor.visitExprMatch(this, ctx) + is ExprWindow -> visitor.visitExprWindow(this, ctx) + else -> throw NotImplementedError() + } +} diff --git a/partiql-ast/src/main/kotlin/org/partiql/ast/v1/expr/ExprAnd.kt b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/expr/ExprAnd.kt new file mode 100644 index 0000000000..b1907ebe72 --- /dev/null +++ b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/expr/ExprAnd.kt @@ -0,0 +1,24 @@ +package org.partiql.ast.v1.expr + +import org.partiql.ast.v1.AstNode +import org.partiql.ast.v1.AstVisitor + +/** + * TODO docs, equals, hashcode + */ +public class ExprAnd( + @JvmField + public var lhs: Expr, + @JvmField + public var rhs: Expr, +) : Expr() { + public override fun children(): Collection { + val kids = mutableListOf() + kids.add(lhs) + kids.add(rhs) + return kids.filterNotNull() + } + + public override fun accept(visitor: AstVisitor, ctx: C): R = + visitor.visitExprAnd(this, ctx) +} diff --git a/partiql-ast/src/main/kotlin/org/partiql/ast/v1/expr/ExprBetween.kt b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/expr/ExprBetween.kt new file mode 100644 index 0000000000..7a938b6ccc --- /dev/null +++ b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/expr/ExprBetween.kt @@ -0,0 +1,29 @@ +package org.partiql.ast.v1.expr + +import org.partiql.ast.v1.AstNode +import org.partiql.ast.v1.AstVisitor + +/** + * TODO docs, equals, hashcode + */ +public class ExprBetween( + @JvmField + public var `value`: Expr, + @JvmField + public var from: Expr, + @JvmField + public var to: Expr, + @JvmField + public var not: Boolean?, +) : Expr() { + public override fun children(): Collection { + val kids = mutableListOf() + kids.add(value) + kids.add(from) + kids.add(to) + return kids.filterNotNull() + } + + public override fun accept(visitor: AstVisitor, ctx: C): R = + visitor.visitExprBetween(this, ctx) +} diff --git a/partiql-ast/src/main/kotlin/org/partiql/ast/v1/expr/ExprCall.kt b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/expr/ExprCall.kt new file mode 100644 index 0000000000..7a77fcbf5e --- /dev/null +++ b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/expr/ExprCall.kt @@ -0,0 +1,28 @@ +package org.partiql.ast.v1.expr + +import org.partiql.ast.v1.AstNode +import org.partiql.ast.v1.AstVisitor +import org.partiql.ast.v1.Identifier +import org.partiql.ast.v1.SetQuantifier + +/** + * TODO docs, equals, hashcode + */ +public class ExprCall( + @JvmField + public var function: Identifier, + @JvmField + public var args: List, + @JvmField + public var setq: SetQuantifier?, +) : Expr() { + public override fun children(): Collection { + val kids = mutableListOf() + kids.add(function) + kids.addAll(args) + return kids.filterNotNull() + } + + public override fun accept(visitor: AstVisitor, ctx: C): R = + visitor.visitExprCall(this, ctx) +} diff --git a/partiql-ast/src/main/kotlin/org/partiql/ast/v1/expr/ExprCase.kt b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/expr/ExprCase.kt new file mode 100644 index 0000000000..282405de67 --- /dev/null +++ b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/expr/ExprCase.kt @@ -0,0 +1,47 @@ +package org.partiql.ast.v1.expr + +import org.partiql.ast.v1.AstNode +import org.partiql.ast.v1.AstVisitor + +/** + * TODO docs, equals, hashcode + */ +public class ExprCase( + @JvmField + public var expr: Expr?, + @JvmField + public var branches: List, + @JvmField + public var default: Expr?, +) : Expr() { + public override fun children(): Collection { + val kids = mutableListOf() + expr?.let { kids.add(it) } + kids.addAll(branches) + default?.let { kids.add(it) } + return kids.filterNotNull() + } + + public override fun accept(visitor: AstVisitor, ctx: C): R = + visitor.visitExprCase(this, ctx) + + /** + * TODO docs, equals, hashcode + */ + public class Branch( + @JvmField + public var condition: Expr, + @JvmField + public var expr: Expr, + ) : AstNode() { + public override fun children(): Collection { + val kids = mutableListOf() + kids.add(condition) + kids.add(expr) + return kids.filterNotNull() + } + + public override fun accept(visitor: AstVisitor, ctx: C): R = + visitor.visitExprCaseBranch(this, ctx) + } +} diff --git a/partiql-ast/src/main/kotlin/org/partiql/ast/v1/expr/ExprCast.kt b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/expr/ExprCast.kt new file mode 100644 index 0000000000..20e1f7941a --- /dev/null +++ b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/expr/ExprCast.kt @@ -0,0 +1,25 @@ +package org.partiql.ast.v1.expr + +import org.partiql.ast.v1.AstNode +import org.partiql.ast.v1.AstVisitor +import org.partiql.ast.v1.type.Type + +/** + * TODO docs, equals, hashcode + */ +public class ExprCast( + @JvmField + public var `value`: Expr, + @JvmField + public var asType: Type, +) : Expr() { + public override fun children(): Collection { + val kids = mutableListOf() + kids.add(value) + kids.add(asType) + return kids.filterNotNull() + } + + public override fun accept(visitor: AstVisitor, ctx: C): R = + visitor.visitExprCast(this, ctx) +} diff --git a/partiql-ast/src/main/kotlin/org/partiql/ast/v1/expr/ExprCoalesce.kt b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/expr/ExprCoalesce.kt new file mode 100644 index 0000000000..d73e6f5055 --- /dev/null +++ b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/expr/ExprCoalesce.kt @@ -0,0 +1,21 @@ +package org.partiql.ast.v1.expr + +import org.partiql.ast.v1.AstNode +import org.partiql.ast.v1.AstVisitor + +/** + * TODO docs, equals, hashcode + */ +public class ExprCoalesce( + @JvmField + public var args: List, +) : Expr() { + public override fun children(): Collection { + val kids = mutableListOf() + kids.addAll(args) + return kids.filterNotNull() + } + + public override fun accept(visitor: AstVisitor, ctx: C): R = + visitor.visitExprCoalesce(this, ctx) +} diff --git a/partiql-ast/src/main/kotlin/org/partiql/ast/v1/expr/ExprCollection.kt b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/expr/ExprCollection.kt new file mode 100644 index 0000000000..2d34b26e9d --- /dev/null +++ b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/expr/ExprCollection.kt @@ -0,0 +1,35 @@ +package org.partiql.ast.v1.expr + +import org.partiql.ast.v1.AstNode +import org.partiql.ast.v1.AstVisitor + +/** + * TODO docs, equals, hashcode + */ +public class ExprCollection( + @JvmField + public var type: Type, + @JvmField + public var values: List, +) : Expr() { + public override fun children(): Collection { + val kids = mutableListOf() + kids.addAll(values) + return kids.filterNotNull() + } + + public override fun accept(visitor: AstVisitor, ctx: C): R = + visitor.visitExprCollection(this, ctx) + + /** + * TODO docs, equals, hashcode + */ + public enum class Type { + BAG, + ARRAY, + VALUES, + LIST, + SEXP, + OTHER, + } +} diff --git a/partiql-ast/src/main/kotlin/org/partiql/ast/v1/expr/ExprDateAdd.kt b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/expr/ExprDateAdd.kt new file mode 100644 index 0000000000..9693633659 --- /dev/null +++ b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/expr/ExprDateAdd.kt @@ -0,0 +1,27 @@ +package org.partiql.ast.v1.expr + +import org.partiql.ast.v1.AstNode +import org.partiql.ast.v1.AstVisitor +import org.partiql.ast.v1.DatetimeField + +/** + * TODO docs, equals, hashcode + */ +public class ExprDateAdd( + @JvmField + public var `field`: DatetimeField, + @JvmField + public var lhs: Expr, + @JvmField + public var rhs: Expr, +) : Expr() { + public override fun children(): Collection { + val kids = mutableListOf() + kids.add(lhs) + kids.add(rhs) + return kids.filterNotNull() + } + + public override fun accept(visitor: AstVisitor, ctx: C): R = + visitor.visitExprDateAdd(this, ctx) +} diff --git a/partiql-ast/src/main/kotlin/org/partiql/ast/v1/expr/ExprDateDiff.kt b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/expr/ExprDateDiff.kt new file mode 100644 index 0000000000..6f68b4004e --- /dev/null +++ b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/expr/ExprDateDiff.kt @@ -0,0 +1,27 @@ +package org.partiql.ast.v1.expr + +import org.partiql.ast.v1.AstNode +import org.partiql.ast.v1.AstVisitor +import org.partiql.ast.v1.DatetimeField + +/** + * TODO docs, equals, hashcode + */ +public class ExprDateDiff( + @JvmField + public var `field`: DatetimeField, + @JvmField + public var lhs: Expr, + @JvmField + public var rhs: Expr, +) : Expr() { + public override fun children(): Collection { + val kids = mutableListOf() + kids.add(lhs) + kids.add(rhs) + return kids.filterNotNull() + } + + public override fun accept(visitor: AstVisitor, ctx: C): R = + visitor.visitExprDateDiff(this, ctx) +} diff --git a/partiql-ast/src/main/kotlin/org/partiql/ast/v1/expr/ExprExtract.kt b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/expr/ExprExtract.kt new file mode 100644 index 0000000000..c64f9ded1b --- /dev/null +++ b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/expr/ExprExtract.kt @@ -0,0 +1,24 @@ +package org.partiql.ast.v1.expr + +import org.partiql.ast.v1.AstNode +import org.partiql.ast.v1.AstVisitor +import org.partiql.ast.v1.DatetimeField + +/** + * TODO docs, equals, hashcode + */ +public class ExprExtract( + @JvmField + public var `field`: DatetimeField, + @JvmField + public var source: Expr, +) : Expr() { + public override fun children(): Collection { + val kids = mutableListOf() + kids.add(source) + return kids.filterNotNull() + } + + public override fun accept(visitor: AstVisitor, ctx: C): R = + visitor.visitExprExtract(this, ctx) +} diff --git a/partiql-ast/src/main/kotlin/org/partiql/ast/v1/expr/ExprInCollection.kt b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/expr/ExprInCollection.kt new file mode 100644 index 0000000000..a8f38a6d72 --- /dev/null +++ b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/expr/ExprInCollection.kt @@ -0,0 +1,26 @@ +package org.partiql.ast.v1.expr + +import org.partiql.ast.v1.AstNode +import org.partiql.ast.v1.AstVisitor + +/** + * TODO docs, equals, hashcode + */ +public class ExprInCollection( + @JvmField + public var lhs: Expr, + @JvmField + public var rhs: Expr, + @JvmField + public var not: Boolean?, +) : Expr() { + public override fun children(): Collection { + val kids = mutableListOf() + kids.add(lhs) + kids.add(rhs) + return kids.filterNotNull() + } + + public override fun accept(visitor: AstVisitor, ctx: C): R = + visitor.visitExprInCollection(this, ctx) +} diff --git a/partiql-ast/src/main/kotlin/org/partiql/ast/v1/expr/ExprIon.kt b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/expr/ExprIon.kt new file mode 100644 index 0000000000..ca6d1cb36b --- /dev/null +++ b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/expr/ExprIon.kt @@ -0,0 +1,17 @@ +package org.partiql.ast.v1.expr + +import com.amazon.ionelement.api.IonElement +import org.partiql.ast.v1.AstVisitor + +/** + * TODO docs, equals, hashcode + */ +public class ExprIon( + @JvmField + public var `value`: IonElement, +) : Expr() { + public override fun children(): List = emptyList() + + public override fun accept(visitor: AstVisitor, ctx: C): R = + visitor.visitExprIon(this, ctx) +} diff --git a/partiql-ast/src/main/kotlin/org/partiql/ast/v1/expr/ExprIsType.kt b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/expr/ExprIsType.kt new file mode 100644 index 0000000000..2d4a2aa70c --- /dev/null +++ b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/expr/ExprIsType.kt @@ -0,0 +1,27 @@ +package org.partiql.ast.v1.expr + +import org.partiql.ast.v1.AstNode +import org.partiql.ast.v1.AstVisitor +import org.partiql.ast.v1.type.Type + +/** + * TODO docs, equals, hashcode + */ +public class ExprIsType( + @JvmField + public var `value`: Expr, + @JvmField + public var type: Type, + @JvmField + public var not: Boolean?, +) : Expr() { + public override fun children(): Collection { + val kids = mutableListOf() + kids.add(value) + kids.add(type) + return kids.filterNotNull() + } + + public override fun accept(visitor: AstVisitor, ctx: C): R = + visitor.visitExprIsType(this, ctx) +} diff --git a/partiql-ast/src/main/kotlin/org/partiql/ast/v1/expr/ExprLike.kt b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/expr/ExprLike.kt new file mode 100644 index 0000000000..987e911f51 --- /dev/null +++ b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/expr/ExprLike.kt @@ -0,0 +1,29 @@ +package org.partiql.ast.v1.expr + +import org.partiql.ast.v1.AstNode +import org.partiql.ast.v1.AstVisitor + +/** + * TODO docs, equals, hashcode + */ +public class ExprLike( + @JvmField + public var `value`: Expr, + @JvmField + public var pattern: Expr, + @JvmField + public var escape: Expr?, + @JvmField + public var not: Boolean?, +) : Expr() { + public override fun children(): Collection { + val kids = mutableListOf() + kids.add(value) + kids.add(pattern) + escape?.let { kids.add(it) } + return kids.filterNotNull() + } + + public override fun accept(visitor: AstVisitor, ctx: C): R = + visitor.visitExprLike(this, ctx) +} diff --git a/partiql-ast/src/main/kotlin/org/partiql/ast/v1/expr/ExprLit.kt b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/expr/ExprLit.kt new file mode 100644 index 0000000000..d1b560e6b5 --- /dev/null +++ b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/expr/ExprLit.kt @@ -0,0 +1,20 @@ +package org.partiql.ast.v1.expr + +import org.partiql.ast.v1.AstNode +import org.partiql.ast.v1.AstVisitor +import org.partiql.value.PartiQLValue +import org.partiql.value.PartiQLValueExperimental + +@OptIn(PartiQLValueExperimental::class) +/** + * TODO docs, equals, hashcode + */ +public class ExprLit( + @JvmField + public var `value`: PartiQLValue, +) : Expr() { + public override fun children(): Collection = emptyList() + + public override fun accept(visitor: AstVisitor, ctx: C): R = + visitor.visitExprLit(this, ctx) +} diff --git a/partiql-ast/src/main/kotlin/org/partiql/ast/v1/expr/ExprMatch.kt b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/expr/ExprMatch.kt new file mode 100644 index 0000000000..2c73c1e40c --- /dev/null +++ b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/expr/ExprMatch.kt @@ -0,0 +1,25 @@ +package org.partiql.ast.v1.expr + +import org.partiql.ast.v1.AstNode +import org.partiql.ast.v1.AstVisitor +import org.partiql.ast.v1.graph.GraphMatch + +/** + * TODO docs, equals, hashcode + */ +public class ExprMatch( + @JvmField + public var expr: Expr, + @JvmField + public var pattern: GraphMatch, +) : Expr() { + public override fun children(): Collection { + val kids = mutableListOf() + kids.add(expr) + kids.add(pattern) + return kids.filterNotNull() + } + + public override fun accept(visitor: AstVisitor, ctx: C): R = + visitor.visitExprMatch(this, ctx) +} diff --git a/partiql-ast/src/main/kotlin/org/partiql/ast/v1/expr/ExprNot.kt b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/expr/ExprNot.kt new file mode 100644 index 0000000000..9edc25c302 --- /dev/null +++ b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/expr/ExprNot.kt @@ -0,0 +1,21 @@ +package org.partiql.ast.v1.expr + +import org.partiql.ast.v1.AstNode +import org.partiql.ast.v1.AstVisitor + +/** + * TODO docs, equals, hashcode + */ +public class ExprNot( + @JvmField + public var `value`: Expr, +) : Expr() { + public override fun children(): Collection { + val kids = mutableListOf() + kids.add(value) + return kids.filterNotNull() + } + + public override fun accept(visitor: AstVisitor, ctx: C): R = + visitor.visitExprNot(this, ctx) +} diff --git a/partiql-ast/src/main/kotlin/org/partiql/ast/v1/expr/ExprNullIf.kt b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/expr/ExprNullIf.kt new file mode 100644 index 0000000000..a76df35bb0 --- /dev/null +++ b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/expr/ExprNullIf.kt @@ -0,0 +1,24 @@ +package org.partiql.ast.v1.expr + +import org.partiql.ast.v1.AstNode +import org.partiql.ast.v1.AstVisitor + +/** + * TODO docs, equals, hashcode + */ +public class ExprNullIf( + @JvmField + public var `value`: Expr, + @JvmField + public var nullifier: Expr, +) : Expr() { + public override fun children(): Collection { + val kids = mutableListOf() + kids.add(value) + kids.add(nullifier) + return kids.filterNotNull() + } + + public override fun accept(visitor: AstVisitor, ctx: C): R = + visitor.visitExprNullIf(this, ctx) +} diff --git a/partiql-ast/src/main/kotlin/org/partiql/ast/v1/expr/ExprOperator.kt b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/expr/ExprOperator.kt new file mode 100644 index 0000000000..cac1ffb7df --- /dev/null +++ b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/expr/ExprOperator.kt @@ -0,0 +1,26 @@ +package org.partiql.ast.v1.expr + +import org.partiql.ast.v1.AstNode +import org.partiql.ast.v1.AstVisitor + +/** + * TODO docs, equals, hashcode + */ +public class ExprOperator( + @JvmField + public var symbol: String, + @JvmField + public var lhs: Expr?, + @JvmField + public var rhs: Expr, +) : Expr() { + public override fun children(): Collection { + val kids = mutableListOf() + lhs?.let { kids.add(it) } + kids.add(rhs) + return kids.filterNotNull() + } + + public override fun accept(visitor: AstVisitor, ctx: C): R = + visitor.visitExprOperator(this, ctx) +} diff --git a/partiql-ast/src/main/kotlin/org/partiql/ast/v1/expr/ExprOr.kt b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/expr/ExprOr.kt new file mode 100644 index 0000000000..d7486e0c7c --- /dev/null +++ b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/expr/ExprOr.kt @@ -0,0 +1,24 @@ +package org.partiql.ast.v1.expr + +import org.partiql.ast.v1.AstNode +import org.partiql.ast.v1.AstVisitor + +/** + * TODO docs, equals, hashcode + */ +public class ExprOr( + @JvmField + public var lhs: Expr, + @JvmField + public var rhs: Expr, +) : Expr() { + public override fun children(): Collection { + val kids = mutableListOf() + kids.add(lhs) + kids.add(rhs) + return kids.filterNotNull() + } + + public override fun accept(visitor: AstVisitor, ctx: C): R = + visitor.visitExprOr(this, ctx) +} diff --git a/partiql-ast/src/main/kotlin/org/partiql/ast/v1/expr/ExprOverlay.kt b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/expr/ExprOverlay.kt new file mode 100644 index 0000000000..5b8b9be5d6 --- /dev/null +++ b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/expr/ExprOverlay.kt @@ -0,0 +1,30 @@ +package org.partiql.ast.v1.expr + +import org.partiql.ast.v1.AstNode +import org.partiql.ast.v1.AstVisitor + +/** + * TODO docs, equals, hashcode + */ +public class ExprOverlay( + @JvmField + public var `value`: Expr, + @JvmField + public var overlay: Expr, + @JvmField + public var start: Expr, + @JvmField + public var length: Expr?, +) : Expr() { + public override fun children(): Collection { + val kids = mutableListOf() + kids.add(value) + kids.add(overlay) + kids.add(start) + length?.let { kids.add(it) } + return kids.filterNotNull() + } + + public override fun accept(visitor: AstVisitor, ctx: C): R = + visitor.visitExprOverlay(this, ctx) +} diff --git a/partiql-ast/src/main/kotlin/org/partiql/ast/v1/expr/ExprParameter.kt b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/expr/ExprParameter.kt new file mode 100644 index 0000000000..4493e3353a --- /dev/null +++ b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/expr/ExprParameter.kt @@ -0,0 +1,17 @@ +package org.partiql.ast.v1.expr + +import org.partiql.ast.v1.AstNode +import org.partiql.ast.v1.AstVisitor + +/** + * TODO docs, equals, hashcode + */ +public class ExprParameter( + @JvmField + public var index: Int, +) : Expr() { + public override fun children(): Collection = emptyList() + + public override fun accept(visitor: AstVisitor, ctx: C): R = + visitor.visitExprParameter(this, ctx) +} diff --git a/partiql-ast/src/main/kotlin/org/partiql/ast/v1/expr/ExprPath.kt b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/expr/ExprPath.kt new file mode 100644 index 0000000000..7456f34739 --- /dev/null +++ b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/expr/ExprPath.kt @@ -0,0 +1,24 @@ +package org.partiql.ast.v1.expr + +import org.partiql.ast.v1.AstNode +import org.partiql.ast.v1.AstVisitor + +/** + * TODO docs, equals, hashcode + */ +public class ExprPath( + @JvmField + public var root: Expr, + @JvmField + public var steps: List, +) : Expr() { + public override fun children(): Collection { + val kids = mutableListOf() + kids.add(root) + kids.addAll(steps) + return kids.filterNotNull() + } + + public override fun accept(visitor: AstVisitor, ctx: C): R = + visitor.visitExprPath(this, ctx) +} diff --git a/partiql-ast/src/main/kotlin/org/partiql/ast/v1/expr/ExprPathStep.kt b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/expr/ExprPathStep.kt new file mode 100644 index 0000000000..9aeebe730c --- /dev/null +++ b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/expr/ExprPathStep.kt @@ -0,0 +1,72 @@ +package org.partiql.ast.v1.expr + +import org.partiql.ast.v1.AstNode +import org.partiql.ast.v1.AstVisitor +import org.partiql.ast.v1.Identifier + +/** + * TODO docs, equals, hashcode + */ +public abstract class ExprPathStep : AstNode() { + public override fun accept(visitor: AstVisitor, ctx: C): R = when (this) { + is Symbol -> visitor.visitExprPathStepSymbol(this, ctx) + is Index -> visitor.visitExprPathStepIndex(this, ctx) + is Wildcard -> visitor.visitExprPathStepWildcard(this, ctx) + is Unpivot -> visitor.visitExprPathStepUnpivot(this, ctx) + else -> throw NotImplementedError() + } + + /** + * TODO docs, equals, hashcode + */ + public class Symbol( + @JvmField + public var symbol: Identifier.Symbol, + ) : ExprPathStep() { + public override fun children(): Collection { + val kids = mutableListOf() + kids.add(symbol) + return kids.filterNotNull() + } + + public override fun accept(visitor: AstVisitor, ctx: C): R = + visitor.visitExprPathStepSymbol(this, ctx) + } + + /** + * TODO docs, equals, hashcode + */ + public class Index( + @JvmField + public var key: Expr, + ) : ExprPathStep() { + public override fun children(): Collection { + val kids = mutableListOf() + kids.add(key) + return kids.filterNotNull() + } + + public override fun accept(visitor: AstVisitor, ctx: C): R = + visitor.visitExprPathStepIndex(this, ctx) + } + + /** + * TODO docs, equals, hashcode + */ + public object Wildcard : ExprPathStep() { + public override fun children(): Collection = emptyList() + + public override fun accept(visitor: AstVisitor, ctx: C): R = + visitor.visitExprPathStepWildcard(this, ctx) + } + + /** + * TODO docs, equals, hashcode + */ + public object Unpivot : ExprPathStep() { + public override fun children(): Collection = emptyList() + + public override fun accept(visitor: AstVisitor, ctx: C): R = + visitor.visitExprPathStepUnpivot(this, ctx) + } +} diff --git a/partiql-ast/src/main/kotlin/org/partiql/ast/v1/expr/ExprPosition.kt b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/expr/ExprPosition.kt new file mode 100644 index 0000000000..c0579d3ea9 --- /dev/null +++ b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/expr/ExprPosition.kt @@ -0,0 +1,24 @@ +package org.partiql.ast.v1.expr + +import org.partiql.ast.v1.AstNode +import org.partiql.ast.v1.AstVisitor + +/** + * TODO docs, equals, hashcode + */ +public class ExprPosition( + @JvmField + public var lhs: Expr, + @JvmField + public var rhs: Expr, +) : Expr() { + public override fun children(): Collection { + val kids = mutableListOf() + kids.add(lhs) + kids.add(rhs) + return kids.filterNotNull() + } + + public override fun accept(visitor: AstVisitor, ctx: C): R = + visitor.visitExprPosition(this, ctx) +} diff --git a/partiql-ast/src/main/kotlin/org/partiql/ast/v1/expr/ExprQuerySet.kt b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/expr/ExprQuerySet.kt new file mode 100644 index 0000000000..743c3abe2d --- /dev/null +++ b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/expr/ExprQuerySet.kt @@ -0,0 +1,32 @@ +package org.partiql.ast.v1.expr + +import org.partiql.ast.v1.AstNode +import org.partiql.ast.v1.AstVisitor +import org.partiql.ast.v1.OrderBy +import org.partiql.ast.v1.QueryBody + +/** + * TODO docs, equals, hashcode + */ +public class ExprQuerySet( + @JvmField + public var body: QueryBody, + @JvmField + public var orderBy: OrderBy?, + @JvmField + public var limit: Expr?, + @JvmField + public var offset: Expr?, +) : Expr() { + public override fun children(): Collection { + val kids = mutableListOf() + kids.add(body) + orderBy?.let { kids.add(it) } + limit?.let { kids.add(it) } + offset?.let { kids.add(it) } + return kids.filterNotNull() + } + + public override fun accept(visitor: AstVisitor, ctx: C): R = + visitor.visitExprQuerySet(this, ctx) +} diff --git a/partiql-ast/src/main/kotlin/org/partiql/ast/v1/expr/ExprSessionAttribute.kt b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/expr/ExprSessionAttribute.kt new file mode 100644 index 0000000000..418b81ac9e --- /dev/null +++ b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/expr/ExprSessionAttribute.kt @@ -0,0 +1,26 @@ +package org.partiql.ast.v1.expr + +import org.partiql.ast.v1.AstNode +import org.partiql.ast.v1.AstVisitor + +/** + * TODO docs, equals, hashcode + */ +public class ExprSessionAttribute( + @JvmField + public var attribute: Attribute, +) : Expr() { + public override fun children(): Collection = emptyList() + + public override fun accept(visitor: AstVisitor, ctx: C): R = + visitor.visitExprSessionAttribute(this, ctx) + + /** + * TODO docs, equals, hashcode + */ + public enum class Attribute { + CURRENT_USER, + CURRENT_DATE, + OTHER, + } +} diff --git a/partiql-ast/src/main/kotlin/org/partiql/ast/v1/expr/ExprStruct.kt b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/expr/ExprStruct.kt new file mode 100644 index 0000000000..8d59f8e937 --- /dev/null +++ b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/expr/ExprStruct.kt @@ -0,0 +1,41 @@ +package org.partiql.ast.v1.expr + +import org.partiql.ast.v1.AstNode +import org.partiql.ast.v1.AstVisitor + +/** + * TODO docs, equals, hashcode + */ +public class ExprStruct( + @JvmField + public var fields: List, +) : Expr() { + public override fun children(): Collection { + val kids = mutableListOf() + kids.addAll(fields) + return kids.filterNotNull() + } + + public override fun accept(visitor: AstVisitor, ctx: C): R = + visitor.visitExprStruct(this, ctx) + + /** + * TODO docs, equals, hashcode + */ + public class Field( + @JvmField + public var name: Expr, + @JvmField + public var `value`: Expr, + ) : AstNode() { + public override fun children(): Collection { + val kids = mutableListOf() + kids.add(name) + kids.add(value) + return kids.filterNotNull() + } + + public override fun accept(visitor: AstVisitor, ctx: C): R = + visitor.visitExprStructField(this, ctx) + } +} diff --git a/partiql-ast/src/main/kotlin/org/partiql/ast/v1/expr/ExprSubstring.kt b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/expr/ExprSubstring.kt new file mode 100644 index 0000000000..0048d95ea5 --- /dev/null +++ b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/expr/ExprSubstring.kt @@ -0,0 +1,27 @@ +package org.partiql.ast.v1.expr + +import org.partiql.ast.v1.AstNode +import org.partiql.ast.v1.AstVisitor + +/** + * TODO docs, equals, hashcode + */ +public class ExprSubstring( + @JvmField + public var `value`: Expr, + @JvmField + public var start: Expr?, + @JvmField + public var length: Expr?, +) : Expr() { + public override fun children(): Collection { + val kids = mutableListOf() + kids.add(value) + start?.let { kids.add(it) } + length?.let { kids.add(it) } + return kids.filterNotNull() + } + + public override fun accept(visitor: AstVisitor, ctx: C): R = + visitor.visitExprSubstring(this, ctx) +} diff --git a/partiql-ast/src/main/kotlin/org/partiql/ast/v1/expr/ExprTrim.kt b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/expr/ExprTrim.kt new file mode 100644 index 0000000000..09e50dc828 --- /dev/null +++ b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/expr/ExprTrim.kt @@ -0,0 +1,33 @@ +package org.partiql.ast.v1.expr + +import org.partiql.ast.v1.AstNode +import org.partiql.ast.v1.AstVisitor + +/** + * TODO docs, equals, hashcode + */ +public class ExprTrim( + @JvmField + public var `value`: Expr, + @JvmField + public var chars: Expr?, + @JvmField + public var spec: Spec?, +) : Expr() { + public override fun children(): Collection { + val kids = mutableListOf() + kids.add(value) + chars?.let { kids.add(it) } + return kids.filterNotNull() + } + + public override fun accept(visitor: AstVisitor, ctx: C): R = + visitor.visitExprTrim(this, ctx) + + public enum class Spec { + LEADING, + TRAILING, + BOTH, + OTHER, + } +} diff --git a/partiql-ast/src/main/kotlin/org/partiql/ast/v1/expr/ExprValues.kt b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/expr/ExprValues.kt new file mode 100644 index 0000000000..8cb0fb2623 --- /dev/null +++ b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/expr/ExprValues.kt @@ -0,0 +1,38 @@ +package org.partiql.ast.v1.expr + +import org.partiql.ast.v1.AstNode +import org.partiql.ast.v1.AstVisitor + +/** + * TODO docs, equals, hashcode + */ +public class ExprValues( + @JvmField + public var rows: List, +) : Expr() { + public override fun children(): Collection { + val kids = mutableListOf() + kids.addAll(rows) + return kids.filterNotNull() + } + + public override fun accept(visitor: AstVisitor, ctx: C): R = + visitor.visitExprValues(this, ctx) + + /** + * TODO docs, equals, hashcode + */ + public class Row( + @JvmField + public var items: List, + ) : AstNode() { + public override fun children(): Collection { + val kids = mutableListOf() + kids.addAll(items) + return kids.filterNotNull() + } + + public override fun accept(visitor: AstVisitor, ctx: C): R = + visitor.visitExprValuesRow(this, ctx) + } +} diff --git a/partiql-ast/src/main/kotlin/org/partiql/ast/v1/expr/ExprVar.kt b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/expr/ExprVar.kt new file mode 100644 index 0000000000..6a649f461b --- /dev/null +++ b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/expr/ExprVar.kt @@ -0,0 +1,33 @@ +package org.partiql.ast.v1.expr + +import org.partiql.ast.v1.AstNode +import org.partiql.ast.v1.AstVisitor +import org.partiql.ast.v1.Identifier + +/** + * TODO docs, equals, hashcode + */ +public class ExprVar( + @JvmField + public var identifier: Identifier, + @JvmField + public var scope: Scope, +) : Expr() { + public override fun children(): Collection { + val kids = mutableListOf() + kids.add(identifier) + return kids.filterNotNull() + } + + public override fun accept(visitor: AstVisitor, ctx: C): R = + visitor.visitExprVar(this, ctx) + + /** + * TODO docs, equals, hashcode + */ + public enum class Scope { + DEFAULT, + LOCAL, + OTHER, + } +} diff --git a/partiql-ast/src/main/kotlin/org/partiql/ast/v1/expr/ExprWindow.kt b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/expr/ExprWindow.kt new file mode 100644 index 0000000000..d20fb49e1d --- /dev/null +++ b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/expr/ExprWindow.kt @@ -0,0 +1,62 @@ +package org.partiql.ast.v1.expr + +import org.partiql.ast.v1.AstNode +import org.partiql.ast.v1.AstVisitor +import org.partiql.ast.v1.Sort + +/** + * TODO docs, equals, hashcode + */ +public class ExprWindow( + @JvmField + public var function: Function, + @JvmField + public var expression: Expr, + @JvmField + public var offset: Expr?, + @JvmField + public var default: Expr?, + @JvmField + public var over: Over, +) : Expr() { + public override fun children(): Collection { + val kids = mutableListOf() + kids.add(expression) + offset?.let { kids.add(it) } + default?.let { kids.add(it) } + kids.add(over) + return kids.filterNotNull() + } + + public override fun accept(visitor: AstVisitor, ctx: C): R = + visitor.visitExprWindow(this, ctx) + + /** + * TODO docs, equals, hashcode + */ + public enum class Function { + LAG, + LEAD, + OTHER, + } + + /** + * TODO docs, equals, hashcode + */ + public class Over( + @JvmField + public var partitions: List?, + @JvmField + public var sorts: List?, + ) : AstNode() { + public override fun children(): Collection { + val kids = mutableListOf() + partitions?.let { kids.addAll(it) } + sorts?.let { kids.addAll(it) } + return kids.filterNotNull() + } + + public override fun accept(visitor: AstVisitor, ctx: C): R = + visitor.visitExprWindowOver(this, ctx) + } +} diff --git a/partiql-ast/src/main/kotlin/org/partiql/ast/v1/graph/GraphDirection.kt b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/graph/GraphDirection.kt new file mode 100644 index 0000000000..7b33ca4c3c --- /dev/null +++ b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/graph/GraphDirection.kt @@ -0,0 +1,15 @@ +package org.partiql.ast.v1.graph + +/** + * TODO docs, equals, hashcode + */ +public enum class GraphDirection { + LEFT, + UNDIRECTED, + RIGHT, + LEFT_OR_UNDIRECTED, + UNDIRECTED_OR_RIGHT, + LEFT_OR_RIGHT, + LEFT_UNDIRECTED_OR_RIGHT, + OTHER, +} diff --git a/partiql-ast/src/main/kotlin/org/partiql/ast/v1/graph/GraphLabel.kt b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/graph/GraphLabel.kt new file mode 100644 index 0000000000..7ee500d74f --- /dev/null +++ b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/graph/GraphLabel.kt @@ -0,0 +1,98 @@ +package org.partiql.ast.v1.graph + +import org.partiql.ast.v1.AstNode +import org.partiql.ast.v1.AstVisitor + +/** + * TODO docs, equals, hashcode + */ +public abstract class GraphLabel : AstNode() { + public override fun accept(visitor: AstVisitor, ctx: C): R = when (this) { + is Name -> visitor.visitGraphLabelName(this, ctx) + is Wildcard -> visitor.visitGraphLabelWildcard(this, ctx) + is Negation -> visitor.visitGraphLabelNegation(this, ctx) + is Conj -> visitor.visitGraphLabelConj(this, ctx) + is Disj -> visitor.visitGraphLabelDisj(this, ctx) + else -> throw NotImplementedError() + } + + /** + * TODO docs, equals, hashcode + */ + public class Name( + @JvmField + public var name: String, + ) : GraphLabel() { + public override fun children(): Collection = emptyList() + + public override fun accept(visitor: AstVisitor, ctx: C): R = + visitor.visitGraphLabelName(this, ctx) + } + + /** + * TODO docs, equals, hashcode + */ + public object Wildcard : GraphLabel() { + public override fun children(): Collection = emptyList() + + public override fun accept(visitor: AstVisitor, ctx: C): R = + visitor.visitGraphLabelWildcard(this, ctx) + } + + /** + * TODO docs, equals, hashcode + */ + public class Negation( + @JvmField + public var arg: GraphLabel, + ) : GraphLabel() { + public override fun children(): Collection { + val kids = mutableListOf() + kids.add(arg) + return kids.filterNotNull() + } + + public override fun accept(visitor: AstVisitor, ctx: C): R = + visitor.visitGraphLabelNegation(this, ctx) + } + + /** + * TODO docs, equals, hashcode + */ + public class Conj( + @JvmField + public var lhs: GraphLabel, + @JvmField + public var rhs: GraphLabel, + ) : GraphLabel() { + public override fun children(): Collection { + val kids = mutableListOf() + kids.add(lhs) + kids.add(rhs) + return kids.filterNotNull() + } + + public override fun accept(visitor: AstVisitor, ctx: C): R = + visitor.visitGraphLabelConj(this, ctx) + } + + /** + * TODO docs, equals, hashcode + */ + public class Disj( + @JvmField + public var lhs: GraphLabel, + @JvmField + public var rhs: GraphLabel, + ) : GraphLabel() { + public override fun children(): Collection { + val kids = mutableListOf() + kids.add(lhs) + kids.add(rhs) + return kids.filterNotNull() + } + + public override fun accept(visitor: AstVisitor, ctx: C): R = + visitor.visitGraphLabelDisj(this, ctx) + } +} diff --git a/partiql-ast/src/main/kotlin/org/partiql/ast/v1/graph/GraphMatch.kt b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/graph/GraphMatch.kt new file mode 100644 index 0000000000..98614a4777 --- /dev/null +++ b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/graph/GraphMatch.kt @@ -0,0 +1,24 @@ +package org.partiql.ast.v1.graph + +import org.partiql.ast.v1.AstNode +import org.partiql.ast.v1.AstVisitor + +/** + * TODO docs, equals, hashcode + */ +public class GraphMatch( + @JvmField + public var patterns: List, + @JvmField + public var selector: GraphSelector?, +) : AstNode() { + public override fun children(): Collection { + val kids = mutableListOf() + kids.addAll(patterns) + selector?.let { kids.add(it) } + return kids.filterNotNull() + } + + public override fun accept(visitor: AstVisitor, ctx: C): R = + visitor.visitGraphMatch(this, ctx) +} diff --git a/partiql-ast/src/main/kotlin/org/partiql/ast/v1/graph/GraphPart.kt b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/graph/GraphPart.kt new file mode 100644 index 0000000000..502c88aff7 --- /dev/null +++ b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/graph/GraphPart.kt @@ -0,0 +1,83 @@ +package org.partiql.ast.v1.graph + +import org.partiql.ast.v1.AstNode +import org.partiql.ast.v1.AstVisitor +import org.partiql.ast.v1.expr.Expr + +/** + * TODO docs, equals, hashcode + */ +public abstract class GraphPart : AstNode() { + public override fun accept(visitor: AstVisitor, ctx: C): R = when (this) { + is Node -> visitor.visitGraphPartNode(this, ctx) + is Edge -> visitor.visitGraphPartEdge(this, ctx) + is Pattern -> visitor.visitGraphPartPattern(this, ctx) + else -> throw NotImplementedError() + } + + /** + * TODO docs, equals, hashcode + */ + public class Node( + @JvmField + public var prefilter: Expr?, + @JvmField + public var variable: String?, + @JvmField + public var label: GraphLabel?, + ) : GraphPart() { + public override fun children(): Collection { + val kids = mutableListOf() + prefilter?.let { kids.add(it) } + label?.let { kids.add(it) } + return kids.filterNotNull() + } + + public override fun accept(visitor: AstVisitor, ctx: C): R = + visitor.visitGraphPartNode(this, ctx) + } + + /** + * TODO docs, equals, hashcode + */ + public class Edge( + @JvmField + public var direction: GraphDirection, + @JvmField + public var quantifier: GraphQuantifier?, + @JvmField + public var prefilter: Expr?, + @JvmField + public var variable: String?, + @JvmField + public var label: GraphLabel?, + ) : GraphPart() { + public override fun children(): Collection { + val kids = mutableListOf() + quantifier?.let { kids.add(it) } + prefilter?.let { kids.add(it) } + label?.let { kids.add(it) } + return kids.filterNotNull() + } + + public override fun accept(visitor: AstVisitor, ctx: C): R = + visitor.visitGraphPartEdge(this, ctx) + } + + /** + * TODO docs, equals, hashcode + */ + public class Pattern( + @JvmField + public var pattern: GraphPattern, + ) : GraphPart() { + public override fun children(): Collection { + val kids = mutableListOf() + kids.add(pattern) + return kids.filterNotNull() + } + + public override fun accept(visitor: AstVisitor, ctx: C): R = + visitor.visitGraphPartPattern(this, ctx) + } +} diff --git a/partiql-ast/src/main/kotlin/org/partiql/ast/v1/graph/GraphPattern.kt b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/graph/GraphPattern.kt new file mode 100644 index 0000000000..823aa8bf62 --- /dev/null +++ b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/graph/GraphPattern.kt @@ -0,0 +1,32 @@ +package org.partiql.ast.v1.graph + +import org.partiql.ast.v1.AstNode +import org.partiql.ast.v1.AstVisitor +import org.partiql.ast.v1.expr.Expr + +/** + * TODO docs, equals, hashcode + */ +public class GraphPattern( + @JvmField + public var restrictor: GraphRestrictor?, + @JvmField + public var prefilter: Expr?, + @JvmField + public var variable: String?, + @JvmField + public var quantifier: GraphQuantifier?, + @JvmField + public var parts: List, +) : AstNode() { + public override fun children(): Collection { + val kids = mutableListOf() + prefilter?.let { kids.add(it) } + quantifier?.let { kids.add(it) } + kids.addAll(parts) + return kids.filterNotNull() + } + + public override fun accept(visitor: AstVisitor, ctx: C): R = + visitor.visitGraphMatchPattern(this, ctx) +} diff --git a/partiql-ast/src/main/kotlin/org/partiql/ast/v1/graph/GraphQuantifier.kt b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/graph/GraphQuantifier.kt new file mode 100644 index 0000000000..25c8158e95 --- /dev/null +++ b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/graph/GraphQuantifier.kt @@ -0,0 +1,19 @@ +package org.partiql.ast.v1.graph + +import org.partiql.ast.v1.AstNode +import org.partiql.ast.v1.AstVisitor + +/** + * TODO docs, equals, hashcode + */ +public class GraphQuantifier( + @JvmField + public var lower: Long, + @JvmField + public var upper: Long?, +) : AstNode() { + public override fun children(): Collection = emptyList() + + public override fun accept(visitor: AstVisitor, ctx: C): R = + visitor.visitGraphQuantifier(this, ctx) +} diff --git a/partiql-ast/src/main/kotlin/org/partiql/ast/v1/graph/GraphRestrictor.kt b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/graph/GraphRestrictor.kt new file mode 100644 index 0000000000..90deec4c2b --- /dev/null +++ b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/graph/GraphRestrictor.kt @@ -0,0 +1,11 @@ +package org.partiql.ast.v1.graph + +/** + * TODO docs, equals, hashcode + */ +public enum class GraphRestrictor { + TRAIL, + ACYCLIC, + SIMPLE, + OTHER, +} diff --git a/partiql-ast/src/main/kotlin/org/partiql/ast/v1/graph/GraphSelector.kt b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/graph/GraphSelector.kt new file mode 100644 index 0000000000..433b9f29b3 --- /dev/null +++ b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/graph/GraphSelector.kt @@ -0,0 +1,88 @@ +package org.partiql.ast.v1.graph + +import org.partiql.ast.v1.AstNode +import org.partiql.ast.v1.AstVisitor + +/** + * TODO docs, equals, hashcode + */ +public abstract class GraphSelector : AstNode() { + public override fun accept(visitor: AstVisitor, ctx: C): R = when (this) { + is AnyShortest -> visitor.visitGraphSelectorAnyShortest(this, ctx) + is AllShortest -> visitor.visitGraphSelectorAllShortest(this, ctx) + is Any -> visitor.visitGraphSelectorAny(this, ctx) + is AnyK -> visitor.visitGraphSelectorAnyK(this, ctx) + is ShortestK -> visitor.visitGraphSelectorShortestK(this, ctx) + is ShortestKGroup -> visitor.visitGraphSelectorShortestKGroup(this, ctx) + else -> throw NotImplementedError() + } + + /** + * TODO docs, equals, hashcode + */ + public object AnyShortest : GraphSelector() { + public override fun children(): Collection = emptyList() + + public override fun accept(visitor: AstVisitor, ctx: C): R = + visitor.visitGraphSelectorAnyShortest(this, ctx) + } + + /** + * TODO docs, equals, hashcode + */ + public object AllShortest : GraphSelector() { + public override fun children(): Collection = emptyList() + + public override fun accept(visitor: AstVisitor, ctx: C): R = + visitor.visitGraphSelectorAllShortest(this, ctx) + } + + /** + * TODO docs, equals, hashcode + */ + public object Any : GraphSelector() { + public override fun children(): Collection = emptyList() + + public override fun accept(visitor: AstVisitor, ctx: C): R = + visitor.visitGraphSelectorAny(this, ctx) + } + + /** + * TODO docs, equals, hashcode + */ + public class AnyK( + @JvmField + public var k: Long, + ) : GraphSelector() { + public override fun children(): Collection = emptyList() + + public override fun accept(visitor: AstVisitor, ctx: C): R = + visitor.visitGraphSelectorAnyK(this, ctx) + } + + /** + * TODO docs, equals, hashcode + */ + public class ShortestK( + @JvmField + public var k: Long, + ) : GraphSelector() { + public override fun children(): Collection = emptyList() + + public override fun accept(visitor: AstVisitor, ctx: C): R = + visitor.visitGraphSelectorShortestK(this, ctx) + } + + /** + * TODO docs, equals, hashcode + */ + public class ShortestKGroup( + @JvmField + public var k: Long, + ) : GraphSelector() { + public override fun children(): Collection = emptyList() + + public override fun accept(visitor: AstVisitor, ctx: C): R = + visitor.visitGraphSelectorShortestKGroup(this, ctx) + } +} diff --git a/partiql-ast/src/main/kotlin/org/partiql/ast/v1/type/Type.kt b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/type/Type.kt new file mode 100644 index 0000000000..a58362af0a --- /dev/null +++ b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/type/Type.kt @@ -0,0 +1,50 @@ +package org.partiql.ast.v1.type + +import org.partiql.ast.v1.AstNode +import org.partiql.ast.v1.AstVisitor + +/** + * TODO docs, equals, hashcode + */ +public abstract class Type : AstNode() { + public override fun accept(visitor: AstVisitor, ctx: C): R = when (this) { + is TypeNull -> visitor.visitTypeNull(this, ctx) + is TypeMissing -> visitor.visitTypeMissing(this, ctx) + is TypeBool -> visitor.visitTypeBool(this, ctx) + is TypeTinyint -> visitor.visitTypeTinyint(this, ctx) + is TypeSmallint -> visitor.visitTypeSmallint(this, ctx) + is TypeInt2 -> visitor.visitTypeInt2(this, ctx) + is TypeInt4 -> visitor.visitTypeInt4(this, ctx) + is TypeBigint -> visitor.visitTypeBigint(this, ctx) + is TypeInt8 -> visitor.visitTypeInt8(this, ctx) + is TypeInt -> visitor.visitTypeInt(this, ctx) + is TypeReal -> visitor.visitTypeReal(this, ctx) + is TypeFloat32 -> visitor.visitTypeFloat32(this, ctx) + is TypeFloat64 -> visitor.visitTypeFloat64(this, ctx) + is TypeDecimal -> visitor.visitTypeDecimal(this, ctx) + is TypeNumeric -> visitor.visitTypeNumeric(this, ctx) + is TypeChar -> visitor.visitTypeChar(this, ctx) + is TypeVarchar -> visitor.visitTypeVarchar(this, ctx) + is TypeString -> visitor.visitTypeString(this, ctx) + is TypeSymbol -> visitor.visitTypeSymbol(this, ctx) + is TypeBit -> visitor.visitTypeBit(this, ctx) + is TypeBitVarying -> visitor.visitTypeBitVarying(this, ctx) + is TypeByteString -> visitor.visitTypeByteString(this, ctx) + is TypeBlob -> visitor.visitTypeBlob(this, ctx) + is TypeClob -> visitor.visitTypeClob(this, ctx) + is TypeDate -> visitor.visitTypeDate(this, ctx) + is TypeTime -> visitor.visitTypeTime(this, ctx) + is TypeTimeWithTz -> visitor.visitTypeTimeWithTz(this, ctx) + is TypeTimestamp -> visitor.visitTypeTimestamp(this, ctx) + is TypeTimestampWithTz -> visitor.visitTypeTimestampWithTz(this, ctx) + is TypeInterval -> visitor.visitTypeInterval(this, ctx) + is TypeBag -> visitor.visitTypeBag(this, ctx) + is TypeList -> visitor.visitTypeList(this, ctx) + is TypeSexp -> visitor.visitTypeSexp(this, ctx) + is TypeTuple -> visitor.visitTypeTuple(this, ctx) + is TypeStruct -> visitor.visitTypeStruct(this, ctx) + is TypeAny -> visitor.visitTypeAny(this, ctx) + is TypeCustom -> visitor.visitTypeCustom(this, ctx) + else -> throw NotImplementedError() + } +} diff --git a/partiql-ast/src/main/kotlin/org/partiql/ast/v1/type/TypeAny.kt b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/type/TypeAny.kt new file mode 100644 index 0000000000..a0978e4da1 --- /dev/null +++ b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/type/TypeAny.kt @@ -0,0 +1,14 @@ +package org.partiql.ast.v1.type + +import org.partiql.ast.v1.AstNode +import org.partiql.ast.v1.AstVisitor + +/** + * TODO docs, equals, hashcode + */ +public object TypeAny : Type() { + public override fun children(): Collection = emptyList() + + public override fun accept(visitor: AstVisitor, ctx: C): R = + visitor.visitTypeAny(this, ctx) +} diff --git a/partiql-ast/src/main/kotlin/org/partiql/ast/v1/type/TypeBag.kt b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/type/TypeBag.kt new file mode 100644 index 0000000000..f5cbf0aaba --- /dev/null +++ b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/type/TypeBag.kt @@ -0,0 +1,14 @@ +package org.partiql.ast.v1.type + +import org.partiql.ast.v1.AstNode +import org.partiql.ast.v1.AstVisitor + +/** + * TODO docs, equals, hashcode + */ +public object TypeBag : Type() { + public override fun children(): Collection = emptyList() + + public override fun accept(visitor: AstVisitor, ctx: C): R = + visitor.visitTypeBag(this, ctx) +} diff --git a/partiql-ast/src/main/kotlin/org/partiql/ast/v1/type/TypeBigint.kt b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/type/TypeBigint.kt new file mode 100644 index 0000000000..ac8ced02a4 --- /dev/null +++ b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/type/TypeBigint.kt @@ -0,0 +1,14 @@ +package org.partiql.ast.v1.type + +import org.partiql.ast.v1.AstNode +import org.partiql.ast.v1.AstVisitor + +/** + * TODO docs, equals, hashcode + */ +public object TypeBigint : Type() { + public override fun children(): Collection = emptyList() + + public override fun accept(visitor: AstVisitor, ctx: C): R = + visitor.visitTypeBigint(this, ctx) +} diff --git a/partiql-ast/src/main/kotlin/org/partiql/ast/v1/type/TypeBit.kt b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/type/TypeBit.kt new file mode 100644 index 0000000000..b85cdb4203 --- /dev/null +++ b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/type/TypeBit.kt @@ -0,0 +1,17 @@ +package org.partiql.ast.v1.type + +import org.partiql.ast.v1.AstNode +import org.partiql.ast.v1.AstVisitor + +/** + * TODO docs, equals, hashcode + */ +public class TypeBit( + @JvmField + public var length: Int?, +) : Type() { + public override fun children(): Collection = emptyList() + + public override fun accept(visitor: AstVisitor, ctx: C): R = + visitor.visitTypeBit(this, ctx) +} diff --git a/partiql-ast/src/main/kotlin/org/partiql/ast/v1/type/TypeBitVarying.kt b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/type/TypeBitVarying.kt new file mode 100644 index 0000000000..a021ad3348 --- /dev/null +++ b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/type/TypeBitVarying.kt @@ -0,0 +1,17 @@ +package org.partiql.ast.v1.type + +import org.partiql.ast.v1.AstNode +import org.partiql.ast.v1.AstVisitor + +/** + * TODO docs, equals, hashcode + */ +public class TypeBitVarying( + @JvmField + public var length: Int?, +) : Type() { + public override fun children(): Collection = emptyList() + + public override fun accept(visitor: AstVisitor, ctx: C): R = + visitor.visitTypeBitVarying(this, ctx) +} diff --git a/partiql-ast/src/main/kotlin/org/partiql/ast/v1/type/TypeBlob.kt b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/type/TypeBlob.kt new file mode 100644 index 0000000000..7facf2f485 --- /dev/null +++ b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/type/TypeBlob.kt @@ -0,0 +1,17 @@ +package org.partiql.ast.v1.type + +import org.partiql.ast.v1.AstNode +import org.partiql.ast.v1.AstVisitor + +/** + * TODO docs, equals, hashcode + */ +public class TypeBlob( + @JvmField + public var length: Int?, +) : Type() { + public override fun children(): Collection = emptyList() + + public override fun accept(visitor: AstVisitor, ctx: C): R = + visitor.visitTypeBlob(this, ctx) +} diff --git a/partiql-ast/src/main/kotlin/org/partiql/ast/v1/type/TypeBool.kt b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/type/TypeBool.kt new file mode 100644 index 0000000000..9c368ea706 --- /dev/null +++ b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/type/TypeBool.kt @@ -0,0 +1,14 @@ +package org.partiql.ast.v1.type + +import org.partiql.ast.v1.AstNode +import org.partiql.ast.v1.AstVisitor + +/** + * TODO docs, equals, hashcode + */ +public object TypeBool : Type() { + public override fun children(): Collection = emptyList() + + public override fun accept(visitor: AstVisitor, ctx: C): R = + visitor.visitTypeBool(this, ctx) +} diff --git a/partiql-ast/src/main/kotlin/org/partiql/ast/v1/type/TypeByteString.kt b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/type/TypeByteString.kt new file mode 100644 index 0000000000..b2007af49e --- /dev/null +++ b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/type/TypeByteString.kt @@ -0,0 +1,17 @@ +package org.partiql.ast.v1.type + +import org.partiql.ast.v1.AstNode +import org.partiql.ast.v1.AstVisitor + +/** + * TODO docs, equals, hashcode + */ +public class TypeByteString( + @JvmField + public var length: Int?, +) : Type() { + public override fun children(): Collection = emptyList() + + public override fun accept(visitor: AstVisitor, ctx: C): R = + visitor.visitTypeByteString(this, ctx) +} diff --git a/partiql-ast/src/main/kotlin/org/partiql/ast/v1/type/TypeChar.kt b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/type/TypeChar.kt new file mode 100644 index 0000000000..c45cf65e39 --- /dev/null +++ b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/type/TypeChar.kt @@ -0,0 +1,17 @@ +package org.partiql.ast.v1.type + +import org.partiql.ast.v1.AstNode +import org.partiql.ast.v1.AstVisitor + +/** + * TODO docs, equals, hashcode + */ +public class TypeChar( + @JvmField + public var length: Int?, +) : Type() { + public override fun children(): Collection = emptyList() + + public override fun accept(visitor: AstVisitor, ctx: C): R = + visitor.visitTypeChar(this, ctx) +} diff --git a/partiql-ast/src/main/kotlin/org/partiql/ast/v1/type/TypeClob.kt b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/type/TypeClob.kt new file mode 100644 index 0000000000..3c60031ded --- /dev/null +++ b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/type/TypeClob.kt @@ -0,0 +1,17 @@ +package org.partiql.ast.v1.type + +import org.partiql.ast.v1.AstNode +import org.partiql.ast.v1.AstVisitor + +/** + * TODO docs, equals, hashcode + */ +public class TypeClob( + @JvmField + public var length: Int?, +) : Type() { + public override fun children(): Collection = emptyList() + + public override fun accept(visitor: AstVisitor, ctx: C): R = + visitor.visitTypeClob(this, ctx) +} diff --git a/partiql-ast/src/main/kotlin/org/partiql/ast/v1/type/TypeCustom.kt b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/type/TypeCustom.kt new file mode 100644 index 0000000000..34e66813b1 --- /dev/null +++ b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/type/TypeCustom.kt @@ -0,0 +1,17 @@ +package org.partiql.ast.v1.type + +import org.partiql.ast.v1.AstNode +import org.partiql.ast.v1.AstVisitor + +/** + * TODO docs, equals, hashcode + */ +public class TypeCustom( + @JvmField + public var name: String, +) : Type() { + public override fun children(): Collection = emptyList() + + public override fun accept(visitor: AstVisitor, ctx: C): R = + visitor.visitTypeCustom(this, ctx) +} diff --git a/partiql-ast/src/main/kotlin/org/partiql/ast/v1/type/TypeDate.kt b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/type/TypeDate.kt new file mode 100644 index 0000000000..e4a5233a56 --- /dev/null +++ b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/type/TypeDate.kt @@ -0,0 +1,14 @@ +package org.partiql.ast.v1.type + +import org.partiql.ast.v1.AstNode +import org.partiql.ast.v1.AstVisitor + +/** + * TODO docs, equals, hashcode + */ +public object TypeDate : Type() { + public override fun children(): Collection = emptyList() + + public override fun accept(visitor: AstVisitor, ctx: C): R = + visitor.visitTypeDate(this, ctx) +} diff --git a/partiql-ast/src/main/kotlin/org/partiql/ast/v1/type/TypeDecimal.kt b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/type/TypeDecimal.kt new file mode 100644 index 0000000000..6f413777d2 --- /dev/null +++ b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/type/TypeDecimal.kt @@ -0,0 +1,19 @@ +package org.partiql.ast.v1.type + +import org.partiql.ast.v1.AstNode +import org.partiql.ast.v1.AstVisitor + +/** + * TODO docs, equals, hashcode + */ +public class TypeDecimal( + @JvmField + public var precision: Int?, + @JvmField + public var scale: Int?, +) : Type() { + public override fun children(): Collection = emptyList() + + public override fun accept(visitor: AstVisitor, ctx: C): R = + visitor.visitTypeDecimal(this, ctx) +} diff --git a/partiql-ast/src/main/kotlin/org/partiql/ast/v1/type/TypeFloat32.kt b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/type/TypeFloat32.kt new file mode 100644 index 0000000000..7aa86e10e2 --- /dev/null +++ b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/type/TypeFloat32.kt @@ -0,0 +1,14 @@ +package org.partiql.ast.v1.type + +import org.partiql.ast.v1.AstNode +import org.partiql.ast.v1.AstVisitor + +/** + * TODO docs, equals, hashcode + */ +public object TypeFloat32 : Type() { + public override fun children(): Collection = emptyList() + + public override fun accept(visitor: AstVisitor, ctx: C): R = + visitor.visitTypeFloat32(this, ctx) +} diff --git a/partiql-ast/src/main/kotlin/org/partiql/ast/v1/type/TypeFloat64.kt b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/type/TypeFloat64.kt new file mode 100644 index 0000000000..ba0e0689e6 --- /dev/null +++ b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/type/TypeFloat64.kt @@ -0,0 +1,14 @@ +package org.partiql.ast.v1.type + +import org.partiql.ast.v1.AstNode +import org.partiql.ast.v1.AstVisitor + +/** + * TODO docs, equals, hashcode + */ +public object TypeFloat64 : Type() { + public override fun children(): Collection = emptyList() + + public override fun accept(visitor: AstVisitor, ctx: C): R = + visitor.visitTypeFloat64(this, ctx) +} diff --git a/partiql-ast/src/main/kotlin/org/partiql/ast/v1/type/TypeInt.kt b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/type/TypeInt.kt new file mode 100644 index 0000000000..a7cf7198dc --- /dev/null +++ b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/type/TypeInt.kt @@ -0,0 +1,14 @@ +package org.partiql.ast.v1.type + +import org.partiql.ast.v1.AstNode +import org.partiql.ast.v1.AstVisitor + +/** + * TODO docs, equals, hashcode + */ +public object TypeInt : Type() { + public override fun children(): Collection = emptyList() + + public override fun accept(visitor: AstVisitor, ctx: C): R = + visitor.visitTypeInt(this, ctx) +} diff --git a/partiql-ast/src/main/kotlin/org/partiql/ast/v1/type/TypeInt2.kt b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/type/TypeInt2.kt new file mode 100644 index 0000000000..4b2c1eee49 --- /dev/null +++ b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/type/TypeInt2.kt @@ -0,0 +1,14 @@ +package org.partiql.ast.v1.type + +import org.partiql.ast.v1.AstNode +import org.partiql.ast.v1.AstVisitor + +/** + * TODO docs, equals, hashcode + */ +public object TypeInt2 : Type() { + public override fun children(): Collection = emptyList() + + public override fun accept(visitor: AstVisitor, ctx: C): R = + visitor.visitTypeInt2(this, ctx) +} diff --git a/partiql-ast/src/main/kotlin/org/partiql/ast/v1/type/TypeInt4.kt b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/type/TypeInt4.kt new file mode 100644 index 0000000000..55cd3ca77f --- /dev/null +++ b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/type/TypeInt4.kt @@ -0,0 +1,14 @@ +package org.partiql.ast.v1.type + +import org.partiql.ast.v1.AstNode +import org.partiql.ast.v1.AstVisitor + +/** + * TODO docs, equals, hashcode + */ +public object TypeInt4 : Type() { + public override fun children(): Collection = emptyList() + + public override fun accept(visitor: AstVisitor, ctx: C): R = + visitor.visitTypeInt4(this, ctx) +} diff --git a/partiql-ast/src/main/kotlin/org/partiql/ast/v1/type/TypeInt8.kt b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/type/TypeInt8.kt new file mode 100644 index 0000000000..aefded3e0d --- /dev/null +++ b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/type/TypeInt8.kt @@ -0,0 +1,14 @@ +package org.partiql.ast.v1.type + +import org.partiql.ast.v1.AstNode +import org.partiql.ast.v1.AstVisitor + +/** + * TODO docs, equals, hashcode + */ +public object TypeInt8 : Type() { + public override fun children(): Collection = emptyList() + + public override fun accept(visitor: AstVisitor, ctx: C): R = + visitor.visitTypeInt8(this, ctx) +} diff --git a/partiql-ast/src/main/kotlin/org/partiql/ast/v1/type/TypeInterval.kt b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/type/TypeInterval.kt new file mode 100644 index 0000000000..f9da3d9f68 --- /dev/null +++ b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/type/TypeInterval.kt @@ -0,0 +1,17 @@ +package org.partiql.ast.v1.type + +import org.partiql.ast.v1.AstNode +import org.partiql.ast.v1.AstVisitor + +/** + * TODO docs, equals, hashcode + */ +public class TypeInterval( + @JvmField + public var precision: Int?, +) : Type() { + public override fun children(): Collection = emptyList() + + public override fun accept(visitor: AstVisitor, ctx: C): R = + visitor.visitTypeInterval(this, ctx) +} diff --git a/partiql-ast/src/main/kotlin/org/partiql/ast/v1/type/TypeList.kt b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/type/TypeList.kt new file mode 100644 index 0000000000..fde85c97cc --- /dev/null +++ b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/type/TypeList.kt @@ -0,0 +1,14 @@ +package org.partiql.ast.v1.type + +import org.partiql.ast.v1.AstNode +import org.partiql.ast.v1.AstVisitor + +/** + * TODO docs, equals, hashcode + */ +public object TypeList : Type() { + public override fun children(): Collection = emptyList() + + public override fun accept(visitor: AstVisitor, ctx: C): R = + visitor.visitTypeList(this, ctx) +} diff --git a/partiql-ast/src/main/kotlin/org/partiql/ast/v1/type/TypeMissing.kt b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/type/TypeMissing.kt new file mode 100644 index 0000000000..d1623b63dc --- /dev/null +++ b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/type/TypeMissing.kt @@ -0,0 +1,14 @@ +package org.partiql.ast.v1.type + +import org.partiql.ast.v1.AstNode +import org.partiql.ast.v1.AstVisitor + +/** + * TODO docs, equals, hashcode + */ +public object TypeMissing : Type() { + public override fun children(): Collection = emptyList() + + public override fun accept(visitor: AstVisitor, ctx: C): R = + visitor.visitTypeMissing(this, ctx) +} diff --git a/partiql-ast/src/main/kotlin/org/partiql/ast/v1/type/TypeNull.kt b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/type/TypeNull.kt new file mode 100644 index 0000000000..a29a934c2a --- /dev/null +++ b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/type/TypeNull.kt @@ -0,0 +1,14 @@ +package org.partiql.ast.v1.type + +import org.partiql.ast.v1.AstNode +import org.partiql.ast.v1.AstVisitor + +/** + * TODO docs, equals, hashcode + */ +public object TypeNull : Type() { + public override fun children(): Collection = emptyList() + + public override fun accept(visitor: AstVisitor, ctx: C): R = + visitor.visitTypeNull(this, ctx) +} diff --git a/partiql-ast/src/main/kotlin/org/partiql/ast/v1/type/TypeNumeric.kt b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/type/TypeNumeric.kt new file mode 100644 index 0000000000..3e866f4f64 --- /dev/null +++ b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/type/TypeNumeric.kt @@ -0,0 +1,19 @@ +package org.partiql.ast.v1.type + +import org.partiql.ast.v1.AstNode +import org.partiql.ast.v1.AstVisitor + +/** + * TODO docs, equals, hashcode + */ +public class TypeNumeric( + @JvmField + public var precision: Int?, + @JvmField + public var scale: Int?, +) : Type() { + public override fun children(): Collection = emptyList() + + public override fun accept(visitor: AstVisitor, ctx: C): R = + visitor.visitTypeNumeric(this, ctx) +} diff --git a/partiql-ast/src/main/kotlin/org/partiql/ast/v1/type/TypeReal.kt b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/type/TypeReal.kt new file mode 100644 index 0000000000..5a53de756c --- /dev/null +++ b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/type/TypeReal.kt @@ -0,0 +1,14 @@ +package org.partiql.ast.v1.type + +import org.partiql.ast.v1.AstNode +import org.partiql.ast.v1.AstVisitor + +/** + * TODO docs, equals, hashcode + */ +public object TypeReal : Type() { + public override fun children(): Collection = emptyList() + + public override fun accept(visitor: AstVisitor, ctx: C): R = + visitor.visitTypeReal(this, ctx) +} diff --git a/partiql-ast/src/main/kotlin/org/partiql/ast/v1/type/TypeSexp.kt b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/type/TypeSexp.kt new file mode 100644 index 0000000000..ebdb5698ce --- /dev/null +++ b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/type/TypeSexp.kt @@ -0,0 +1,14 @@ +package org.partiql.ast.v1.type + +import org.partiql.ast.v1.AstNode +import org.partiql.ast.v1.AstVisitor + +/** + * TODO docs, equals, hashcode + */ +public object TypeSexp : Type() { + public override fun children(): Collection = emptyList() + + public override fun accept(visitor: AstVisitor, ctx: C): R = + visitor.visitTypeSexp(this, ctx) +} diff --git a/partiql-ast/src/main/kotlin/org/partiql/ast/v1/type/TypeSmallint.kt b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/type/TypeSmallint.kt new file mode 100644 index 0000000000..558c943fc2 --- /dev/null +++ b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/type/TypeSmallint.kt @@ -0,0 +1,14 @@ +package org.partiql.ast.v1.type + +import org.partiql.ast.v1.AstNode +import org.partiql.ast.v1.AstVisitor + +/** + * TODO docs, equals, hashcode + */ +public object TypeSmallint : Type() { + public override fun children(): Collection = emptyList() + + public override fun accept(visitor: AstVisitor, ctx: C): R = + visitor.visitTypeSmallint(this, ctx) +} diff --git a/partiql-ast/src/main/kotlin/org/partiql/ast/v1/type/TypeString.kt b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/type/TypeString.kt new file mode 100644 index 0000000000..d2b85d12b4 --- /dev/null +++ b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/type/TypeString.kt @@ -0,0 +1,17 @@ +package org.partiql.ast.v1.type + +import org.partiql.ast.v1.AstNode +import org.partiql.ast.v1.AstVisitor + +/** + * TODO docs, equals, hashcode + */ +public class TypeString( + @JvmField + public var length: Int?, +) : Type() { + public override fun children(): Collection = emptyList() + + public override fun accept(visitor: AstVisitor, ctx: C): R = + visitor.visitTypeString(this, ctx) +} diff --git a/partiql-ast/src/main/kotlin/org/partiql/ast/v1/type/TypeStruct.kt b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/type/TypeStruct.kt new file mode 100644 index 0000000000..481c139fd5 --- /dev/null +++ b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/type/TypeStruct.kt @@ -0,0 +1,14 @@ +package org.partiql.ast.v1.type + +import org.partiql.ast.v1.AstNode +import org.partiql.ast.v1.AstVisitor + +/** + * TODO docs, equals, hashcode + */ +public object TypeStruct : Type() { + public override fun children(): Collection = emptyList() + + public override fun accept(visitor: AstVisitor, ctx: C): R = + visitor.visitTypeStruct(this, ctx) +} diff --git a/partiql-ast/src/main/kotlin/org/partiql/ast/v1/type/TypeSymbol.kt b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/type/TypeSymbol.kt new file mode 100644 index 0000000000..6531b0e3a6 --- /dev/null +++ b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/type/TypeSymbol.kt @@ -0,0 +1,14 @@ +package org.partiql.ast.v1.type + +import org.partiql.ast.v1.AstNode +import org.partiql.ast.v1.AstVisitor + +/** + * TODO docs, equals, hashcode + */ +public object TypeSymbol : Type() { + public override fun children(): Collection = emptyList() + + public override fun accept(visitor: AstVisitor, ctx: C): R = + visitor.visitTypeSymbol(this, ctx) +} diff --git a/partiql-ast/src/main/kotlin/org/partiql/ast/v1/type/TypeTime.kt b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/type/TypeTime.kt new file mode 100644 index 0000000000..b4185704a6 --- /dev/null +++ b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/type/TypeTime.kt @@ -0,0 +1,17 @@ +package org.partiql.ast.v1.type + +import org.partiql.ast.v1.AstNode +import org.partiql.ast.v1.AstVisitor + +/** + * TODO docs, equals, hashcode + */ +public class TypeTime( + @JvmField + public var precision: Int?, +) : Type() { + public override fun children(): Collection = emptyList() + + public override fun accept(visitor: AstVisitor, ctx: C): R = + visitor.visitTypeTime(this, ctx) +} diff --git a/partiql-ast/src/main/kotlin/org/partiql/ast/v1/type/TypeTimeWithTz.kt b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/type/TypeTimeWithTz.kt new file mode 100644 index 0000000000..3c0f075f22 --- /dev/null +++ b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/type/TypeTimeWithTz.kt @@ -0,0 +1,17 @@ +package org.partiql.ast.v1.type + +import org.partiql.ast.v1.AstNode +import org.partiql.ast.v1.AstVisitor + +/** + * TODO docs, equals, hashcode + */ +public class TypeTimeWithTz( + @JvmField + public var precision: Int?, +) : Type() { + public override fun children(): Collection = emptyList() + + public override fun accept(visitor: AstVisitor, ctx: C): R = + visitor.visitTypeTimeWithTz(this, ctx) +} diff --git a/partiql-ast/src/main/kotlin/org/partiql/ast/v1/type/TypeTimestamp.kt b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/type/TypeTimestamp.kt new file mode 100644 index 0000000000..eeec01ee33 --- /dev/null +++ b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/type/TypeTimestamp.kt @@ -0,0 +1,17 @@ +package org.partiql.ast.v1.type + +import org.partiql.ast.v1.AstNode +import org.partiql.ast.v1.AstVisitor + +/** + * TODO docs, equals, hashcode + */ +public class TypeTimestamp( + @JvmField + public var precision: Int?, +) : Type() { + public override fun children(): Collection = emptyList() + + public override fun accept(visitor: AstVisitor, ctx: C): R = + visitor.visitTypeTimestamp(this, ctx) +} diff --git a/partiql-ast/src/main/kotlin/org/partiql/ast/v1/type/TypeTimestampWithTz.kt b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/type/TypeTimestampWithTz.kt new file mode 100644 index 0000000000..a02f204f6f --- /dev/null +++ b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/type/TypeTimestampWithTz.kt @@ -0,0 +1,17 @@ +package org.partiql.ast.v1.type + +import org.partiql.ast.v1.AstNode +import org.partiql.ast.v1.AstVisitor + +/** + * TODO docs, equals, hashcode + */ +public class TypeTimestampWithTz( + @JvmField + public var precision: Int?, +) : Type() { + public override fun children(): Collection = emptyList() + + public override fun accept(visitor: AstVisitor, ctx: C): R = + visitor.visitTypeTimestampWithTz(this, ctx) +} diff --git a/partiql-ast/src/main/kotlin/org/partiql/ast/v1/type/TypeTinyint.kt b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/type/TypeTinyint.kt new file mode 100644 index 0000000000..18e04f0d83 --- /dev/null +++ b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/type/TypeTinyint.kt @@ -0,0 +1,14 @@ +package org.partiql.ast.v1.type + +import org.partiql.ast.v1.AstNode +import org.partiql.ast.v1.AstVisitor + +/** + * TODO docs, equals, hashcode + */ +public object TypeTinyint : Type() { + public override fun children(): Collection = emptyList() + + public override fun accept(visitor: AstVisitor, ctx: C): R = + visitor.visitTypeTinyint(this, ctx) +} diff --git a/partiql-ast/src/main/kotlin/org/partiql/ast/v1/type/TypeTuple.kt b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/type/TypeTuple.kt new file mode 100644 index 0000000000..dd9b1cac15 --- /dev/null +++ b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/type/TypeTuple.kt @@ -0,0 +1,14 @@ +package org.partiql.ast.v1.type + +import org.partiql.ast.v1.AstNode +import org.partiql.ast.v1.AstVisitor + +/** + * TODO docs, equals, hashcode + */ +public object TypeTuple : Type() { + public override fun children(): Collection = emptyList() + + public override fun accept(visitor: AstVisitor, ctx: C): R = + visitor.visitTypeTuple(this, ctx) +} diff --git a/partiql-ast/src/main/kotlin/org/partiql/ast/v1/type/TypeVarchar.kt b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/type/TypeVarchar.kt new file mode 100644 index 0000000000..c5268a9b47 --- /dev/null +++ b/partiql-ast/src/main/kotlin/org/partiql/ast/v1/type/TypeVarchar.kt @@ -0,0 +1,17 @@ +package org.partiql.ast.v1.type + +import org.partiql.ast.v1.AstNode +import org.partiql.ast.v1.AstVisitor + +/** + * TODO docs, equals, hashcode + */ +public class TypeVarchar( + @JvmField + public var length: Int?, +) : Type() { + public override fun children(): Collection = emptyList() + + public override fun accept(visitor: AstVisitor, ctx: C): R = + visitor.visitTypeVarchar(this, ctx) +}