Move BAD from AQL to SQL++
Change-Id: I563bf7b91b280eb65fbbbca0e95e8968f05ea591
diff --git a/asterix-bad/src/test/resources/optimizerts/queries/channel/channel-create.aql b/asterix-bad/src/test/resources/optimizerts/queries/channel/channel-create.sqlpp
similarity index 73%
rename from asterix-bad/src/test/resources/optimizerts/queries/channel/channel-create.aql
rename to asterix-bad/src/test/resources/optimizerts/queries/channel/channel-create.sqlpp
index a5d4167..24d73e2 100644
--- a/asterix-bad/src/test/resources/optimizerts/queries/channel/channel-create.aql
+++ b/asterix-bad/src/test/resources/optimizerts/queries/channel/channel-create.sqlpp
@@ -24,15 +24,14 @@
drop dataverse channels if exists;
create dataverse channels;
-use dataverse channels;
-
+use channels;
create type TweetMessageTypeuuid as closed {
tweetid: uuid,
- sender-location: point,
- send-time: datetime,
- referred-topics: {{ string }},
- message-text: string,
+ sender_location: point,
+ send_time: datetime,
+ referred_topics: {{ string }},
+ message_text: string,
countA: int32,
countB: int32
}
@@ -41,14 +40,13 @@
create dataset TweetMessageuuids(TweetMessageTypeuuid)
primary key tweetid autogenerated;
-create function NearbyTweetsContainingText($location, $text) {
- for $tweet in dataset TweetMessageuuids
- let $circle := create-circle($location,30.0)
- where contains($tweet.message-text,$text)
- and spatial-intersect($tweet.sender-location, $location)
- return $tweet.message-text
+create function NearbyTweetsContainingText(place, text) {
+ (select m.message_text
+ from TweetMessageuuids m
+ where contains(m.message_text,text)
+ and spatial_intersect(m.sender_location, place))
};
-write output to nc1:"rttest/channel-create.adm";
+write output to nc1:"rttest/channel-create.sqlpp";
-create repetitive channel nearbyTweetChannel using NearbyTweetsContainingText@2 period duration("PT10M");
\ No newline at end of file
+create repetitive channel nearbyTweetChannel using NearbyTweetsContainingText@2 period duration("PT10M");
diff --git a/asterix-bad/src/test/resources/optimizerts/queries/channel/channel-subscribe.aql b/asterix-bad/src/test/resources/optimizerts/queries/channel/channel-subscribe.sqlpp
similarity index 74%
rename from asterix-bad/src/test/resources/optimizerts/queries/channel/channel-subscribe.aql
rename to asterix-bad/src/test/resources/optimizerts/queries/channel/channel-subscribe.sqlpp
index cbccbde..4a5cbbc 100644
--- a/asterix-bad/src/test/resources/optimizerts/queries/channel/channel-subscribe.aql
+++ b/asterix-bad/src/test/resources/optimizerts/queries/channel/channel-subscribe.sqlpp
@@ -24,15 +24,14 @@
drop dataverse channels2 if exists;
create dataverse channels2;
-use dataverse channels2;
-
+use channels2;
create type TweetMessageTypeuuid as closed {
tweetid: uuid,
- sender-location: point,
- send-time: datetime,
- referred-topics: {{ string }},
- message-text: string,
+ sender_location: point,
+ send_time: datetime,
+ referred_topics: {{ string }},
+ message_text: string,
countA: int32,
countB: int32
}
@@ -41,18 +40,17 @@
create dataset TweetMessageuuids(TweetMessageTypeuuid)
primary key tweetid autogenerated;
-create function NearbyTweetsContainingText($location, $text) {
- for $tweet in dataset TweetMessageuuids
- let $circle := create-circle($location,30.0)
- where contains($tweet.message-text,$text)
- and spatial-intersect($tweet.sender-location, $location)
- return $tweet.message-text
+create function NearbyTweetsContainingText(place, text) {
+ (select m.message_text
+ from TweetMessageuuids m
+ where contains(m.message_text,text)
+ and spatial_intersect(m.sender_location, place))
};
create repetitive channel nearbyTweetChannel using NearbyTweetsContainingText@2 period duration("PT10M");
-write output to nc1:"rttest/channel-subscribe.adm";
+write output to nc1:"rttest/channel-subscribe.sqlpp";
create broker brokerA at "http://www.hello.com";
-subscribe to nearbyTweetChannel (point("30.0, 30.0"), "Live") on brokerA;
\ No newline at end of file
+subscribe to nearbyTweetChannel (point("30.0, 30.0"), "Live") on brokerA;
diff --git a/asterix-bad/src/test/resources/optimizerts/queries/channel/channel-unsubscribe.aql b/asterix-bad/src/test/resources/optimizerts/queries/channel/channel-unsubscribe.sqlpp
similarity index 74%
rename from asterix-bad/src/test/resources/optimizerts/queries/channel/channel-unsubscribe.aql
rename to asterix-bad/src/test/resources/optimizerts/queries/channel/channel-unsubscribe.sqlpp
index 039b554..508eaa2 100644
--- a/asterix-bad/src/test/resources/optimizerts/queries/channel/channel-unsubscribe.aql
+++ b/asterix-bad/src/test/resources/optimizerts/queries/channel/channel-unsubscribe.sqlpp
@@ -24,15 +24,14 @@
drop dataverse channels3 if exists;
create dataverse channels3;
-use dataverse channels3;
-
+use channels3;
create type TweetMessageTypeuuid as closed {
tweetid: uuid,
- sender-location: point,
- send-time: datetime,
- referred-topics: {{ string }},
- message-text: string,
+ sender_location: point,
+ send_time: datetime,
+ referred_topics: {{ string }},
+ message_text: string,
countA: int32,
countB: int32
}
@@ -41,16 +40,15 @@
create dataset TweetMessageuuids(TweetMessageTypeuuid)
primary key tweetid autogenerated;
-create function NearbyTweetsContainingText($location, $text) {
- for $tweet in dataset TweetMessageuuids
- let $circle := create-circle($location,30.0)
- where contains($tweet.message-text,$text)
- and spatial-intersect($tweet.sender-location, $location)
- return $tweet.message-text
+create function NearbyTweetsContainingText(place, text) {
+ (select m.message_text
+ from TweetMessageuuids m
+ where contains(m.message_text,text)
+ and spatial_intersect(m.sender_location, place))
};
create repetitive channel nearbyTweetChannel using NearbyTweetsContainingText@2 period duration("PT10M");
-write output to nc1:"rttest/channel-unsubscribe.adm";
+write output to nc1:"rttest/channel-unsubscribe.sqlpp";
-unsubscribe "c45ef6d0-c5ae-4b9e-b5da-cf1932718296" from nearbyTweetChannel;
\ No newline at end of file
+unsubscribe "c45ef6d0-c5ae-4b9e-b5da-cf1932718296" from nearbyTweetChannel;
diff --git a/asterix-bad/src/test/resources/optimizerts/results/channel/channel-create.plan b/asterix-bad/src/test/resources/optimizerts/results/channel/channel-create.plan
index b642fed..4c0ff87 100644
--- a/asterix-bad/src/test/resources/optimizerts/results/channel/channel-create.plan
+++ b/asterix-bad/src/test/resources/optimizerts/results/channel/channel-create.plan
@@ -1,23 +1,23 @@
-- NOTIFY_BROKERS |PARTITIONED|
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- -- PRE_CLUSTERED_GROUP_BY[$$53, $$1] |PARTITIONED|
+ -- PRE_CLUSTERED_GROUP_BY[$$52, $$0] |PARTITIONED|
{
-- AGGREGATE |LOCAL|
-- NESTED_TUPLE_SOURCE |LOCAL|
}
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- -- STABLE_SORT [$$53(ASC), $$1(ASC)] |PARTITIONED|
- -- HASH_PARTITION_EXCHANGE [$$53, $$1] |PARTITIONED|
+ -- STABLE_SORT [$$52(ASC), $$0(ASC)] |PARTITIONED|
+ -- HASH_PARTITION_EXCHANGE [$$52, $$0] |PARTITIONED|
-- PRE_SORTED_DISTINCT_BY |PARTITIONED|
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- -- STABLE_SORT [$$40(ASC)] |PARTITIONED|
- -- HASH_PARTITION_EXCHANGE [$$40] |PARTITIONED|
+ -- STABLE_SORT [$$37(ASC)] |PARTITIONED|
+ -- HASH_PARTITION_EXCHANGE [$$37] |PARTITIONED|
-- STREAM_PROJECT |PARTITIONED|
-- COMMIT |PARTITIONED|
-- STREAM_PROJECT |PARTITIONED|
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
-- INSERT_DELETE |PARTITIONED|
- -- HASH_PARTITION_EXCHANGE [$$35] |PARTITIONED|
+ -- HASH_PARTITION_EXCHANGE [$$32] |PARTITIONED|
-- ASSIGN |PARTITIONED|
-- STREAM_PROJECT |PARTITIONED|
-- ASSIGN |PARTITIONED|
@@ -31,8 +31,8 @@
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
-- STREAM_PROJECT |PARTITIONED|
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- -- HYBRID_HASH_JOIN [$$45, $$47][$$41, $$42] |PARTITIONED|
- -- HASH_PARTITION_EXCHANGE [$$45, $$47] |PARTITIONED|
+ -- HYBRID_HASH_JOIN [$$44, $$42][$$38, $$39] |PARTITIONED|
+ -- HASH_PARTITION_EXCHANGE [$$44, $$42] |PARTITIONED|
-- STREAM_PROJECT |PARTITIONED|
-- ASSIGN |PARTITIONED|
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
@@ -40,7 +40,7 @@
-- BROADCAST_EXCHANGE |PARTITIONED|
-- ASSIGN |UNPARTITIONED|
-- EMPTY_TUPLE_SOURCE |UNPARTITIONED|
- -- HASH_PARTITION_EXCHANGE [$$41, $$42] |PARTITIONED|
+ -- HASH_PARTITION_EXCHANGE [$$38, $$39] |PARTITIONED|
-- STREAM_PROJECT |PARTITIONED|
-- ASSIGN |PARTITIONED|
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
@@ -54,4 +54,4 @@
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
-- DATASOURCE_SCAN |PARTITIONED|
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- -- EMPTY_TUPLE_SOURCE |PARTITIONED|
+ -- EMPTY_TUPLE_SOURCE |PARTITIONED|
\ No newline at end of file
diff --git a/asterix-bad/src/test/resources/optimizerts/results/channel/channel-subscribe.plan b/asterix-bad/src/test/resources/optimizerts/results/channel/channel-subscribe.plan
index 68d1c86..42544d9 100644
--- a/asterix-bad/src/test/resources/optimizerts/results/channel/channel-subscribe.plan
+++ b/asterix-bad/src/test/resources/optimizerts/results/channel/channel-subscribe.plan
@@ -1,23 +1,23 @@
-- NOTIFY_BROKERS |PARTITIONED|
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- -- PRE_CLUSTERED_GROUP_BY[$$53, $$1] |PARTITIONED|
+ -- PRE_CLUSTERED_GROUP_BY[$$52, $$0] |PARTITIONED|
{
-- AGGREGATE |LOCAL|
-- NESTED_TUPLE_SOURCE |LOCAL|
}
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- -- STABLE_SORT [$$53(ASC), $$1(ASC)] |PARTITIONED|
- -- HASH_PARTITION_EXCHANGE [$$53, $$1] |PARTITIONED|
+ -- STABLE_SORT [$$52(ASC), $$0(ASC)] |PARTITIONED|
+ -- HASH_PARTITION_EXCHANGE [$$52, $$0] |PARTITIONED|
-- PRE_SORTED_DISTINCT_BY |PARTITIONED|
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- -- STABLE_SORT [$$40(ASC)] |PARTITIONED|
- -- HASH_PARTITION_EXCHANGE [$$40] |PARTITIONED|
+ -- STABLE_SORT [$$37(ASC)] |PARTITIONED|
+ -- HASH_PARTITION_EXCHANGE [$$37] |PARTITIONED|
-- STREAM_PROJECT |PARTITIONED|
-- COMMIT |PARTITIONED|
-- STREAM_PROJECT |PARTITIONED|
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
-- INSERT_DELETE |PARTITIONED|
- -- HASH_PARTITION_EXCHANGE [$$35] |PARTITIONED|
+ -- HASH_PARTITION_EXCHANGE [$$32] |PARTITIONED|
-- ASSIGN |PARTITIONED|
-- STREAM_PROJECT |PARTITIONED|
-- ASSIGN |PARTITIONED|
@@ -31,8 +31,8 @@
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
-- STREAM_PROJECT |PARTITIONED|
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- -- HYBRID_HASH_JOIN [$$45, $$47][$$41, $$42] |PARTITIONED|
- -- HASH_PARTITION_EXCHANGE [$$45, $$47] |PARTITIONED|
+ -- HYBRID_HASH_JOIN [$$44, $$42][$$38, $$39] |PARTITIONED|
+ -- HASH_PARTITION_EXCHANGE [$$44, $$42] |PARTITIONED|
-- STREAM_PROJECT |PARTITIONED|
-- ASSIGN |PARTITIONED|
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
@@ -40,7 +40,7 @@
-- BROADCAST_EXCHANGE |PARTITIONED|
-- ASSIGN |UNPARTITIONED|
-- EMPTY_TUPLE_SOURCE |UNPARTITIONED|
- -- HASH_PARTITION_EXCHANGE [$$41, $$42] |PARTITIONED|
+ -- HASH_PARTITION_EXCHANGE [$$38, $$39] |PARTITIONED|
-- STREAM_PROJECT |PARTITIONED|
-- ASSIGN |PARTITIONED|
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
@@ -62,7 +62,7 @@
-- STREAM_PROJECT |PARTITIONED|
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
-- INSERT_DELETE |PARTITIONED|
- -- HASH_PARTITION_EXCHANGE [$$8] |PARTITIONED|
+ -- HASH_PARTITION_EXCHANGE [$$4] |PARTITIONED|
-- ASSIGN |UNPARTITIONED|
-- STREAM_PROJECT |UNPARTITIONED|
-- ASSIGN |UNPARTITIONED|
diff --git a/asterix-bad/src/test/resources/optimizerts/results/channel/channel-unsubscribe.plan b/asterix-bad/src/test/resources/optimizerts/results/channel/channel-unsubscribe.plan
index 79aaa8c..843205a 100644
--- a/asterix-bad/src/test/resources/optimizerts/results/channel/channel-unsubscribe.plan
+++ b/asterix-bad/src/test/resources/optimizerts/results/channel/channel-unsubscribe.plan
@@ -1,23 +1,23 @@
-- NOTIFY_BROKERS |PARTITIONED|
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- -- PRE_CLUSTERED_GROUP_BY[$$53, $$1] |PARTITIONED|
+ -- PRE_CLUSTERED_GROUP_BY[$$52, $$0] |PARTITIONED|
{
-- AGGREGATE |LOCAL|
-- NESTED_TUPLE_SOURCE |LOCAL|
}
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- -- STABLE_SORT [$$53(ASC), $$1(ASC)] |PARTITIONED|
- -- HASH_PARTITION_EXCHANGE [$$53, $$1] |PARTITIONED|
+ -- STABLE_SORT [$$52(ASC), $$0(ASC)] |PARTITIONED|
+ -- HASH_PARTITION_EXCHANGE [$$52, $$0] |PARTITIONED|
-- PRE_SORTED_DISTINCT_BY |PARTITIONED|
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- -- STABLE_SORT [$$40(ASC)] |PARTITIONED|
- -- HASH_PARTITION_EXCHANGE [$$40] |PARTITIONED|
+ -- STABLE_SORT [$$37(ASC)] |PARTITIONED|
+ -- HASH_PARTITION_EXCHANGE [$$37] |PARTITIONED|
-- STREAM_PROJECT |PARTITIONED|
-- COMMIT |PARTITIONED|
-- STREAM_PROJECT |PARTITIONED|
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
-- INSERT_DELETE |PARTITIONED|
- -- HASH_PARTITION_EXCHANGE [$$35] |PARTITIONED|
+ -- HASH_PARTITION_EXCHANGE [$$32] |PARTITIONED|
-- ASSIGN |PARTITIONED|
-- STREAM_PROJECT |PARTITIONED|
-- ASSIGN |PARTITIONED|
@@ -31,8 +31,8 @@
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
-- STREAM_PROJECT |PARTITIONED|
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- -- HYBRID_HASH_JOIN [$$45, $$47][$$41, $$42] |PARTITIONED|
- -- HASH_PARTITION_EXCHANGE [$$45, $$47] |PARTITIONED|
+ -- HYBRID_HASH_JOIN [$$44, $$42][$$38, $$39] |PARTITIONED|
+ -- HASH_PARTITION_EXCHANGE [$$44, $$42] |PARTITIONED|
-- STREAM_PROJECT |PARTITIONED|
-- ASSIGN |PARTITIONED|
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
@@ -40,7 +40,7 @@
-- BROADCAST_EXCHANGE |PARTITIONED|
-- ASSIGN |UNPARTITIONED|
-- EMPTY_TUPLE_SOURCE |UNPARTITIONED|
- -- HASH_PARTITION_EXCHANGE [$$41, $$42] |PARTITIONED|
+ -- HASH_PARTITION_EXCHANGE [$$38, $$39] |PARTITIONED|
-- STREAM_PROJECT |PARTITIONED|
-- ASSIGN |PARTITIONED|
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|