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:21 UTC
[13/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/nested-index/inverted-index-join/ulist-jaccard-inline.ast
----------------------------------------------------------------------
diff --git a/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/nested-index/inverted-index-join/ulist-jaccard-inline.ast b/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/nested-index/inverted-index-join/ulist-jaccard-inline.ast
new file mode 100644
index 0000000..30ee3fc
--- /dev/null
+++ b/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/nested-index/inverted-index-join/ulist-jaccard-inline.ast
@@ -0,0 +1,120 @@
+DataverseUse test
+TypeDecl AddressType [
+ closed RecordType {
+ number : int32,
+ street : string,
+ city : string
+ }
+]
+TypeDecl CustomerTypetmp [
+ closed RecordType {
+ cid : int32,
+ name : string,
+ age : int32?,
+ address : AddressType?,
+ interests : UnorderedList <string>
+,
+ children : OrderedList [ open RecordType {
+ name : string,
+ age : int32?
+ }
+]
+
+ }
+]
+TypeDecl CustomerType [
+ closed RecordType {
+ nested : CustomerTypetmp
+ }
+]
+DatasetDecl Customers(CustomerType) partitioned by [[nested, cid]]
+DatasetDecl Customers2(CustomerType) partitioned by [[nested, cid]]
+WriteOutputTo nc1:rttest/inverted-index-join-noeqjoin_ulist-jaccard-inline.adm
+Query:
+SELECT ELEMENT [
+RecordConstructor [
+ (
+ LiteralExpr [STRING] [ainterests]
+ :
+ FieldAccessor [
+ FieldAccessor [
+ Variable [ Name=a ]
+ Field=nested
+ ]
+ Field=interests
+ ]
+ )
+ (
+ LiteralExpr [STRING] [binterests]
+ :
+ FieldAccessor [
+ FieldAccessor [
+ Variable [ Name=b ]
+ Field=nested
+ ]
+ Field=interests
+ ]
+ )
+ (
+ LiteralExpr [STRING] [jacc]
+ :
+ Variable [ Name=jacc ]
+ )
+]
+]
+FROM [ FunctionCall Metadata.dataset@1[
+ LiteralExpr [STRING] [Customers]
+ ]
+ AS
+ Variable [ Name=a ]
+,
+ FunctionCall Metadata.dataset@1[
+ LiteralExpr [STRING] [Customers]
+ ]
+ AS
+ Variable [ Name=b ]
+]
+LetVariable [ Name=jacc ]
+ :=
+ FunctionCall test.similarity-jaccard@2[
+ FieldAccessor [
+ FieldAccessor [
+ Variable [ Name=a ]
+ Field=nested
+ ]
+ Field=interests
+ ]
+ FieldAccessor [
+ FieldAccessor [
+ Variable [ Name=b ]
+ Field=nested
+ ]
+ Field=interests
+ ]
+ ]
+Where
+ OperatorExpr [
+ OperatorExpr [
+ Variable [ Name=jacc ]
+ >=
+ LiteralExpr [FLOAT] [0.7]
+ ]
+ and
+ OperatorExpr [
+ FieldAccessor [
+ FieldAccessor [
+ Variable [ Name=a ]
+ Field=nested
+ ]
+ Field=cid
+ ]
+ <
+ FieldAccessor [
+ FieldAccessor [
+ Variable [ Name=b ]
+ Field=nested
+ ]
+ Field=cid
+ ]
+ ]
+ ]
http://git-wip-us.apache.org/repos/asf/incubator-asterixdb/blob/391f09e5/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/nested-index/inverted-index-join/ulist-jaccard_01.ast
----------------------------------------------------------------------
diff --git a/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/nested-index/inverted-index-join/ulist-jaccard_01.ast b/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/nested-index/inverted-index-join/ulist-jaccard_01.ast
new file mode 100644
index 0000000..a41eba6
--- /dev/null
+++ b/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/nested-index/inverted-index-join/ulist-jaccard_01.ast
@@ -0,0 +1,100 @@
+DataverseUse test
+TypeDecl AddressType [
+ closed RecordType {
+ number : int32,
+ street : string,
+ city : string
+ }
+]
+TypeDecl CustomerTypetmp [
+ closed RecordType {
+ cid : int32,
+ name : string,
+ age : int32?,
+ address : AddressType?,
+ interests : UnorderedList <string>
+,
+ children : OrderedList [ open RecordType {
+ name : string,
+ age : int32?
+ }
+]
+
+ }
+]
+TypeDecl CustomerType [
+ closed RecordType {
+ nested : CustomerTypetmp
+ }
+]
+DatasetDecl Customers(CustomerType) partitioned by [[nested, cid]]
+DatasetDecl Customers2(CustomerType) partitioned by [[nested, cid]]
+WriteOutputTo nc1:rttest/inverted-index-join_ulist-jaccard_01.adm
+Query:
+SELECT ELEMENT [
+RecordConstructor [
+ (
+ LiteralExpr [STRING] [arec]
+ :
+ Variable [ Name=a ]
+ )
+ (
+ LiteralExpr [STRING] [brec]
+ :
+ Variable [ Name=b ]
+ )
+]
+]
+FROM [ FunctionCall Metadata.dataset@1[
+ LiteralExpr [STRING] [Customers]
+ ]
+ AS
+ Variable [ Name=a ]
+,
+ FunctionCall Metadata.dataset@1[
+ LiteralExpr [STRING] [Customers2]
+ ]
+ AS
+ Variable [ Name=b ]
+]
+Where
+ OperatorExpr [
+ OperatorExpr [
+ FunctionCall test.similarity-jaccard@2[
+ FieldAccessor [
+ FieldAccessor [
+ Variable [ Name=a ]
+ Field=nested
+ ]
+ Field=interests
+ ]
+ FieldAccessor [
+ FieldAccessor [
+ Variable [ Name=b ]
+ Field=nested
+ ]
+ Field=interests
+ ]
+ ]
+ >=
+ LiteralExpr [FLOAT] [0.7]
+ ]
+ and
+ OperatorExpr [
+ FieldAccessor [
+ FieldAccessor [
+ Variable [ Name=a ]
+ Field=nested
+ ]
+ Field=cid
+ ]
+ <
+ FieldAccessor [
+ FieldAccessor [
+ Variable [ Name=b ]
+ Field=nested
+ ]
+ Field=cid
+ ]
+ ]
+ ]
http://git-wip-us.apache.org/repos/asf/incubator-asterixdb/blob/391f09e5/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/nested-index/inverted-index-join/word-fuzzyeq-jaccard_01.ast
----------------------------------------------------------------------
diff --git a/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/nested-index/inverted-index-join/word-fuzzyeq-jaccard_01.ast b/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/nested-index/inverted-index-join/word-fuzzyeq-jaccard_01.ast
new file mode 100644
index 0000000..f82fb83
--- /dev/null
+++ b/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/nested-index/inverted-index-join/word-fuzzyeq-jaccard_01.ast
@@ -0,0 +1,103 @@
+DataverseUse test
+TypeDecl DBLPTypetmp [
+ closed RecordType {
+ id : int32,
+ dblpid : string,
+ title : string,
+ authors : string,
+ misc : string
+ }
+]
+TypeDecl CSXTypetmp [
+ closed RecordType {
+ id : int32,
+ csxid : string,
+ title : string,
+ authors : string,
+ misc : string
+ }
+]
+TypeDecl DBLPType [
+ closed RecordType {
+ nested : DBLPTypetmp
+ }
+]
+TypeDecl CSXType [
+ closed RecordType {
+ nested : CSXTypetmp
+ }
+]
+DatasetDecl DBLP(DBLPType) partitioned by [[nested, id]]
+DatasetDecl CSX(CSXType) partitioned by [[nested, id]]
+WriteOutputTo nc1:rttest/inverted-index-join_word-fuzzyeq-jaccard_01.adm
+Set simfunction=jaccard
+Set simthreshold=0.5f
+Query:
+SELECT ELEMENT [
+RecordConstructor [
+ (
+ LiteralExpr [STRING] [arec]
+ :
+ Variable [ Name=a ]
+ )
+ (
+ LiteralExpr [STRING] [brec]
+ :
+ Variable [ Name=b ]
+ )
+]
+]
+FROM [ FunctionCall Metadata.dataset@1[
+ LiteralExpr [STRING] [DBLP]
+ ]
+ AS
+ Variable [ Name=a ]
+,
+ FunctionCall Metadata.dataset@1[
+ LiteralExpr [STRING] [CSX]
+ ]
+ AS
+ Variable [ Name=b ]
+]
+Where
+ OperatorExpr [
+ OperatorExpr [
+ FunctionCall test.word-tokens@1[
+ FieldAccessor [
+ FieldAccessor [
+ Variable [ Name=a ]
+ Field=nested
+ ]
+ Field=title
+ ]
+ ]
+ ~=
+ FunctionCall test.word-tokens@1[
+ FieldAccessor [
+ FieldAccessor [
+ Variable [ Name=b ]
+ Field=nested
+ ]
+ Field=title
+ ]
+ ]
+ ]
+ and
+ OperatorExpr [
+ FieldAccessor [
+ FieldAccessor [
+ Variable [ Name=a ]
+ Field=nested
+ ]
+ Field=id
+ ]
+ <
+ FieldAccessor [
+ FieldAccessor [
+ Variable [ Name=b ]
+ Field=nested
+ ]
+ Field=id
+ ]
+ ]
+ ]
http://git-wip-us.apache.org/repos/asf/incubator-asterixdb/blob/391f09e5/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/nested-index/inverted-index-join/word-jaccard-check-after-btree-access.ast
----------------------------------------------------------------------
diff --git a/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/nested-index/inverted-index-join/word-jaccard-check-after-btree-access.ast b/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/nested-index/inverted-index-join/word-jaccard-check-after-btree-access.ast
new file mode 100644
index 0000000..317caba
--- /dev/null
+++ b/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/nested-index/inverted-index-join/word-jaccard-check-after-btree-access.ast
@@ -0,0 +1,140 @@
+DataverseUse test
+TypeDecl TwitterUserType [
+ closed RecordType {
+ screen-name : string,
+ lang : string,
+ friends-count : int32,
+ statuses-count : int32,
+ name : string,
+ followers-count : int32
+ }
+]
+TypeDecl TweetMessageNestedType [
+ closed RecordType {
+ tweetid : int64,
+ user : TwitterUserType,
+ sender-location : point,
+ send-time : datetime,
+ referred-topics : UnorderedList <string>
+,
+ message-text : string,
+ countA : int32,
+ countB : int32
+ }
+]
+TypeDecl TweetMessageType [
+ closed RecordType {
+ nested : TweetMessageNestedType
+ }
+]
+DatasetDecl TweetMessages(TweetMessageType) partitioned by [[nested, tweetid]]
+WriteOutputTo nc1:rttest/inverted-index-join_word-jaccard-check-after-btree-access.adm
+Query:
+SELECT ELEMENT [
+RecordConstructor [
+ (
+ LiteralExpr [STRING] [t1]
+ :
+ FieldAccessor [
+ FieldAccessor [
+ Variable [ Name=t1 ]
+ Field=nested
+ ]
+ Field=tweetid
+ ]
+ )
+ (
+ LiteralExpr [STRING] [t2]
+ :
+ FieldAccessor [
+ FieldAccessor [
+ Variable [ Name=t2 ]
+ Field=nested
+ ]
+ Field=tweetid
+ ]
+ )
+ (
+ LiteralExpr [STRING] [sim]
+ :
+ IndexAccessor [
+ Variable [ Name=sim ]
+ Index: Variable [ Name=sim ]
+ ]
+ )
+]
+]
+FROM [ FunctionCall Metadata.dataset@1[
+ LiteralExpr [STRING] [TweetMessages]
+ ]
+ AS
+ Variable [ Name=t1 ]
+,
+ FunctionCall Metadata.dataset@1[
+ LiteralExpr [STRING] [TweetMessages]
+ ]
+ AS
+ Variable [ Name=t2 ]
+]
+LetVariable [ Name=sim ]
+ :=
+ FunctionCall test.similarity-jaccard-check@3[
+ FunctionCall test.word-tokens@1[
+ FieldAccessor [
+ FieldAccessor [
+ Variable [ Name=t1 ]
+ Field=nested
+ ]
+ Field=message-text
+ ]
+ ]
+ FunctionCall test.word-tokens@1[
+ FieldAccessor [
+ FieldAccessor [
+ Variable [ Name=t2 ]
+ Field=nested
+ ]
+ Field=message-text
+ ]
+ ]
+ LiteralExpr [FLOAT] [0.6]
+ ]
+Where
+ OperatorExpr [
+ IndexAccessor [
+ Variable [ Name=sim ]
+ Index: Variable [ Name=sim ]
+ ]
+ and
+ OperatorExpr [
+ FieldAccessor [
+ FieldAccessor [
+ Variable [ Name=t1 ]
+ Field=nested
+ ]
+ Field=tweetid
+ ]
+ <
+ FunctionCall test.int64@1[
+ LiteralExpr [STRING] [20]
+ ]
+ ]
+ and
+ OperatorExpr [
+ FieldAccessor [
+ FieldAccessor [
+ Variable [ Name=t2 ]
+ Field=nested
+ ]
+ Field=tweetid
+ ]
+ !=
+ FieldAccessor [
+ FieldAccessor [
+ Variable [ Name=t1 ]
+ Field=nested
+ ]
+ Field=tweetid
+ ]
+ ]
+ ]
http://git-wip-us.apache.org/repos/asf/incubator-asterixdb/blob/391f09e5/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/nested-index/inverted-index-join/word-jaccard-check_01.ast
----------------------------------------------------------------------
diff --git a/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/nested-index/inverted-index-join/word-jaccard-check_01.ast b/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/nested-index/inverted-index-join/word-jaccard-check_01.ast
new file mode 100644
index 0000000..6daba98
--- /dev/null
+++ b/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/nested-index/inverted-index-join/word-jaccard-check_01.ast
@@ -0,0 +1,124 @@
+DataverseUse test
+TypeDecl DBLPTypetmp [
+ closed RecordType {
+ id : int32,
+ dblpid : string,
+ title : string,
+ authors : string,
+ misc : string
+ }
+]
+TypeDecl CSXTypetmp [
+ closed RecordType {
+ id : int32,
+ csxid : string,
+ title : string,
+ authors : string,
+ misc : string
+ }
+]
+TypeDecl DBLPType [
+ closed RecordType {
+ nested : DBLPTypetmp
+ }
+]
+TypeDecl CSXType [
+ closed RecordType {
+ nested : CSXTypetmp
+ }
+]
+DatasetDecl DBLP(DBLPType) partitioned by [[nested, id]]
+DatasetDecl CSX(CSXType) partitioned by [[nested, id]]
+WriteOutputTo nc1:rttest/inverted-index-join_word-jaccard-check_01.adm
+Query:
+SELECT ELEMENT [
+RecordConstructor [
+ (
+ LiteralExpr [STRING] [arec]
+ :
+ Variable [ Name=a ]
+ )
+ (
+ LiteralExpr [STRING] [brec]
+ :
+ Variable [ Name=b ]
+ )
+]
+]
+FROM [ FunctionCall Metadata.dataset@1[
+ LiteralExpr [STRING] [DBLP]
+ ]
+ AS
+ Variable [ Name=a ]
+,
+ FunctionCall Metadata.dataset@1[
+ LiteralExpr [STRING] [CSX]
+ ]
+ AS
+ Variable [ Name=b ]
+]
+Where
+ OperatorExpr [
+ IndexAccessor [
+ FunctionCall test.similarity-jaccard-check@3[
+ FunctionCall test.word-tokens@1[
+ FieldAccessor [
+ FieldAccessor [
+ Variable [ Name=a ]
+ Field=nested
+ ]
+ Field=title
+ ]
+ ]
+ FunctionCall test.word-tokens@1[
+ FieldAccessor [
+ FieldAccessor [
+ Variable [ Name=b ]
+ Field=nested
+ ]
+ Field=title
+ ]
+ ]
+ LiteralExpr [FLOAT] [0.5]
+ ]
+ Index: FunctionCall test.similarity-jaccard-check@3[
+ FunctionCall test.word-tokens@1[
+ FieldAccessor [
+ FieldAccessor [
+ Variable [ Name=a ]
+ Field=nested
+ ]
+ Field=title
+ ]
+ ]
+ FunctionCall test.word-tokens@1[
+ FieldAccessor [
+ FieldAccessor [
+ Variable [ Name=b ]
+ Field=nested
+ ]
+ Field=title
+ ]
+ ]
+ LiteralExpr [FLOAT] [0.5]
+ ]
+ ]
+ and
+ OperatorExpr [
+ FieldAccessor [
+ FieldAccessor [
+ Variable [ Name=a ]
+ Field=nested
+ ]
+ Field=id
+ ]
+ <
+ FieldAccessor [
+ FieldAccessor [
+ Variable [ Name=b ]
+ Field=nested
+ ]
+ Field=id
+ ]
+ ]
+ ]
http://git-wip-us.apache.org/repos/asf/incubator-asterixdb/blob/391f09e5/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/nested-index/inverted-index-join/word-jaccard-inline.ast
----------------------------------------------------------------------
diff --git a/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/nested-index/inverted-index-join/word-jaccard-inline.ast b/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/nested-index/inverted-index-join/word-jaccard-inline.ast
new file mode 100644
index 0000000..36a5db9
--- /dev/null
+++ b/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/nested-index/inverted-index-join/word-jaccard-inline.ast
@@ -0,0 +1,109 @@
+DataverseUse test
+TypeDecl DBLPTypetmp [
+ closed RecordType {
+ id : int32,
+ dblpid : string,
+ title : string,
+ authors : string,
+ misc : string
+ }
+]
+TypeDecl DBLPType [
+ closed RecordType {
+ nested : DBLPTypetmp
+ }
+]
+DatasetDecl DBLP(DBLPType) partitioned by [[nested, id]]
+WriteOutputTo nc1:rttest/inverted-index-join-noeqjoin_word-jaccard-inline.adm
+Query:
+SELECT ELEMENT [
+RecordConstructor [
+ (
+ LiteralExpr [STRING] [atitle]
+ :
+ FieldAccessor [
+ FieldAccessor [
+ Variable [ Name=a ]
+ Field=nested
+ ]
+ Field=title
+ ]
+ )
+ (
+ LiteralExpr [STRING] [btitle]
+ :
+ FieldAccessor [
+ FieldAccessor [
+ Variable [ Name=b ]
+ Field=nested
+ ]
+ Field=title
+ ]
+ )
+ (
+ LiteralExpr [STRING] [jacc]
+ :
+ Variable [ Name=jacc ]
+ )
+]
+]
+FROM [ FunctionCall Metadata.dataset@1[
+ LiteralExpr [STRING] [DBLP]
+ ]
+ AS
+ Variable [ Name=a ]
+,
+ FunctionCall Metadata.dataset@1[
+ LiteralExpr [STRING] [DBLP]
+ ]
+ AS
+ Variable [ Name=b ]
+]
+LetVariable [ Name=jacc ]
+ :=
+ FunctionCall test.similarity-jaccard@2[
+ FunctionCall test.word-tokens@1[
+ FieldAccessor [
+ FieldAccessor [
+ Variable [ Name=a ]
+ Field=nested
+ ]
+ Field=title
+ ]
+ ]
+ FunctionCall test.word-tokens@1[
+ FieldAccessor [
+ FieldAccessor [
+ Variable [ Name=b ]
+ Field=nested
+ ]
+ Field=title
+ ]
+ ]
+ ]
+Where
+ OperatorExpr [
+ OperatorExpr [
+ Variable [ Name=jacc ]
+ >=
+ LiteralExpr [FLOAT] [0.5]
+ ]
+ and
+ OperatorExpr [
+ FieldAccessor [
+ FieldAccessor [
+ Variable [ Name=a ]
+ Field=nested
+ ]
+ Field=id
+ ]
+ <
+ FieldAccessor [
+ FieldAccessor [
+ Variable [ Name=b ]
+ Field=nested
+ ]
+ Field=id
+ ]
+ ]
+ ]
http://git-wip-us.apache.org/repos/asf/incubator-asterixdb/blob/391f09e5/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/nested-index/inverted-index-join/word-jaccard_01.ast
----------------------------------------------------------------------
diff --git a/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/nested-index/inverted-index-join/word-jaccard_01.ast b/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/nested-index/inverted-index-join/word-jaccard_01.ast
new file mode 100644
index 0000000..459bc81
--- /dev/null
+++ b/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/nested-index/inverted-index-join/word-jaccard_01.ast
@@ -0,0 +1,104 @@
+DataverseUse test
+TypeDecl DBLPTypetmp [
+ closed RecordType {
+ id : int32,
+ dblpid : string,
+ title : string,
+ authors : string,
+ misc : string
+ }
+]
+TypeDecl CSXTypetmp [
+ closed RecordType {
+ id : int32,
+ csxid : string,
+ title : string,
+ authors : string,
+ misc : string
+ }
+]
+TypeDecl DBLPType [
+ closed RecordType {
+ nested : DBLPTypetmp
+ }
+]
+TypeDecl CSXType [
+ closed RecordType {
+ nested : CSXTypetmp
+ }
+]
+DatasetDecl DBLP(DBLPType) partitioned by [[nested, id]]
+DatasetDecl CSX(CSXType) partitioned by [[nested, id]]
+WriteOutputTo nc1:rttest/inverted-index-join_word-jaccard_01.adm
+Query:
+SELECT ELEMENT [
+RecordConstructor [
+ (
+ LiteralExpr [STRING] [arec]
+ :
+ Variable [ Name=a ]
+ )
+ (
+ LiteralExpr [STRING] [brec]
+ :
+ Variable [ Name=b ]
+ )
+]
+]
+FROM [ FunctionCall Metadata.dataset@1[
+ LiteralExpr [STRING] [DBLP]
+ ]
+ AS
+ Variable [ Name=a ]
+,
+ FunctionCall Metadata.dataset@1[
+ LiteralExpr [STRING] [CSX]
+ ]
+ AS
+ Variable [ Name=b ]
+]
+Where
+ OperatorExpr [
+ OperatorExpr [
+ FunctionCall test.similarity-jaccard@2[
+ FunctionCall test.word-tokens@1[
+ FieldAccessor [
+ FieldAccessor [
+ Variable [ Name=a ]
+ Field=nested
+ ]
+ Field=title
+ ]
+ ]
+ FunctionCall test.word-tokens@1[
+ FieldAccessor [
+ FieldAccessor [
+ Variable [ Name=b ]
+ Field=nested
+ ]
+ Field=title
+ ]
+ ]
+ ]
+ >=
+ LiteralExpr [FLOAT] [0.5]
+ ]
+ and
+ OperatorExpr [
+ FieldAccessor [
+ FieldAccessor [
+ Variable [ Name=a ]
+ Field=nested
+ ]
+ Field=id
+ ]
+ <
+ FieldAccessor [
+ FieldAccessor [
+ Variable [ Name=b ]
+ Field=nested
+ ]
+ Field=id
+ ]
+ ]
+ ]
http://git-wip-us.apache.org/repos/asf/incubator-asterixdb/blob/391f09e5/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/nested-index/rtree-index-join/leftouterjoin-probe-pidx-with-join-rtree-sidx_01.ast
----------------------------------------------------------------------
diff --git a/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/nested-index/rtree-index-join/leftouterjoin-probe-pidx-with-join-rtree-sidx_01.ast b/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/nested-index/rtree-index-join/leftouterjoin-probe-pidx-with-join-rtree-sidx_01.ast
new file mode 100644
index 0000000..2bdd565
--- /dev/null
+++ b/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/nested-index/rtree-index-join/leftouterjoin-probe-pidx-with-join-rtree-sidx_01.ast
@@ -0,0 +1,156 @@
+DataverseUse test
+TypeDecl TwitterUserType [
+ closed RecordType {
+ screen-name : string,
+ lang : string,
+ friends-count : int32,
+ statuses-count : int32,
+ name : string,
+ followers-count : int32
+ }
+]
+TypeDecl TweetMessageNestedType [
+ open RecordType {
+ tweetid : int64,
+ user : TwitterUserType,
+ sender-location : point,
+ send-time : datetime,
+ referred-topics : UnorderedList <string>
+,
+ message-text : string,
+ countA : int32,
+ countB : int32
+ }
+]
+TypeDecl TweetMessageType [
+ open RecordType {
+ nested : TweetMessageNestedType
+ }
+]
+DatasetDecl TweetMessages(TweetMessageType) partitioned by [[nested, tweetid]]
+WriteOutputTo nc1:rttest/rtree-index-join_leftouterjoin-probe-pidx-with-join-rtree-sidx_01.adm
+Query:
+SELECT ELEMENT [
+RecordConstructor [
+ (
+ LiteralExpr [STRING] [tweetid1]
+ :
+ FieldAccessor [
+ FieldAccessor [
+ Variable [ Name=t1 ]
+ Field=nested
+ ]
+ Field=tweetid
+ ]
+ )
+ (
+ LiteralExpr [STRING] [loc1]
+ :
+ FieldAccessor [
+ FieldAccessor [
+ Variable [ Name=t1 ]
+ Field=nested
+ ]
+ Field=sender-location
+ ]
+ )
+ (
+ LiteralExpr [STRING] [nearby-message]
+ :
+ (
+ SELECT ELEMENT [
+ RecordConstructor [
+ (
+ LiteralExpr [STRING] [tweetid2]
+ :
+ FieldAccessor [
+ FieldAccessor [
+ Variable [ Name=t2 ]
+ Field=nested
+ ]
+ Field=tweetid
+ ]
+ )
+ (
+ LiteralExpr [STRING] [loc2]
+ :
+ FieldAccessor [
+ FieldAccessor [
+ Variable [ Name=t2 ]
+ Field=nested
+ ]
+ Field=sender-location
+ ]
+ )
+ ]
+ ]
+ FROM [ FunctionCall Metadata.dataset@1[
+ LiteralExpr [STRING] [TweetMessages]
+ ]
+ AS
+ Variable [ Name=t2 ]
+ ]
+ Where
+ FunctionCall test.spatial-intersect@2[
+ FieldAccessor [
+ FieldAccessor [
+ Variable [ Name=t2 ]
+ Field=nested
+ ]
+ Field=sender-location
+ ]
+ Variable [ Name=n ]
+ ]
+ Orderby
+ FieldAccessor [
+ Variable [ Name=t2 ]
+ Field=tweetid
+ ]
+ ASC
+
+ )
+ )
+]
+]
+FROM [ FunctionCall Metadata.dataset@1[
+ LiteralExpr [STRING] [TweetMessages]
+ ]
+ AS
+ Variable [ Name=t1 ]
+]
+LetVariable [ Name=n ]
+ :=
+ FunctionCall test.create-circle@2[
+ FieldAccessor [
+ FieldAccessor [
+ Variable [ Name=t1 ]
+ Field=nested
+ ]
+ Field=sender-location
+ ]
+ LiteralExpr [DOUBLE] [0.5]
+ ]
+Where
+ OperatorExpr [
+ FieldAccessor [
+ FieldAccessor [
+ Variable [ Name=t1 ]
+ Field=nested
+ ]
+ Field=tweetid
+ ]
+ <
+ FunctionCall test.int64@1[
+ LiteralExpr [STRING] [10]
+ ]
+ ]
+Orderby
+ FieldAccessor [
+ FieldAccessor [
+ Variable [ Name=t1 ]
+ Field=nested
+ ]
+ Field=tweetid
+ ]
+ ASC
+
http://git-wip-us.apache.org/repos/asf/incubator-asterixdb/blob/391f09e5/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/nested-index/rtree-index-join/leftouterjoin-probe-pidx-with-join-rtree-sidx_02.ast
----------------------------------------------------------------------
diff --git a/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/nested-index/rtree-index-join/leftouterjoin-probe-pidx-with-join-rtree-sidx_02.ast b/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/nested-index/rtree-index-join/leftouterjoin-probe-pidx-with-join-rtree-sidx_02.ast
new file mode 100644
index 0000000..c42875a
--- /dev/null
+++ b/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/nested-index/rtree-index-join/leftouterjoin-probe-pidx-with-join-rtree-sidx_02.ast
@@ -0,0 +1,179 @@
+DataverseUse test
+TypeDecl TwitterUserType [
+ closed RecordType {
+ screen-name : string,
+ lang : string,
+ friends-count : int32,
+ statuses-count : int32,
+ name : string,
+ followers-count : int32
+ }
+]
+TypeDecl TweetMessageNestedType [
+ closed RecordType {
+ tweetid : int64,
+ user : TwitterUserType,
+ sender-location : point,
+ send-time : datetime,
+ referred-topics : UnorderedList <string>
+,
+ message-text : string,
+ countA : int32,
+ countB : int32
+ }
+]
+TypeDecl TweetMessageType [
+ open RecordType {
+ nested : TweetMessageNestedType
+ }
+]
+DatasetDecl TweetMessages(TweetMessageType) partitioned by [[nested, tweetid]]
+WriteOutputTo nc1:rttest/rtree-index-join_leftouterjoin-probe-pidx-with-join-rtree-sidx_02.adm
+Query:
+SELECT ELEMENT [
+RecordConstructor [
+ (
+ LiteralExpr [STRING] [tweetid1]
+ :
+ FieldAccessor [
+ FieldAccessor [
+ Variable [ Name=t1 ]
+ Field=nested
+ ]
+ Field=tweetid
+ ]
+ )
+ (
+ LiteralExpr [STRING] [loc1]
+ :
+ FieldAccessor [
+ FieldAccessor [
+ Variable [ Name=t1 ]
+ Field=nested
+ ]
+ Field=sender-location
+ ]
+ )
+ (
+ LiteralExpr [STRING] [nearby-message]
+ :
+ (
+ SELECT ELEMENT [
+ RecordConstructor [
+ (
+ LiteralExpr [STRING] [tweetid2]
+ :
+ FieldAccessor [
+ FieldAccessor [
+ Variable [ Name=t2 ]
+ Field=nested
+ ]
+ Field=tweetid
+ ]
+ )
+ (
+ LiteralExpr [STRING] [loc2]
+ :
+ FieldAccessor [
+ FieldAccessor [
+ Variable [ Name=t2 ]
+ Field=nested
+ ]
+ Field=sender-location
+ ]
+ )
+ ]
+ ]
+ FROM [ FunctionCall Metadata.dataset@1[
+ LiteralExpr [STRING] [TweetMessages]
+ ]
+ AS
+ Variable [ Name=t2 ]
+ ]
+ Where
+ OperatorExpr [
+ FunctionCall test.spatial-intersect@2[
+ FieldAccessor [
+ FieldAccessor [
+ Variable [ Name=t2 ]
+ Field=nested
+ ]
+ Field=sender-location
+ ]
+ Variable [ Name=n ]
+ ]
+ and
+ OperatorExpr [
+ FieldAccessor [
+ FieldAccessor [
+ Variable [ Name=t1 ]
+ Field=nested
+ ]
+ Field=tweetid
+ ]
+ !=
+ FieldAccessor [
+ FieldAccessor [
+ Variable [ Name=t2 ]
+ Field=nested
+ ]
+ Field=tweetid
+ ]
+ ]
+ ]
+ Orderby
+ FieldAccessor [
+ FieldAccessor [
+ Variable [ Name=t2 ]
+ Field=nested
+ ]
+ Field=tweetid
+ ]
+ ASC
+
+ )
+ )
+]
+]
+FROM [ FunctionCall Metadata.dataset@1[
+ LiteralExpr [STRING] [TweetMessages]
+ ]
+ AS
+ Variable [ Name=t1 ]
+]
+LetVariable [ Name=n ]
+ :=
+ FunctionCall test.create-circle@2[
+ FieldAccessor [
+ FieldAccessor [
+ Variable [ Name=t1 ]
+ Field=nested
+ ]
+ Field=sender-location
+ ]
+ LiteralExpr [DOUBLE] [0.5]
+ ]
+Where
+ OperatorExpr [
+ FieldAccessor [
+ FieldAccessor [
+ Variable [ Name=t1 ]
+ Field=nested
+ ]
+ Field=tweetid
+ ]
+ <
+ FunctionCall test.int64@1[
+ LiteralExpr [STRING] [10]
+ ]
+ ]
+Orderby
+ FieldAccessor [
+ FieldAccessor [
+ Variable [ Name=t1 ]
+ Field=nested
+ ]
+ Field=tweetid
+ ]
+ ASC
+
http://git-wip-us.apache.org/repos/asf/incubator-asterixdb/blob/391f09e5/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/nested-index/rtree-index-join/spatial-intersect-point_01.ast
----------------------------------------------------------------------
diff --git a/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/nested-index/rtree-index-join/spatial-intersect-point_01.ast b/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/nested-index/rtree-index-join/spatial-intersect-point_01.ast
new file mode 100644
index 0000000..3698698
--- /dev/null
+++ b/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/nested-index/rtree-index-join/spatial-intersect-point_01.ast
@@ -0,0 +1,62 @@
+DataverseUse test
+TypeDecl MyRecord [
+ closed RecordType {
+ id : int32,
+ point : point,
+ kwds : string,
+ line1 : line,
+ line2 : line,
+ poly1 : polygon,
+ poly2 : polygon,
+ rec : rectangle
+ }
+]
+TypeDecl MyRecordNested [
+ closed RecordType {
+ nested : MyRecord
+ }
+]
+DatasetDecl MyData1(MyRecordNested) partitioned by [[nested, id]]
+DatasetDecl MyData2(MyRecord) partitioned by [[id]]
+WriteOutputTo nc1:rttest/index-join_rtree-spatial-intersect-point.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 [
+ FieldAccessor [
+ Variable [ Name=a ]
+ Field=nested
+ ]
+ 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/nested-index/rtree-index-join/spatial-intersect-point_02.ast
----------------------------------------------------------------------
diff --git a/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/nested-index/rtree-index-join/spatial-intersect-point_02.ast b/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/nested-index/rtree-index-join/spatial-intersect-point_02.ast
new file mode 100644
index 0000000..e270746
--- /dev/null
+++ b/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/nested-index/rtree-index-join/spatial-intersect-point_02.ast
@@ -0,0 +1,62 @@
+DataverseUse test
+TypeDecl MyRecord [
+ closed RecordType {
+ id : int32,
+ point : point,
+ kwds : string,
+ line1 : line,
+ line2 : line,
+ poly1 : polygon,
+ poly2 : polygon,
+ rec : rectangle
+ }
+]
+TypeDecl MyRecordNested [
+ closed RecordType {
+ nested : MyRecord
+ }
+]
+DatasetDecl MyData1(MyRecordNested) partitioned by [[nested, 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 [
+ FieldAccessor [
+ Variable [ Name=a ]
+ Field=nested
+ ]
+ 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/nested-index/rtree-index-join/spatial-intersect-point_03.ast
----------------------------------------------------------------------
diff --git a/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/nested-index/rtree-index-join/spatial-intersect-point_03.ast b/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/nested-index/rtree-index-join/spatial-intersect-point_03.ast
new file mode 100644
index 0000000..2b58875
--- /dev/null
+++ b/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/nested-index/rtree-index-join/spatial-intersect-point_03.ast
@@ -0,0 +1,64 @@
+DataverseUse test
+TypeDecl MyRecord [
+ closed RecordType {
+ id : int32,
+ point : point,
+ kwds : string,
+ line1 : line,
+ line2 : line,
+ poly1 : polygon,
+ poly2 : polygon,
+ rec : rectangle
+ }
+]
+TypeDecl MyRecordNested [
+ closed RecordType {
+ nested : MyRecord
+ }
+]
+DatasetDecl MyData(MyRecordNested) partitioned by [[nested, 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 [
+ FieldAccessor [
+ Variable [ Name=a ]
+ Field=nested
+ ]
+ Field=point
+ ]
+ FieldAccessor [
+ FieldAccessor [
+ Variable [ Name=b ]
+ Field=nested
+ ]
+ Field=point
+ ]
+ ]
http://git-wip-us.apache.org/repos/asf/incubator-asterixdb/blob/391f09e5/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/nested-open-index/btree-index-join/disjunction-to-join.ast
----------------------------------------------------------------------
diff --git a/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/nested-open-index/btree-index-join/disjunction-to-join.ast b/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/nested-open-index/btree-index-join/disjunction-to-join.ast
new file mode 100644
index 0000000..e53eac9
--- /dev/null
+++ b/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/nested-open-index/btree-index-join/disjunction-to-join.ast
@@ -0,0 +1,50 @@
+DataverseUse test
+TypeDecl NestedTestType [
+ open RecordType {
+
+ }
+]
+TypeDecl TestType [
+ open RecordType {
+ id : string,
+ no-idx : string,
+ nested : NestedTestType
+ }
+]
+DatasetDecl TestSet(TestType) partitioned by [[id]]
+Query:
+SELECT ELEMENT [
+Variable [ Name=x ]
+]
+FROM [ FunctionCall Metadata.dataset@1[
+ LiteralExpr [STRING] [TestSet]
+ ]
+ AS
+ Variable [ Name=x ]
+]
+Where
+ OperatorExpr [
+ OperatorExpr [
+ FieldAccessor [
+ FieldAccessor [
+ Variable [ Name=x ]
+ Field=nested
+ ]
+ Field=idx
+ ]
+ =
+ LiteralExpr [STRING] [one]
+ ]
+ or
+ OperatorExpr [
+ FieldAccessor [
+ FieldAccessor [
+ Variable [ Name=x ]
+ Field=nested
+ ]
+ Field=idx
+ ]
+ =
+ LiteralExpr [STRING] [two]
+ ]
+ ]
http://git-wip-us.apache.org/repos/asf/incubator-asterixdb/blob/391f09e5/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/nested-open-index/btree-index-join/leftouterjoin-probe-pidx-with-join-btree-sidx_01_1.ast
----------------------------------------------------------------------
diff --git a/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/nested-open-index/btree-index-join/leftouterjoin-probe-pidx-with-join-btree-sidx_01_1.ast b/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/nested-open-index/btree-index-join/leftouterjoin-probe-pidx-with-join-btree-sidx_01_1.ast
new file mode 100644
index 0000000..63392c3
--- /dev/null
+++ b/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/nested-open-index/btree-index-join/leftouterjoin-probe-pidx-with-join-btree-sidx_01_1.ast
@@ -0,0 +1,153 @@
+DataverseUse test
+TypeDecl TwitterUserType [
+ closed RecordType {
+ screen-name : string,
+ lang : string,
+ friends-count : int32,
+ statuses-count : int32,
+ name : string,
+ followers-count : int32
+ }
+]
+TypeDecl TweetMessageNestedType [
+ open RecordType {
+ tweetid : int64,
+ user : TwitterUserType,
+ sender-location : point,
+ send-time : datetime,
+ referred-topics : UnorderedList <string>
+,
+ message-text : string,
+ countA : int32
+ }
+]
+TypeDecl TweetMessageType [
+ open RecordType {
+ nested : TweetMessageNestedType
+ }
+]
+DatasetDecl TweetMessages(TweetMessageType) partitioned by [[nested, tweetid]]
+WriteOutputTo nc1:rttest/btree-index-join_leftouterjoin-probe-pidx-with-join-btree-sidx_01.adm
+Query:
+SELECT ELEMENT [
+RecordConstructor [
+ (
+ LiteralExpr [STRING] [tweetid1]
+ :
+ FieldAccessor [
+ FieldAccessor [
+ Variable [ Name=t1 ]
+ Field=nested
+ ]
+ Field=tweetid
+ ]
+ )
+ (
+ LiteralExpr [STRING] [count1]
+ :
+ FieldAccessor [
+ FieldAccessor [
+ Variable [ Name=t1 ]
+ Field=nested
+ ]
+ Field=countA
+ ]
+ )
+ (
+ LiteralExpr [STRING] [t2info]
+ :
+ (
+ SELECT ELEMENT [
+ RecordConstructor [
+ (
+ LiteralExpr [STRING] [tweetid2]
+ :
+ FieldAccessor [
+ FieldAccessor [
+ Variable [ Name=t2 ]
+ Field=nested
+ ]
+ Field=tweetid
+ ]
+ )
+ (
+ LiteralExpr [STRING] [count2]
+ :
+ FieldAccessor [
+ FieldAccessor [
+ Variable [ Name=t2 ]
+ Field=nested
+ ]
+ Field=countB
+ ]
+ )
+ ]
+ ]
+ FROM [ FunctionCall Metadata.dataset@1[
+ LiteralExpr [STRING] [TweetMessages]
+ ]
+ AS
+ Variable [ Name=t2 ]
+ ]
+ Where
+ OperatorExpr [
+ FieldAccessor [
+ FieldAccessor [
+ Variable [ Name=t1 ]
+ Field=nested
+ ]
+ Field=countA
+ ]
+ =
+ FieldAccessor [
+ FieldAccessor [
+ Variable [ Name=t2 ]
+ Field=nested
+ ]
+ Field=countB
+ ]
+ ]
+ Orderby
+ FieldAccessor [
+ FieldAccessor [
+ Variable [ Name=t2 ]
+ Field=nested
+ ]
+ Field=tweetid
+ ]
+ ASC
+
+ )
+ )
+]
+]
+FROM [ FunctionCall Metadata.dataset@1[
+ LiteralExpr [STRING] [TweetMessages]
+ ]
+ AS
+ Variable [ Name=t1 ]
+]
+Where
+ OperatorExpr [
+ FieldAccessor [
+ FieldAccessor [
+ Variable [ Name=t1 ]
+ Field=nested
+ ]
+ Field=tweetid
+ ]
+ <
+ FunctionCall test.int64@1[
+ LiteralExpr [STRING] [10]
+ ]
+ ]
+Orderby
+ FieldAccessor [
+ FieldAccessor [
+ Variable [ Name=t1 ]
+ Field=nested
+ ]
+ Field=tweetid
+ ]
+ ASC
+
http://git-wip-us.apache.org/repos/asf/incubator-asterixdb/blob/391f09e5/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/nested-open-index/btree-index-join/leftouterjoin-probe-pidx-with-join-btree-sidx_01_2.ast
----------------------------------------------------------------------
diff --git a/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/nested-open-index/btree-index-join/leftouterjoin-probe-pidx-with-join-btree-sidx_01_2.ast b/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/nested-open-index/btree-index-join/leftouterjoin-probe-pidx-with-join-btree-sidx_01_2.ast
new file mode 100644
index 0000000..6d5f9ed
--- /dev/null
+++ b/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/nested-open-index/btree-index-join/leftouterjoin-probe-pidx-with-join-btree-sidx_01_2.ast
@@ -0,0 +1,152 @@
+DataverseUse test
+TypeDecl TwitterUserType [
+ closed RecordType {
+ screen-name : string,
+ lang : string,
+ friends-count : int32,
+ statuses-count : int32,
+ name : string,
+ followers-count : int32
+ }
+]
+TypeDecl TweetMessageNestedType [
+ open RecordType {
+ tweetid : int64,
+ user : TwitterUserType,
+ sender-location : point,
+ send-time : datetime,
+ referred-topics : UnorderedList <string>
+,
+ message-text : string
+ }
+]
+TypeDecl TweetMessageType [
+ open RecordType {
+ nested : TweetMessageNestedType
+ }
+]
+DatasetDecl TweetMessages(TweetMessageType) partitioned by [[nested, tweetid]]
+WriteOutputTo nc1:rttest/btree-index-join_leftouterjoin-probe-pidx-with-join-btree-sidx_01.adm
+Query:
+SELECT ELEMENT [
+RecordConstructor [
+ (
+ LiteralExpr [STRING] [tweetid1]
+ :
+ FieldAccessor [
+ FieldAccessor [
+ Variable [ Name=t1 ]
+ Field=nested
+ ]
+ Field=tweetid
+ ]
+ )
+ (
+ LiteralExpr [STRING] [count1]
+ :
+ FieldAccessor [
+ FieldAccessor [
+ Variable [ Name=t1 ]
+ Field=nested
+ ]
+ Field=countA
+ ]
+ )
+ (
+ LiteralExpr [STRING] [t2info]
+ :
+ (
+ SELECT ELEMENT [
+ RecordConstructor [
+ (
+ LiteralExpr [STRING] [tweetid2]
+ :
+ FieldAccessor [
+ FieldAccessor [
+ Variable [ Name=t2 ]
+ Field=nested
+ ]
+ Field=tweetid
+ ]
+ )
+ (
+ LiteralExpr [STRING] [count2]
+ :
+ FieldAccessor [
+ FieldAccessor [
+ Variable [ Name=t2 ]
+ Field=nested
+ ]
+ Field=countB
+ ]
+ )
+ ]
+ ]
+ FROM [ FunctionCall Metadata.dataset@1[
+ LiteralExpr [STRING] [TweetMessages]
+ ]
+ AS
+ Variable [ Name=t2 ]
+ ]
+ Where
+ OperatorExpr [
+ FieldAccessor [
+ FieldAccessor [
+ Variable [ Name=t1 ]
+ Field=nested
+ ]
+ Field=countA
+ ]
+ =
+ FieldAccessor [
+ FieldAccessor [
+ Variable [ Name=t2 ]
+ Field=nested
+ ]
+ Field=countB
+ ]
+ ]
+ Orderby
+ FieldAccessor [
+ FieldAccessor [
+ Variable [ Name=t2 ]
+ Field=nested
+ ]
+ Field=tweetid
+ ]
+ ASC
+
+ )
+ )
+]
+]
+FROM [ FunctionCall Metadata.dataset@1[
+ LiteralExpr [STRING] [TweetMessages]
+ ]
+ AS
+ Variable [ Name=t1 ]
+]
+Where
+ OperatorExpr [
+ FieldAccessor [
+ FieldAccessor [
+ Variable [ Name=t1 ]
+ Field=nested
+ ]
+ Field=tweetid
+ ]
+ <
+ FunctionCall test.int64@1[
+ LiteralExpr [STRING] [10]
+ ]
+ ]
+Orderby
+ FieldAccessor [
+ FieldAccessor [
+ Variable [ Name=t1 ]
+ Field=nested
+ ]
+ Field=tweetid
+ ]
+ ASC
+
http://git-wip-us.apache.org/repos/asf/incubator-asterixdb/blob/391f09e5/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/nested-open-index/btree-index-join/leftouterjoin-probe-pidx-with-join-btree-sidx_02_1.ast
----------------------------------------------------------------------
diff --git a/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/nested-open-index/btree-index-join/leftouterjoin-probe-pidx-with-join-btree-sidx_02_1.ast b/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/nested-open-index/btree-index-join/leftouterjoin-probe-pidx-with-join-btree-sidx_02_1.ast
new file mode 100644
index 0000000..9607abf
--- /dev/null
+++ b/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/nested-open-index/btree-index-join/leftouterjoin-probe-pidx-with-join-btree-sidx_02_1.ast
@@ -0,0 +1,173 @@
+DataverseUse test
+TypeDecl TwitterUserType [
+ closed RecordType {
+ screen-name : string,
+ lang : string,
+ friends-count : int32,
+ statuses-count : int32,
+ name : string,
+ followers-count : int32
+ }
+]
+TypeDecl TweetMessageNestedType [
+ open RecordType {
+ tweetid : int64,
+ user : TwitterUserType,
+ sender-location : point,
+ send-time : datetime,
+ referred-topics : UnorderedList <string>
+,
+ message-text : string,
+ countA : int32
+ }
+]
+TypeDecl TweetMessageType [
+ open RecordType {
+ nested : TweetMessageNestedType
+ }
+]
+DatasetDecl TweetMessages(TweetMessageType) partitioned by [[nested, tweetid]]
+WriteOutputTo nc1:rttest/btree-index-join_leftouterjoin-probe-pidx-with-join-btree-sidx_02.adm
+Query:
+SELECT ELEMENT [
+RecordConstructor [
+ (
+ LiteralExpr [STRING] [tweetid1]
+ :
+ FieldAccessor [
+ FieldAccessor [
+ Variable [ Name=t1 ]
+ Field=nested
+ ]
+ Field=tweetid
+ ]
+ )
+ (
+ LiteralExpr [STRING] [count1]
+ :
+ FieldAccessor [
+ FieldAccessor [
+ Variable [ Name=t1 ]
+ Field=nested
+ ]
+ Field=countA
+ ]
+ )
+ (
+ LiteralExpr [STRING] [t2info]
+ :
+ (
+ SELECT ELEMENT [
+ RecordConstructor [
+ (
+ LiteralExpr [STRING] [tweetid2]
+ :
+ FieldAccessor [
+ FieldAccessor [
+ Variable [ Name=t2 ]
+ Field=nested
+ ]
+ Field=tweetid
+ ]
+ )
+ (
+ LiteralExpr [STRING] [count2]
+ :
+ FieldAccessor [
+ FieldAccessor [
+ Variable [ Name=t2 ]
+ Field=nested
+ ]
+ Field=countB
+ ]
+ )
+ ]
+ ]
+ FROM [ FunctionCall Metadata.dataset@1[
+ LiteralExpr [STRING] [TweetMessages]
+ ]
+ AS
+ Variable [ Name=t2 ]
+ ]
+ Where
+ OperatorExpr [
+ OperatorExpr [
+ FieldAccessor [
+ FieldAccessor [
+ Variable [ Name=t1 ]
+ Field=nested
+ ]
+ Field=countA
+ ]
+ =
+ FieldAccessor [
+ FieldAccessor [
+ Variable [ Name=t2 ]
+ Field=nested
+ ]
+ Field=countB
+ ]
+ ]
+ and
+ OperatorExpr [
+ FieldAccessor [
+ FieldAccessor [
+ Variable [ Name=t1 ]
+ Field=nested
+ ]
+ Field=tweetid
+ ]
+ !=
+ FieldAccessor [
+ FieldAccessor [
+ Variable [ Name=t2 ]
+ Field=nested
+ ]
+ Field=tweetid
+ ]
+ ]
+ ]
+ Orderby
+ FieldAccessor [
+ FieldAccessor [
+ Variable [ Name=t2 ]
+ Field=nested
+ ]
+ Field=tweetid
+ ]
+ ASC
+
+ )
+ )
+]
+]
+FROM [ FunctionCall Metadata.dataset@1[
+ LiteralExpr [STRING] [TweetMessages]
+ ]
+ AS
+ Variable [ Name=t1 ]
+]
+Where
+ OperatorExpr [
+ FieldAccessor [
+ FieldAccessor [
+ Variable [ Name=t1 ]
+ Field=nested
+ ]
+ Field=tweetid
+ ]
+ <
+ FunctionCall test.int64@1[
+ LiteralExpr [STRING] [10]
+ ]
+ ]
+Orderby
+ FieldAccessor [
+ FieldAccessor [
+ Variable [ Name=t1 ]
+ Field=nested
+ ]
+ Field=tweetid
+ ]
+ ASC
+
http://git-wip-us.apache.org/repos/asf/incubator-asterixdb/blob/391f09e5/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/nested-open-index/btree-index-join/leftouterjoin-probe-pidx-with-join-btree-sidx_02_2.ast
----------------------------------------------------------------------
diff --git a/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/nested-open-index/btree-index-join/leftouterjoin-probe-pidx-with-join-btree-sidx_02_2.ast b/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/nested-open-index/btree-index-join/leftouterjoin-probe-pidx-with-join-btree-sidx_02_2.ast
new file mode 100644
index 0000000..cdb65ac
--- /dev/null
+++ b/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/nested-open-index/btree-index-join/leftouterjoin-probe-pidx-with-join-btree-sidx_02_2.ast
@@ -0,0 +1,172 @@
+DataverseUse test
+TypeDecl TwitterUserType [
+ closed RecordType {
+ screen-name : string,
+ lang : string,
+ friends-count : int32,
+ statuses-count : int32,
+ name : string,
+ followers-count : int32
+ }
+]
+TypeDecl TweetMessageNestedType [
+ open RecordType {
+ tweetid : int64,
+ user : TwitterUserType,
+ sender-location : point,
+ send-time : datetime,
+ referred-topics : UnorderedList <string>
+,
+ message-text : string
+ }
+]
+TypeDecl TweetMessageType [
+ open RecordType {
+ nested : TweetMessageNestedType
+ }
+]
+DatasetDecl TweetMessages(TweetMessageType) partitioned by [[nested, tweetid]]
+WriteOutputTo nc1:rttest/btree-index-join_leftouterjoin-probe-pidx-with-join-btree-sidx_02.adm
+Query:
+SELECT ELEMENT [
+RecordConstructor [
+ (
+ LiteralExpr [STRING] [tweetid1]
+ :
+ FieldAccessor [
+ FieldAccessor [
+ Variable [ Name=t1 ]
+ Field=nested
+ ]
+ Field=tweetid
+ ]
+ )
+ (
+ LiteralExpr [STRING] [count1]
+ :
+ FieldAccessor [
+ FieldAccessor [
+ Variable [ Name=t1 ]
+ Field=nested
+ ]
+ Field=countA
+ ]
+ )
+ (
+ LiteralExpr [STRING] [t2info]
+ :
+ (
+ SELECT ELEMENT [
+ RecordConstructor [
+ (
+ LiteralExpr [STRING] [tweetid2]
+ :
+ FieldAccessor [
+ FieldAccessor [
+ Variable [ Name=t2 ]
+ Field=nested
+ ]
+ Field=tweetid
+ ]
+ )
+ (
+ LiteralExpr [STRING] [count2]
+ :
+ FieldAccessor [
+ FieldAccessor [
+ Variable [ Name=t2 ]
+ Field=nested
+ ]
+ Field=countB
+ ]
+ )
+ ]
+ ]
+ FROM [ FunctionCall Metadata.dataset@1[
+ LiteralExpr [STRING] [TweetMessages]
+ ]
+ AS
+ Variable [ Name=t2 ]
+ ]
+ Where
+ OperatorExpr [
+ OperatorExpr [
+ FieldAccessor [
+ FieldAccessor [
+ Variable [ Name=t1 ]
+ Field=nested
+ ]
+ Field=countA
+ ]
+ =
+ FieldAccessor [
+ FieldAccessor [
+ Variable [ Name=t2 ]
+ Field=nested
+ ]
+ Field=countB
+ ]
+ ]
+ and
+ OperatorExpr [
+ FieldAccessor [
+ FieldAccessor [
+ Variable [ Name=t1 ]
+ Field=nested
+ ]
+ Field=tweetid
+ ]
+ !=
+ FieldAccessor [
+ FieldAccessor [
+ Variable [ Name=t2 ]
+ Field=nested
+ ]
+ Field=tweetid
+ ]
+ ]
+ ]
+ Orderby
+ FieldAccessor [
+ FieldAccessor [
+ Variable [ Name=t2 ]
+ Field=nested
+ ]
+ Field=tweetid
+ ]
+ ASC
+
+ )
+ )
+]
+]
+FROM [ FunctionCall Metadata.dataset@1[
+ LiteralExpr [STRING] [TweetMessages]
+ ]
+ AS
+ Variable [ Name=t1 ]
+]
+Where
+ OperatorExpr [
+ FieldAccessor [
+ FieldAccessor [
+ Variable [ Name=t1 ]
+ Field=nested
+ ]
+ Field=tweetid
+ ]
+ <
+ FunctionCall test.int64@1[
+ LiteralExpr [STRING] [10]
+ ]
+ ]
+Orderby
+ FieldAccessor [
+ FieldAccessor [
+ Variable [ Name=t1 ]
+ Field=nested
+ ]
+ Field=tweetid
+ ]
+ ASC
+
http://git-wip-us.apache.org/repos/asf/incubator-asterixdb/blob/391f09e5/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/nested-open-index/btree-index-join/secondary-composite-key-join_01.ast
----------------------------------------------------------------------
diff --git a/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/nested-open-index/btree-index-join/secondary-composite-key-join_01.ast b/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/nested-open-index/btree-index-join/secondary-composite-key-join_01.ast
new file mode 100644
index 0000000..ef70cb3
--- /dev/null
+++ b/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/nested-open-index/btree-index-join/secondary-composite-key-join_01.ast
@@ -0,0 +1,78 @@
+DataverseUse test
+TypeDecl Nametmp [
+ open RecordType {
+ id : int32
+ }
+]
+TypeDecl NameType [
+ open RecordType {
+ nested : Nametmp
+ }
+]
+DatasetDecl Names(NameType) partitioned by [[nested, id]]
+WriteOutputTo nc1:rttest/btree-index-join_secondary-composite-key-prefix-join_01.adm
+Query:
+SELECT ELEMENT [
+RecordConstructor [
+ (
+ LiteralExpr [STRING] [emp1]
+ :
+ Variable [ Name=emp1 ]
+ )
+ (
+ LiteralExpr [STRING] [emp2]
+ :
+ Variable [ Name=emp2 ]
+ )
+]
+]
+FROM [ FunctionCall Metadata.dataset@1[
+ LiteralExpr [STRING] [Names]
+ ]
+ AS
+ Variable [ Name=emp1 ]
+,
+ FunctionCall Metadata.dataset@1[
+ LiteralExpr [STRING] [Names]
+ ]
+ AS
+ Variable [ Name=emp2 ]
+]
+Where
+ OperatorExpr [
+ OperatorExpr [
+ FieldAccessor [
+ FieldAccessor [
+ Variable [ Name=emp1 ]
+ Field=nested
+ ]
+ Field=fname
+ ]
+ >
+ FieldAccessor [
+ FieldAccessor [
+ Variable [ Name=emp2 ]
+ Field=nested
+ ]
+ Field=fname
+ ]
+ ]
+ and
+ OperatorExpr [
+ FieldAccessor [
+ FieldAccessor [
+ Variable [ Name=emp1 ]
+ Field=nested
+ ]
+ Field=lname
+ ]
+ >
+ FieldAccessor [
+ FieldAccessor [
+ Variable [ Name=emp2 ]
+ Field=nested
+ ]
+ Field=lname
+ ]
+ ]
+ ]
http://git-wip-us.apache.org/repos/asf/incubator-asterixdb/blob/391f09e5/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/nested-open-index/btree-index-join/secondary-composite-key-join_02.ast
----------------------------------------------------------------------
diff --git a/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/nested-open-index/btree-index-join/secondary-composite-key-join_02.ast b/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/nested-open-index/btree-index-join/secondary-composite-key-join_02.ast
new file mode 100644
index 0000000..9f1f805
--- /dev/null
+++ b/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/nested-open-index/btree-index-join/secondary-composite-key-join_02.ast
@@ -0,0 +1,78 @@
+DataverseUse test
+TypeDecl Nametmp [
+ open RecordType {
+ id : int32
+ }
+]
+TypeDecl NameType [
+ open RecordType {
+ nested : Nametmp
+ }
+]
+DatasetDecl Names(NameType) partitioned by [[nested, id]]
+WriteOutputTo nc1:rttest/btree-index-join_secondary-composite-key-prefix-join_02.adm
+Query:
+SELECT ELEMENT [
+RecordConstructor [
+ (
+ LiteralExpr [STRING] [emp1]
+ :
+ Variable [ Name=emp1 ]
+ )
+ (
+ LiteralExpr [STRING] [emp2]
+ :
+ Variable [ Name=emp2 ]
+ )
+]
+]
+FROM [ FunctionCall Metadata.dataset@1[
+ LiteralExpr [STRING] [Names]
+ ]
+ AS
+ Variable [ Name=emp1 ]
+,
+ FunctionCall Metadata.dataset@1[
+ LiteralExpr [STRING] [Names]
+ ]
+ AS
+ Variable [ Name=emp2 ]
+]
+Where
+ OperatorExpr [
+ OperatorExpr [
+ FieldAccessor [
+ FieldAccessor [
+ Variable [ Name=emp1 ]
+ Field=nested
+ ]
+ Field=fname
+ ]
+ <
+ FieldAccessor [
+ FieldAccessor [
+ Variable [ Name=emp2 ]
+ Field=nested
+ ]
+ Field=fname
+ ]
+ ]
+ and
+ OperatorExpr [
+ FieldAccessor [
+ FieldAccessor [
+ Variable [ Name=emp1 ]
+ Field=nested
+ ]
+ Field=lname
+ ]
+ <
+ FieldAccessor [
+ FieldAccessor [
+ Variable [ Name=emp2 ]
+ Field=nested
+ ]
+ Field=lname
+ ]
+ ]
+ ]
http://git-wip-us.apache.org/repos/asf/incubator-asterixdb/blob/391f09e5/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/nested-open-index/btree-index-join/secondary-composite-key-join_03.ast
----------------------------------------------------------------------
diff --git a/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/nested-open-index/btree-index-join/secondary-composite-key-join_03.ast b/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/nested-open-index/btree-index-join/secondary-composite-key-join_03.ast
new file mode 100644
index 0000000..5addf60
--- /dev/null
+++ b/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/nested-open-index/btree-index-join/secondary-composite-key-join_03.ast
@@ -0,0 +1,78 @@
+DataverseUse test
+TypeDecl Nametmp [
+ open RecordType {
+ id : int32
+ }
+]
+TypeDecl NameType [
+ open RecordType {
+ nested : Nametmp
+ }
+]
+DatasetDecl Names(NameType) partitioned by [[nested, id]]
+WriteOutputTo nc1:rttest/btree-index-join_secondary-composite-key-prefix-join_03.adm
+Query:
+SELECT ELEMENT [
+RecordConstructor [
+ (
+ LiteralExpr [STRING] [emp1]
+ :
+ Variable [ Name=emp1 ]
+ )
+ (
+ LiteralExpr [STRING] [emp2]
+ :
+ Variable [ Name=emp2 ]
+ )
+]
+]
+FROM [ FunctionCall Metadata.dataset@1[
+ LiteralExpr [STRING] [Names]
+ ]
+ AS
+ Variable [ Name=emp1 ]
+,
+ FunctionCall Metadata.dataset@1[
+ LiteralExpr [STRING] [Names]
+ ]
+ AS
+ Variable [ Name=emp2 ]
+]
+Where
+ OperatorExpr [
+ OperatorExpr [
+ FieldAccessor [
+ FieldAccessor [
+ Variable [ Name=emp1 ]
+ Field=nested
+ ]
+ Field=fname
+ ]
+ =
+ FieldAccessor [
+ FieldAccessor [
+ Variable [ Name=emp2 ]
+ Field=nested
+ ]
+ Field=fname
+ ]
+ ]
+ and
+ OperatorExpr [
+ FieldAccessor [
+ FieldAccessor [
+ Variable [ Name=emp1 ]
+ Field=nested
+ ]
+ Field=lname
+ ]
+ =
+ FieldAccessor [
+ FieldAccessor [
+ Variable [ Name=emp2 ]
+ Field=nested
+ ]
+ Field=lname
+ ]
+ ]
+ ]
http://git-wip-us.apache.org/repos/asf/incubator-asterixdb/blob/391f09e5/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/nested-open-index/btree-index-join/secondary-composite-key-prefix-join_01.ast
----------------------------------------------------------------------
diff --git a/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/nested-open-index/btree-index-join/secondary-composite-key-prefix-join_01.ast b/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/nested-open-index/btree-index-join/secondary-composite-key-prefix-join_01.ast
new file mode 100644
index 0000000..7ca97e3
--- /dev/null
+++ b/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/nested-open-index/btree-index-join/secondary-composite-key-prefix-join_01.ast
@@ -0,0 +1,78 @@
+DataverseUse test
+TypeDecl Nametmp [
+ open RecordType {
+ id : int32
+ }
+]
+TypeDecl NameType [
+ open RecordType {
+ nested : Nametmp
+ }
+]
+DatasetDecl Names(NameType) partitioned by [[nested, id]]
+WriteOutputTo nc1:rttest/btree-index-join_secondary-composite-key-prefix-prefix-join_01.adm
+Query:
+SELECT ELEMENT [
+RecordConstructor [
+ (
+ LiteralExpr [STRING] [emp1]
+ :
+ Variable [ Name=emp1 ]
+ )
+ (
+ LiteralExpr [STRING] [emp2]
+ :
+ Variable [ Name=emp2 ]
+ )
+]
+]
+FROM [ FunctionCall Metadata.dataset@1[
+ LiteralExpr [STRING] [Names]
+ ]
+ AS
+ Variable [ Name=emp1 ]
+,
+ FunctionCall Metadata.dataset@1[
+ LiteralExpr [STRING] [Names]
+ ]
+ AS
+ Variable [ Name=emp2 ]
+]
+Where
+ OperatorExpr [
+ OperatorExpr [
+ FieldAccessor [
+ FieldAccessor [
+ Variable [ Name=emp1 ]
+ Field=nested
+ ]
+ Field=fname
+ ]
+ <
+ FieldAccessor [
+ FieldAccessor [
+ Variable [ Name=emp2 ]
+ Field=nested
+ ]
+ Field=fname
+ ]
+ ]
+ and
+ OperatorExpr [
+ FieldAccessor [
+ FieldAccessor [
+ Variable [ Name=emp1 ]
+ Field=nested
+ ]
+ Field=lname
+ ]
+ >
+ FieldAccessor [
+ FieldAccessor [
+ Variable [ Name=emp2 ]
+ Field=nested
+ ]
+ Field=lname
+ ]
+ ]
+ ]
http://git-wip-us.apache.org/repos/asf/incubator-asterixdb/blob/391f09e5/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/nested-open-index/btree-index-join/secondary-composite-key-prefix-join_02.ast
----------------------------------------------------------------------
diff --git a/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/nested-open-index/btree-index-join/secondary-composite-key-prefix-join_02.ast b/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/nested-open-index/btree-index-join/secondary-composite-key-prefix-join_02.ast
new file mode 100644
index 0000000..0df6d2d
--- /dev/null
+++ b/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/nested-open-index/btree-index-join/secondary-composite-key-prefix-join_02.ast
@@ -0,0 +1,78 @@
+DataverseUse test
+TypeDecl Nametmp [
+ open RecordType {
+ id : int32
+ }
+]
+TypeDecl NameType [
+ open RecordType {
+ nested : Nametmp
+ }
+]
+DatasetDecl Names(NameType) partitioned by [[nested, id]]
+WriteOutputTo nc1:rttest/btree-index-join_secondary-composite-key-prefix-prefix-join_02.adm
+Query:
+SELECT ELEMENT [
+RecordConstructor [
+ (
+ LiteralExpr [STRING] [emp1]
+ :
+ Variable [ Name=emp1 ]
+ )
+ (
+ LiteralExpr [STRING] [emp2]
+ :
+ Variable [ Name=emp2 ]
+ )
+]
+]
+FROM [ FunctionCall Metadata.dataset@1[
+ LiteralExpr [STRING] [Names]
+ ]
+ AS
+ Variable [ Name=emp1 ]
+,
+ FunctionCall Metadata.dataset@1[
+ LiteralExpr [STRING] [Names]
+ ]
+ AS
+ Variable [ Name=emp2 ]
+]
+Where
+ OperatorExpr [
+ OperatorExpr [
+ FieldAccessor [
+ FieldAccessor [
+ Variable [ Name=emp1 ]
+ Field=nested
+ ]
+ Field=fname
+ ]
+ >
+ FieldAccessor [
+ FieldAccessor [
+ Variable [ Name=emp2 ]
+ Field=nested
+ ]
+ Field=fname
+ ]
+ ]
+ and
+ OperatorExpr [
+ FieldAccessor [
+ FieldAccessor [
+ Variable [ Name=emp1 ]
+ Field=nested
+ ]
+ Field=lname
+ ]
+ <
+ FieldAccessor [
+ FieldAccessor [
+ Variable [ Name=emp2 ]
+ Field=nested
+ ]
+ Field=lname
+ ]
+ ]
+ ]
http://git-wip-us.apache.org/repos/asf/incubator-asterixdb/blob/391f09e5/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/nested-open-index/btree-index-join/secondary-composite-key-prefix-join_03.ast
----------------------------------------------------------------------
diff --git a/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/nested-open-index/btree-index-join/secondary-composite-key-prefix-join_03.ast b/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/nested-open-index/btree-index-join/secondary-composite-key-prefix-join_03.ast
new file mode 100644
index 0000000..469a699
--- /dev/null
+++ b/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/nested-open-index/btree-index-join/secondary-composite-key-prefix-join_03.ast
@@ -0,0 +1,78 @@
+DataverseUse test
+TypeDecl Nametmp [
+ open RecordType {
+ id : int32
+ }
+]
+TypeDecl NameType [
+ open RecordType {
+ nested : Nametmp
+ }
+]
+DatasetDecl Names(NameType) partitioned by [[nested, id]]
+WriteOutputTo nc1:rttest/btree-index-join_secondary-composite-key-prefix-prefix-join_03.adm
+Query:
+SELECT ELEMENT [
+RecordConstructor [
+ (
+ LiteralExpr [STRING] [emp1]
+ :
+ Variable [ Name=emp1 ]
+ )
+ (
+ LiteralExpr [STRING] [emp2]
+ :
+ Variable [ Name=emp2 ]
+ )
+]
+]
+FROM [ FunctionCall Metadata.dataset@1[
+ LiteralExpr [STRING] [Names]
+ ]
+ AS
+ Variable [ Name=emp1 ]
+,
+ FunctionCall Metadata.dataset@1[
+ LiteralExpr [STRING] [Names]
+ ]
+ AS
+ Variable [ Name=emp2 ]
+]
+Where
+ OperatorExpr [
+ OperatorExpr [
+ FieldAccessor [
+ FieldAccessor [
+ Variable [ Name=emp1 ]
+ Field=nested
+ ]
+ Field=fname
+ ]
+ >
+ FieldAccessor [
+ FieldAccessor [
+ Variable [ Name=emp2 ]
+ Field=nested
+ ]
+ Field=fname
+ ]
+ ]
+ and
+ OperatorExpr [
+ FieldAccessor [
+ FieldAccessor [
+ Variable [ Name=emp1 ]
+ Field=nested
+ ]
+ Field=lname
+ ]
+ =
+ FieldAccessor [
+ FieldAccessor [
+ Variable [ Name=emp2 ]
+ Field=nested
+ ]
+ Field=lname
+ ]
+ ]
+ ]
http://git-wip-us.apache.org/repos/asf/incubator-asterixdb/blob/391f09e5/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/nested-open-index/btree-index-join/secondary-composite-key-prefix-join_04.ast
----------------------------------------------------------------------
diff --git a/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/nested-open-index/btree-index-join/secondary-composite-key-prefix-join_04.ast b/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/nested-open-index/btree-index-join/secondary-composite-key-prefix-join_04.ast
new file mode 100644
index 0000000..8d0c77d
--- /dev/null
+++ b/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/nested-open-index/btree-index-join/secondary-composite-key-prefix-join_04.ast
@@ -0,0 +1,78 @@
+DataverseUse test
+TypeDecl Nametmp [
+ open RecordType {
+ id : int32
+ }
+]
+TypeDecl NameType [
+ open RecordType {
+ nested : Nametmp
+ }
+]
+DatasetDecl Names(NameType) partitioned by [[nested, id]]
+WriteOutputTo nc1:rttest/btree-index-join_secondary-composite-key-prefix-prefix-join_04.adm
+Query:
+SELECT ELEMENT [
+RecordConstructor [
+ (
+ LiteralExpr [STRING] [emp1]
+ :
+ Variable [ Name=emp1 ]
+ )
+ (
+ LiteralExpr [STRING] [emp2]
+ :
+ Variable [ Name=emp2 ]
+ )
+]
+]
+FROM [ FunctionCall Metadata.dataset@1[
+ LiteralExpr [STRING] [Names]
+ ]
+ AS
+ Variable [ Name=emp1 ]
+,
+ FunctionCall Metadata.dataset@1[
+ LiteralExpr [STRING] [Names]
+ ]
+ AS
+ Variable [ Name=emp2 ]
+]
+Where
+ OperatorExpr [
+ OperatorExpr [
+ FieldAccessor [
+ FieldAccessor [
+ Variable [ Name=emp1 ]
+ Field=nested
+ ]
+ Field=fname
+ ]
+ <
+ FieldAccessor [
+ FieldAccessor [
+ Variable [ Name=emp2 ]
+ Field=nested
+ ]
+ Field=fname
+ ]
+ ]
+ and
+ OperatorExpr [
+ FieldAccessor [
+ FieldAccessor [
+ Variable [ Name=emp1 ]
+ Field=nested
+ ]
+ Field=lname
+ ]
+ =
+ FieldAccessor [
+ FieldAccessor [
+ Variable [ Name=emp2 ]
+ Field=nested
+ ]
+ Field=lname
+ ]
+ ]
+ ]
http://git-wip-us.apache.org/repos/asf/incubator-asterixdb/blob/391f09e5/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/nested-open-index/btree-index-join/secondary-composite-key-prefix-join_05.ast
----------------------------------------------------------------------
diff --git a/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/nested-open-index/btree-index-join/secondary-composite-key-prefix-join_05.ast b/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/nested-open-index/btree-index-join/secondary-composite-key-prefix-join_05.ast
new file mode 100644
index 0000000..a522e08
--- /dev/null
+++ b/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/nested-open-index/btree-index-join/secondary-composite-key-prefix-join_05.ast
@@ -0,0 +1,78 @@
+DataverseUse test
+TypeDecl Nametmp [
+ open RecordType {
+ id : int32
+ }
+]
+TypeDecl NameType [
+ open RecordType {
+ nested : Nametmp
+ }
+]
+DatasetDecl Names(NameType) partitioned by [[nested, id]]
+WriteOutputTo nc1:rttest/btree-index-join_secondary-composite-key-prefix-prefix-join_05.adm
+Query:
+SELECT ELEMENT [
+RecordConstructor [
+ (
+ LiteralExpr [STRING] [emp1]
+ :
+ Variable [ Name=emp1 ]
+ )
+ (
+ LiteralExpr [STRING] [emp2]
+ :
+ Variable [ Name=emp2 ]
+ )
+]
+]
+FROM [ FunctionCall Metadata.dataset@1[
+ LiteralExpr [STRING] [Names]
+ ]
+ AS
+ Variable [ Name=emp1 ]
+,
+ FunctionCall Metadata.dataset@1[
+ LiteralExpr [STRING] [Names]
+ ]
+ AS
+ Variable [ Name=emp2 ]
+]
+Where
+ OperatorExpr [
+ OperatorExpr [
+ FieldAccessor [
+ FieldAccessor [
+ Variable [ Name=emp1 ]
+ Field=nested
+ ]
+ Field=fname
+ ]
+ =
+ FieldAccessor [
+ FieldAccessor [
+ Variable [ Name=emp2 ]
+ Field=nested
+ ]
+ Field=fname
+ ]
+ ]
+ and
+ OperatorExpr [
+ FieldAccessor [
+ FieldAccessor [
+ Variable [ Name=emp1 ]
+ Field=nested
+ ]
+ Field=lname
+ ]
+ >
+ FieldAccessor [
+ FieldAccessor [
+ Variable [ Name=emp2 ]
+ Field=nested
+ ]
+ Field=lname
+ ]
+ ]
+ ]
http://git-wip-us.apache.org/repos/asf/incubator-asterixdb/blob/391f09e5/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/nested-open-index/btree-index-join/secondary-composite-key-prefix-join_06.ast
----------------------------------------------------------------------
diff --git a/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/nested-open-index/btree-index-join/secondary-composite-key-prefix-join_06.ast b/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/nested-open-index/btree-index-join/secondary-composite-key-prefix-join_06.ast
new file mode 100644
index 0000000..df80dc5
--- /dev/null
+++ b/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/nested-open-index/btree-index-join/secondary-composite-key-prefix-join_06.ast
@@ -0,0 +1,78 @@
+DataverseUse test
+TypeDecl Nametmp [
+ open RecordType {
+ id : int32
+ }
+]
+TypeDecl NameType [
+ open RecordType {
+ nested : Nametmp
+ }
+]
+DatasetDecl Names(NameType) partitioned by [[nested, id]]
+WriteOutputTo nc1:rttest/btree-index-join_secondary-composite-key-prefix-prefix-join_06.adm
+Query:
+SELECT ELEMENT [
+RecordConstructor [
+ (
+ LiteralExpr [STRING] [emp1]
+ :
+ Variable [ Name=emp1 ]
+ )
+ (
+ LiteralExpr [STRING] [emp2]
+ :
+ Variable [ Name=emp2 ]
+ )
+]
+]
+FROM [ FunctionCall Metadata.dataset@1[
+ LiteralExpr [STRING] [Names]
+ ]
+ AS
+ Variable [ Name=emp1 ]
+,
+ FunctionCall Metadata.dataset@1[
+ LiteralExpr [STRING] [Names]
+ ]
+ AS
+ Variable [ Name=emp2 ]
+]
+Where
+ OperatorExpr [
+ OperatorExpr [
+ FieldAccessor [
+ FieldAccessor [
+ Variable [ Name=emp1 ]
+ Field=nested
+ ]
+ Field=fname
+ ]
+ =
+ FieldAccessor [
+ FieldAccessor [
+ Variable [ Name=emp2 ]
+ Field=nested
+ ]
+ Field=fname
+ ]
+ ]
+ and
+ OperatorExpr [
+ FieldAccessor [
+ FieldAccessor [
+ Variable [ Name=emp1 ]
+ Field=nested
+ ]
+ Field=lname
+ ]
+ <
+ FieldAccessor [
+ FieldAccessor [
+ Variable [ Name=emp2 ]
+ Field=nested
+ ]
+ Field=lname
+ ]
+ ]
+ ]
http://git-wip-us.apache.org/repos/asf/incubator-asterixdb/blob/391f09e5/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/nested-open-index/btree-index-join/secondary-equi-join-multiindex.ast
----------------------------------------------------------------------
diff --git a/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/nested-open-index/btree-index-join/secondary-equi-join-multiindex.ast b/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/nested-open-index/btree-index-join/secondary-equi-join-multiindex.ast
new file mode 100644
index 0000000..2619950
--- /dev/null
+++ b/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/nested-open-index/btree-index-join/secondary-equi-join-multiindex.ast
@@ -0,0 +1,150 @@
+DataverseUse test
+TypeDecl EmploymentType [
+ closed RecordType {
+ organization-name : string,
+ start-date : date,
+ end-date : date?
+ }
+]
+TypeDecl FacebookUserTypetmp [
+ closed RecordType {
+ id : int32,
+ id-copy : int32,
+ alias : string,
+ name : string,
+ user-since : datetime,
+ user-since-copy : datetime,
+ friend-ids : UnorderedList <int32>
+,
+ employment : OrderedList [EmploymentType]
+
+ }
+]
+TypeDecl FacebookMessageTypetmp [
+ open RecordType {
+ message-id : int32,
+ message-id-copy : int32,
+ author-id : int32,
+ in-response-to : int32?,
+ sender-location : point?,
+ message : string
+ }
+]
+TypeDecl FacebookUserType [
+ closed RecordType {
+ nested : FacebookUserTypetmp
+ }
+]
+TypeDecl FacebookMessageType [
+ closed RecordType {
+ nested : FacebookMessageTypetmp
+ }
+]
+DatasetDecl FacebookUsers(FacebookUserType) partitioned by [[nested, id]]
+DatasetDecl FacebookMessages(FacebookMessageType) partitioned by [[nested, message-id]]
+WriteOutputTo nc1:rttest/btree-index-join_title-secondary-equi-join-multiindex.adm
+Query:
+SELECT ELEMENT [
+RecordConstructor [
+ (
+ LiteralExpr [STRING] [fbu-ID]
+ :
+ FieldAccessor [
+ FieldAccessor [
+ Variable [ Name=user ]
+ Field=nested
+ ]
+ Field=id
+ ]
+ )
+ (
+ LiteralExpr [STRING] [fbm-auth-ID]
+ :
+ FieldAccessor [
+ FieldAccessor [
+ Variable [ Name=message ]
+ Field=nested
+ ]
+ Field=author-id
+ ]
+ )
+ (
+ LiteralExpr [STRING] [uname]
+ :
+ FieldAccessor [
+ FieldAccessor [
+ Variable [ Name=user ]
+ Field=nested
+ ]
+ Field=name
+ ]
+ )
+ (
+ LiteralExpr [STRING] [message]
+ :
+ FieldAccessor [
+ FieldAccessor [
+ Variable [ Name=message ]
+ Field=nested
+ ]
+ Field=message
+ ]
+ )
+]
+]
+FROM [ FunctionCall Metadata.dataset@1[
+ LiteralExpr [STRING] [FacebookUsers]
+ ]
+ AS
+ Variable [ Name=user ]
+,
+ FunctionCall Metadata.dataset@1[
+ LiteralExpr [STRING] [FacebookMessages]
+ ]
+ AS
+ Variable [ Name=message ]
+]
+Where
+ OperatorExpr [
+ OperatorExpr [
+ FieldAccessor [
+ FieldAccessor [
+ Variable [ Name=user ]
+ Field=nested
+ ]
+ Field=id
+ ]
+ =
+ FieldAccessor [
+ FieldAccessor [
+ Variable [ Name=message ]
+ Field=nested
+ ]
+ Field=author-id-copy
+ ]
+ ]
+ and
+ OperatorExpr [
+ FieldAccessor [
+ FieldAccessor [
+ Variable [ Name=user ]
+ Field=nested
+ ]
+ Field=id
+ ]
+ >=
+ LiteralExpr [LONG] [11000]
+ ]
+ and
+ OperatorExpr [
+ FieldAccessor [
+ FieldAccessor [
+ Variable [ Name=user ]
+ Field=nested
+ ]
+ Field=id
+ ]
+ <=
+ LiteralExpr [LONG] [12000]
+ ]
+ ]
http://git-wip-us.apache.org/repos/asf/incubator-asterixdb/blob/391f09e5/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/nested-open-index/btree-index-join/secondary-equi-join-multipred.ast
----------------------------------------------------------------------
diff --git a/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/nested-open-index/btree-index-join/secondary-equi-join-multipred.ast b/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/nested-open-index/btree-index-join/secondary-equi-join-multipred.ast
new file mode 100644
index 0000000..85f78c1
--- /dev/null
+++ b/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/nested-open-index/btree-index-join/secondary-equi-join-multipred.ast
@@ -0,0 +1,114 @@
+DataverseUse test
+TypeDecl DBLPTypetmp [
+ open RecordType {
+ id : int32,
+ dblpid : string,
+ authors : string,
+ misc : string
+ }
+]
+TypeDecl CSXTypetmp [
+ closed RecordType {
+ id : int32,
+ csxid : string,
+ title : string,
+ authors : string,
+ misc : string
+ }
+]
+TypeDecl DBLPType [
+ closed RecordType {
+ nested : DBLPTypetmp
+ }
+]
+TypeDecl CSXType [
+ closed RecordType {
+ nested : CSXTypetmp
+ }
+]
+DatasetDecl DBLP(DBLPType) partitioned by [[nested, id]]
+DatasetDecl CSX(CSXType) partitioned by [[nested, id]]
+WriteOutputTo nc1:rttest/btree-index-join_title-secondary-equi-join-multipred.adm
+Query:
+SELECT ELEMENT [
+RecordConstructor [
+ (
+ LiteralExpr [STRING] [arec]
+ :
+ Variable [ Name=a ]
+ )
+ (
+ LiteralExpr [STRING] [brec]
+ :
+ Variable [ Name=b ]
+ )
+]
+]
+FROM [ FunctionCall Metadata.dataset@1[
+ LiteralExpr [STRING] [DBLP]
+ ]
+ AS
+ Variable [ Name=a ]
+,
+ FunctionCall Metadata.dataset@1[
+ LiteralExpr [STRING] [CSX]
+ ]
+ AS
+ Variable [ Name=b ]
+]
+Where
+ OperatorExpr [
+ OperatorExpr [
+ FieldAccessor [
+ FieldAccessor [
+ Variable [ Name=a ]
+ Field=nested
+ ]
+ Field=title
+ ]
+ =
+ FieldAccessor [
+ FieldAccessor [
+ Variable [ Name=b ]
+ Field=nested
+ ]
+ Field=title
+ ]
+ ]
+ and
+ OperatorExpr [
+ FieldAccessor [
+ FieldAccessor [
+ Variable [ Name=a ]
+ Field=nested
+ ]
+ Field=authors
+ ]
+ <
+ FieldAccessor [
+ FieldAccessor [
+ Variable [ Name=b ]
+ Field=nested
+ ]
+ Field=authors
+ ]
+ ]
+ and
+ OperatorExpr [
+ FieldAccessor [
+ FieldAccessor [
+ Variable [ Name=a ]
+ Field=nested
+ ]
+ Field=misc
+ ]
+ >
+ FieldAccessor [
+ FieldAccessor [
+ Variable [ Name=b ]
+ Field=nested
+ ]
+ Field=misc
+ ]
+ ]
+ ]
http://git-wip-us.apache.org/repos/asf/incubator-asterixdb/blob/391f09e5/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/nested-open-index/btree-index-join/secondary-equi-join_01.ast
----------------------------------------------------------------------
diff --git a/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/nested-open-index/btree-index-join/secondary-equi-join_01.ast b/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/nested-open-index/btree-index-join/secondary-equi-join_01.ast
new file mode 100644
index 0000000..2bfc7b9
--- /dev/null
+++ b/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/nested-open-index/btree-index-join/secondary-equi-join_01.ast
@@ -0,0 +1,76 @@
+DataverseUse test
+TypeDecl DBLPTypetmp [
+ open RecordType {
+ id : int32,
+ dblpid : string,
+ authors : string,
+ misc : string
+ }
+]
+TypeDecl CSXTypetmp [
+ closed RecordType {
+ id : int32,
+ csxid : string,
+ title : string,
+ authors : string,
+ misc : string
+ }
+]
+TypeDecl DBLPType [
+ closed RecordType {
+ nested : DBLPTypetmp
+ }
+]
+TypeDecl CSXType [
+ closed RecordType {
+ nested : CSXTypetmp
+ }
+]
+DatasetDecl DBLP(DBLPType) partitioned by [[nested, id]]
+DatasetDecl CSX(CSXType) partitioned by [[nested, id]]
+WriteOutputTo nc1:rttest/btree-index-join_title-secondary-equi-join_01.adm
+Query:
+SELECT ELEMENT [
+RecordConstructor [
+ (
+ LiteralExpr [STRING] [arec]
+ :
+ Variable [ Name=a ]
+ )
+ (
+ LiteralExpr [STRING] [brec]
+ :
+ Variable [ Name=b ]
+ )
+]
+]
+FROM [ FunctionCall Metadata.dataset@1[
+ LiteralExpr [STRING] [DBLP]
+ ]
+ AS
+ Variable [ Name=a ]
+,
+ FunctionCall Metadata.dataset@1[
+ LiteralExpr [STRING] [CSX]
+ ]
+ AS
+ Variable [ Name=b ]
+]
+Where
+ OperatorExpr [
+ FieldAccessor [
+ FieldAccessor [
+ Variable [ Name=a ]
+ Field=nested
+ ]
+ Field=title
+ ]
+ =
+ FieldAccessor [
+ FieldAccessor [
+ Variable [ Name=b ]
+ Field=nested
+ ]
+ Field=title
+ ]
+ ]
http://git-wip-us.apache.org/repos/asf/incubator-asterixdb/blob/391f09e5/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/nested-open-index/btree-index-join/secondary-equi-join_02.ast
----------------------------------------------------------------------
diff --git a/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/nested-open-index/btree-index-join/secondary-equi-join_02.ast b/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/nested-open-index/btree-index-join/secondary-equi-join_02.ast
new file mode 100644
index 0000000..75d15e0
--- /dev/null
+++ b/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/nested-open-index/btree-index-join/secondary-equi-join_02.ast
@@ -0,0 +1,76 @@
+DataverseUse test
+TypeDecl DBLPTypetmp [
+ closed RecordType {
+ id : int32,
+ dblpid : string,
+ title : string,
+ authors : string,
+ misc : string
+ }
+]
+TypeDecl CSXTypetmp [
+ open RecordType {
+ id : int32,
+ csxid : string,
+ authors : string,
+ misc : string
+ }
+]
+TypeDecl DBLPType [
+ closed RecordType {
+ nested : DBLPTypetmp
+ }
+]
+TypeDecl CSXType [
+ closed RecordType {
+ nested : CSXTypetmp
+ }
+]
+DatasetDecl DBLP(DBLPType) partitioned by [[nested, id]]
+DatasetDecl CSX(CSXType) partitioned by [[nested, id]]
+WriteOutputTo nc1:rttest/btree-index-join_title-secondary-equi-join_02.adm
+Query:
+SELECT ELEMENT [
+RecordConstructor [
+ (
+ LiteralExpr [STRING] [arec]
+ :
+ Variable [ Name=a ]
+ )
+ (
+ LiteralExpr [STRING] [brec]
+ :
+ Variable [ Name=b ]
+ )
+]
+]
+FROM [ FunctionCall Metadata.dataset@1[
+ LiteralExpr [STRING] [DBLP]
+ ]
+ AS
+ Variable [ Name=a ]
+,
+ FunctionCall Metadata.dataset@1[
+ LiteralExpr [STRING] [CSX]
+ ]
+ AS
+ Variable [ Name=b ]
+]
+Where
+ OperatorExpr [
+ FieldAccessor [
+ FieldAccessor [
+ Variable [ Name=a ]
+ Field=nested
+ ]
+ Field=title
+ ]
+ =
+ FieldAccessor [
+ FieldAccessor [
+ Variable [ Name=b ]
+ Field=nested
+ ]
+ Field=title
+ ]
+ ]
http://git-wip-us.apache.org/repos/asf/incubator-asterixdb/blob/391f09e5/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/nested-open-index/btree-index-join/secondary-equi-join_03.ast
----------------------------------------------------------------------
diff --git a/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/nested-open-index/btree-index-join/secondary-equi-join_03.ast b/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/nested-open-index/btree-index-join/secondary-equi-join_03.ast
new file mode 100644
index 0000000..13828ea
--- /dev/null
+++ b/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/nested-open-index/btree-index-join/secondary-equi-join_03.ast
@@ -0,0 +1,75 @@
+DataverseUse test
+TypeDecl DBLPTypetmp [
+ open RecordType {
+ id : int32,
+ dblpid : string,
+ authors : string,
+ misc : string
+ }
+]
+TypeDecl CSXTypetmp [
+ open RecordType {
+ id : int32,
+ csxid : string,
+ authors : string,
+ misc : string
+ }
+]
+TypeDecl DBLPType [
+ closed RecordType {
+ nested : DBLPTypetmp
+ }
+]
+TypeDecl CSXType [
+ closed RecordType {
+ nested : CSXTypetmp
+ }
+]
+DatasetDecl DBLP(DBLPType) partitioned by [[nested, id]]
+DatasetDecl CSX(CSXType) partitioned by [[nested, id]]
+WriteOutputTo nc1:rttest/btree-index-join_title-secondary-equi-join_03.adm
+Query:
+SELECT ELEMENT [
+RecordConstructor [
+ (
+ LiteralExpr [STRING] [arec]
+ :
+ Variable [ Name=a ]
+ )
+ (
+ LiteralExpr [STRING] [brec]
+ :
+ Variable [ Name=b ]
+ )
+]
+]
+FROM [ FunctionCall Metadata.dataset@1[
+ LiteralExpr [STRING] [DBLP]
+ ]
+ AS
+ Variable [ Name=a ]
+,
+ FunctionCall Metadata.dataset@1[
+ LiteralExpr [STRING] [CSX]
+ ]
+ AS
+ Variable [ Name=b ]
+]
+Where
+ OperatorExpr [
+ FieldAccessor [
+ FieldAccessor [
+ Variable [ Name=a ]
+ Field=nested
+ ]
+ Field=title
+ ]
+ =
+ FieldAccessor [
+ FieldAccessor [
+ Variable [ Name=b ]
+ Field=nested
+ ]
+ Field=title
+ ]
+ ]
http://git-wip-us.apache.org/repos/asf/incubator-asterixdb/blob/391f09e5/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/nested-open-index/btree-index-join/secondary-equi-join_04.ast
----------------------------------------------------------------------
diff --git a/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/nested-open-index/btree-index-join/secondary-equi-join_04.ast b/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/nested-open-index/btree-index-join/secondary-equi-join_04.ast
new file mode 100644
index 0000000..08155b9
--- /dev/null
+++ b/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/nested-open-index/btree-index-join/secondary-equi-join_04.ast
@@ -0,0 +1,61 @@
+DataverseUse test
+TypeDecl DBLPTypetmp [
+ open RecordType {
+ id : int32,
+ dblpid : string,
+ authors : string,
+ misc : string
+ }
+]
+TypeDecl DBLPType [
+ open RecordType {
+ nested : DBLPTypetmp
+ }
+]
+DatasetDecl DBLP(DBLPType) partitioned by [[nested, id]]
+WriteOutputTo nc1:rttest/btree-index-join_title-secondary-equi-join_04.adm
+Query:
+SELECT ELEMENT [
+RecordConstructor [
+ (
+ LiteralExpr [STRING] [arec]
+ :
+ Variable [ Name=a ]
+ )
+ (
+ LiteralExpr [STRING] [arec2]
+ :
+ Variable [ Name=a2 ]
+ )
+]
+]
+FROM [ FunctionCall Metadata.dataset@1[
+ LiteralExpr [STRING] [DBLP]
+ ]
+ AS
+ Variable [ Name=a ]
+,
+ FunctionCall Metadata.dataset@1[
+ LiteralExpr [STRING] [DBLP]
+ ]
+ AS
+ Variable [ Name=a2 ]
+]
+Where
+ OperatorExpr [
+ FieldAccessor [
+ FieldAccessor [
+ Variable [ Name=a ]
+ Field=nested
+ ]
+ Field=title
+ ]
+ =
+ FieldAccessor [
+ FieldAccessor [
+ Variable [ Name=a2 ]
+ Field=nested
+ ]
+ Field=title
+ ]
+ ]