You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Adds parsing and ast modeling for WITH clause
Fixes the expression tree to exclude SELECTs
Adds a dedicated subquery node to allow for query expressions
Copy file name to clipboardExpand all lines: partiql-ast/api/partiql-ast.api
+49Lines changed: 49 additions & 0 deletions
Original file line number
Diff line number
Diff line change
@@ -79,7 +79,9 @@ public final class org/partiql/ast/Ast {
79
79
public static final fun exprPosition (Lorg/partiql/ast/expr/Expr;Lorg/partiql/ast/expr/Expr;)Lorg/partiql/ast/expr/ExprPosition;
80
80
public static final fun exprQuerySet (Lorg/partiql/ast/QueryBody;)Lorg/partiql/ast/expr/ExprQuerySet;
81
81
public static final fun exprQuerySet (Lorg/partiql/ast/QueryBody;Lorg/partiql/ast/OrderBy;Lorg/partiql/ast/expr/Expr;Lorg/partiql/ast/expr/Expr;)Lorg/partiql/ast/expr/ExprQuerySet;
82
+
public static final fun exprQuerySet (Lorg/partiql/ast/QueryBody;Lorg/partiql/ast/OrderBy;Lorg/partiql/ast/expr/Expr;Lorg/partiql/ast/expr/Expr;Lorg/partiql/ast/With;)Lorg/partiql/ast/expr/ExprQuerySet;
82
83
public static synthetic fun exprQuerySet$default (Lorg/partiql/ast/QueryBody;Lorg/partiql/ast/OrderBy;Lorg/partiql/ast/expr/Expr;Lorg/partiql/ast/expr/Expr;ILjava/lang/Object;)Lorg/partiql/ast/expr/ExprQuerySet;
84
+
public static synthetic fun exprQuerySet$default (Lorg/partiql/ast/QueryBody;Lorg/partiql/ast/OrderBy;Lorg/partiql/ast/expr/Expr;Lorg/partiql/ast/expr/Expr;Lorg/partiql/ast/With;ILjava/lang/Object;)Lorg/partiql/ast/expr/ExprQuerySet;
83
85
public static final fun exprRowValue (Ljava/util/List;)Lorg/partiql/ast/expr/ExprRowValue;
84
86
public static final fun exprRowValue (Ljava/util/List;Z)Lorg/partiql/ast/expr/ExprRowValue;
85
87
public static final fun exprSessionAttribute (Lorg/partiql/ast/expr/SessionAttribute;)Lorg/partiql/ast/expr/ExprSessionAttribute;
@@ -572,6 +574,8 @@ public abstract class org/partiql/ast/AstVisitor {
572
574
public fun visitUpdateTargetStepElement (Lorg/partiql/ast/dml/UpdateTargetStep$Element;Ljava/lang/Object;)Ljava/lang/Object;
573
575
public fun visitUpdateTargetStepField (Lorg/partiql/ast/dml/UpdateTargetStep$Field;Ljava/lang/Object;)Ljava/lang/Object;
574
576
public fun visitUpsert (Lorg/partiql/ast/dml/Upsert;Ljava/lang/Object;)Ljava/lang/Object;
577
+
public fun visitWith (Lorg/partiql/ast/With;Ljava/lang/Object;)Ljava/lang/Object;
578
+
public fun visitWithListElement (Lorg/partiql/ast/WithListElement;Ljava/lang/Object;)Ljava/lang/Object;
575
579
}
576
580
577
581
public final class org/partiql/ast/DataType : org/partiql/ast/AstEnum {
@@ -1054,21 +1058,27 @@ public class org/partiql/ast/Identifier$Simple$Builder {
1054
1058
public final class org/partiql/ast/JoinType : org/partiql/ast/AstEnum {
1055
1059
public static final field CROSS I
1056
1060
public static final field FULL I
1061
+
public static final field FULL_CROSS I
1057
1062
public static final field FULL_OUTER I
1058
1063
public static final field INNER I
1064
+
public static final field INNER_CROSS I
1059
1065
public static final field LEFT I
1060
1066
public static final field LEFT_CROSS I
1061
1067
public static final field LEFT_OUTER I
1062
1068
public static final field RIGHT I
1069
+
public static final field RIGHT_CROSS I
1063
1070
public static final field RIGHT_OUTER I
1064
1071
public static fun CROSS ()Lorg/partiql/ast/JoinType;
1065
1072
public static fun FULL ()Lorg/partiql/ast/JoinType;
1073
+
public static fun FULL_CROSS ()Lorg/partiql/ast/JoinType;
1066
1074
public static fun FULL_OUTER ()Lorg/partiql/ast/JoinType;
1067
1075
public static fun INNER ()Lorg/partiql/ast/JoinType;
1076
+
public static fun INNER_CROSS ()Lorg/partiql/ast/JoinType;
1068
1077
public static fun LEFT ()Lorg/partiql/ast/JoinType;
1069
1078
public static fun LEFT_CROSS ()Lorg/partiql/ast/JoinType;
1070
1079
public static fun LEFT_OUTER ()Lorg/partiql/ast/JoinType;
1071
1080
public static fun RIGHT ()Lorg/partiql/ast/JoinType;
1081
+
public static fun RIGHT_CROSS ()Lorg/partiql/ast/JoinType;
1072
1082
public static fun RIGHT_OUTER ()Lorg/partiql/ast/JoinType;
1073
1083
public fun accept (Lorg/partiql/ast/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object;
1074
1084
public fun code ()I
@@ -1455,6 +1465,42 @@ public abstract class org/partiql/ast/Statement : org/partiql/ast/AstNode {
1455
1465
public fun <init> ()V
1456
1466
}
1457
1467
1468
+
public final class org/partiql/ast/With : org/partiql/ast/AstNode {
1469
+
public fun <init> (Ljava/util/List;)V
1470
+
public fun accept (Lorg/partiql/ast/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object;
1471
+
public static fun builder ()Lorg/partiql/ast/With$Builder;
1472
+
public fun equals (Ljava/lang/Object;)Z
1473
+
public fun getChildren ()Ljava/util/List;
1474
+
public fun getElements ()Ljava/util/List;
1475
+
public fun hashCode ()I
1476
+
}
1477
+
1478
+
public class org/partiql/ast/With$Builder {
1479
+
public fun build ()Lorg/partiql/ast/With;
1480
+
public fun elements (Ljava/util/List;)Lorg/partiql/ast/With$Builder;
1481
+
public fun toString ()Ljava/lang/String;
1482
+
}
1483
+
1484
+
public final class org/partiql/ast/WithListElement : org/partiql/ast/AstNode {
1485
+
public fun <init> (Lorg/partiql/ast/Identifier$Simple;Lorg/partiql/ast/expr/ExprQuerySet;Ljava/util/List;)V
1486
+
public fun accept (Lorg/partiql/ast/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object;
1487
+
public static fun builder ()Lorg/partiql/ast/WithListElement$Builder;
1488
+
public fun equals (Ljava/lang/Object;)Z
1489
+
public fun getAsQuery ()Lorg/partiql/ast/expr/ExprQuerySet;
1490
+
public fun getChildren ()Ljava/util/List;
1491
+
public fun getColumnList ()Ljava/util/List;
1492
+
public fun getQueryName ()Lorg/partiql/ast/Identifier$Simple;
1493
+
public fun hashCode ()I
1494
+
}
1495
+
1496
+
public class org/partiql/ast/WithListElement$Builder {
1497
+
public fun asQuery (Lorg/partiql/ast/expr/ExprQuerySet;)Lorg/partiql/ast/WithListElement$Builder;
1498
+
public fun build ()Lorg/partiql/ast/WithListElement;
1499
+
public fun queryName (Lorg/partiql/ast/Identifier$Simple;)Lorg/partiql/ast/WithListElement$Builder;
1500
+
public fun toString ()Ljava/lang/String;
1501
+
public fun withColumnList (Ljava/util/List;)Lorg/partiql/ast/WithListElement$Builder;
1502
+
}
1503
+
1458
1504
public abstract class org/partiql/ast/ddl/AttributeConstraint : org/partiql/ast/AstNode {
1459
1505
protected final field name Lorg/partiql/ast/Identifier;
1460
1506
protected fun <init> (Lorg/partiql/ast/Identifier;)V
@@ -2422,6 +2468,7 @@ public class org/partiql/ast/expr/ExprPosition$Builder {
2422
2468
2423
2469
public final class org/partiql/ast/expr/ExprQuerySet : org/partiql/ast/expr/Expr {
2424
2470
public fun <init> (Lorg/partiql/ast/QueryBody;Lorg/partiql/ast/OrderBy;Lorg/partiql/ast/expr/Expr;Lorg/partiql/ast/expr/Expr;)V
2471
+
public fun <init> (Lorg/partiql/ast/QueryBody;Lorg/partiql/ast/OrderBy;Lorg/partiql/ast/expr/Expr;Lorg/partiql/ast/expr/Expr;Lorg/partiql/ast/With;)V
2425
2472
public fun accept (Lorg/partiql/ast/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object;
2426
2473
public static fun builder ()Lorg/partiql/ast/expr/ExprQuerySet$Builder;
2427
2474
public fun equals (Ljava/lang/Object;)Z
@@ -2430,6 +2477,7 @@ public final class org/partiql/ast/expr/ExprQuerySet : org/partiql/ast/expr/Expr
2430
2477
public fun getLimit ()Lorg/partiql/ast/expr/Expr;
2431
2478
public fun getOffset ()Lorg/partiql/ast/expr/Expr;
2432
2479
public fun getOrderBy ()Lorg/partiql/ast/OrderBy;
2480
+
public fun getWith ()Lorg/partiql/ast/With;
2433
2481
public fun hashCode ()I
2434
2482
}
2435
2483
@@ -2440,6 +2488,7 @@ public class org/partiql/ast/expr/ExprQuerySet$Builder {
2440
2488
public fun offset (Lorg/partiql/ast/expr/Expr;)Lorg/partiql/ast/expr/ExprQuerySet$Builder;
2441
2489
public fun orderBy (Lorg/partiql/ast/OrderBy;)Lorg/partiql/ast/expr/ExprQuerySet$Builder;
2442
2490
public fun toString ()Ljava/lang/String;
2491
+
public fun with (Lorg/partiql/ast/With;)Lorg/partiql/ast/expr/ExprQuerySet$Builder;
2443
2492
}
2444
2493
2445
2494
public final class org/partiql/ast/expr/ExprRowValue : org/partiql/ast/expr/Expr {
0 commit comments