You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@asterixdb.apache.org by bu...@apache.org on 2015/10/31 00:16:14 UTC
[06/51] [partial] incubator-asterixdb git commit: SQL++ parser: 1.
refactored asterix-aql to become asterix-lang-common and asterix-lang-aql,
where the former is the common part for different languages;
2. added asterix-lang-sqlpp on top of asterix-lang-
http://git-wip-us.apache.org/repos/asf/incubator-asterixdb/blob/391f09e5/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/open-index-enforced/rtree-index-join/spatial-intersect-point_03.ast
----------------------------------------------------------------------
diff --git a/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/open-index-enforced/rtree-index-join/spatial-intersect-point_03.ast b/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/open-index-enforced/rtree-index-join/spatial-intersect-point_03.ast
new file mode 100644
index 0000000..d890e8a
--- /dev/null
+++ b/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/open-index-enforced/rtree-index-join/spatial-intersect-point_03.ast
@@ -0,0 +1,52 @@
+DataverseUse test
+TypeDecl MyRecord [
+ open RecordType {
+ id : int32,
+ kwds : string,
+ line1 : line,
+ line2 : line,
+ poly1 : polygon,
+ poly2 : polygon,
+ rec : rectangle
+ }
+]
+DatasetDecl MyData(MyRecord) partitioned by [[id]]
+WriteOutputTo nc1:rttest/rtree-index-join_spatial-intersect-point_03.adm
+Query:
+SELECT ELEMENT [
+RecordConstructor [
+ (
+ LiteralExpr [STRING] [a]
+ :
+ Variable [ Name=a ]
+ )
+ (
+ LiteralExpr [STRING] [b]
+ :
+ Variable [ Name=b ]
+ )
+]
+]
+FROM [ FunctionCall Metadata.dataset@1[
+ LiteralExpr [STRING] [MyData]
+ ]
+ AS
+ Variable [ Name=a ]
+,
+ FunctionCall Metadata.dataset@1[
+ LiteralExpr [STRING] [MyData]
+ ]
+ AS
+ Variable [ Name=b ]
+]
+Where
+ FunctionCall test.spatial-intersect@2[
+ FieldAccessor [
+ Variable [ Name=a ]
+ Field=point
+ ]
+ FieldAccessor [
+ Variable [ Name=b ]
+ Field=point
+ ]
+ ]
http://git-wip-us.apache.org/repos/asf/incubator-asterixdb/blob/391f09e5/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/open-index-enforced/rtree-index-join/spatial-intersect-point_04.ast
----------------------------------------------------------------------
diff --git a/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/open-index-enforced/rtree-index-join/spatial-intersect-point_04.ast b/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/open-index-enforced/rtree-index-join/spatial-intersect-point_04.ast
new file mode 100644
index 0000000..038fc0a
--- /dev/null
+++ b/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/open-index-enforced/rtree-index-join/spatial-intersect-point_04.ast
@@ -0,0 +1,53 @@
+DataverseUse test
+TypeDecl MyRecord [
+ open RecordType {
+ id : int32,
+ kwds : string,
+ line1 : line,
+ line2 : line,
+ poly1 : polygon,
+ poly2 : polygon,
+ rec : rectangle
+ }
+]
+DatasetDecl MyData1(MyRecord) partitioned by [[id]]
+DatasetDecl MyData2(MyRecord) partitioned by [[id]]
+WriteOutputTo nc1:rttest/rtree-index-join_spatial-intersect-point_02.adm
+Query:
+SELECT ELEMENT [
+RecordConstructor [
+ (
+ LiteralExpr [STRING] [a]
+ :
+ Variable [ Name=a ]
+ )
+ (
+ LiteralExpr [STRING] [b]
+ :
+ Variable [ Name=b ]
+ )
+]
+]
+FROM [ FunctionCall Metadata.dataset@1[
+ LiteralExpr [STRING] [MyData1]
+ ]
+ AS
+ Variable [ Name=a ]
+,
+ FunctionCall Metadata.dataset@1[
+ LiteralExpr [STRING] [MyData2]
+ ]
+ AS
+ Variable [ Name=b ]
+]
+Where
+ FunctionCall test.spatial-intersect@2[
+ FieldAccessor [
+ Variable [ Name=a ]
+ Field=point
+ ]
+ FieldAccessor [
+ Variable [ Name=b ]
+ Field=point
+ ]
+ ]
http://git-wip-us.apache.org/repos/asf/incubator-asterixdb/blob/391f09e5/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/open-index-enforced/rtree-index-join/spatial-intersect-point_05.ast
----------------------------------------------------------------------
diff --git a/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/open-index-enforced/rtree-index-join/spatial-intersect-point_05.ast b/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/open-index-enforced/rtree-index-join/spatial-intersect-point_05.ast
new file mode 100644
index 0000000..038fc0a
--- /dev/null
+++ b/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/open-index-enforced/rtree-index-join/spatial-intersect-point_05.ast
@@ -0,0 +1,53 @@
+DataverseUse test
+TypeDecl MyRecord [
+ open RecordType {
+ id : int32,
+ kwds : string,
+ line1 : line,
+ line2 : line,
+ poly1 : polygon,
+ poly2 : polygon,
+ rec : rectangle
+ }
+]
+DatasetDecl MyData1(MyRecord) partitioned by [[id]]
+DatasetDecl MyData2(MyRecord) partitioned by [[id]]
+WriteOutputTo nc1:rttest/rtree-index-join_spatial-intersect-point_02.adm
+Query:
+SELECT ELEMENT [
+RecordConstructor [
+ (
+ LiteralExpr [STRING] [a]
+ :
+ Variable [ Name=a ]
+ )
+ (
+ LiteralExpr [STRING] [b]
+ :
+ Variable [ Name=b ]
+ )
+]
+]
+FROM [ FunctionCall Metadata.dataset@1[
+ LiteralExpr [STRING] [MyData1]
+ ]
+ AS
+ Variable [ Name=a ]
+,
+ FunctionCall Metadata.dataset@1[
+ LiteralExpr [STRING] [MyData2]
+ ]
+ AS
+ Variable [ Name=b ]
+]
+Where
+ FunctionCall test.spatial-intersect@2[
+ FieldAccessor [
+ Variable [ Name=a ]
+ Field=point
+ ]
+ FieldAccessor [
+ Variable [ Name=b ]
+ Field=point
+ ]
+ ]
http://git-wip-us.apache.org/repos/asf/incubator-asterixdb/blob/391f09e5/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/orderby-desc-using-gby.ast
----------------------------------------------------------------------
diff --git a/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/orderby-desc-using-gby.ast b/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/orderby-desc-using-gby.ast
new file mode 100644
index 0000000..e2d5014
--- /dev/null
+++ b/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/orderby-desc-using-gby.ast
@@ -0,0 +1,62 @@
+DataverseUse gby-using-orderby-desc
+TypeDecl AddressType [
+ closed RecordType {
+ number : int32,
+ street : string,
+ city : string
+ }
+]
+TypeDecl CustomerType [
+ closed RecordType {
+ cid : int32,
+ name : string,
+ age : int32?,
+ address : AddressType?,
+ lastorder : open RecordType {
+ oid : int32,
+ total : float
+ }
+
+ }
+]
+DatasetDecl Customers(CustomerType) partitioned by [[cid]]
+WriteOutputTo nc1:rttest/gby-using-orderby-desc.adm
+Query:
+SELECT ELEMENT [
+RecordConstructor [
+ (
+ LiteralExpr [STRING] [name]
+ :
+ Variable [ Name=name ]
+ )
+ (
+ LiteralExpr [STRING] [age]
+ :
+ FunctionCall Metadata.dataset@1[
+ LiteralExpr [STRING] [age]
+ ]
+ )
+]
+]
+FROM [ FunctionCall Metadata.dataset@1[
+ LiteralExpr [STRING] [Customers]
+ ]
+ AS
+ Variable [ Name=c ]
+]
+Groupby
+ Variable [ Name=name ]
+ :=
+ FieldAccessor [
+ Variable [ Name=c ]
+ Field=name
+ ]
+ With
+ Variable [ Name=c ]
+
+Orderby
+ Variable [ Name=name ]
+ DESC
+ Variable [ Name=age ]
+ ASC
+
http://git-wip-us.apache.org/repos/asf/incubator-asterixdb/blob/391f09e5/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/orders-aggreg.ast
----------------------------------------------------------------------
diff --git a/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/orders-aggreg.ast b/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/orders-aggreg.ast
new file mode 100644
index 0000000..643a8b0
--- /dev/null
+++ b/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/orders-aggreg.ast
@@ -0,0 +1,82 @@
+DataverseUse orders-aggreg
+TypeDecl OrderType [
+ closed RecordType {
+ oid : int32,
+ cid : int32,
+ orderstatus : string,
+ orderpriority : string,
+ clerk : string,
+ total : float
+ }
+]
+DatasetDecl Orders(OrderType) partitioned by [[oid]]
+WriteOutputTo nc1:/tmp/orders-aggreg.adm
+Query:
+SELECT ELEMENT [
+RecordConstructor [
+ (
+ LiteralExpr [STRING] [cid]
+ :
+ Variable [ Name=cid ]
+ )
+ (
+ LiteralExpr [STRING] [ordpercust]
+ :
+ FunctionCall orders-aggreg.count@1[
+ Variable [ Name=o ]
+ ]
+ )
+ (
+ LiteralExpr [STRING] [totalcust]
+ :
+ FunctionCall orders-aggreg.sum@1[
+ (
+ SELECT ELEMENT [
+ FieldAccessor [
+ Variable [ Name=i ]
+ Field=total
+ ]
+ ]
+ FROM [ Variable [ Name=o ]
+ AS
+ Variable [ Name=i ]
+ ]
+ )
+ ]
+ )
+ (
+ LiteralExpr [STRING] [avgcust]
+ :
+ FunctionCall orders-aggreg.avg@1[
+ (
+ SELECT ELEMENT [
+ FieldAccessor [
+ Variable [ Name=i ]
+ Field=total
+ ]
+ ]
+ FROM [ Variable [ Name=o ]
+ AS
+ Variable [ Name=i ]
+ ]
+ )
+ ]
+ )
+]
+]
+FROM [ FunctionCall Metadata.dataset@1[
+ LiteralExpr [STRING] [Orders]
+ ]
+ AS
+ Variable [ Name=o ]
+]
+Groupby
+ Variable [ Name=cid ]
+ :=
+ FieldAccessor [
+ Variable [ Name=o ]
+ Field=cid
+ ]
+ With
+ Variable [ Name=o ]
+
http://git-wip-us.apache.org/repos/asf/incubator-asterixdb/blob/391f09e5/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/orders-composite-index-search.ast
----------------------------------------------------------------------
diff --git a/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/orders-composite-index-search.ast b/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/orders-composite-index-search.ast
new file mode 100644
index 0000000..ca0be74
--- /dev/null
+++ b/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/orders-composite-index-search.ast
@@ -0,0 +1,71 @@
+DataverseUse index_search
+TypeDecl OrderType [
+ closed RecordType {
+ o_orderkey : int32,
+ o_custkey : int32,
+ o_orderstatus : string,
+ o_totalprice : double,
+ o_orderdate : string,
+ o_orderpriority : string,
+ o_clerk : string,
+ o_shippriority : int32,
+ o_comment : string
+ }
+]
+DatasetDecl Orders(OrderType) partitioned by [[o_orderkey]]
+WriteOutputTo nc1:/tmp/index_search.adm
+Query:
+SELECT ELEMENT [
+RecordConstructor [
+ (
+ LiteralExpr [STRING] [o_orderkey]
+ :
+ FieldAccessor [
+ Variable [ Name=o ]
+ Field=o_orderkey
+ ]
+ )
+ (
+ LiteralExpr [STRING] [o_custkey]
+ :
+ FieldAccessor [
+ Variable [ Name=o ]
+ Field=o_custkey
+ ]
+ )
+ (
+ LiteralExpr [STRING] [o_orderstatus]
+ :
+ FieldAccessor [
+ Variable [ Name=o ]
+ Field=o_orderstatus
+ ]
+ )
+]
+]
+FROM [ FunctionCall Metadata.dataset@1[
+ LiteralExpr [STRING] [Orders]
+ ]
+ AS
+ Variable [ Name=o ]
+]
+Where
+ OperatorExpr [
+ OperatorExpr [
+ FieldAccessor [
+ Variable [ Name=o ]
+ Field=o_custkey
+ ]
+ =
+ LiteralExpr [LONG] [40]
+ ]
+ and
+ OperatorExpr [
+ FieldAccessor [
+ Variable [ Name=o ]
+ Field=o_orderstatus
+ ]
+ =
+ LiteralExpr [STRING] [P]
+ ]
+ ]
http://git-wip-us.apache.org/repos/asf/incubator-asterixdb/blob/391f09e5/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/orders-index-search-conjunctive-open_01.ast
----------------------------------------------------------------------
diff --git a/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/orders-index-search-conjunctive-open_01.ast b/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/orders-index-search-conjunctive-open_01.ast
new file mode 100644
index 0000000..66d6a4b
--- /dev/null
+++ b/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/orders-index-search-conjunctive-open_01.ast
@@ -0,0 +1,70 @@
+DataverseUse tpch
+TypeDecl OrderType [
+ open RecordType {
+ o_orderkey : int32,
+ o_custkey : int32,
+ o_orderstatus : string,
+ o_totalprice : double,
+ o_orderdate : string,
+ o_orderpriority : string,
+ o_clerk : string,
+ o_shippriority : int32,
+ o_comment : string
+ }
+]
+DatasetDecl Orders(OrderType) partitioned by [[o_orderkey]]
+WriteOutputTo nc1:/tmp/index_search-conjunctive.adm
+Query:
+SELECT ELEMENT [
+RecordConstructor [
+ (
+ LiteralExpr [STRING] [o_orderkey]
+ :
+ FieldAccessor [
+ Variable [ Name=o ]
+ Field=o_orderkey
+ ]
+ )
+ (
+ LiteralExpr [STRING] [o_custkey]
+ :
+ FieldAccessor [
+ Variable [ Name=o ]
+ Field=o_custkey
+ ]
+ )
+]
+]
+FROM [ FunctionCall Metadata.dataset@1[
+ LiteralExpr [STRING] [Orders]
+ ]
+ AS
+ Variable [ Name=o ]
+]
+Where
+ OperatorExpr [
+ OperatorExpr [
+ FieldAccessor [
+ Variable [ Name=o ]
+ Field=o_custkey
+ ]
+ =
+ LiteralExpr [LONG] [40]
+ ]
+ and
+ OperatorExpr [
+ FieldAccessor [
+ Variable [ Name=o ]
+ Field=o_totalprice
+ ]
+ >
+ LiteralExpr [DOUBLE] [150000.0]
+ ]
+ ]
+Orderby
+ FieldAccessor [
+ Variable [ Name=o ]
+ Field=o_orderkey
+ ]
+ ASC
+
http://git-wip-us.apache.org/repos/asf/incubator-asterixdb/blob/391f09e5/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/orders-index-search-conjunctive-open_02.ast
----------------------------------------------------------------------
diff --git a/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/orders-index-search-conjunctive-open_02.ast b/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/orders-index-search-conjunctive-open_02.ast
new file mode 100644
index 0000000..860b0fd
--- /dev/null
+++ b/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/orders-index-search-conjunctive-open_02.ast
@@ -0,0 +1,78 @@
+DataverseUse tpch
+TypeDecl OrderType [
+ open RecordType {
+ o_orderkey : int32,
+ o_custkey : int32,
+ o_orderstatus : string,
+ o_totalprice : double,
+ o_orderdate : string,
+ o_orderpriority : string,
+ o_clerk : string,
+ o_shippriority : int32,
+ o_comment : string
+ }
+]
+DatasetDecl Orders(OrderType) partitioned by [[o_orderkey]]
+WriteOutputTo nc1:/tmp/index_search-conjunctive.adm
+Query:
+SELECT ELEMENT [
+RecordConstructor [
+ (
+ LiteralExpr [STRING] [o_orderkey]
+ :
+ FieldAccessor [
+ Variable [ Name=o ]
+ Field=o_orderkey
+ ]
+ )
+ (
+ LiteralExpr [STRING] [o_custkey]
+ :
+ FieldAccessor [
+ Variable [ Name=o ]
+ Field=o_custkey
+ ]
+ )
+ (
+ LiteralExpr [STRING] [o_totalprice]
+ :
+ FieldAccessor [
+ Variable [ Name=o ]
+ Field=o_totalprice
+ ]
+ )
+]
+]
+FROM [ FunctionCall Metadata.dataset@1[
+ LiteralExpr [STRING] [Orders]
+ ]
+ AS
+ Variable [ Name=o ]
+]
+Where
+ OperatorExpr [
+ OperatorExpr [
+ FieldAccessor [
+ Variable [ Name=o ]
+ Field=o_custkey
+ ]
+ =
+ LiteralExpr [LONG] [40]
+ ]
+ and
+ OperatorExpr [
+ FieldAccessor [
+ Variable [ Name=o ]
+ Field=o_totalprice
+ ]
+ >
+ LiteralExpr [DOUBLE] [150000.0]
+ ]
+ ]
+Orderby
+ FieldAccessor [
+ Variable [ Name=o ]
+ Field=o_orderkey
+ ]
+ ASC
+
http://git-wip-us.apache.org/repos/asf/incubator-asterixdb/blob/391f09e5/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/orders-index-search-conjunctive_01.ast
----------------------------------------------------------------------
diff --git a/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/orders-index-search-conjunctive_01.ast b/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/orders-index-search-conjunctive_01.ast
new file mode 100644
index 0000000..9e4beb4
--- /dev/null
+++ b/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/orders-index-search-conjunctive_01.ast
@@ -0,0 +1,70 @@
+DataverseUse tpch
+TypeDecl OrderType [
+ closed RecordType {
+ o_orderkey : int32,
+ o_custkey : int32,
+ o_orderstatus : string,
+ o_totalprice : double,
+ o_orderdate : string,
+ o_orderpriority : string,
+ o_clerk : string,
+ o_shippriority : int32,
+ o_comment : string
+ }
+]
+DatasetDecl Orders(OrderType) partitioned by [[o_orderkey]]
+WriteOutputTo nc1:/tmp/index_search-conjunctive.adm
+Query:
+SELECT ELEMENT [
+RecordConstructor [
+ (
+ LiteralExpr [STRING] [o_orderkey]
+ :
+ FieldAccessor [
+ Variable [ Name=o ]
+ Field=o_orderkey
+ ]
+ )
+ (
+ LiteralExpr [STRING] [o_custkey]
+ :
+ FieldAccessor [
+ Variable [ Name=o ]
+ Field=o_custkey
+ ]
+ )
+]
+]
+FROM [ FunctionCall Metadata.dataset@1[
+ LiteralExpr [STRING] [Orders]
+ ]
+ AS
+ Variable [ Name=o ]
+]
+Where
+ OperatorExpr [
+ OperatorExpr [
+ FieldAccessor [
+ Variable [ Name=o ]
+ Field=o_custkey
+ ]
+ =
+ LiteralExpr [LONG] [40]
+ ]
+ and
+ OperatorExpr [
+ FieldAccessor [
+ Variable [ Name=o ]
+ Field=o_totalprice
+ ]
+ >
+ LiteralExpr [DOUBLE] [150000.0]
+ ]
+ ]
+Orderby
+ FieldAccessor [
+ Variable [ Name=o ]
+ Field=o_orderkey
+ ]
+ ASC
+
http://git-wip-us.apache.org/repos/asf/incubator-asterixdb/blob/391f09e5/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/orders-index-search-conjunctive_02.ast
----------------------------------------------------------------------
diff --git a/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/orders-index-search-conjunctive_02.ast b/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/orders-index-search-conjunctive_02.ast
new file mode 100644
index 0000000..136f1f8
--- /dev/null
+++ b/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/orders-index-search-conjunctive_02.ast
@@ -0,0 +1,78 @@
+DataverseUse tpch
+TypeDecl OrderType [
+ closed RecordType {
+ o_orderkey : int32,
+ o_custkey : int32,
+ o_orderstatus : string,
+ o_totalprice : double,
+ o_orderdate : string,
+ o_orderpriority : string,
+ o_clerk : string,
+ o_shippriority : int32,
+ o_comment : string
+ }
+]
+DatasetDecl Orders(OrderType) partitioned by [[o_orderkey]]
+WriteOutputTo nc1:/tmp/index_search-conjunctive.adm
+Query:
+SELECT ELEMENT [
+RecordConstructor [
+ (
+ LiteralExpr [STRING] [o_orderkey]
+ :
+ FieldAccessor [
+ Variable [ Name=o ]
+ Field=o_orderkey
+ ]
+ )
+ (
+ LiteralExpr [STRING] [o_custkey]
+ :
+ FieldAccessor [
+ Variable [ Name=o ]
+ Field=o_custkey
+ ]
+ )
+ (
+ LiteralExpr [STRING] [o_totalprice]
+ :
+ FieldAccessor [
+ Variable [ Name=o ]
+ Field=o_totalprice
+ ]
+ )
+]
+]
+FROM [ FunctionCall Metadata.dataset@1[
+ LiteralExpr [STRING] [Orders]
+ ]
+ AS
+ Variable [ Name=o ]
+]
+Where
+ OperatorExpr [
+ OperatorExpr [
+ FieldAccessor [
+ Variable [ Name=o ]
+ Field=o_custkey
+ ]
+ =
+ LiteralExpr [LONG] [40]
+ ]
+ and
+ OperatorExpr [
+ FieldAccessor [
+ Variable [ Name=o ]
+ Field=o_totalprice
+ ]
+ >
+ LiteralExpr [DOUBLE] [150000.0]
+ ]
+ ]
+Orderby
+ FieldAccessor [
+ Variable [ Name=o ]
+ Field=o_orderkey
+ ]
+ ASC
+
http://git-wip-us.apache.org/repos/asf/incubator-asterixdb/blob/391f09e5/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/orders-index-search-open.ast
----------------------------------------------------------------------
diff --git a/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/orders-index-search-open.ast b/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/orders-index-search-open.ast
new file mode 100644
index 0000000..7eeb2b7
--- /dev/null
+++ b/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/orders-index-search-open.ast
@@ -0,0 +1,52 @@
+DataverseUse index_search
+TypeDecl OrderType [
+ open RecordType {
+ o_orderkey : int32,
+ o_custkey : int32,
+ o_orderstatus : string,
+ o_totalprice : double,
+ o_orderdate : string,
+ o_orderpriority : string,
+ o_clerk : string,
+ o_shippriority : int32,
+ o_comment : string
+ }
+]
+DatasetDecl Orders(OrderType) partitioned by [[o_orderkey]]
+WriteOutputTo nc1:/tmp/index_search.adm
+Query:
+SELECT ELEMENT [
+RecordConstructor [
+ (
+ LiteralExpr [STRING] [o_orderkey]
+ :
+ FieldAccessor [
+ Variable [ Name=o ]
+ Field=o_orderkey
+ ]
+ )
+ (
+ LiteralExpr [STRING] [o_custkey]
+ :
+ FieldAccessor [
+ Variable [ Name=o ]
+ Field=o_custkey
+ ]
+ )
+]
+]
+FROM [ FunctionCall Metadata.dataset@1[
+ LiteralExpr [STRING] [Orders]
+ ]
+ AS
+ Variable [ Name=o ]
+]
+Where
+ OperatorExpr [
+ FieldAccessor [
+ Variable [ Name=o ]
+ Field=o_custkey
+ ]
+ =
+ LiteralExpr [LONG] [40]
+ ]
http://git-wip-us.apache.org/repos/asf/incubator-asterixdb/blob/391f09e5/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/orders-index-search.ast
----------------------------------------------------------------------
diff --git a/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/orders-index-search.ast b/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/orders-index-search.ast
new file mode 100644
index 0000000..31fe195
--- /dev/null
+++ b/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/orders-index-search.ast
@@ -0,0 +1,52 @@
+DataverseUse index_search
+TypeDecl OrderType [
+ closed RecordType {
+ o_orderkey : int32,
+ o_custkey : int32,
+ o_orderstatus : string,
+ o_totalprice : double,
+ o_orderdate : string,
+ o_orderpriority : string,
+ o_clerk : string,
+ o_shippriority : int32,
+ o_comment : string
+ }
+]
+DatasetDecl Orders(OrderType) partitioned by [[o_orderkey]]
+WriteOutputTo nc1:/tmp/index_search.adm
+Query:
+SELECT ELEMENT [
+RecordConstructor [
+ (
+ LiteralExpr [STRING] [o_orderkey]
+ :
+ FieldAccessor [
+ Variable [ Name=o ]
+ Field=o_orderkey
+ ]
+ )
+ (
+ LiteralExpr [STRING] [o_custkey]
+ :
+ FieldAccessor [
+ Variable [ Name=o ]
+ Field=o_custkey
+ ]
+ )
+]
+]
+FROM [ FunctionCall Metadata.dataset@1[
+ LiteralExpr [STRING] [Orders]
+ ]
+ AS
+ Variable [ Name=o ]
+]
+Where
+ OperatorExpr [
+ FieldAccessor [
+ Variable [ Name=o ]
+ Field=o_custkey
+ ]
+ =
+ LiteralExpr [LONG] [40]
+ ]
http://git-wip-us.apache.org/repos/asf/incubator-asterixdb/blob/391f09e5/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/prim-idx-search-open.ast
----------------------------------------------------------------------
diff --git a/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/prim-idx-search-open.ast b/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/prim-idx-search-open.ast
new file mode 100644
index 0000000..4217fa0
--- /dev/null
+++ b/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/prim-idx-search-open.ast
@@ -0,0 +1,52 @@
+DataverseUse prim_index_search
+TypeDecl OrderType [
+ open RecordType {
+ o_orderkey : int32,
+ o_custkey : int32,
+ o_orderstatus : string,
+ o_totalprice : double,
+ o_orderdate : string,
+ o_orderpriority : string,
+ o_clerk : string,
+ o_shippriority : int32,
+ o_comment : string
+ }
+]
+DatasetDecl Orders(OrderType) partitioned by [[o_orderkey]]
+WriteOutputTo nc1:/tmp/prim_index_search.adm
+Query:
+SELECT ELEMENT [
+RecordConstructor [
+ (
+ LiteralExpr [STRING] [o_orderkey]
+ :
+ FieldAccessor [
+ Variable [ Name=o ]
+ Field=o_orderkey
+ ]
+ )
+ (
+ LiteralExpr [STRING] [o_custkey]
+ :
+ FieldAccessor [
+ Variable [ Name=o ]
+ Field=o_custkey
+ ]
+ )
+]
+]
+FROM [ FunctionCall Metadata.dataset@1[
+ LiteralExpr [STRING] [Orders]
+ ]
+ AS
+ Variable [ Name=o ]
+]
+Where
+ OperatorExpr [
+ FieldAccessor [
+ Variable [ Name=o ]
+ Field=o_orderkey
+ ]
+ =
+ LiteralExpr [LONG] [34]
+ ]
http://git-wip-us.apache.org/repos/asf/incubator-asterixdb/blob/391f09e5/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/prim-idx-search.ast
----------------------------------------------------------------------
diff --git a/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/prim-idx-search.ast b/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/prim-idx-search.ast
new file mode 100644
index 0000000..6574c68
--- /dev/null
+++ b/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/prim-idx-search.ast
@@ -0,0 +1,52 @@
+DataverseUse prim_index_search
+TypeDecl OrderType [
+ closed RecordType {
+ o_orderkey : int32,
+ o_custkey : int32,
+ o_orderstatus : string,
+ o_totalprice : double,
+ o_orderdate : string,
+ o_orderpriority : string,
+ o_clerk : string,
+ o_shippriority : int32,
+ o_comment : string
+ }
+]
+DatasetDecl Orders(OrderType) partitioned by [[o_orderkey]]
+WriteOutputTo nc1:/tmp/prim_index_search.adm
+Query:
+SELECT ELEMENT [
+RecordConstructor [
+ (
+ LiteralExpr [STRING] [o_orderkey]
+ :
+ FieldAccessor [
+ Variable [ Name=o ]
+ Field=o_orderkey
+ ]
+ )
+ (
+ LiteralExpr [STRING] [o_custkey]
+ :
+ FieldAccessor [
+ Variable [ Name=o ]
+ Field=o_custkey
+ ]
+ )
+]
+]
+FROM [ FunctionCall Metadata.dataset@1[
+ LiteralExpr [STRING] [Orders]
+ ]
+ AS
+ Variable [ Name=o ]
+]
+Where
+ OperatorExpr [
+ FieldAccessor [
+ Variable [ Name=o ]
+ Field=o_orderkey
+ ]
+ =
+ LiteralExpr [LONG] [34]
+ ]
http://git-wip-us.apache.org/repos/asf/incubator-asterixdb/blob/391f09e5/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/pull_select_above_eq_join.ast
----------------------------------------------------------------------
diff --git a/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/pull_select_above_eq_join.ast b/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/pull_select_above_eq_join.ast
new file mode 100644
index 0000000..2f71b8b
--- /dev/null
+++ b/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/pull_select_above_eq_join.ast
@@ -0,0 +1,81 @@
+DataverseUse pull-select-above-eq-join
+TypeDecl UserType [
+ open RecordType {
+ uid : int32,
+ name : string,
+ city : string,
+ lottery_numbers : UnorderedList <int32>
+
+ }
+]
+TypeDecl VisitorType [
+ open RecordType {
+ vid : int32,
+ name : string,
+ city : string,
+ lottery_numbers : UnorderedList <int32>
+
+ }
+]
+DatasetDecl Users(UserType) partitioned by [[uid]]
+DatasetDecl Visitors(VisitorType) partitioned by [[vid]]
+WriteOutputTo nc1:/tmp/pull-select-above-eq-join.adm
+Query:
+SELECT ELEMENT [
+RecordConstructor [
+ (
+ LiteralExpr [STRING] [uid]
+ :
+ FieldAccessor [
+ Variable [ Name=user ]
+ Field=uid
+ ]
+ )
+ (
+ LiteralExpr [STRING] [vid]
+ :
+ FieldAccessor [
+ Variable [ Name=visitor ]
+ Field=vid
+ ]
+ )
+]
+]
+FROM [ FunctionCall Metadata.dataset@1[
+ LiteralExpr [STRING] [Users]
+ ]
+ AS
+ Variable [ Name=user ]
+,
+ FunctionCall Metadata.dataset@1[
+ LiteralExpr [STRING] [Visitors]
+ ]
+ AS
+ Variable [ Name=visitor ]
+]
+Where
+ OperatorExpr [
+ OperatorExpr [
+ FieldAccessor [
+ Variable [ Name=user ]
+ Field=name
+ ]
+ =
+ FieldAccessor [
+ Variable [ Name=visitor ]
+ Field=name
+ ]
+ ]
+ and
+ OperatorExpr [
+ FieldAccessor [
+ Variable [ Name=user ]
+ Field=city
+ ]
+ !=
+ FieldAccessor [
+ Variable [ Name=visitor ]
+ Field=city
+ ]
+ ]
+ ]
http://git-wip-us.apache.org/repos/asf/incubator-asterixdb/blob/391f09e5/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/push-project-through-group.ast
----------------------------------------------------------------------
diff --git a/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/push-project-through-group.ast b/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/push-project-through-group.ast
new file mode 100644
index 0000000..45841bd
--- /dev/null
+++ b/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/push-project-through-group.ast
@@ -0,0 +1,64 @@
+DataverseUse fuzzyjoin_080
+TypeDecl DBLPType [
+ open RecordType {
+ id : int32,
+ dblpid : string,
+ title : string,
+ authors : string,
+ misc : string
+ }
+]
+DatasetDecl DBLP(DBLPType) partitioned by [[id]]
+WriteOutputTo nc1:rttest/fuzzyjoin_080.adm
+Query:
+SELECT ELEMENT [
+RecordConstructor [
+ (
+ LiteralExpr [STRING] [id]
+ :
+ FieldAccessor [
+ Variable [ Name=paperDBLP ]
+ Field=id
+ ]
+ )
+ (
+ LiteralExpr [STRING] [matches]
+ :
+ Variable [ Name=matches ]
+ )
+]
+]
+FROM [ FunctionCall Metadata.dataset@1[
+ LiteralExpr [STRING] [DBLP]
+ ]
+ AS
+ Variable [ Name=paperDBLP ]
+]
+LetVariable [ Name=matches ]
+ :=
+ (
+ SELECT ELEMENT [
+ FieldAccessor [
+ Variable [ Name=paper ]
+ Field=title
+ ]
+ ]
+ FROM [ FunctionCall Metadata.dataset@1[
+ LiteralExpr [STRING] [DBLP]
+ ]
+ AS
+ Variable [ Name=paper ]
+ ]
+ Where
+ OperatorExpr [
+ FieldAccessor [
+ Variable [ Name=paper ]
+ Field=authors
+ ]
+ =
+ FieldAccessor [
+ Variable [ Name=paperDBLP ]
+ Field=authors
+ ]
+ ]
+ )
http://git-wip-us.apache.org/repos/asf/incubator-asterixdb/blob/391f09e5/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/push_limit.ast
----------------------------------------------------------------------
diff --git a/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/push_limit.ast b/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/push_limit.ast
new file mode 100644
index 0000000..914f997
--- /dev/null
+++ b/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/push_limit.ast
@@ -0,0 +1,63 @@
+DataverseUse tpch
+TypeDecl OrderType [
+ closed RecordType {
+ o_orderkey : int32,
+ o_custkey : int32,
+ o_orderstatus : string,
+ o_totalprice : double,
+ o_orderdate : string,
+ o_orderpriority : string,
+ o_clerk : string,
+ o_shippriority : int32,
+ o_comment : string
+ }
+]
+DatasetDecl Orders(OrderType) partitioned by [[o_orderkey]]
+WriteOutputTo nc1:/tmp/push_limit.adm
+Query:
+SELECT ELEMENT [
+RecordConstructor [
+ (
+ LiteralExpr [STRING] [price]
+ :
+ FieldAccessor [
+ Variable [ Name=o ]
+ Field=o_totalprice
+ ]
+ )
+ (
+ LiteralExpr [STRING] [date]
+ :
+ FieldAccessor [
+ Variable [ Name=o ]
+ Field=o_orderdate
+ ]
+ )
+]
+]
+FROM [ FunctionCall Metadata.dataset@1[
+ LiteralExpr [STRING] [Orders]
+ ]
+ AS
+ Variable [ Name=o ]
+]
+Where
+ OperatorExpr [
+ FieldAccessor [
+ Variable [ Name=o ]
+ Field=o_totalprice
+ ]
+ >
+ LiteralExpr [LONG] [100]
+ ]
+Orderby
+ FieldAccessor [
+ Variable [ Name=o ]
+ Field=o_orderkey
+ ]
+ ASC
+
+Limit
+ LiteralExpr [LONG] [10]
+ Offset
+ LiteralExpr [LONG] [5]
http://git-wip-us.apache.org/repos/asf/incubator-asterixdb/blob/391f09e5/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/q01_pricing_summary_report_nt.ast
----------------------------------------------------------------------
diff --git a/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/q01_pricing_summary_report_nt.ast b/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/q01_pricing_summary_report_nt.ast
new file mode 100644
index 0000000..9ed8f0e
--- /dev/null
+++ b/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/q01_pricing_summary_report_nt.ast
@@ -0,0 +1,239 @@
+DataverseUse tpch
+TypeDecl LineItemType [
+ closed RecordType {
+ l_orderkey : int32,
+ l_partkey : int32,
+ l_suppkey : int32,
+ l_linenumber : int32,
+ l_quantity : double,
+ l_extendedprice : double,
+ l_discount : double,
+ l_tax : double,
+ l_returnflag : string,
+ l_linestatus : string,
+ l_shipdate : string,
+ l_commitdate : string,
+ l_receiptdate : string,
+ l_shipinstruct : string,
+ l_shipmode : string,
+ l_comment : string
+ }
+]
+DatasetDecl LineItem(LineItemType) partitioned by [[l_orderkey], [l_linenumber]]
+WriteOutputTo nc1:rttest/tpch_q1_pricing_summary_report_nt.adm
+Query:
+SELECT ELEMENT [
+RecordConstructor [
+ (
+ LiteralExpr [STRING] [l_returnflag]
+ :
+ Variable [ Name=l_returnflag ]
+ )
+ (
+ LiteralExpr [STRING] [l_linestatus]
+ :
+ Variable [ Name=l_linestatus ]
+ )
+ (
+ LiteralExpr [STRING] [sum_qty]
+ :
+ FunctionCall tpch.sum@1[
+ (
+ SELECT ELEMENT [
+ FieldAccessor [
+ Variable [ Name=i ]
+ Field=l_quantity
+ ]
+ ]
+ FROM [ Variable [ Name=l ]
+ AS
+ Variable [ Name=i ]
+ ]
+ )
+ ]
+ )
+ (
+ LiteralExpr [STRING] [sum_base_price]
+ :
+ FunctionCall tpch.sum@1[
+ (
+ SELECT ELEMENT [
+ FieldAccessor [
+ Variable [ Name=i ]
+ Field=l_extendedprice
+ ]
+ ]
+ FROM [ Variable [ Name=l ]
+ AS
+ Variable [ Name=i ]
+ ]
+ )
+ ]
+ )
+ (
+ LiteralExpr [STRING] [sum_disc_price]
+ :
+ FunctionCall tpch.sum@1[
+ (
+ SELECT ELEMENT [
+ OperatorExpr [
+ FieldAccessor [
+ Variable [ Name=i ]
+ Field=l_extendedprice
+ ]
+ *
+ OperatorExpr [
+ LiteralExpr [LONG] [1]
+ -
+ FieldAccessor [
+ Variable [ Name=i ]
+ Field=l_discount
+ ]
+ ]
+ ]
+ ]
+ FROM [ Variable [ Name=l ]
+ AS
+ Variable [ Name=i ]
+ ]
+ )
+ ]
+ )
+ (
+ LiteralExpr [STRING] [sum_charge]
+ :
+ FunctionCall tpch.sum@1[
+ (
+ SELECT ELEMENT [
+ OperatorExpr [
+ FieldAccessor [
+ Variable [ Name=i ]
+ Field=l_extendedprice
+ ]
+ *
+ OperatorExpr [
+ LiteralExpr [LONG] [1]
+ -
+ FieldAccessor [
+ Variable [ Name=i ]
+ Field=l_discount
+ ]
+ ]
+ *
+ OperatorExpr [
+ LiteralExpr [LONG] [1]
+ +
+ FieldAccessor [
+ Variable [ Name=i ]
+ Field=l_tax
+ ]
+ ]
+ ]
+ ]
+ FROM [ Variable [ Name=l ]
+ AS
+ Variable [ Name=i ]
+ ]
+ )
+ ]
+ )
+ (
+ LiteralExpr [STRING] [ave_qty]
+ :
+ FunctionCall tpch.avg@1[
+ (
+ SELECT ELEMENT [
+ FieldAccessor [
+ Variable [ Name=i ]
+ Field=l_quantity
+ ]
+ ]
+ FROM [ Variable [ Name=l ]
+ AS
+ Variable [ Name=i ]
+ ]
+ )
+ ]
+ )
+ (
+ LiteralExpr [STRING] [ave_price]
+ :
+ FunctionCall tpch.avg@1[
+ (
+ SELECT ELEMENT [
+ FieldAccessor [
+ Variable [ Name=i ]
+ Field=l_extendedprice
+ ]
+ ]
+ FROM [ Variable [ Name=l ]
+ AS
+ Variable [ Name=i ]
+ ]
+ )
+ ]
+ )
+ (
+ LiteralExpr [STRING] [ave_disc]
+ :
+ FunctionCall tpch.avg@1[
+ (
+ SELECT ELEMENT [
+ FieldAccessor [
+ Variable [ Name=i ]
+ Field=l_discount
+ ]
+ ]
+ FROM [ Variable [ Name=l ]
+ AS
+ Variable [ Name=i ]
+ ]
+ )
+ ]
+ )
+ (
+ LiteralExpr [STRING] [count_order]
+ :
+ FunctionCall tpch.count@1[
+ Variable [ Name=l ]
+ ]
+ )
+]
+]
+FROM [ FunctionCall Metadata.dataset@1[
+ LiteralExpr [STRING] [LineItem]
+ ]
+ AS
+ Variable [ Name=l ]
+]
+Where
+ OperatorExpr [
+ FieldAccessor [
+ Variable [ Name=l ]
+ Field=l_shipdate
+ ]
+ <=
+ LiteralExpr [STRING] [1998-09-02]
+ ]
+Groupby
+ Variable [ Name=l_returnflag ]
+ :=
+ FieldAccessor [
+ Variable [ Name=l ]
+ Field=l_returnflag
+ ]
+ Variable [ Name=l_linestatus ]
+ :=
+ FieldAccessor [
+ Variable [ Name=l ]
+ Field=l_linestatus
+ ]
+ With
+ Variable [ Name=l ]
+
+Orderby
+ Variable [ Name=l_returnflag ]
+ ASC
+ Variable [ Name=l_linestatus ]
+ ASC
+
http://git-wip-us.apache.org/repos/asf/incubator-asterixdb/blob/391f09e5/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/q03_shipping_priority.ast
----------------------------------------------------------------------
diff --git a/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/q03_shipping_priority.ast b/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/q03_shipping_priority.ast
new file mode 100644
index 0000000..81491c0
--- /dev/null
+++ b/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/q03_shipping_priority.ast
@@ -0,0 +1,209 @@
+DataverseUse q3_shipping_priority
+TypeDecl LineItemType [
+ closed RecordType {
+ l_orderkey : int32,
+ l_partkey : int32,
+ l_suppkey : int32,
+ l_linenumber : int32,
+ l_quantity : double,
+ l_extendedprice : double,
+ l_discount : double,
+ l_tax : double,
+ l_returnflag : string,
+ l_linestatus : string,
+ l_shipdate : string,
+ l_commitdate : string,
+ l_receiptdate : string,
+ l_shipinstruct : string,
+ l_shipmode : string,
+ l_comment : string
+ }
+]
+TypeDecl OrderType [
+ closed RecordType {
+ o_orderkey : int32,
+ o_custkey : int32,
+ o_orderstatus : string,
+ o_totalprice : double,
+ o_orderdate : string,
+ o_orderpriority : string,
+ o_clerk : string,
+ o_shippriority : int32,
+ o_comment : string
+ }
+]
+TypeDecl CustomerType [
+ closed RecordType {
+ c_custkey : int32,
+ c_name : string,
+ c_address : string,
+ c_nationkey : int32,
+ c_phone : string,
+ c_acctbal : double,
+ c_mktsegment : string,
+ c_comment : string
+ }
+]
+DatasetDecl LineItems(LineItemType) partitioned by [[l_orderkey], [l_linenumber]]
+DatasetDecl Orders(OrderType) partitioned by [[o_orderkey]]
+DatasetDecl Customers(CustomerType) partitioned by [[c_custkey]]
+WriteOutputTo nc1:/tmp/q3_shipping_priority.adm
+Query:
+SELECT ELEMENT [
+RecordConstructor [
+ (
+ LiteralExpr [STRING] [l_orderkey]
+ :
+ Variable [ Name=l_orderkey ]
+ )
+ (
+ LiteralExpr [STRING] [revenue]
+ :
+ Variable [ Name=revenue ]
+ )
+ (
+ LiteralExpr [STRING] [o_orderdate]
+ :
+ Variable [ Name=o_orderdate ]
+ )
+ (
+ LiteralExpr [STRING] [o_shippriority]
+ :
+ Variable [ Name=o_shippriority ]
+ )
+]
+]
+FROM [ FunctionCall Metadata.dataset@1[
+ LiteralExpr [STRING] [Customers]
+ ]
+ AS
+ Variable [ Name=c ]
+,
+ FunctionCall Metadata.dataset@1[
+ LiteralExpr [STRING] [Orders]
+ ]
+ AS
+ Variable [ Name=o ]
+,
+ FunctionCall Metadata.dataset@1[
+ LiteralExpr [STRING] [LineItems]
+ ]
+ AS
+ Variable [ Name=l ]
+]
+Where
+ OperatorExpr [
+ OperatorExpr [
+ OperatorExpr [
+ FieldAccessor [
+ Variable [ Name=c ]
+ Field=c_mktsegment
+ ]
+ =
+ LiteralExpr [STRING] [BUILDING]
+ ]
+ and
+ OperatorExpr [
+ FieldAccessor [
+ Variable [ Name=c ]
+ Field=c_custkey
+ ]
+ =
+ FieldAccessor [
+ Variable [ Name=o ]
+ Field=o_custkey
+ ]
+ ]
+ ]
+ and
+ OperatorExpr [
+ OperatorExpr [
+ FieldAccessor [
+ Variable [ Name=l ]
+ Field=l_orderkey
+ ]
+ =
+ FieldAccessor [
+ Variable [ Name=o ]
+ Field=o_orderkey
+ ]
+ ]
+ and
+ OperatorExpr [
+ FieldAccessor [
+ Variable [ Name=o ]
+ Field=o_orderdate
+ ]
+ <
+ LiteralExpr [STRING] [1995-03-15]
+ ]
+ and
+ OperatorExpr [
+ FieldAccessor [
+ Variable [ Name=l ]
+ Field=l_shipdate
+ ]
+ >
+ LiteralExpr [STRING] [1995-03-15]
+ ]
+ ]
+ ]
+Groupby
+ Variable [ Name=l_orderkey ]
+ :=
+ FieldAccessor [
+ Variable [ Name=l ]
+ Field=l_orderkey
+ ]
+ Variable [ Name=o_orderdate ]
+ :=
+ FieldAccessor [
+ Variable [ Name=o ]
+ Field=o_orderdate
+ ]
+ Variable [ Name=o_shippriority ]
+ :=
+ FieldAccessor [
+ Variable [ Name=o ]
+ Field=o_shippriority
+ ]
+ With
+ Variable [ Name=c ]
+ Variable [ Name=l ]
+ Variable [ Name=o ]
+
+LetVariable [ Name=revenue ]
+ :=
+ FunctionCall q3_shipping_priority.sum@1[
+ (
+ SELECT ELEMENT [
+ OperatorExpr [
+ FieldAccessor [
+ Variable [ Name=i ]
+ Field=l_extendedprice
+ ]
+ *
+ OperatorExpr [
+ LiteralExpr [LONG] [1]
+ -
+ FieldAccessor [
+ Variable [ Name=i ]
+ Field=l_discount
+ ]
+ ]
+ ]
+ ]
+ FROM [ Variable [ Name=l ]
+ AS
+ Variable [ Name=i ]
+ ]
+ )
+ ]
+Orderby
+ Variable [ Name=revenue ]
+ DESC
+ Variable [ Name=o_orderdate ]
+ ASC
+
+Limit
+ LiteralExpr [LONG] [10]
http://git-wip-us.apache.org/repos/asf/incubator-asterixdb/blob/391f09e5/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/q05_local_supplier_volume.ast
----------------------------------------------------------------------
diff --git a/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/q05_local_supplier_volume.ast b/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/q05_local_supplier_volume.ast
new file mode 100644
index 0000000..0e1f7ee
--- /dev/null
+++ b/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/q05_local_supplier_volume.ast
@@ -0,0 +1,433 @@
+DataverseUse q5_local_supplier
+TypeDecl LineItemType [
+ closed RecordType {
+ l_orderkey : int32,
+ l_partkey : int32,
+ l_suppkey : int32,
+ l_linenumber : int32,
+ l_quantity : double,
+ l_extendedprice : double,
+ l_discount : double,
+ l_tax : double,
+ l_returnflag : string,
+ l_linestatus : string,
+ l_shipdate : string,
+ l_commitdate : string,
+ l_receiptdate : string,
+ l_shipinstruct : string,
+ l_shipmode : string,
+ l_comment : string
+ }
+]
+TypeDecl OrderType [
+ closed RecordType {
+ o_orderkey : int32,
+ o_custkey : int32,
+ o_orderstatus : string,
+ o_totalprice : double,
+ o_orderdate : string,
+ o_orderpriority : string,
+ o_clerk : string,
+ o_shippriority : int32,
+ o_comment : string
+ }
+]
+TypeDecl CustomerType [
+ closed RecordType {
+ c_custkey : int32,
+ c_name : string,
+ c_address : string,
+ c_nationkey : int32,
+ c_phone : string,
+ c_acctbal : double,
+ c_mktsegment : string,
+ c_comment : string
+ }
+]
+TypeDecl SupplierType [
+ closed RecordType {
+ s_suppkey : int32,
+ s_name : string,
+ s_address : string,
+ s_nationkey : int32,
+ s_phone : string,
+ s_acctbal : double,
+ s_comment : string
+ }
+]
+TypeDecl NationType [
+ closed RecordType {
+ n_nationkey : int32,
+ n_name : string,
+ n_regionkey : int32,
+ n_comment : string
+ }
+]
+TypeDecl RegionType [
+ closed RecordType {
+ r_regionkey : int32,
+ r_name : string,
+ r_comment : string
+ }
+]
+DatasetDecl LineItems(LineItemType) partitioned by [[l_orderkey], [l_linenumber]]
+DatasetDecl Orders(OrderType) partitioned by [[o_orderkey]]
+DatasetDecl Customers(CustomerType) partitioned by [[c_custkey]]
+DatasetDecl Suppliers(SupplierType) partitioned by [[s_suppkey]]
+DatasetDecl Nations(NationType) partitioned by [[n_nationkey]]
+DatasetDecl Regions(RegionType) partitioned by [[r_regionkey]]
+WriteOutputTo nc1:/tmp/q5_local_supplier.adm
+Query:
+SELECT ELEMENT [
+RecordConstructor [
+ (
+ LiteralExpr [STRING] [n_name]
+ :
+ Variable [ Name=n_name ]
+ )
+ (
+ LiteralExpr [STRING] [revenue]
+ :
+ Variable [ Name=revenue ]
+ )
+]
+]
+FROM [ FunctionCall Metadata.dataset@1[
+ LiteralExpr [STRING] [Customers]
+ ]
+ AS
+ Variable [ Name=c ]
+,
+ (
+ SELECT ELEMENT [
+ RecordConstructor [
+ (
+ LiteralExpr [STRING] [n_name]
+ :
+ FieldAccessor [
+ Variable [ Name=l1 ]
+ Field=n_name
+ ]
+ )
+ (
+ LiteralExpr [STRING] [l_extendedprice]
+ :
+ FieldAccessor [
+ Variable [ Name=l1 ]
+ Field=l_extendedprice
+ ]
+ )
+ (
+ LiteralExpr [STRING] [l_discount]
+ :
+ FieldAccessor [
+ Variable [ Name=l1 ]
+ Field=l_discount
+ ]
+ )
+ (
+ LiteralExpr [STRING] [s_nationkey]
+ :
+ FieldAccessor [
+ Variable [ Name=l1 ]
+ Field=s_nationkey
+ ]
+ )
+ (
+ LiteralExpr [STRING] [o_custkey]
+ :
+ FieldAccessor [
+ Variable [ Name=o ]
+ Field=o_custkey
+ ]
+ )
+ ]
+ ]
+ FROM [ FunctionCall Metadata.dataset@1[
+ LiteralExpr [STRING] [Orders]
+ ]
+ AS
+ Variable [ Name=o ]
+,
+ (
+ SELECT ELEMENT [
+ RecordConstructor [
+ (
+ LiteralExpr [STRING] [n_name]
+ :
+ FieldAccessor [
+ Variable [ Name=s1 ]
+ Field=n_name
+ ]
+ )
+ (
+ LiteralExpr [STRING] [l_extendedprice]
+ :
+ FieldAccessor [
+ Variable [ Name=l ]
+ Field=l_extendedprice
+ ]
+ )
+ (
+ LiteralExpr [STRING] [l_discount]
+ :
+ FieldAccessor [
+ Variable [ Name=l ]
+ Field=l_discount
+ ]
+ )
+ (
+ LiteralExpr [STRING] [l_orderkey]
+ :
+ FieldAccessor [
+ Variable [ Name=l ]
+ Field=l_orderkey
+ ]
+ )
+ (
+ LiteralExpr [STRING] [s_nationkey]
+ :
+ FieldAccessor [
+ Variable [ Name=s1 ]
+ Field=s_nationkey
+ ]
+ )
+ ]
+ ]
+ FROM [ FunctionCall Metadata.dataset@1[
+ LiteralExpr [STRING] [LineItems]
+ ]
+ AS
+ Variable [ Name=l ]
+,
+ (
+ SELECT ELEMENT [
+ RecordConstructor [
+ (
+ LiteralExpr [STRING] [n_name]
+ :
+ FieldAccessor [
+ Variable [ Name=n1 ]
+ Field=n_name
+ ]
+ )
+ (
+ LiteralExpr [STRING] [s_suppkey]
+ :
+ FieldAccessor [
+ Variable [ Name=s ]
+ Field=s_suppkey
+ ]
+ )
+ (
+ LiteralExpr [STRING] [s_nationkey]
+ :
+ FieldAccessor [
+ Variable [ Name=s ]
+ Field=s_nationkey
+ ]
+ )
+ ]
+ ]
+ FROM [ FunctionCall Metadata.dataset@1[
+ LiteralExpr [STRING] [Suppliers]
+ ]
+ AS
+ Variable [ Name=s ]
+,
+ (
+ SELECT ELEMENT [
+ RecordConstructor [
+ (
+ LiteralExpr [STRING] [n_name]
+ :
+ FieldAccessor [
+ Variable [ Name=n ]
+ Field=n_name
+ ]
+ )
+ (
+ LiteralExpr [STRING] [n_nationkey]
+ :
+ FieldAccessor [
+ Variable [ Name=n ]
+ Field=n_nationkey
+ ]
+ )
+ ]
+ ]
+ FROM [ FunctionCall Metadata.dataset@1[
+ LiteralExpr [STRING] [Nations]
+ ]
+ AS
+ Variable [ Name=n ]
+,
+ FunctionCall Metadata.dataset@1[
+ LiteralExpr [STRING] [Regions]
+ ]
+ AS
+ Variable [ Name=r ]
+ ]
+ Where
+ OperatorExpr [
+ OperatorExpr [
+ FieldAccessor [
+ Variable [ Name=n ]
+ Field=n_regionkey
+ ]
+ =
+ FieldAccessor [
+ Variable [ Name=r ]
+ Field=r_regionkey
+ ]
+ ]
+ and
+ OperatorExpr [
+ FieldAccessor [
+ Variable [ Name=r ]
+ Field=r_name
+ ]
+ =
+ LiteralExpr [STRING] [ASIA]
+ ]
+ ]
+ )
+ AS
+ Variable [ Name=n1 ]
+ ]
+ Where
+ OperatorExpr [
+ FieldAccessor [
+ Variable [ Name=s ]
+ Field=s_nationkey
+ ]
+ =
+ FieldAccessor [
+ Variable [ Name=n1 ]
+ Field=n_nationkey
+ ]
+ ]
+ )
+ AS
+ Variable [ Name=s1 ]
+ ]
+ Where
+ OperatorExpr [
+ FieldAccessor [
+ Variable [ Name=l ]
+ Field=l_suppkey
+ ]
+ =
+ FieldAccessor [
+ Variable [ Name=s1 ]
+ Field=s_suppkey
+ ]
+ ]
+ )
+ AS
+ Variable [ Name=l1 ]
+ ]
+ Where
+ OperatorExpr [
+ OperatorExpr [
+ FieldAccessor [
+ Variable [ Name=l1 ]
+ Field=l_orderkey
+ ]
+ =
+ FieldAccessor [
+ Variable [ Name=o ]
+ Field=o_orderkey
+ ]
+ ]
+ and
+ OperatorExpr [
+ FieldAccessor [
+ Variable [ Name=o ]
+ Field=o_orderdate
+ ]
+ >=
+ LiteralExpr [STRING] [1994-01-01]
+ ]
+ and
+ OperatorExpr [
+ FieldAccessor [
+ Variable [ Name=o ]
+ Field=o_orderdate
+ ]
+ <
+ LiteralExpr [STRING] [1995-01-01]
+ ]
+ ]
+ )
+ AS
+ Variable [ Name=o1 ]
+]
+Where
+ OperatorExpr [
+ OperatorExpr [
+ FieldAccessor [
+ Variable [ Name=c ]
+ Field=c_nationkey
+ ]
+ =
+ FieldAccessor [
+ Variable [ Name=o1 ]
+ Field=s_nationkey
+ ]
+ ]
+ and
+ OperatorExpr [
+ FieldAccessor [
+ Variable [ Name=c ]
+ Field=c_custkey
+ ]
+ =
+ FieldAccessor [
+ Variable [ Name=o1 ]
+ Field=o_custkey
+ ]
+ ]
+ ]
+Groupby
+ Variable [ Name=n_name ]
+ :=
+ FieldAccessor [
+ Variable [ Name=o1 ]
+ Field=n_name
+ ]
+ With
+ Variable [ Name=o1 ]
+ Variable [ Name=c ]
+
+LetVariable [ Name=revenue ]
+ :=
+ FunctionCall q5_local_supplier.sum@1[
+ (
+ SELECT ELEMENT [
+ OperatorExpr [
+ FieldAccessor [
+ Variable [ Name=i ]
+ Field=l_extendedprice
+ ]
+ *
+ OperatorExpr [
+ LiteralExpr [LONG] [1]
+ -
+ FieldAccessor [
+ Variable [ Name=i ]
+ Field=l_discount
+ ]
+ ]
+ ]
+ ]
+ FROM [ Variable [ Name=o1 ]
+ AS
+ Variable [ Name=i ]
+ ]
+ )
+ ]
+Orderby
+ Variable [ Name=revenue ]
+ DESC
+
http://git-wip-us.apache.org/repos/asf/incubator-asterixdb/blob/391f09e5/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/q08_group_by.ast
----------------------------------------------------------------------
diff --git a/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/q08_group_by.ast b/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/q08_group_by.ast
new file mode 100644
index 0000000..0e9337f
--- /dev/null
+++ b/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/q08_group_by.ast
@@ -0,0 +1,442 @@
+DataverseUse q08_group_by
+TypeDecl LineItemType [
+ closed RecordType {
+ l_orderkey : int32,
+ l_partkey : int32,
+ l_suppkey : int32,
+ l_linenumber : int32,
+ l_quantity : double,
+ l_extendedprice : double,
+ l_discount : double,
+ l_tax : double,
+ l_returnflag : string,
+ l_linestatus : string,
+ l_shipdate : string,
+ l_commitdate : string,
+ l_receiptdate : string,
+ l_shipinstruct : string,
+ l_shipmode : string,
+ l_comment : string
+ }
+]
+TypeDecl OrderType [
+ closed RecordType {
+ o_orderkey : int32,
+ o_custkey : int32,
+ o_orderstatus : string,
+ o_totalprice : double,
+ o_orderdate : string,
+ o_orderpriority : string,
+ o_clerk : string,
+ o_shippriority : int32,
+ o_comment : string
+ }
+]
+TypeDecl CustomerType [
+ closed RecordType {
+ c_custkey : int32,
+ c_name : string,
+ c_address : string,
+ c_nationkey : int32,
+ c_phone : string,
+ c_acctbal : double,
+ c_mktsegment : string,
+ c_comment : string
+ }
+]
+TypeDecl SupplierType [
+ closed RecordType {
+ s_suppkey : int32,
+ s_name : string,
+ s_address : string,
+ s_nationkey : int32,
+ s_phone : string,
+ s_acctbal : double,
+ s_comment : string
+ }
+]
+TypeDecl NationType [
+ closed RecordType {
+ n_nationkey : int32,
+ n_name : string,
+ n_regionkey : int32,
+ n_comment : string
+ }
+]
+TypeDecl RegionType [
+ closed RecordType {
+ r_regionkey : int32,
+ r_name : string,
+ r_comment : string
+ }
+]
+TypeDecl PartType [
+ closed RecordType {
+ p_partkey : int32,
+ p_name : string,
+ p_mfgr : string,
+ p_brand : string,
+ p_type : string,
+ p_size : int32,
+ p_container : string,
+ p_retailprice : double,
+ p_comment : string
+ }
+]
+DatasetDecl LineItem(LineItemType) partitioned by [[l_orderkey], [l_linenumber]]
+DatasetDecl Orders(OrderType) partitioned by [[o_orderkey]]
+DatasetDecl Customer(CustomerType) partitioned by [[c_custkey]]
+DatasetDecl Supplier(SupplierType) partitioned by [[s_suppkey]]
+DatasetDecl Nation(NationType) partitioned by [[n_nationkey]]
+DatasetDecl Region(RegionType) partitioned by [[r_regionkey]]
+DatasetDecl Part(PartType) partitioned by [[p_partkey]]
+Query:
+SELECT ELEMENT [
+RecordConstructor [
+ (
+ LiteralExpr [STRING] [o_orderdate]
+ :
+ FieldAccessor [
+ Variable [ Name=lnrcop ]
+ Field=o_orderdate
+ ]
+ )
+ (
+ LiteralExpr [STRING] [l_discount]
+ :
+ FieldAccessor [
+ Variable [ Name=lnrcop ]
+ Field=l_discount
+ ]
+ )
+ (
+ LiteralExpr [STRING] [l_extendedprice]
+ :
+ FieldAccessor [
+ Variable [ Name=lnrcop ]
+ Field=l_extendedprice
+ ]
+ )
+ (
+ LiteralExpr [STRING] [l_suppkey]
+ :
+ FieldAccessor [
+ Variable [ Name=lnrcop ]
+ Field=l_suppkey
+ ]
+ )
+ (
+ LiteralExpr [STRING] [s_nationkey]
+ :
+ FieldAccessor [
+ Variable [ Name=s ]
+ Field=s_nationkey
+ ]
+ )
+]
+]
+FROM [ FunctionCall Metadata.dataset@1[
+ LiteralExpr [STRING] [Supplier]
+ ]
+ AS
+ Variable [ Name=s ]
+,
+ (
+ SELECT ELEMENT [
+ RecordConstructor [
+ (
+ LiteralExpr [STRING] [o_orderdate]
+ :
+ FieldAccessor [
+ Variable [ Name=lnrco ]
+ Field=o_orderdate
+ ]
+ )
+ (
+ LiteralExpr [STRING] [l_discount]
+ :
+ FieldAccessor [
+ Variable [ Name=lnrco ]
+ Field=l_discount
+ ]
+ )
+ (
+ LiteralExpr [STRING] [l_extendedprice]
+ :
+ FieldAccessor [
+ Variable [ Name=lnrco ]
+ Field=l_extendedprice
+ ]
+ )
+ (
+ LiteralExpr [STRING] [l_suppkey]
+ :
+ FieldAccessor [
+ Variable [ Name=lnrco ]
+ Field=l_suppkey
+ ]
+ )
+ ]
+ ]
+ FROM [ (
+ SELECT ELEMENT [
+ RecordConstructor [
+ (
+ LiteralExpr [STRING] [o_orderdate]
+ :
+ FieldAccessor [
+ Variable [ Name=nrco ]
+ Field=o_orderdate
+ ]
+ )
+ (
+ LiteralExpr [STRING] [l_partkey]
+ :
+ FieldAccessor [
+ Variable [ Name=l ]
+ Field=l_partkey
+ ]
+ )
+ (
+ LiteralExpr [STRING] [l_discount]
+ :
+ FieldAccessor [
+ Variable [ Name=l ]
+ Field=l_discount
+ ]
+ )
+ (
+ LiteralExpr [STRING] [l_extendedprice]
+ :
+ FieldAccessor [
+ Variable [ Name=l ]
+ Field=l_extendedprice
+ ]
+ )
+ (
+ LiteralExpr [STRING] [l_suppkey]
+ :
+ FieldAccessor [
+ Variable [ Name=l ]
+ Field=l_suppkey
+ ]
+ )
+ ]
+ ]
+ FROM [ FunctionCall Metadata.dataset@1[
+ LiteralExpr [STRING] [LineItem]
+ ]
+ AS
+ Variable [ Name=l ]
+,
+ (
+ SELECT ELEMENT [
+ RecordConstructor [
+ (
+ LiteralExpr [STRING] [o_orderdate]
+ :
+ FieldAccessor [
+ Variable [ Name=o ]
+ Field=o_orderdate
+ ]
+ )
+ (
+ LiteralExpr [STRING] [o_orderkey]
+ :
+ FieldAccessor [
+ Variable [ Name=o ]
+ Field=o_orderkey
+ ]
+ )
+ ]
+ ]
+ FROM [ FunctionCall Metadata.dataset@1[
+ LiteralExpr [STRING] [Orders]
+ ]
+ AS
+ Variable [ Name=o ]
+,
+ (
+ SELECT ELEMENT [
+ RecordConstructor [
+ (
+ LiteralExpr [STRING] [c_custkey]
+ :
+ FieldAccessor [
+ Variable [ Name=c ]
+ Field=c_custkey
+ ]
+ )
+ ]
+ ]
+ FROM [ FunctionCall Metadata.dataset@1[
+ LiteralExpr [STRING] [Customer]
+ ]
+ AS
+ Variable [ Name=c ]
+,
+ (
+ SELECT ELEMENT [
+ RecordConstructor [
+ (
+ LiteralExpr [STRING] [n_nationkey]
+ :
+ FieldAccessor [
+ Variable [ Name=n1 ]
+ Field=n_nationkey
+ ]
+ )
+ ]
+ ]
+ FROM [ FunctionCall Metadata.dataset@1[
+ LiteralExpr [STRING] [Nation]
+ ]
+ AS
+ Variable [ Name=n1 ]
+,
+ FunctionCall Metadata.dataset@1[
+ LiteralExpr [STRING] [Region]
+ ]
+ AS
+ Variable [ Name=r1 ]
+ ]
+ Where
+ OperatorExpr [
+ OperatorExpr [
+ FieldAccessor [
+ Variable [ Name=n1 ]
+ Field=n_regionkey
+ ]
+ =
+ FieldAccessor [
+ Variable [ Name=r1 ]
+ Field=r_regionkey
+ ]
+ ]
+ and
+ OperatorExpr [
+ FieldAccessor [
+ Variable [ Name=r1 ]
+ Field=r_name
+ ]
+ =
+ LiteralExpr [STRING] [AMERICA]
+ ]
+ ]
+ )
+ AS
+ Variable [ Name=nr ]
+ ]
+ Where
+ OperatorExpr [
+ FieldAccessor [
+ Variable [ Name=c ]
+ Field=c_nationkey
+ ]
+ =
+ FieldAccessor [
+ Variable [ Name=nr ]
+ Field=n_nationkey
+ ]
+ ]
+ )
+ AS
+ Variable [ Name=nrc ]
+ ]
+ Where
+ OperatorExpr [
+ FieldAccessor [
+ Variable [ Name=nrc ]
+ Field=c_custkey
+ ]
+ =
+ FieldAccessor [
+ Variable [ Name=o ]
+ Field=o_custkey
+ ]
+ ]
+ )
+ AS
+ Variable [ Name=nrco ]
+ ]
+ Where
+ OperatorExpr [
+ OperatorExpr [
+ FieldAccessor [
+ Variable [ Name=l ]
+ Field=l_orderkey
+ ]
+ =
+ FieldAccessor [
+ Variable [ Name=nrco ]
+ Field=o_orderkey
+ ]
+ ]
+ and
+ OperatorExpr [
+ FieldAccessor [
+ Variable [ Name=nrco ]
+ Field=o_orderdate
+ ]
+ >=
+ LiteralExpr [STRING] [1995-01-01]
+ ]
+ and
+ OperatorExpr [
+ FieldAccessor [
+ Variable [ Name=nrco ]
+ Field=o_orderdate
+ ]
+ <=
+ LiteralExpr [STRING] [1996-12-31]
+ ]
+ ]
+ )
+ AS
+ Variable [ Name=lnrco ]
+,
+ FunctionCall Metadata.dataset@1[
+ LiteralExpr [STRING] [Part]
+ ]
+ AS
+ Variable [ Name=p ]
+ ]
+ Where
+ OperatorExpr [
+ OperatorExpr [
+ FieldAccessor [
+ Variable [ Name=p ]
+ Field=p_partkey
+ ]
+ =
+ FieldAccessor [
+ Variable [ Name=lnrco ]
+ Field=l_partkey
+ ]
+ ]
+ and
+ OperatorExpr [
+ FieldAccessor [
+ Variable [ Name=p ]
+ Field=p_type
+ ]
+ =
+ LiteralExpr [STRING] [ECONOMY ANODIZED STEEL]
+ ]
+ ]
+ )
+ AS
+ Variable [ Name=lnrcop ]
+]
+Where
+ OperatorExpr [
+ FieldAccessor [
+ Variable [ Name=s ]
+ Field=s_suppkey
+ ]
+ =
+ FieldAccessor [
+ Variable [ Name=lnrcop ]
+ Field=l_suppkey
+ ]
+ ]
http://git-wip-us.apache.org/repos/asf/incubator-asterixdb/blob/391f09e5/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/q09_group_by.ast
----------------------------------------------------------------------
diff --git a/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/q09_group_by.ast b/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/q09_group_by.ast
new file mode 100644
index 0000000..8f0e8b8
--- /dev/null
+++ b/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/q09_group_by.ast
@@ -0,0 +1,412 @@
+DataverseUse q09_group_by
+TypeDecl LineItemType [
+ closed RecordType {
+ l_orderkey : int32,
+ l_partkey : int32,
+ l_suppkey : int32,
+ l_linenumber : int32,
+ l_quantity : int32,
+ l_extendedprice : double,
+ l_discount : double,
+ l_tax : double,
+ l_returnflag : string,
+ l_linestatus : string,
+ l_shipdate : string,
+ l_commitdate : string,
+ l_receiptdate : string,
+ l_shipinstruct : string,
+ l_shipmode : string,
+ l_comment : string
+ }
+]
+TypeDecl OrderType [
+ closed RecordType {
+ o_orderkey : int32,
+ o_custkey : int32,
+ o_orderstatus : string,
+ o_totalprice : double,
+ o_orderdate : string,
+ o_orderpriority : string,
+ o_clerk : string,
+ o_shippriority : int32,
+ o_comment : string
+ }
+]
+TypeDecl CustomerType [
+ closed RecordType {
+ c_custkey : int32,
+ c_name : string,
+ c_address : string,
+ c_nationkey : int32,
+ c_phone : string,
+ c_acctbal : double,
+ c_mktsegment : string,
+ c_comment : string
+ }
+]
+TypeDecl SupplierType [
+ closed RecordType {
+ s_suppkey : int32,
+ s_name : string,
+ s_address : string,
+ s_nationkey : int32,
+ s_phone : string,
+ s_acctbal : double,
+ s_comment : string
+ }
+]
+TypeDecl NationType [
+ closed RecordType {
+ n_nationkey : int32,
+ n_name : string,
+ n_regionkey : int32,
+ n_comment : string
+ }
+]
+TypeDecl RegionType [
+ closed RecordType {
+ r_regionkey : int32,
+ r_name : string,
+ r_comment : string
+ }
+]
+TypeDecl PartType [
+ closed RecordType {
+ p_partkey : int32,
+ p_name : string,
+ p_mfgr : string,
+ p_brand : string,
+ p_type : string,
+ p_size : int32,
+ p_container : string,
+ p_retailprice : double,
+ p_comment : string
+ }
+]
+TypeDecl PartSuppType [
+ closed RecordType {
+ ps_partkey : int32,
+ ps_suppkey : int32,
+ ps_availqty : int32,
+ ps_supplycost : double,
+ ps_comment : string
+ }
+]
+DatasetDecl LineItem(LineItemType) partitioned by [[l_orderkey], [l_linenumber]]
+DatasetDecl Orders(OrderType) partitioned by [[o_orderkey]]
+DatasetDecl Supplier(SupplierType) partitioned by [[s_suppkey]]
+DatasetDecl Region(RegionType) partitioned by [[r_regionkey]]
+DatasetDecl Nation(NationType) partitioned by [[n_nationkey]]
+DatasetDecl Part(PartType) partitioned by [[p_partkey]]
+DatasetDecl Partsupp(PartSuppType) partitioned by [[ps_partkey], [ps_suppkey]]
+DatasetDecl Customer(CustomerType) partitioned by [[c_custkey]]
+Query:
+SELECT ELEMENT [
+RecordConstructor [
+ (
+ LiteralExpr [STRING] [l_extendedprice]
+ :
+ FieldAccessor [
+ Variable [ Name=l2 ]
+ Field=l_extendedprice
+ ]
+ )
+ (
+ LiteralExpr [STRING] [l_discount]
+ :
+ FieldAccessor [
+ Variable [ Name=l2 ]
+ Field=l_discount
+ ]
+ )
+ (
+ LiteralExpr [STRING] [l_quantity]
+ :
+ FieldAccessor [
+ Variable [ Name=l2 ]
+ Field=l_quantity
+ ]
+ )
+ (
+ LiteralExpr [STRING] [l_orderkey]
+ :
+ FieldAccessor [
+ Variable [ Name=l2 ]
+ Field=l_orderkey
+ ]
+ )
+ (
+ LiteralExpr [STRING] [n_name]
+ :
+ FieldAccessor [
+ Variable [ Name=l2 ]
+ Field=n_name
+ ]
+ )
+ (
+ LiteralExpr [STRING] [ps_supplycost]
+ :
+ FieldAccessor [
+ Variable [ Name=l2 ]
+ Field=ps_supplycost
+ ]
+ )
+]
+]
+FROM [ FunctionCall Metadata.dataset@1[
+ LiteralExpr [STRING] [Part]
+ ]
+ AS
+ Variable [ Name=p ]
+,
+ (
+ SELECT ELEMENT [
+ RecordConstructor [
+ (
+ LiteralExpr [STRING] [l_extendedprice]
+ :
+ FieldAccessor [
+ Variable [ Name=l1 ]
+ Field=l_extendedprice
+ ]
+ )
+ (
+ LiteralExpr [STRING] [l_discount]
+ :
+ FieldAccessor [
+ Variable [ Name=l1 ]
+ Field=l_discount
+ ]
+ )
+ (
+ LiteralExpr [STRING] [l_quantity]
+ :
+ FieldAccessor [
+ Variable [ Name=l1 ]
+ Field=l_quantity
+ ]
+ )
+ (
+ LiteralExpr [STRING] [l_partkey]
+ :
+ FieldAccessor [
+ Variable [ Name=l1 ]
+ Field=l_partkey
+ ]
+ )
+ (
+ LiteralExpr [STRING] [l_orderkey]
+ :
+ FieldAccessor [
+ Variable [ Name=l1 ]
+ Field=l_orderkey
+ ]
+ )
+ (
+ LiteralExpr [STRING] [n_name]
+ :
+ FieldAccessor [
+ Variable [ Name=l1 ]
+ Field=n_name
+ ]
+ )
+ (
+ LiteralExpr [STRING] [ps_supplycost]
+ :
+ FieldAccessor [
+ Variable [ Name=ps ]
+ Field=ps_supplycost
+ ]
+ )
+ ]
+ ]
+ FROM [ FunctionCall Metadata.dataset@1[
+ LiteralExpr [STRING] [Partsupp]
+ ]
+ AS
+ Variable [ Name=ps ]
+,
+ (
+ SELECT ELEMENT [
+ RecordConstructor [
+ (
+ LiteralExpr [STRING] [l_suppkey]
+ :
+ FieldAccessor [
+ Variable [ Name=l ]
+ Field=l_suppkey
+ ]
+ )
+ (
+ LiteralExpr [STRING] [l_extendedprice]
+ :
+ FieldAccessor [
+ Variable [ Name=l ]
+ Field=l_extendedprice
+ ]
+ )
+ (
+ LiteralExpr [STRING] [l_discount]
+ :
+ FieldAccessor [
+ Variable [ Name=l ]
+ Field=l_discount
+ ]
+ )
+ (
+ LiteralExpr [STRING] [l_quantity]
+ :
+ FieldAccessor [
+ Variable [ Name=l ]
+ Field=l_quantity
+ ]
+ )
+ (
+ LiteralExpr [STRING] [l_partkey]
+ :
+ FieldAccessor [
+ Variable [ Name=l ]
+ Field=l_partkey
+ ]
+ )
+ (
+ LiteralExpr [STRING] [l_orderkey]
+ :
+ FieldAccessor [
+ Variable [ Name=l ]
+ Field=l_orderkey
+ ]
+ )
+ (
+ LiteralExpr [STRING] [n_name]
+ :
+ FieldAccessor [
+ Variable [ Name=s1 ]
+ Field=n_name
+ ]
+ )
+ ]
+ ]
+ FROM [ (
+ SELECT ELEMENT [
+ RecordConstructor [
+ (
+ LiteralExpr [STRING] [s_suppkey]
+ :
+ FieldAccessor [
+ Variable [ Name=s ]
+ Field=s_suppkey
+ ]
+ )
+ (
+ LiteralExpr [STRING] [n_name]
+ :
+ FieldAccessor [
+ Variable [ Name=n ]
+ Field=n_name
+ ]
+ )
+ ]
+ ]
+ FROM [ FunctionCall Metadata.dataset@1[
+ LiteralExpr [STRING] [Supplier]
+ ]
+ AS
+ Variable [ Name=s ]
+,
+ FunctionCall Metadata.dataset@1[
+ LiteralExpr [STRING] [Nation]
+ ]
+ AS
+ Variable [ Name=n ]
+ ]
+ Where
+ OperatorExpr [
+ FieldAccessor [
+ Variable [ Name=n ]
+ Field=n_nationkey
+ ]
+ =
+ FieldAccessor [
+ Variable [ Name=s ]
+ Field=s_nationkey
+ ]
+ ]
+ )
+ AS
+ Variable [ Name=s1 ]
+,
+ FunctionCall Metadata.dataset@1[
+ LiteralExpr [STRING] [LineItem]
+ ]
+ AS
+ Variable [ Name=l ]
+ ]
+ Where
+ OperatorExpr [
+ FieldAccessor [
+ Variable [ Name=s1 ]
+ Field=s_suppkey
+ ]
+ =
+ FieldAccessor [
+ Variable [ Name=l ]
+ Field=l_suppkey
+ ]
+ ]
+ )
+ AS
+ Variable [ Name=l1 ]
+ ]
+ Where
+ OperatorExpr [
+ OperatorExpr [
+ FieldAccessor [
+ Variable [ Name=ps ]
+ Field=ps_suppkey
+ ]
+ =
+ FieldAccessor [
+ Variable [ Name=l1 ]
+ Field=l_suppkey
+ ]
+ ]
+ and
+ OperatorExpr [
+ FieldAccessor [
+ Variable [ Name=ps ]
+ Field=ps_partkey
+ ]
+ =
+ FieldAccessor [
+ Variable [ Name=l1 ]
+ Field=l_partkey
+ ]
+ ]
+ ]
+ )
+ AS
+ Variable [ Name=l2 ]
+]
+Where
+ OperatorExpr [
+ FunctionCall q09_group_by.contains@2[
+ FieldAccessor [
+ Variable [ Name=p ]
+ Field=p_name
+ ]
+ LiteralExpr [STRING] [green]
+ ]
+ and
+ OperatorExpr [
+ FieldAccessor [
+ Variable [ Name=p ]
+ Field=p_partkey
+ ]
+ =
+ FieldAccessor [
+ Variable [ Name=l2 ]
+ Field=l_partkey
+ ]
+ ]
+ ]
http://git-wip-us.apache.org/repos/asf/incubator-asterixdb/blob/391f09e5/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/q1.ast
----------------------------------------------------------------------
diff --git a/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/q1.ast b/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/q1.ast
new file mode 100644
index 0000000..4c5e744
--- /dev/null
+++ b/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/q1.ast
@@ -0,0 +1,63 @@
+DataverseUse events
+TypeDecl AddressType [
+ closed RecordType {
+ street : string,
+ city : string,
+ zip : string,
+ latlong : point
+ }
+]
+TypeDecl UserType [
+ open RecordType {
+ name : string,
+ email : string,
+ interests : UnorderedList <string>
+,
+ address : AddressType,
+ member_of : UnorderedList < open RecordType {
+ sig_name : string,
+ chapter_name : string,
+ member_since : date
+ }
+>
+
+ }
+]
+DatasetDecl User(UserType) partitioned by [[name]]
+WriteOutputTo nc1:/tmp/q1.adm
+Query:
+SELECT ELEMENT [
+RecordConstructor [
+ (
+ LiteralExpr [STRING] [name]
+ :
+ FieldAccessor [
+ Variable [ Name=user ]
+ Field=name
+ ]
+ )
+]
+]
+FROM [ FunctionCall Metadata.dataset@1[
+ LiteralExpr [STRING] [User]
+ ]
+ AS
+ Variable [ Name=user ]
+]
+Where
+ QuantifiedExpression SOME [
+ [Variable [ Name=i ]
+ In
+ FieldAccessor [
+ Variable [ Name=user ]
+ Field=interests
+ ]
+ ]
+ Satifies [
+ OperatorExpr [
+ Variable [ Name=i ]
+ =
+ LiteralExpr [STRING] [movies]
+ ]
+ ]
+ ]
http://git-wip-us.apache.org/repos/asf/incubator-asterixdb/blob/391f09e5/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/q2.ast
----------------------------------------------------------------------
diff --git a/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/q2.ast b/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/q2.ast
new file mode 100644
index 0000000..a7bc644
--- /dev/null
+++ b/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/q2.ast
@@ -0,0 +1,145 @@
+DataverseUse events
+TypeDecl AddressType [
+ closed RecordType {
+ street : string,
+ city : string,
+ zip : string
+ }
+]
+TypeDecl EventType [
+ closed RecordType {
+ name : string,
+ location : AddressType?,
+ organizers : UnorderedList < open RecordType {
+ name : string,
+ role : string
+ }
+>
+,
+ sponsoring_sigs : OrderedList [ open RecordType {
+ sig_name : string,
+ chapter_name : string
+ }
+]
+,
+ interest_keywords : UnorderedList <string>
+,
+ price : double?,
+ start_time : datetime,
+ end_time : datetime
+ }
+]
+DatasetDecl Event(EventType) partitioned by [[name]]
+WriteOutputTo nc1:/tmp/q2.adm
+Query:
+SELECT ELEMENT [
+RecordConstructor [
+ (
+ LiteralExpr [STRING] [sig_name]
+ :
+ Variable [ Name=sig_name ]
+ )
+ (
+ LiteralExpr [STRING] [total_count]
+ :
+ Variable [ Name=sig_sponsorship_count ]
+ )
+ (
+ LiteralExpr [STRING] [chapter_breakdown]
+ :
+ Variable [ Name=by_chapter ]
+ )
+]
+]
+FROM [ FunctionCall Metadata.dataset@1[
+ LiteralExpr [STRING] [Event]
+ ]
+ AS
+ Variable [ Name=event ]
+,
+ FieldAccessor [
+ Variable [ Name=event ]
+ Field=sponsoring_sigs
+ ]
+ AS
+ Variable [ Name=sponsor ]
+]
+LetVariable [ Name=es ]
+ :=
+ RecordConstructor [
+ (
+ LiteralExpr [STRING] [event]
+ :
+ Variable [ Name=event ]
+ )
+ (
+ LiteralExpr [STRING] [sponsor]
+ :
+ Variable [ Name=sponsor ]
+ )
+ ]
+Groupby
+ Variable [ Name=sig_name ]
+ :=
+ FieldAccessor [
+ Variable [ Name=sponsor ]
+ Field=sig_name
+ ]
+ With
+ Variable [ Name=es ]
+ Variable [ Name=sponsor ]
+ Variable [ Name=event ]
+
+LetVariable [ Name=sig_sponsorship_count ]
+ :=
+ FunctionCall events.count@1[
+ Variable [ Name=es ]
+ ]
+LetVariable [ Name=by_chapter ]
+ :=
+ (
+ SELECT ELEMENT [
+ RecordConstructor [
+ (
+ LiteralExpr [STRING] [chapter_name]
+ :
+ Variable [ Name=chapter_name ]
+ )
+ (
+ LiteralExpr [STRING] [escount]
+ :
+ FunctionCall events.count@1[
+ Variable [ Name=e ]
+ ]
+ )
+ ]
+ ]
+ FROM [ Variable [ Name=es ]
+ AS
+ Variable [ Name=e ]
+ ]
+ Groupby
+ Variable [ Name=chapter_name ]
+ :=
+ FieldAccessor [
+ FieldAccessor [
+ Variable [ Name=e ]
+ Field=sponsor
+ ]
+ Field=chapter_name
+ ]
+ With
+ Variable [ Name=e ]
+ Variable [ Name=by_chapter ]
+ Variable [ Name=sig_sponsorship_count ]
+ Variable [ Name=es ]
+ Variable [ Name=sponsor ]
+ Variable [ Name=event ]
+
+ )
+Orderby
+ Variable [ Name=sig_sponsorship_count ]
+ DESC
+
+Limit
+ LiteralExpr [LONG] [5]
http://git-wip-us.apache.org/repos/asf/incubator-asterixdb/blob/391f09e5/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/query-issue550.ast
----------------------------------------------------------------------
diff --git a/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/query-issue550.ast b/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/query-issue550.ast
new file mode 100644
index 0000000..416cf4e
--- /dev/null
+++ b/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/query-issue550.ast
@@ -0,0 +1,186 @@
+Query:
+LetVariable [ Name=sample ]
+ :=
+ UnorderedListConstructor [
+ RecordConstructor [
+ (
+ LiteralExpr [STRING] [r]
+ :
+ LiteralExpr [LONG] [1]
+ )
+ (
+ LiteralExpr [STRING] [uid]
+ :
+ LiteralExpr [STRING] [1a2b]
+ )
+ (
+ LiteralExpr [STRING] [t]
+ :
+ FunctionCall null.datetime@1[
+ LiteralExpr [STRING] [2000-01-01T01:00:00]
+ ]
+ )
+ (
+ LiteralExpr [STRING] [event]
+ :
+ LiteralExpr [STRING] [e1]
+ )
+ ]
+ RecordConstructor [
+ (
+ LiteralExpr [STRING] [r]
+ :
+ LiteralExpr [LONG] [2]
+ )
+ (
+ LiteralExpr [STRING] [uid]
+ :
+ LiteralExpr [STRING] [1a2b]
+ )
+ (
+ LiteralExpr [STRING] [t]
+ :
+ FunctionCall null.datetime@1[
+ LiteralExpr [STRING] [2000-01-01T01:01:00]
+ ]
+ )
+ (
+ LiteralExpr [STRING] [event]
+ :
+ LiteralExpr [STRING] [e2]
+ )
+ ]
+ RecordConstructor [
+ (
+ LiteralExpr [STRING] [r]
+ :
+ LiteralExpr [LONG] [3]
+ )
+ (
+ LiteralExpr [STRING] [uid]
+ :
+ LiteralExpr [STRING] [3c4d]
+ )
+ (
+ LiteralExpr [STRING] [t]
+ :
+ FunctionCall null.datetime@1[
+ LiteralExpr [STRING] [2000-01-01T01:02:00]
+ ]
+ )
+ (
+ LiteralExpr [STRING] [event]
+ :
+ LiteralExpr [STRING] [e1]
+ )
+ ]
+ RecordConstructor [
+ (
+ LiteralExpr [STRING] [r]
+ :
+ LiteralExpr [LONG] [4]
+ )
+ (
+ LiteralExpr [STRING] [uid]
+ :
+ LiteralExpr [STRING] [3c4d]
+ )
+ (
+ LiteralExpr [STRING] [t]
+ :
+ FunctionCall null.datetime@1[
+ LiteralExpr [STRING] [2000-01-01T01:03:00]
+ ]
+ )
+ (
+ LiteralExpr [STRING] [event]
+ :
+ LiteralExpr [STRING] [e3]
+ )
+ ]
+ RecordConstructor [
+ (
+ LiteralExpr [STRING] [r]
+ :
+ LiteralExpr [LONG] [5]
+ )
+ (
+ LiteralExpr [STRING] [uid]
+ :
+ LiteralExpr [STRING] [1a2b]
+ )
+ (
+ LiteralExpr [STRING] [t]
+ :
+ FunctionCall null.datetime@1[
+ LiteralExpr [STRING] [2000-01-01T01:04:00]
+ ]
+ )
+ (
+ LiteralExpr [STRING] [event]
+ :
+ LiteralExpr [STRING] [e1]
+ )
+ ]
+ RecordConstructor [
+ (
+ LiteralExpr [STRING] [r]
+ :
+ LiteralExpr [LONG] [6]
+ )
+ (
+ LiteralExpr [STRING] [uid]
+ :
+ LiteralExpr [STRING] [1a2b]
+ )
+ (
+ LiteralExpr [STRING] [t]
+ :
+ FunctionCall null.datetime@1[
+ LiteralExpr [STRING] [2000-01-01T01:05:00]
+ ]
+ )
+ (
+ LiteralExpr [STRING] [event]
+ :
+ LiteralExpr [STRING] [e4]
+ )
+ ]
+ ]
+SELECT ELEMENT [
+RecordConstructor [
+ (
+ LiteralExpr [STRING] [u]
+ :
+ Variable [ Name=u ]
+ )
+ (
+ LiteralExpr [STRING] [recs]
+ :
+ (
+ SELECT ELEMENT [
+ Variable [ Name=srec ]
+ ]
+ FROM [ Variable [ Name=s ]
+ AS
+ Variable [ Name=srec ]
+ ]
+ )
+ )
+]
+]
+FROM [ Variable [ Name=sample ]
+ AS
+ Variable [ Name=s ]
+]
+Groupby
+ Variable [ Name=u ]
+ :=
+ FieldAccessor [
+ Variable [ Name=s ]
+ Field=uid
+ ]
+ With
+ Variable [ Name=s ]
+ Variable [ Name=sample ]
+