Steven Jacobs has submitted this change and it was merged. Change subject: [ASTERIXDB-1972] Coordinated Change ......................................................................
[ASTERIXDB-1972] Coordinated Change Change-Id: I191af547f3142fe5446ead4a2d053ea71e3f1d97 --- A asterix-bad/src/test/resources/optimizerts/queries/channel/channel-advanced-index-only.sqlpp M asterix-bad/src/test/resources/optimizerts/queries/channel/channel-advanced.sqlpp A asterix-bad/src/test/resources/optimizerts/results/channel/channel-advanced-index-only.plan 3 files changed, 201 insertions(+), 0 deletions(-) Approvals: Taewoo Kim: Looks good to me, approved Jenkins: Verified diff --git a/asterix-bad/src/test/resources/optimizerts/queries/channel/channel-advanced-index-only.sqlpp b/asterix-bad/src/test/resources/optimizerts/queries/channel/channel-advanced-index-only.sqlpp new file mode 100644 index 0000000..dd73769 --- /dev/null +++ b/asterix-bad/src/test/resources/optimizerts/queries/channel/channel-advanced-index-only.sqlpp @@ -0,0 +1,70 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +/* + * Description : Check an advanced channel for index usage + * Expected Res : Success + * Date : Oct 2017 + */ + +drop dataverse channels6 if exists; +create dataverse channels6; +use channels6; + +create type UserLocation as closed { + recordId: uuid, + location: circle, + userName: string, + timeStamp: datetime +}; + +create type EmergencyReport as closed { + reportId: uuid, + Etype: string, + location: circle, + timeStamp: datetime +}; + +create type EmergencyShelter as closed { + shelterName: string, + location: circle +}; + +create dataset UserLocations(UserLocation) +primary key recordId autogenerated; + +create dataset EmergencyReports(EmergencyReport) +primary key reportId autogenerated; + +create index locTimes on UserLocations(timeStamp); +create index repTimes on EmergencyReports(timeStamp); + +create function RecentEmergenciesNearUser(userName) { + ( + SELECT r AS report + FROM + (select value r from EmergencyReports r where r.timeStamp > current_datetime() - day_time_duration("PT10S")) r, + (select value r from UserLocations l where l.timeStamp > current_datetime() - day_time_duration("PT10S")) l + where l.userName = userName + and spatial_intersect(r.location,l.location) + ) +}; + +write output to nc1:"rttest/channel-advanced.sqlpp"; + +create repetitive channel EmergencyChannel using RecentEmergenciesNearUser@1 period duration("PT10S"); \ No newline at end of file diff --git a/asterix-bad/src/test/resources/optimizerts/queries/channel/channel-advanced.sqlpp b/asterix-bad/src/test/resources/optimizerts/queries/channel/channel-advanced.sqlpp index 53399e1..8ebe8c6 100644 --- a/asterix-bad/src/test/resources/optimizerts/queries/channel/channel-advanced.sqlpp +++ b/asterix-bad/src/test/resources/optimizerts/queries/channel/channel-advanced.sqlpp @@ -66,5 +66,6 @@ }; write output to nc1:"rttest/channel-advanced.sqlpp"; +set noindexonly 'true'; create repetitive channel EmergencyChannel using RecentEmergenciesNearUser@1 period duration("PT10S"); \ No newline at end of file diff --git a/asterix-bad/src/test/resources/optimizerts/results/channel/channel-advanced-index-only.plan b/asterix-bad/src/test/resources/optimizerts/results/channel/channel-advanced-index-only.plan new file mode 100644 index 0000000..dd68a36 --- /dev/null +++ b/asterix-bad/src/test/resources/optimizerts/results/channel/channel-advanced-index-only.plan @@ -0,0 +1,130 @@ +-- NOTIFY_BROKERS |PARTITIONED| + -- ONE_TO_ONE_EXCHANGE |PARTITIONED| + -- PRE_CLUSTERED_GROUP_BY[$$133, $$channelExecutionTime] |PARTITIONED| + { + -- AGGREGATE |LOCAL| + -- NESTED_TUPLE_SOURCE |LOCAL| + } + -- ONE_TO_ONE_EXCHANGE |PARTITIONED| + -- STABLE_SORT [$$133(ASC), $$channelExecutionTime(ASC)] |PARTITIONED| + -- HASH_PARTITION_EXCHANGE [$$133, $$channelExecutionTime] |PARTITIONED| + -- PRE_SORTED_DISTINCT_BY |PARTITIONED| + -- ONE_TO_ONE_EXCHANGE |PARTITIONED| + -- STABLE_SORT [$$108(ASC)] |PARTITIONED| + -- HASH_PARTITION_EXCHANGE [$$108] |PARTITIONED| + -- STREAM_PROJECT |PARTITIONED| + -- COMMIT |PARTITIONED| + -- STREAM_PROJECT |PARTITIONED| + -- ONE_TO_ONE_EXCHANGE |PARTITIONED| + -- INDEX_INSERT_DELETE |PARTITIONED| + -- ONE_TO_ONE_EXCHANGE |PARTITIONED| + -- STREAM_PROJECT |PARTITIONED| + -- ONE_TO_ONE_EXCHANGE |PARTITIONED| + -- INSERT_DELETE |PARTITIONED| + -- HASH_PARTITION_EXCHANGE [$$104] |PARTITIONED| + -- ASSIGN |PARTITIONED| + -- STREAM_PROJECT |PARTITIONED| + -- ASSIGN |PARTITIONED| + -- STREAM_PROJECT |PARTITIONED| + -- ASSIGN |PARTITIONED| + -- STREAM_PROJECT |PARTITIONED| + -- ASSIGN |PARTITIONED| + -- STREAM_PROJECT |PARTITIONED| + -- STREAM_SELECT |PARTITIONED| + -- STREAM_PROJECT |PARTITIONED| + -- ONE_TO_ONE_EXCHANGE |PARTITIONED| + -- HYBRID_HASH_JOIN [$$118][$$117] |PARTITIONED| + -- HASH_PARTITION_EXCHANGE [$$118] |PARTITIONED| + -- STREAM_PROJECT |PARTITIONED| + -- ONE_TO_ONE_EXCHANGE |PARTITIONED| + -- HYBRID_HASH_JOIN [$$116, $$114][$$109, $$110] |PARTITIONED| + -- HASH_PARTITION_EXCHANGE [$$116, $$114] |PARTITIONED| + -- STREAM_PROJECT |PARTITIONED| + -- ASSIGN |PARTITIONED| + -- ONE_TO_ONE_EXCHANGE |PARTITIONED| + -- DATASOURCE_SCAN |PARTITIONED| + -- BROADCAST_EXCHANGE |PARTITIONED| + -- ASSIGN |UNPARTITIONED| + -- EMPTY_TUPLE_SOURCE |UNPARTITIONED| + -- HASH_PARTITION_EXCHANGE [$$109, $$110] |PARTITIONED| + -- STREAM_PROJECT |PARTITIONED| + -- ASSIGN |PARTITIONED| + -- ONE_TO_ONE_EXCHANGE |PARTITIONED| + -- DATASOURCE_SCAN |PARTITIONED| + -- ONE_TO_ONE_EXCHANGE |PARTITIONED| + -- EMPTY_TUPLE_SOURCE |PARTITIONED| + -- HASH_PARTITION_EXCHANGE [$$117] |PARTITIONED| + -- STREAM_PROJECT |PARTITIONED| + -- ONE_TO_ONE_EXCHANGE |PARTITIONED| + -- HYBRID_HASH_JOIN [$$111][$$127] |PARTITIONED| + -- ONE_TO_ONE_EXCHANGE |PARTITIONED| + -- STREAM_SELECT |PARTITIONED| + -- ASSIGN |PARTITIONED| + -- ONE_TO_ONE_EXCHANGE |PARTITIONED| + -- BTREE_SEARCH |PARTITIONED| + -- ONE_TO_ONE_EXCHANGE |PARTITIONED| + -- STABLE_SORT [$$137(ASC)] |PARTITIONED| + -- ONE_TO_ONE_EXCHANGE |PARTITIONED| + -- STREAM_PROJECT |PARTITIONED| + -- ONE_TO_ONE_EXCHANGE |PARTITIONED| + -- BTREE_SEARCH |PARTITIONED| + -- ONE_TO_ONE_EXCHANGE |PARTITIONED| + -- ASSIGN |PARTITIONED| + -- EMPTY_TUPLE_SOURCE |PARTITIONED| + -- HASH_PARTITION_EXCHANGE [$$127] |PARTITIONED| + -- NESTED_LOOP |PARTITIONED| + -- ONE_TO_ONE_EXCHANGE |PARTITIONED| + -- UNION_ALL |PARTITIONED| + -- ONE_TO_ONE_EXCHANGE |PARTITIONED| + -- STREAM_PROJECT |PARTITIONED| + -- STREAM_SELECT |PARTITIONED| + -- ONE_TO_ONE_EXCHANGE |PARTITIONED| + -- BTREE_SEARCH |PARTITIONED| + -- ONE_TO_ONE_EXCHANGE |PARTITIONED| + -- SPLIT |PARTITIONED| + -- ONE_TO_ONE_EXCHANGE |PARTITIONED| + -- STREAM_PROJECT |PARTITIONED| + -- ONE_TO_ONE_EXCHANGE |PARTITIONED| + -- BTREE_SEARCH |PARTITIONED| + -- ONE_TO_ONE_EXCHANGE |PARTITIONED| + -- ASSIGN |PARTITIONED| + -- EMPTY_TUPLE_SOURCE |PARTITIONED| + -- ONE_TO_ONE_EXCHANGE |PARTITIONED| + -- STREAM_PROJECT |PARTITIONED| + -- ONE_TO_ONE_EXCHANGE |PARTITIONED| + -- SPLIT |PARTITIONED| + -- ONE_TO_ONE_EXCHANGE |PARTITIONED| + -- STREAM_PROJECT |PARTITIONED| + -- ONE_TO_ONE_EXCHANGE |PARTITIONED| + -- BTREE_SEARCH |PARTITIONED| + -- ONE_TO_ONE_EXCHANGE |PARTITIONED| + -- ASSIGN |PARTITIONED| + -- EMPTY_TUPLE_SOURCE |PARTITIONED| + -- BROADCAST_EXCHANGE |PARTITIONED| + -- UNION_ALL |PARTITIONED| + -- ONE_TO_ONE_EXCHANGE |PARTITIONED| + -- STREAM_PROJECT |PARTITIONED| + -- STREAM_SELECT |PARTITIONED| + -- STREAM_PROJECT |PARTITIONED| + -- ONE_TO_ONE_EXCHANGE |PARTITIONED| + -- BTREE_SEARCH |PARTITIONED| + -- ONE_TO_ONE_EXCHANGE |PARTITIONED| + -- SPLIT |PARTITIONED| + -- ONE_TO_ONE_EXCHANGE |PARTITIONED| + -- STREAM_PROJECT |PARTITIONED| + -- ONE_TO_ONE_EXCHANGE |PARTITIONED| + -- BTREE_SEARCH |PARTITIONED| + -- ONE_TO_ONE_EXCHANGE |PARTITIONED| + -- ASSIGN |PARTITIONED| + -- EMPTY_TUPLE_SOURCE |PARTITIONED| + -- ONE_TO_ONE_EXCHANGE |PARTITIONED| + -- STREAM_PROJECT |PARTITIONED| + -- ONE_TO_ONE_EXCHANGE |PARTITIONED| + -- SPLIT |PARTITIONED| + -- ONE_TO_ONE_EXCHANGE |PARTITIONED| + -- STREAM_PROJECT |PARTITIONED| + -- ONE_TO_ONE_EXCHANGE |PARTITIONED| + -- BTREE_SEARCH |PARTITIONED| + -- ONE_TO_ONE_EXCHANGE |PARTITIONED| + -- ASSIGN |PARTITIONED| + -- EMPTY_TUPLE_SOURCE |PARTITIONED| \ No newline at end of file -- To view, visit https://asterix-gerrit.ics.uci.edu/2376 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-MessageType: merged Gerrit-Change-Id: I191af547f3142fe5446ead4a2d053ea71e3f1d97 Gerrit-PatchSet: 2 Gerrit-Project: asterixdb-bad Gerrit-Branch: master Gerrit-Owner: Steven Jacobs <sjaco...@ucr.edu> Gerrit-Reviewer: Dmitry Lychagin <dmitry.lycha...@couchbase.com> Gerrit-Reviewer: Jenkins <jenk...@fulliautomatix.ics.uci.edu> Gerrit-Reviewer: Steven Jacobs <sjaco...@ucr.edu> Gerrit-Reviewer: Taewoo Kim <taew...@uci.edu> Gerrit-Reviewer: Taewoo Kim <wangs...@gmail.com>