Yingyi Bu has uploaded a new change for review. https://asterix-gerrit.ics.uci.edu/688
Change subject: ASTERIXDB-1329: fix substring type computer for arguments with ANY type. ...................................................................... ASTERIXDB-1329: fix substring type computer for arguments with ANY type. Added a TinySocial test suite for open datasets. Change-Id: I23b7d2865cf0bc58b9f402ea602969b326d46d93 --- A asterix-app/src/test/resources/runtimets/queries_sqlpp/tinysocial/tinysocial-suite-open/query-ASTERIXDB-1063.23.query.sqlpp A asterix-app/src/test/resources/runtimets/queries_sqlpp/tinysocial/tinysocial-suite-open/query-ASTERIXDB-1329.24.query.sqlpp A asterix-app/src/test/resources/runtimets/queries_sqlpp/tinysocial/tinysocial-suite-open/tinysocial-suite.1.ddl.sqlpp A asterix-app/src/test/resources/runtimets/queries_sqlpp/tinysocial/tinysocial-suite-open/tinysocial-suite.10.query.sqlpp A asterix-app/src/test/resources/runtimets/queries_sqlpp/tinysocial/tinysocial-suite-open/tinysocial-suite.11.query.sqlpp A asterix-app/src/test/resources/runtimets/queries_sqlpp/tinysocial/tinysocial-suite-open/tinysocial-suite.12.query.sqlpp A asterix-app/src/test/resources/runtimets/queries_sqlpp/tinysocial/tinysocial-suite-open/tinysocial-suite.13.query.sqlpp A asterix-app/src/test/resources/runtimets/queries_sqlpp/tinysocial/tinysocial-suite-open/tinysocial-suite.14.query.sqlpp A asterix-app/src/test/resources/runtimets/queries_sqlpp/tinysocial/tinysocial-suite-open/tinysocial-suite.15.query.sqlpp A asterix-app/src/test/resources/runtimets/queries_sqlpp/tinysocial/tinysocial-suite-open/tinysocial-suite.16.query.sqlpp A asterix-app/src/test/resources/runtimets/queries_sqlpp/tinysocial/tinysocial-suite-open/tinysocial-suite.17.query.sqlpp A asterix-app/src/test/resources/runtimets/queries_sqlpp/tinysocial/tinysocial-suite-open/tinysocial-suite.18.query.sqlpp A asterix-app/src/test/resources/runtimets/queries_sqlpp/tinysocial/tinysocial-suite-open/tinysocial-suite.19.update.sqlpp A asterix-app/src/test/resources/runtimets/queries_sqlpp/tinysocial/tinysocial-suite-open/tinysocial-suite.2.ddl.sqlpp A asterix-app/src/test/resources/runtimets/queries_sqlpp/tinysocial/tinysocial-suite-open/tinysocial-suite.20.query.sqlpp A asterix-app/src/test/resources/runtimets/queries_sqlpp/tinysocial/tinysocial-suite-open/tinysocial-suite.21.update.sqlpp A asterix-app/src/test/resources/runtimets/queries_sqlpp/tinysocial/tinysocial-suite-open/tinysocial-suite.22.query.sqlpp A asterix-app/src/test/resources/runtimets/queries_sqlpp/tinysocial/tinysocial-suite-open/tinysocial-suite.3.update.sqlpp A asterix-app/src/test/resources/runtimets/queries_sqlpp/tinysocial/tinysocial-suite-open/tinysocial-suite.4.query.sqlpp A asterix-app/src/test/resources/runtimets/queries_sqlpp/tinysocial/tinysocial-suite-open/tinysocial-suite.5.query.sqlpp A asterix-app/src/test/resources/runtimets/queries_sqlpp/tinysocial/tinysocial-suite-open/tinysocial-suite.6.query.sqlpp A asterix-app/src/test/resources/runtimets/queries_sqlpp/tinysocial/tinysocial-suite-open/tinysocial-suite.7.query.sqlpp A asterix-app/src/test/resources/runtimets/queries_sqlpp/tinysocial/tinysocial-suite-open/tinysocial-suite.8.query.sqlpp A asterix-app/src/test/resources/runtimets/queries_sqlpp/tinysocial/tinysocial-suite-open/tinysocial-suite.9.query.sqlpp A asterix-app/src/test/resources/runtimets/queries_sqlpp/tinysocial/tinysocial-suite/tinysocial-suite.24.query.sqlpp C asterix-app/src/test/resources/runtimets/results/tinysocial/tinysocial-suite-open/query-ASTERIXDB-1063.23.adm A asterix-app/src/test/resources/runtimets/results/tinysocial/tinysocial-suite-open/query-ASTERIXDB-1329.24.adm A asterix-app/src/test/resources/runtimets/results/tinysocial/tinysocial-suite-open/tinysocial-suite.10.adm A asterix-app/src/test/resources/runtimets/results/tinysocial/tinysocial-suite-open/tinysocial-suite.11.adm A asterix-app/src/test/resources/runtimets/results/tinysocial/tinysocial-suite-open/tinysocial-suite.12.adm A asterix-app/src/test/resources/runtimets/results/tinysocial/tinysocial-suite-open/tinysocial-suite.13.adm A asterix-app/src/test/resources/runtimets/results/tinysocial/tinysocial-suite-open/tinysocial-suite.14.adm A asterix-app/src/test/resources/runtimets/results/tinysocial/tinysocial-suite-open/tinysocial-suite.15.adm A asterix-app/src/test/resources/runtimets/results/tinysocial/tinysocial-suite-open/tinysocial-suite.16.adm A asterix-app/src/test/resources/runtimets/results/tinysocial/tinysocial-suite-open/tinysocial-suite.17.adm A asterix-app/src/test/resources/runtimets/results/tinysocial/tinysocial-suite-open/tinysocial-suite.18.adm A asterix-app/src/test/resources/runtimets/results/tinysocial/tinysocial-suite-open/tinysocial-suite.20.adm A asterix-app/src/test/resources/runtimets/results/tinysocial/tinysocial-suite-open/tinysocial-suite.22.adm A asterix-app/src/test/resources/runtimets/results/tinysocial/tinysocial-suite-open/tinysocial-suite.4.adm A asterix-app/src/test/resources/runtimets/results/tinysocial/tinysocial-suite-open/tinysocial-suite.5.adm A asterix-app/src/test/resources/runtimets/results/tinysocial/tinysocial-suite-open/tinysocial-suite.6.adm A asterix-app/src/test/resources/runtimets/results/tinysocial/tinysocial-suite-open/tinysocial-suite.7.adm A asterix-app/src/test/resources/runtimets/results/tinysocial/tinysocial-suite-open/tinysocial-suite.8.adm A asterix-app/src/test/resources/runtimets/results/tinysocial/tinysocial-suite-open/tinysocial-suite.9.adm R asterix-app/src/test/resources/runtimets/results/tinysocial/tinysocial-suite/query-ASTERIXDB-1063.23.adm A asterix-app/src/test/resources/runtimets/results/tinysocial/tinysocial-suite/tinysocial-suite.24.adm A asterix-app/src/test/resources/runtimets/results_parser_sqlpp/tinysocial/tinysocial-suite-open/query-ASTERIXDB-1263.23.ast A asterix-app/src/test/resources/runtimets/results_parser_sqlpp/tinysocial/tinysocial-suite-open/query-ASTERIXDB-1329.24.ast A asterix-app/src/test/resources/runtimets/results_parser_sqlpp/tinysocial/tinysocial-suite-open/tinysocial-suite.1.ast A asterix-app/src/test/resources/runtimets/results_parser_sqlpp/tinysocial/tinysocial-suite-open/tinysocial-suite.10.ast A asterix-app/src/test/resources/runtimets/results_parser_sqlpp/tinysocial/tinysocial-suite-open/tinysocial-suite.11.ast A asterix-app/src/test/resources/runtimets/results_parser_sqlpp/tinysocial/tinysocial-suite-open/tinysocial-suite.12.ast A asterix-app/src/test/resources/runtimets/results_parser_sqlpp/tinysocial/tinysocial-suite-open/tinysocial-suite.13.ast A asterix-app/src/test/resources/runtimets/results_parser_sqlpp/tinysocial/tinysocial-suite-open/tinysocial-suite.14.ast A asterix-app/src/test/resources/runtimets/results_parser_sqlpp/tinysocial/tinysocial-suite-open/tinysocial-suite.15.ast A asterix-app/src/test/resources/runtimets/results_parser_sqlpp/tinysocial/tinysocial-suite-open/tinysocial-suite.16.ast A asterix-app/src/test/resources/runtimets/results_parser_sqlpp/tinysocial/tinysocial-suite-open/tinysocial-suite.17.ast A asterix-app/src/test/resources/runtimets/results_parser_sqlpp/tinysocial/tinysocial-suite-open/tinysocial-suite.18.ast A asterix-app/src/test/resources/runtimets/results_parser_sqlpp/tinysocial/tinysocial-suite-open/tinysocial-suite.19.ast A asterix-app/src/test/resources/runtimets/results_parser_sqlpp/tinysocial/tinysocial-suite-open/tinysocial-suite.2.ast A asterix-app/src/test/resources/runtimets/results_parser_sqlpp/tinysocial/tinysocial-suite-open/tinysocial-suite.20.ast A asterix-app/src/test/resources/runtimets/results_parser_sqlpp/tinysocial/tinysocial-suite-open/tinysocial-suite.21.ast A asterix-app/src/test/resources/runtimets/results_parser_sqlpp/tinysocial/tinysocial-suite-open/tinysocial-suite.22.ast A asterix-app/src/test/resources/runtimets/results_parser_sqlpp/tinysocial/tinysocial-suite-open/tinysocial-suite.3.ast A asterix-app/src/test/resources/runtimets/results_parser_sqlpp/tinysocial/tinysocial-suite-open/tinysocial-suite.4.ast A asterix-app/src/test/resources/runtimets/results_parser_sqlpp/tinysocial/tinysocial-suite-open/tinysocial-suite.5.ast A asterix-app/src/test/resources/runtimets/results_parser_sqlpp/tinysocial/tinysocial-suite-open/tinysocial-suite.6.ast A asterix-app/src/test/resources/runtimets/results_parser_sqlpp/tinysocial/tinysocial-suite-open/tinysocial-suite.7.ast A asterix-app/src/test/resources/runtimets/results_parser_sqlpp/tinysocial/tinysocial-suite-open/tinysocial-suite.8.ast A asterix-app/src/test/resources/runtimets/results_parser_sqlpp/tinysocial/tinysocial-suite-open/tinysocial-suite.9.ast A asterix-app/src/test/resources/runtimets/results_parser_sqlpp/tinysocial/tinysocial-suite/tinysocial-suite.24.ast M asterix-app/src/test/resources/runtimets/testsuite_sqlpp.xml M asterix-app/src/test/resources/runtimets/testsuite_sqlpp_parser.xml M asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/Substring2TypeComputer.java 74 files changed, 1,997 insertions(+), 5 deletions(-) git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb refs/changes/88/688/1 diff --git a/asterix-app/src/test/resources/runtimets/queries_sqlpp/tinysocial/tinysocial-suite-open/query-ASTERIXDB-1063.23.query.sqlpp b/asterix-app/src/test/resources/runtimets/queries_sqlpp/tinysocial/tinysocial-suite-open/query-ASTERIXDB-1063.23.query.sqlpp new file mode 100644 index 0000000..f5139e1 --- /dev/null +++ b/asterix-app/src/test/resources/runtimets/queries_sqlpp/tinysocial/tinysocial-suite-open/query-ASTERIXDB-1063.23.query.sqlpp @@ -0,0 +1,30 @@ +/* + * 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. + */ +use TinySocial; + +select h as "hour", + count(t) as "count", + ( + select min as "minute", count(k) as "sum" + from t as k + group by "get-minute"(k."send-time") as min + order by min + ) as "finer" +from TweetMessages as t +group by "get-hour"(t."send-time") as h; diff --git a/asterix-app/src/test/resources/runtimets/queries_sqlpp/tinysocial/tinysocial-suite-open/query-ASTERIXDB-1329.24.query.sqlpp b/asterix-app/src/test/resources/runtimets/queries_sqlpp/tinysocial/tinysocial-suite-open/query-ASTERIXDB-1329.24.query.sqlpp new file mode 100644 index 0000000..03398e2 --- /dev/null +++ b/asterix-app/src/test/resources/runtimets/queries_sqlpp/tinysocial/tinysocial-suite-open/query-ASTERIXDB-1329.24.query.sqlpp @@ -0,0 +1,33 @@ +/* + * 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. + */ + +/** This test case is to verify the fix for ASTERIXDB-1329. */ + +USE TinySocial; + +SELECT user.name AS uname, + user.alias AS alias, + substring(message.message, 30) AS msg +FROM FacebookMessages AS message, + FacebookUsers AS user +WHERE message."author-id" = user.id and + message."in-response-to" >= 1 and + message."in-response-to" < 11 +ORDER BY uname, alias, msg; + diff --git a/asterix-app/src/test/resources/runtimets/queries_sqlpp/tinysocial/tinysocial-suite-open/tinysocial-suite.1.ddl.sqlpp b/asterix-app/src/test/resources/runtimets/queries_sqlpp/tinysocial/tinysocial-suite-open/tinysocial-suite.1.ddl.sqlpp new file mode 100644 index 0000000..dcaca6e --- /dev/null +++ b/asterix-app/src/test/resources/runtimets/queries_sqlpp/tinysocial/tinysocial-suite-open/tinysocial-suite.1.ddl.sqlpp @@ -0,0 +1,44 @@ +/* + * 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. + */ + +drop database TinySocial if exists; +create database TinySocial; + +use TinySocial; + + +create type TinySocial.TwitterUserType as +{ + "screen-name" : string +} + +create type TinySocial.TweetMessageType as { + tweetid : string +} + +create type TinySocial.FacebookUserType as + open { + id : int64 +} + +create type TinySocial.FacebookMessageType as + open { + "message-id" : int64 +} + diff --git a/asterix-app/src/test/resources/runtimets/queries_sqlpp/tinysocial/tinysocial-suite-open/tinysocial-suite.10.query.sqlpp b/asterix-app/src/test/resources/runtimets/queries_sqlpp/tinysocial/tinysocial-suite-open/tinysocial-suite.10.query.sqlpp new file mode 100644 index 0000000..1e61279 --- /dev/null +++ b/asterix-app/src/test/resources/runtimets/queries_sqlpp/tinysocial/tinysocial-suite-open/tinysocial-suite.10.query.sqlpp @@ -0,0 +1,34 @@ +/* + * 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. + */ +/** +* Query 4 - Theta Join +*/ + +use TinySocial; + + +select element {'message':t."message-text",'nearby-messages':( + select element {'msgtxt':t2."message-text"} + from TweetMessages as t2 + where (TinySocial."spatial-distance"(t."sender-location",t2."sender-location") <= 1) + order by t2."message-text" + )} +from TweetMessages as t +order by t."message-text" +; diff --git a/asterix-app/src/test/resources/runtimets/queries_sqlpp/tinysocial/tinysocial-suite-open/tinysocial-suite.11.query.sqlpp b/asterix-app/src/test/resources/runtimets/queries_sqlpp/tinysocial/tinysocial-suite-open/tinysocial-suite.11.query.sqlpp new file mode 100644 index 0000000..a9bcc12 --- /dev/null +++ b/asterix-app/src/test/resources/runtimets/queries_sqlpp/tinysocial/tinysocial-suite-open/tinysocial-suite.11.query.sqlpp @@ -0,0 +1,38 @@ +/* + * 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. + */ +/** +* Query 5 - Fuzzy Join +*/ + +use TinySocial; + + +set "simfunction" "edit-distance"; + +set "simthreshold" "3"; + +select element {'id':fbu.id,'name':fbu.name,'similar-users':( + select element {'twitter-screenname':tu."screen-name",'twitter-name':tu.name} + from TweetMessages as t + with tu as t.user + where (tu.name ~= fbu.name) + )} +from FacebookUsers as fbu +order by fbu.id +; diff --git a/asterix-app/src/test/resources/runtimets/queries_sqlpp/tinysocial/tinysocial-suite-open/tinysocial-suite.12.query.sqlpp b/asterix-app/src/test/resources/runtimets/queries_sqlpp/tinysocial/tinysocial-suite-open/tinysocial-suite.12.query.sqlpp new file mode 100644 index 0000000..c4119f1 --- /dev/null +++ b/asterix-app/src/test/resources/runtimets/queries_sqlpp/tinysocial/tinysocial-suite-open/tinysocial-suite.12.query.sqlpp @@ -0,0 +1,30 @@ +/* + * 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. + */ +/** +* Query 6 - Existential Quantification +*/ + +use TinySocial; + + +select element fbu +from FacebookUsers as fbu +where some e in fbu.employment satisfies TinySocial."is-null"(e."end-date") +order by fbu.id +; diff --git a/asterix-app/src/test/resources/runtimets/queries_sqlpp/tinysocial/tinysocial-suite-open/tinysocial-suite.13.query.sqlpp b/asterix-app/src/test/resources/runtimets/queries_sqlpp/tinysocial/tinysocial-suite-open/tinysocial-suite.13.query.sqlpp new file mode 100644 index 0000000..5611b99 --- /dev/null +++ b/asterix-app/src/test/resources/runtimets/queries_sqlpp/tinysocial/tinysocial-suite-open/tinysocial-suite.13.query.sqlpp @@ -0,0 +1,30 @@ +/* + * 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. + */ +/** +* Query 7 - Universal Quantification +*/ + +use TinySocial; + + +select element fbu +from FacebookUsers as fbu +where every e in fbu.employment satisfies TinySocial.not(TinySocial."is-null"(e."end-date")) +order by fbu.id +; diff --git a/asterix-app/src/test/resources/runtimets/queries_sqlpp/tinysocial/tinysocial-suite-open/tinysocial-suite.14.query.sqlpp b/asterix-app/src/test/resources/runtimets/queries_sqlpp/tinysocial/tinysocial-suite-open/tinysocial-suite.14.query.sqlpp new file mode 100644 index 0000000..5770a46 --- /dev/null +++ b/asterix-app/src/test/resources/runtimets/queries_sqlpp/tinysocial/tinysocial-suite-open/tinysocial-suite.14.query.sqlpp @@ -0,0 +1,29 @@ +/* + * 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. + */ +/** +* Query 8 - Simple Aggregation +*/ + +use TinySocial; + + +select element TinySocial.count(( + select element fbu + from FacebookUsers as fbu +)); diff --git a/asterix-app/src/test/resources/runtimets/queries_sqlpp/tinysocial/tinysocial-suite-open/tinysocial-suite.15.query.sqlpp b/asterix-app/src/test/resources/runtimets/queries_sqlpp/tinysocial/tinysocial-suite-open/tinysocial-suite.15.query.sqlpp new file mode 100644 index 0000000..be27270 --- /dev/null +++ b/asterix-app/src/test/resources/runtimets/queries_sqlpp/tinysocial/tinysocial-suite-open/tinysocial-suite.15.query.sqlpp @@ -0,0 +1,30 @@ +/* + * 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. + */ +/** +* Query 9-A - Grouping and Aggregation +*/ + +use TinySocial; + + +select element {'user':uid,'count':TinySocial.count(t)} +from TweetMessages as t +group by t.user."screen-name" as uid +order by uid +; diff --git a/asterix-app/src/test/resources/runtimets/queries_sqlpp/tinysocial/tinysocial-suite-open/tinysocial-suite.16.query.sqlpp b/asterix-app/src/test/resources/runtimets/queries_sqlpp/tinysocial/tinysocial-suite-open/tinysocial-suite.16.query.sqlpp new file mode 100644 index 0000000..17f71c4 --- /dev/null +++ b/asterix-app/src/test/resources/runtimets/queries_sqlpp/tinysocial/tinysocial-suite-open/tinysocial-suite.16.query.sqlpp @@ -0,0 +1,31 @@ +/* + * 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. + */ +/** +* Query 9-B - (Hash-Based) Grouping and Aggregation +*/ + +use TinySocial; + + +select element {'user':uid,'count':TinySocial.count(t)} +from TweetMessages as t +/* +hash */ +group by t.user."screen-name" as uid +order by uid +; diff --git a/asterix-app/src/test/resources/runtimets/queries_sqlpp/tinysocial/tinysocial-suite-open/tinysocial-suite.17.query.sqlpp b/asterix-app/src/test/resources/runtimets/queries_sqlpp/tinysocial/tinysocial-suite-open/tinysocial-suite.17.query.sqlpp new file mode 100644 index 0000000..86aadfe --- /dev/null +++ b/asterix-app/src/test/resources/runtimets/queries_sqlpp/tinysocial/tinysocial-suite-open/tinysocial-suite.17.query.sqlpp @@ -0,0 +1,32 @@ +/* + * 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. + */ +/** +* Query 10 - Grouping and Limits +*/ + +use TinySocial; + + +select element {'user':uid,'count':c} +from TweetMessages as t +group by t.user."screen-name" as uid +with c as TinySocial.count(t) +order by c,uid desc +limit 3 +; diff --git a/asterix-app/src/test/resources/runtimets/queries_sqlpp/tinysocial/tinysocial-suite-open/tinysocial-suite.18.query.sqlpp b/asterix-app/src/test/resources/runtimets/queries_sqlpp/tinysocial/tinysocial-suite-open/tinysocial-suite.18.query.sqlpp new file mode 100644 index 0000000..67abd9f --- /dev/null +++ b/asterix-app/src/test/resources/runtimets/queries_sqlpp/tinysocial/tinysocial-suite-open/tinysocial-suite.18.query.sqlpp @@ -0,0 +1,38 @@ +/* + * 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. + */ +/** +* Query 11 - Left Outer Fuzzy Join +*/ + +use TinySocial; + + +set "simfunction" "jaccard"; + +set "simthreshold" "0.3"; + +select element {'tweet':t,'similar-tweets':( + select element t2."referred-topics" + from TweetMessages as t2 + where ((t2."referred-topics" ~= t."referred-topics") and (t2.tweetid != t.tweetid)) + order by t2.tweetid + )} +from TweetMessages as t +order by t.tweetid +; diff --git a/asterix-app/src/test/resources/runtimets/queries_sqlpp/tinysocial/tinysocial-suite-open/tinysocial-suite.19.update.sqlpp b/asterix-app/src/test/resources/runtimets/queries_sqlpp/tinysocial/tinysocial-suite-open/tinysocial-suite.19.update.sqlpp new file mode 100644 index 0000000..64c730e --- /dev/null +++ b/asterix-app/src/test/resources/runtimets/queries_sqlpp/tinysocial/tinysocial-suite-open/tinysocial-suite.19.update.sqlpp @@ -0,0 +1,27 @@ +/* + * 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. + */ +/** +* Inserting New Data +*/ + +use TinySocial; + + +insert into TweetMessages +select element {'tweetid':'13','user':{'screen-name':'NathanGiesen@211','lang':'en','friends_count':39345,'statuses_count':479,'name':'Nathan Giesen','followers_count':49420},'sender-location':TinySocial.point('47.44,80.65'),'send-time':TinySocial.datetime('2008-04-26T10:10:35'),'referred-topics':{{'tweeting'}},'message-text':'tweety tweet, my fellow tweeters!'}; diff --git a/asterix-app/src/test/resources/runtimets/queries_sqlpp/tinysocial/tinysocial-suite-open/tinysocial-suite.2.ddl.sqlpp b/asterix-app/src/test/resources/runtimets/queries_sqlpp/tinysocial/tinysocial-suite-open/tinysocial-suite.2.ddl.sqlpp new file mode 100644 index 0000000..2214fa3 --- /dev/null +++ b/asterix-app/src/test/resources/runtimets/queries_sqlpp/tinysocial/tinysocial-suite-open/tinysocial-suite.2.ddl.sqlpp @@ -0,0 +1,34 @@ +/* + * 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. + */ + +use TinySocial; + + +create table FacebookUsers(FacebookUserType) primary key id; + +create table FacebookMessages(FacebookMessageType) primary key "message-id"; + +create table TwitterUsers(TwitterUserType) primary key "screen-name"; + +create table TweetMessages(TweetMessageType) primary key tweetid hints ("CARDINALITY"="100"); + +create index fbUserSinceIdx on FacebookUsers ("user-since":datetime) type btree enforced; + +create index fbAuthorIdx on FacebookMessages ("author-id":int64) type btree enforced; + diff --git a/asterix-app/src/test/resources/runtimets/queries_sqlpp/tinysocial/tinysocial-suite-open/tinysocial-suite.20.query.sqlpp b/asterix-app/src/test/resources/runtimets/queries_sqlpp/tinysocial/tinysocial-suite-open/tinysocial-suite.20.query.sqlpp new file mode 100644 index 0000000..0d8d574 --- /dev/null +++ b/asterix-app/src/test/resources/runtimets/queries_sqlpp/tinysocial/tinysocial-suite-open/tinysocial-suite.20.query.sqlpp @@ -0,0 +1,29 @@ +/* + * 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. + */ +/** +* Inserting New Data - Verification +*/ + +use TinySocial; + + +select element t +from TweetMessages as t +order by t.tweetid +; diff --git a/asterix-app/src/test/resources/runtimets/queries_sqlpp/tinysocial/tinysocial-suite-open/tinysocial-suite.21.update.sqlpp b/asterix-app/src/test/resources/runtimets/queries_sqlpp/tinysocial/tinysocial-suite-open/tinysocial-suite.21.update.sqlpp new file mode 100644 index 0000000..21f2b22 --- /dev/null +++ b/asterix-app/src/test/resources/runtimets/queries_sqlpp/tinysocial/tinysocial-suite-open/tinysocial-suite.21.update.sqlpp @@ -0,0 +1,27 @@ +/* + * 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. + */ +/** +* Deleting Existing Data +*/ + +use TinySocial; + + +delete tm from TweetMessages + where (tm.tweetid = '13'); diff --git a/asterix-app/src/test/resources/runtimets/queries_sqlpp/tinysocial/tinysocial-suite-open/tinysocial-suite.22.query.sqlpp b/asterix-app/src/test/resources/runtimets/queries_sqlpp/tinysocial/tinysocial-suite-open/tinysocial-suite.22.query.sqlpp new file mode 100644 index 0000000..559658c --- /dev/null +++ b/asterix-app/src/test/resources/runtimets/queries_sqlpp/tinysocial/tinysocial-suite-open/tinysocial-suite.22.query.sqlpp @@ -0,0 +1,30 @@ +/* + * 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. + */ +/** +* Deleting Existing Data - Verification +*/ + +use TinySocial; + + +select element TinySocial.count(( + select element t + from TweetMessages as t + where (t.tweetid = '13') +)); diff --git a/asterix-app/src/test/resources/runtimets/queries_sqlpp/tinysocial/tinysocial-suite-open/tinysocial-suite.3.update.sqlpp b/asterix-app/src/test/resources/runtimets/queries_sqlpp/tinysocial/tinysocial-suite-open/tinysocial-suite.3.update.sqlpp new file mode 100644 index 0000000..4b757cd --- /dev/null +++ b/asterix-app/src/test/resources/runtimets/queries_sqlpp/tinysocial/tinysocial-suite-open/tinysocial-suite.3.update.sqlpp @@ -0,0 +1,30 @@ +/* + * 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. + */ + +use TinySocial; + + +load table FacebookUsers using "localfs" (("path"="asterix_nc1://data/tinysocial/fbu.adm"),("format"="adm")); + +load table FacebookMessages using "localfs" (("path"="asterix_nc1://data/tinysocial/fbm.adm"),("format"="adm")); + +load table TwitterUsers using "localfs" (("path"="asterix_nc1://data/tinysocial/twu.adm"),("format"="adm")); + +load table TweetMessages using "localfs" (("path"="asterix_nc1://data/tinysocial/twm.adm"),("format"="adm")); + diff --git a/asterix-app/src/test/resources/runtimets/queries_sqlpp/tinysocial/tinysocial-suite-open/tinysocial-suite.4.query.sqlpp b/asterix-app/src/test/resources/runtimets/queries_sqlpp/tinysocial/tinysocial-suite-open/tinysocial-suite.4.query.sqlpp new file mode 100644 index 0000000..33fc78b --- /dev/null +++ b/asterix-app/src/test/resources/runtimets/queries_sqlpp/tinysocial/tinysocial-suite-open/tinysocial-suite.4.query.sqlpp @@ -0,0 +1,29 @@ +/* + * 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. + */ +/** +* Query 0-A - Exact-Match Lookup +*/ + +use TinySocial; + + +select element user +from FacebookUsers as user +where (user.id = 8) +; diff --git a/asterix-app/src/test/resources/runtimets/queries_sqlpp/tinysocial/tinysocial-suite-open/tinysocial-suite.5.query.sqlpp b/asterix-app/src/test/resources/runtimets/queries_sqlpp/tinysocial/tinysocial-suite-open/tinysocial-suite.5.query.sqlpp new file mode 100644 index 0000000..98c5c5a --- /dev/null +++ b/asterix-app/src/test/resources/runtimets/queries_sqlpp/tinysocial/tinysocial-suite-open/tinysocial-suite.5.query.sqlpp @@ -0,0 +1,30 @@ +/* + * 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. + */ +/** +* Query 0-B - Range Scan +*/ + +use TinySocial; + + +select element user +from FacebookUsers as user +where ((user.id >= 2) and (user.id <= 4)) +order by user.id +; diff --git a/asterix-app/src/test/resources/runtimets/queries_sqlpp/tinysocial/tinysocial-suite-open/tinysocial-suite.6.query.sqlpp b/asterix-app/src/test/resources/runtimets/queries_sqlpp/tinysocial/tinysocial-suite-open/tinysocial-suite.6.query.sqlpp new file mode 100644 index 0000000..47266db --- /dev/null +++ b/asterix-app/src/test/resources/runtimets/queries_sqlpp/tinysocial/tinysocial-suite-open/tinysocial-suite.6.query.sqlpp @@ -0,0 +1,30 @@ +/* + * 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. + */ +/** +* Query 1 - Other Query Filters +*/ + +use TinySocial; + + +select element user +from FacebookUsers as user +where ((user."user-since" >= TinySocial.datetime('2010-07-22T00:00:00')) and (user."user-since" <= TinySocial.datetime('2012-07-29T23:59:59'))) +order by user.id +; diff --git a/asterix-app/src/test/resources/runtimets/queries_sqlpp/tinysocial/tinysocial-suite-open/tinysocial-suite.7.query.sqlpp b/asterix-app/src/test/resources/runtimets/queries_sqlpp/tinysocial/tinysocial-suite-open/tinysocial-suite.7.query.sqlpp new file mode 100644 index 0000000..f6720c6 --- /dev/null +++ b/asterix-app/src/test/resources/runtimets/queries_sqlpp/tinysocial/tinysocial-suite-open/tinysocial-suite.7.query.sqlpp @@ -0,0 +1,31 @@ +/* + * 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. + */ +/** +* Query 2-A - Equijoin +*/ + +use TinySocial; + + +select element {'uname':user.name,'message':message.message} +from FacebookUsers as user, + FacebookMessages as message +where (message."author-id" = user.id) +order by user.name,message."message-id" +; diff --git a/asterix-app/src/test/resources/runtimets/queries_sqlpp/tinysocial/tinysocial-suite-open/tinysocial-suite.8.query.sqlpp b/asterix-app/src/test/resources/runtimets/queries_sqlpp/tinysocial/tinysocial-suite-open/tinysocial-suite.8.query.sqlpp new file mode 100644 index 0000000..1dd4b35 --- /dev/null +++ b/asterix-app/src/test/resources/runtimets/queries_sqlpp/tinysocial/tinysocial-suite-open/tinysocial-suite.8.query.sqlpp @@ -0,0 +1,31 @@ +/* + * 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. + */ +/** +* Query 2-B - Index join +*/ + +use TinySocial; + + +select element {'uname':user.name,'message':message.message} +from FacebookUsers as user, + FacebookMessages as message +where (message."author-id" /*+ indexnl */ = user.id) +order by user.name,message."message-id" +; diff --git a/asterix-app/src/test/resources/runtimets/queries_sqlpp/tinysocial/tinysocial-suite-open/tinysocial-suite.9.query.sqlpp b/asterix-app/src/test/resources/runtimets/queries_sqlpp/tinysocial/tinysocial-suite-open/tinysocial-suite.9.query.sqlpp new file mode 100644 index 0000000..a81d88d --- /dev/null +++ b/asterix-app/src/test/resources/runtimets/queries_sqlpp/tinysocial/tinysocial-suite-open/tinysocial-suite.9.query.sqlpp @@ -0,0 +1,34 @@ +/* + * 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. + */ +/** +* Query 3 - Nested Outer Join +*/ + +use TinySocial; + + +select element {'uname':user.name,'messages':( + select element message.message + from FacebookMessages as message + where (message."author-id" = user.id) + order by message."message-id" + )} +from FacebookUsers as user +order by user.name +; diff --git a/asterix-app/src/test/resources/runtimets/queries_sqlpp/tinysocial/tinysocial-suite/tinysocial-suite.24.query.sqlpp b/asterix-app/src/test/resources/runtimets/queries_sqlpp/tinysocial/tinysocial-suite/tinysocial-suite.24.query.sqlpp new file mode 100644 index 0000000..7ee01cf --- /dev/null +++ b/asterix-app/src/test/resources/runtimets/queries_sqlpp/tinysocial/tinysocial-suite/tinysocial-suite.24.query.sqlpp @@ -0,0 +1,31 @@ +/* + * 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. + */ + +USE TinySocial; + +SELECT user.name AS uname, + user.alias AS alias, + substring(message.message, 30) AS msg +FROM FacebookMessages AS message, + FacebookUsers AS user +WHERE message."author-id" = user.id and + message."in-response-to" >= 1 and + message."in-response-to" < 11 +ORDER BY uname, alias, msg; + diff --git a/asterix-app/src/test/resources/runtimets/results/tinysocial/tinysocial-suite/tinysocial-suite.23.adm b/asterix-app/src/test/resources/runtimets/results/tinysocial/tinysocial-suite-open/query-ASTERIXDB-1063.23.adm similarity index 100% copy from asterix-app/src/test/resources/runtimets/results/tinysocial/tinysocial-suite/tinysocial-suite.23.adm copy to asterix-app/src/test/resources/runtimets/results/tinysocial/tinysocial-suite-open/query-ASTERIXDB-1063.23.adm diff --git a/asterix-app/src/test/resources/runtimets/results/tinysocial/tinysocial-suite-open/query-ASTERIXDB-1329.24.adm b/asterix-app/src/test/resources/runtimets/results/tinysocial/tinysocial-suite-open/query-ASTERIXDB-1329.24.adm new file mode 100644 index 0000000..19da672 --- /dev/null +++ b/asterix-app/src/test/resources/runtimets/results/tinysocial/tinysocial-suite-open/query-ASTERIXDB-1329.24.adm @@ -0,0 +1,9 @@ +{ "uname": "BramHatch", "alias": "Bram", "msg": "cemail-service is OMG:(" } +{ "uname": "BramHatch", "alias": "Bram", "msg": "mand is bad:(" } +{ "uname": "EmoryUnk", "alias": "Emory", "msg": "u is awesome:)" } +{ "uname": "IsbelDull", "alias": "Isbel", "msg": "s mind-blowing" } +{ "uname": "IsbelDull", "alias": "Isbel", "msg": "zing" } +{ "uname": "MargaritaStoddard", "alias": "Margarita", "msg": " is horrible:(" } +{ "uname": "MargaritaStoddard", "alias": "Margarita", "msg": " terrible" } +{ "uname": "MargaritaStoddard", "alias": "Margarita", "msg": "een is horrible" } +{ "uname": "WillisWynne", "alias": "Willis", "msg": "n is mind-blowing" } diff --git a/asterix-app/src/test/resources/runtimets/results/tinysocial/tinysocial-suite-open/tinysocial-suite.10.adm b/asterix-app/src/test/resources/runtimets/results/tinysocial/tinysocial-suite-open/tinysocial-suite.10.adm new file mode 100644 index 0000000..ee7eb56 --- /dev/null +++ b/asterix-app/src/test/resources/runtimets/results/tinysocial/tinysocial-suite-open/tinysocial-suite.10.adm @@ -0,0 +1,12 @@ +{ "nearby-messages": [ { "msgtxt": " can't stand iphone its platform is terrible" } ], "message": " can't stand iphone its platform is terrible" } +{ "nearby-messages": [ { "msgtxt": " can't stand motorola its speed is terrible:(" } ], "message": " can't stand motorola its speed is terrible:(" } +{ "nearby-messages": [ { "msgtxt": " hate verizon its voice-clarity is OMG:(" }, { "msgtxt": " like motorola the speed is good:)" } ], "message": " hate verizon its voice-clarity is OMG:(" } +{ "nearby-messages": [ { "msgtxt": " like iphone the voice-clarity is good:)" } ], "message": " like iphone the voice-clarity is good:)" } +{ "nearby-messages": [ { "msgtxt": " hate verizon its voice-clarity is OMG:(" }, { "msgtxt": " like motorola the speed is good:)" } ], "message": " like motorola the speed is good:)" } +{ "nearby-messages": [ { "msgtxt": " like samsung the platform is good" } ], "message": " like samsung the platform is good" } +{ "nearby-messages": [ { "msgtxt": " like samsung the voice-command is amazing:)" } ], "message": " like samsung the voice-command is amazing:)" } +{ "nearby-messages": [ { "msgtxt": " like sprint the voice-command is mind-blowing:)" } ], "message": " like sprint the voice-command is mind-blowing:)" } +{ "nearby-messages": [ { "msgtxt": " like t-mobile the shortcut-menu is awesome:)" } ], "message": " like t-mobile the shortcut-menu is awesome:)" } +{ "nearby-messages": [ { "msgtxt": " like verizon its shortcut-menu is awesome:)" } ], "message": " like verizon its shortcut-menu is awesome:)" } +{ "nearby-messages": [ { "msgtxt": " love t-mobile its customization is good:)" } ], "message": " love t-mobile its customization is good:)" } +{ "nearby-messages": [ { "msgtxt": " love verizon its voicemail-service is awesome" } ], "message": " love verizon its voicemail-service is awesome" } diff --git a/asterix-app/src/test/resources/runtimets/results/tinysocial/tinysocial-suite-open/tinysocial-suite.11.adm b/asterix-app/src/test/resources/runtimets/results/tinysocial/tinysocial-suite-open/tinysocial-suite.11.adm new file mode 100644 index 0000000..6e5618a --- /dev/null +++ b/asterix-app/src/test/resources/runtimets/results/tinysocial/tinysocial-suite-open/tinysocial-suite.11.adm @@ -0,0 +1,10 @@ +{ "id": 1, "similar-users": [ ], "name": "MargaritaStoddard" } +{ "id": 2, "similar-users": [ ], "name": "IsbelDull" } +{ "id": 3, "similar-users": [ ], "name": "EmoryUnk" } +{ "id": 4, "similar-users": [ ], "name": "NicholasStroh" } +{ "id": 5, "similar-users": [ ], "name": "VonKemble" } +{ "id": 6, "similar-users": [ ], "name": "WillisWynne" } +{ "id": 7, "similar-users": [ ], "name": "SuzannaTillson" } +{ "id": 8, "similar-users": [ { "twitter-screenname": "NilaMilliron_tw", "twitter-name": "Nila Milliron" } ], "name": "NilaMilliron" } +{ "id": 9, "similar-users": [ ], "name": "WoodrowNehling" } +{ "id": 10, "similar-users": [ ], "name": "BramHatch" } diff --git a/asterix-app/src/test/resources/runtimets/results/tinysocial/tinysocial-suite-open/tinysocial-suite.12.adm b/asterix-app/src/test/resources/runtimets/results/tinysocial/tinysocial-suite-open/tinysocial-suite.12.adm new file mode 100644 index 0000000..ae2549f --- /dev/null +++ b/asterix-app/src/test/resources/runtimets/results/tinysocial/tinysocial-suite-open/tinysocial-suite.12.adm @@ -0,0 +1,7 @@ +{ "id": 1, "alias": "Margarita", "name": "MargaritaStoddard", "user-since": datetime("2012-08-20T10:10:00.000Z"), "friend-ids": {{ 2, 3, 6, 10 }}, "employment": [ { "organization-name": "Codetechno", "start-date": date("2006-08-06") } ] } +{ "id": 2, "alias": "Isbel", "name": "IsbelDull", "user-since": datetime("2011-01-22T10:10:00.000Z"), "friend-ids": {{ 1, 4 }}, "employment": [ { "organization-name": "Hexviafind", "start-date": date("2010-04-27") } ] } +{ "id": 4, "alias": "Nicholas", "name": "NicholasStroh", "user-since": datetime("2010-12-27T10:10:00.000Z"), "friend-ids": {{ 2 }}, "employment": [ { "organization-name": "Zamcorporation", "start-date": date("2010-06-08") } ] } +{ "id": 5, "alias": "Von", "name": "VonKemble", "user-since": datetime("2010-01-05T10:10:00.000Z"), "friend-ids": {{ 3, 6, 10 }}, "employment": [ { "organization-name": "Kongreen", "start-date": date("2010-11-27") } ] } +{ "id": 6, "alias": "Willis", "name": "WillisWynne", "user-since": datetime("2005-01-17T10:10:00.000Z"), "friend-ids": {{ 1, 3, 7 }}, "employment": [ { "organization-name": "jaydax", "start-date": date("2009-05-15") } ] } +{ "id": 7, "alias": "Suzanna", "name": "SuzannaTillson", "user-since": datetime("2012-08-07T10:10:00.000Z"), "friend-ids": {{ 6 }}, "employment": [ { "organization-name": "Labzatron", "start-date": date("2011-04-19") } ] } +{ "id": 8, "alias": "Nila", "name": "NilaMilliron", "user-since": datetime("2008-01-01T10:10:00.000Z"), "friend-ids": {{ 3 }}, "employment": [ { "organization-name": "Plexlane", "start-date": date("2010-02-28") } ] } diff --git a/asterix-app/src/test/resources/runtimets/results/tinysocial/tinysocial-suite-open/tinysocial-suite.13.adm b/asterix-app/src/test/resources/runtimets/results/tinysocial/tinysocial-suite-open/tinysocial-suite.13.adm new file mode 100644 index 0000000..2df77f6 --- /dev/null +++ b/asterix-app/src/test/resources/runtimets/results/tinysocial/tinysocial-suite-open/tinysocial-suite.13.adm @@ -0,0 +1,3 @@ +{ "id": 3, "alias": "Emory", "name": "EmoryUnk", "user-since": datetime("2012-07-10T10:10:00.000Z"), "friend-ids": {{ 1, 5, 8, 9 }}, "employment": [ { "organization-name": "geomedia", "start-date": date("2010-06-17"), "end-date": date("2010-01-26") } ] } +{ "id": 9, "alias": "Woodrow", "name": "WoodrowNehling", "user-since": datetime("2005-09-20T10:10:00.000Z"), "friend-ids": {{ 3, 10 }}, "employment": [ { "organization-name": "Zuncan", "start-date": date("2003-04-22"), "end-date": date("2009-12-13") } ] } +{ "id": 10, "alias": "Bram", "name": "BramHatch", "user-since": datetime("2010-10-16T10:10:00.000Z"), "friend-ids": {{ 1, 5, 9 }}, "employment": [ { "organization-name": "physcane", "start-date": date("2007-06-05"), "end-date": date("2011-11-05") } ] } diff --git a/asterix-app/src/test/resources/runtimets/results/tinysocial/tinysocial-suite-open/tinysocial-suite.14.adm b/asterix-app/src/test/resources/runtimets/results/tinysocial/tinysocial-suite-open/tinysocial-suite.14.adm new file mode 100644 index 0000000..f599e28 --- /dev/null +++ b/asterix-app/src/test/resources/runtimets/results/tinysocial/tinysocial-suite-open/tinysocial-suite.14.adm @@ -0,0 +1 @@ +10 diff --git a/asterix-app/src/test/resources/runtimets/results/tinysocial/tinysocial-suite-open/tinysocial-suite.15.adm b/asterix-app/src/test/resources/runtimets/results/tinysocial/tinysocial-suite-open/tinysocial-suite.15.adm new file mode 100644 index 0000000..e4e4c8f --- /dev/null +++ b/asterix-app/src/test/resources/runtimets/results/tinysocial/tinysocial-suite-open/tinysocial-suite.15.adm @@ -0,0 +1,5 @@ +{ "count": 1, "user": "ChangEwing_573" } +{ "count": 3, "user": "ColineGeyer@63" } +{ "count": 6, "user": "NathanGiesen@211" } +{ "count": 1, "user": "NilaMilliron_tw" } +{ "count": 1, "user": "OliJackson_512" } diff --git a/asterix-app/src/test/resources/runtimets/results/tinysocial/tinysocial-suite-open/tinysocial-suite.16.adm b/asterix-app/src/test/resources/runtimets/results/tinysocial/tinysocial-suite-open/tinysocial-suite.16.adm new file mode 100644 index 0000000..e4e4c8f --- /dev/null +++ b/asterix-app/src/test/resources/runtimets/results/tinysocial/tinysocial-suite-open/tinysocial-suite.16.adm @@ -0,0 +1,5 @@ +{ "count": 1, "user": "ChangEwing_573" } +{ "count": 3, "user": "ColineGeyer@63" } +{ "count": 6, "user": "NathanGiesen@211" } +{ "count": 1, "user": "NilaMilliron_tw" } +{ "count": 1, "user": "OliJackson_512" } diff --git a/asterix-app/src/test/resources/runtimets/results/tinysocial/tinysocial-suite-open/tinysocial-suite.17.adm b/asterix-app/src/test/resources/runtimets/results/tinysocial/tinysocial-suite-open/tinysocial-suite.17.adm new file mode 100644 index 0000000..67a61ea --- /dev/null +++ b/asterix-app/src/test/resources/runtimets/results/tinysocial/tinysocial-suite-open/tinysocial-suite.17.adm @@ -0,0 +1,3 @@ +{ "count": 1, "user": "OliJackson_512" } +{ "count": 1, "user": "NilaMilliron_tw" } +{ "count": 1, "user": "ChangEwing_573" } diff --git a/asterix-app/src/test/resources/runtimets/results/tinysocial/tinysocial-suite-open/tinysocial-suite.18.adm b/asterix-app/src/test/resources/runtimets/results/tinysocial/tinysocial-suite-open/tinysocial-suite.18.adm new file mode 100644 index 0000000..b59a814 --- /dev/null +++ b/asterix-app/src/test/resources/runtimets/results/tinysocial/tinysocial-suite-open/tinysocial-suite.18.adm @@ -0,0 +1,12 @@ +{ "tweet": { "tweetid": "1", "user": { "screen-name": "NathanGiesen@211", "lang": "en", "friends_count": 39339, "statuses_count": 473, "name": "Nathan Giesen", "followers_count": 49416 }, "sender-location": point("47.44,80.65"), "send-time": datetime("2008-04-26T10:10:00.000Z"), "referred-topics": {{ "t-mobile", "customization" }}, "message-text": " love t-mobile its customization is good:)" }, "similar-tweets": [ {{ "t-mobile", "shortcut-menu" }} ] } +{ "tweet": { "tweetid": "10", "user": { "screen-name": "ColineGeyer@63", "lang": "en", "friends_count": 121, "statuses_count": 362, "name": "Coline Geyer", "followers_count": 17159 }, "sender-location": point("29.15,76.53"), "send-time": datetime("2008-01-26T10:10:00.000Z"), "referred-topics": {{ "verizon", "voice-clarity" }}, "message-text": " hate verizon its voice-clarity is OMG:(" }, "similar-tweets": [ {{ "verizon", "shortcut-menu" }}, {{ "iphone", "voice-clarity" }}, {{ "verizon", "voicemail-service" }} ] } +{ "tweet": { "tweetid": "11", "user": { "screen-name": "NilaMilliron_tw", "lang": "en", "friends_count": 445, "statuses_count": 164, "name": "Nila Milliron", "followers_count": 22649 }, "sender-location": point("37.59,68.42"), "send-time": datetime("2008-03-09T10:10:00.000Z"), "referred-topics": {{ "iphone", "platform" }}, "message-text": " can't stand iphone its platform is terrible" }, "similar-tweets": [ {{ "iphone", "voice-clarity" }}, {{ "samsung", "platform" }} ] } +{ "tweet": { "tweetid": "12", "user": { "screen-name": "OliJackson_512", "lang": "en", "friends_count": 445, "statuses_count": 164, "name": "Oli Jackson", "followers_count": 22649 }, "sender-location": point("24.82,94.63"), "send-time": datetime("2010-02-13T10:10:00.000Z"), "referred-topics": {{ "samsung", "voice-command" }}, "message-text": " like samsung the voice-command is amazing:)" }, "similar-tweets": [ {{ "sprint", "voice-command" }}, {{ "samsung", "platform" }} ] } +{ "tweet": { "tweetid": "2", "user": { "screen-name": "ColineGeyer@63", "lang": "en", "friends_count": 121, "statuses_count": 362, "name": "Coline Geyer", "followers_count": 17159 }, "sender-location": point("32.84,67.14"), "send-time": datetime("2010-05-13T10:10:00.000Z"), "referred-topics": {{ "verizon", "shortcut-menu" }}, "message-text": " like verizon its shortcut-menu is awesome:)" }, "similar-tweets": [ {{ "verizon", "voice-clarity" }}, {{ "t-mobile", "shortcut-menu" }}, {{ "verizon", "voicemail-service" }} ] } +{ "tweet": { "tweetid": "3", "user": { "screen-name": "NathanGiesen@211", "lang": "en", "friends_count": 39339, "statuses_count": 473, "name": "Nathan Giesen", "followers_count": 49416 }, "sender-location": point("29.72,75.8"), "send-time": datetime("2006-11-04T10:10:00.000Z"), "referred-topics": {{ "motorola", "speed" }}, "message-text": " like motorola the speed is good:)" }, "similar-tweets": [ {{ "motorola", "speed" }} ] } +{ "tweet": { "tweetid": "4", "user": { "screen-name": "NathanGiesen@211", "lang": "en", "friends_count": 39339, "statuses_count": 473, "name": "Nathan Giesen", "followers_count": 49416 }, "sender-location": point("39.28,70.48"), "send-time": datetime("2011-12-26T10:10:00.000Z"), "referred-topics": {{ "sprint", "voice-command" }}, "message-text": " like sprint the voice-command is mind-blowing:)" }, "similar-tweets": [ {{ "samsung", "voice-command" }} ] } +{ "tweet": { "tweetid": "5", "user": { "screen-name": "NathanGiesen@211", "lang": "en", "friends_count": 39339, "statuses_count": 473, "name": "Nathan Giesen", "followers_count": 49416 }, "sender-location": point("40.09,92.69"), "send-time": datetime("2006-08-04T10:10:00.000Z"), "referred-topics": {{ "motorola", "speed" }}, "message-text": " can't stand motorola its speed is terrible:(" }, "similar-tweets": [ {{ "motorola", "speed" }} ] } +{ "tweet": { "tweetid": "6", "user": { "screen-name": "ColineGeyer@63", "lang": "en", "friends_count": 121, "statuses_count": 362, "name": "Coline Geyer", "followers_count": 17159 }, "sender-location": point("47.51,83.99"), "send-time": datetime("2010-05-07T10:10:00.000Z"), "referred-topics": {{ "iphone", "voice-clarity" }}, "message-text": " like iphone the voice-clarity is good:)" }, "similar-tweets": [ {{ "verizon", "voice-clarity" }}, {{ "iphone", "platform" }} ] } +{ "tweet": { "tweetid": "7", "user": { "screen-name": "ChangEwing_573", "lang": "en", "friends_count": 182, "statuses_count": 394, "name": "Chang Ewing", "followers_count": 32136 }, "sender-location": point("36.21,72.6"), "send-time": datetime("2011-08-25T10:10:00.000Z"), "referred-topics": {{ "samsung", "platform" }}, "message-text": " like samsung the platform is good" }, "similar-tweets": [ {{ "iphone", "platform" }}, {{ "samsung", "voice-command" }} ] } +{ "tweet": { "tweetid": "8", "user": { "screen-name": "NathanGiesen@211", "lang": "en", "friends_count": 39339, "statuses_count": 473, "name": "Nathan Giesen", "followers_count": 49416 }, "sender-location": point("46.05,93.34"), "send-time": datetime("2005-10-14T10:10:00.000Z"), "referred-topics": {{ "t-mobile", "shortcut-menu" }}, "message-text": " like t-mobile the shortcut-menu is awesome:)" }, "similar-tweets": [ {{ "t-mobile", "customization" }}, {{ "verizon", "shortcut-menu" }} ] } +{ "tweet": { "tweetid": "9", "user": { "screen-name": "NathanGiesen@211", "lang": "en", "friends_count": 39339, "statuses_count": 473, "name": "Nathan Giesen", "followers_count": 49416 }, "sender-location": point("36.86,74.62"), "send-time": datetime("2012-07-21T10:10:00.000Z"), "referred-topics": {{ "verizon", "voicemail-service" }}, "message-text": " love verizon its voicemail-service is awesome" }, "similar-tweets": [ {{ "verizon", "voice-clarity" }}, {{ "verizon", "shortcut-menu" }} ] } diff --git a/asterix-app/src/test/resources/runtimets/results/tinysocial/tinysocial-suite-open/tinysocial-suite.20.adm b/asterix-app/src/test/resources/runtimets/results/tinysocial/tinysocial-suite-open/tinysocial-suite.20.adm new file mode 100644 index 0000000..5c8c013 --- /dev/null +++ b/asterix-app/src/test/resources/runtimets/results/tinysocial/tinysocial-suite-open/tinysocial-suite.20.adm @@ -0,0 +1,13 @@ +{ "tweetid": "1", "user": { "screen-name": "NathanGiesen@211", "lang": "en", "friends_count": 39339, "statuses_count": 473, "name": "Nathan Giesen", "followers_count": 49416 }, "sender-location": point("47.44,80.65"), "send-time": datetime("2008-04-26T10:10:00.000Z"), "referred-topics": {{ "t-mobile", "customization" }}, "message-text": " love t-mobile its customization is good:)" } +{ "tweetid": "10", "user": { "screen-name": "ColineGeyer@63", "lang": "en", "friends_count": 121, "statuses_count": 362, "name": "Coline Geyer", "followers_count": 17159 }, "sender-location": point("29.15,76.53"), "send-time": datetime("2008-01-26T10:10:00.000Z"), "referred-topics": {{ "verizon", "voice-clarity" }}, "message-text": " hate verizon its voice-clarity is OMG:(" } +{ "tweetid": "11", "user": { "screen-name": "NilaMilliron_tw", "lang": "en", "friends_count": 445, "statuses_count": 164, "name": "Nila Milliron", "followers_count": 22649 }, "sender-location": point("37.59,68.42"), "send-time": datetime("2008-03-09T10:10:00.000Z"), "referred-topics": {{ "iphone", "platform" }}, "message-text": " can't stand iphone its platform is terrible" } +{ "tweetid": "12", "user": { "screen-name": "OliJackson_512", "lang": "en", "friends_count": 445, "statuses_count": 164, "name": "Oli Jackson", "followers_count": 22649 }, "sender-location": point("24.82,94.63"), "send-time": datetime("2010-02-13T10:10:00.000Z"), "referred-topics": {{ "samsung", "voice-command" }}, "message-text": " like samsung the voice-command is amazing:)" } +{ "tweetid": "13", "user": { "screen-name": "NathanGiesen@211", "lang": "en", "friends_count": 39345, "statuses_count": 479, "name": "Nathan Giesen", "followers_count": 49420 }, "sender-location": point("47.44,80.65"), "send-time": datetime("2008-04-26T10:10:35.000Z"), "referred-topics": {{ "tweeting" }}, "message-text": "tweety tweet, my fellow tweeters!" } +{ "tweetid": "2", "user": { "screen-name": "ColineGeyer@63", "lang": "en", "friends_count": 121, "statuses_count": 362, "name": "Coline Geyer", "followers_count": 17159 }, "sender-location": point("32.84,67.14"), "send-time": datetime("2010-05-13T10:10:00.000Z"), "referred-topics": {{ "verizon", "shortcut-menu" }}, "message-text": " like verizon its shortcut-menu is awesome:)" } +{ "tweetid": "3", "user": { "screen-name": "NathanGiesen@211", "lang": "en", "friends_count": 39339, "statuses_count": 473, "name": "Nathan Giesen", "followers_count": 49416 }, "sender-location": point("29.72,75.8"), "send-time": datetime("2006-11-04T10:10:00.000Z"), "referred-topics": {{ "motorola", "speed" }}, "message-text": " like motorola the speed is good:)" } +{ "tweetid": "4", "user": { "screen-name": "NathanGiesen@211", "lang": "en", "friends_count": 39339, "statuses_count": 473, "name": "Nathan Giesen", "followers_count": 49416 }, "sender-location": point("39.28,70.48"), "send-time": datetime("2011-12-26T10:10:00.000Z"), "referred-topics": {{ "sprint", "voice-command" }}, "message-text": " like sprint the voice-command is mind-blowing:)" } +{ "tweetid": "5", "user": { "screen-name": "NathanGiesen@211", "lang": "en", "friends_count": 39339, "statuses_count": 473, "name": "Nathan Giesen", "followers_count": 49416 }, "sender-location": point("40.09,92.69"), "send-time": datetime("2006-08-04T10:10:00.000Z"), "referred-topics": {{ "motorola", "speed" }}, "message-text": " can't stand motorola its speed is terrible:(" } +{ "tweetid": "6", "user": { "screen-name": "ColineGeyer@63", "lang": "en", "friends_count": 121, "statuses_count": 362, "name": "Coline Geyer", "followers_count": 17159 }, "sender-location": point("47.51,83.99"), "send-time": datetime("2010-05-07T10:10:00.000Z"), "referred-topics": {{ "iphone", "voice-clarity" }}, "message-text": " like iphone the voice-clarity is good:)" } +{ "tweetid": "7", "user": { "screen-name": "ChangEwing_573", "lang": "en", "friends_count": 182, "statuses_count": 394, "name": "Chang Ewing", "followers_count": 32136 }, "sender-location": point("36.21,72.6"), "send-time": datetime("2011-08-25T10:10:00.000Z"), "referred-topics": {{ "samsung", "platform" }}, "message-text": " like samsung the platform is good" } +{ "tweetid": "8", "user": { "screen-name": "NathanGiesen@211", "lang": "en", "friends_count": 39339, "statuses_count": 473, "name": "Nathan Giesen", "followers_count": 49416 }, "sender-location": point("46.05,93.34"), "send-time": datetime("2005-10-14T10:10:00.000Z"), "referred-topics": {{ "t-mobile", "shortcut-menu" }}, "message-text": " like t-mobile the shortcut-menu is awesome:)" } +{ "tweetid": "9", "user": { "screen-name": "NathanGiesen@211", "lang": "en", "friends_count": 39339, "statuses_count": 473, "name": "Nathan Giesen", "followers_count": 49416 }, "sender-location": point("36.86,74.62"), "send-time": datetime("2012-07-21T10:10:00.000Z"), "referred-topics": {{ "verizon", "voicemail-service" }}, "message-text": " love verizon its voicemail-service is awesome" } diff --git a/asterix-app/src/test/resources/runtimets/results/tinysocial/tinysocial-suite-open/tinysocial-suite.22.adm b/asterix-app/src/test/resources/runtimets/results/tinysocial/tinysocial-suite-open/tinysocial-suite.22.adm new file mode 100644 index 0000000..573541a --- /dev/null +++ b/asterix-app/src/test/resources/runtimets/results/tinysocial/tinysocial-suite-open/tinysocial-suite.22.adm @@ -0,0 +1 @@ +0 diff --git a/asterix-app/src/test/resources/runtimets/results/tinysocial/tinysocial-suite-open/tinysocial-suite.4.adm b/asterix-app/src/test/resources/runtimets/results/tinysocial/tinysocial-suite-open/tinysocial-suite.4.adm new file mode 100644 index 0000000..79b7b4a --- /dev/null +++ b/asterix-app/src/test/resources/runtimets/results/tinysocial/tinysocial-suite-open/tinysocial-suite.4.adm @@ -0,0 +1 @@ +{ "id": 8, "alias": "Nila", "name": "NilaMilliron", "user-since": datetime("2008-01-01T10:10:00.000Z"), "friend-ids": {{ 3 }}, "employment": [ { "organization-name": "Plexlane", "start-date": date("2010-02-28") } ] } diff --git a/asterix-app/src/test/resources/runtimets/results/tinysocial/tinysocial-suite-open/tinysocial-suite.5.adm b/asterix-app/src/test/resources/runtimets/results/tinysocial/tinysocial-suite-open/tinysocial-suite.5.adm new file mode 100644 index 0000000..4e39206 --- /dev/null +++ b/asterix-app/src/test/resources/runtimets/results/tinysocial/tinysocial-suite-open/tinysocial-suite.5.adm @@ -0,0 +1,3 @@ +{ "id": 2, "alias": "Isbel", "name": "IsbelDull", "user-since": datetime("2011-01-22T10:10:00.000Z"), "friend-ids": {{ 1, 4 }}, "employment": [ { "organization-name": "Hexviafind", "start-date": date("2010-04-27") } ] } +{ "id": 3, "alias": "Emory", "name": "EmoryUnk", "user-since": datetime("2012-07-10T10:10:00.000Z"), "friend-ids": {{ 1, 5, 8, 9 }}, "employment": [ { "organization-name": "geomedia", "start-date": date("2010-06-17"), "end-date": date("2010-01-26") } ] } +{ "id": 4, "alias": "Nicholas", "name": "NicholasStroh", "user-since": datetime("2010-12-27T10:10:00.000Z"), "friend-ids": {{ 2 }}, "employment": [ { "organization-name": "Zamcorporation", "start-date": date("2010-06-08") } ] } diff --git a/asterix-app/src/test/resources/runtimets/results/tinysocial/tinysocial-suite-open/tinysocial-suite.6.adm b/asterix-app/src/test/resources/runtimets/results/tinysocial/tinysocial-suite-open/tinysocial-suite.6.adm new file mode 100644 index 0000000..6b6b555 --- /dev/null +++ b/asterix-app/src/test/resources/runtimets/results/tinysocial/tinysocial-suite-open/tinysocial-suite.6.adm @@ -0,0 +1,4 @@ +{ "id": 2, "alias": "Isbel", "name": "IsbelDull", "user-since": datetime("2011-01-22T10:10:00.000Z"), "friend-ids": {{ 1, 4 }}, "employment": [ { "organization-name": "Hexviafind", "start-date": date("2010-04-27") } ] } +{ "id": 3, "alias": "Emory", "name": "EmoryUnk", "user-since": datetime("2012-07-10T10:10:00.000Z"), "friend-ids": {{ 1, 5, 8, 9 }}, "employment": [ { "organization-name": "geomedia", "start-date": date("2010-06-17"), "end-date": date("2010-01-26") } ] } +{ "id": 4, "alias": "Nicholas", "name": "NicholasStroh", "user-since": datetime("2010-12-27T10:10:00.000Z"), "friend-ids": {{ 2 }}, "employment": [ { "organization-name": "Zamcorporation", "start-date": date("2010-06-08") } ] } +{ "id": 10, "alias": "Bram", "name": "BramHatch", "user-since": datetime("2010-10-16T10:10:00.000Z"), "friend-ids": {{ 1, 5, 9 }}, "employment": [ { "organization-name": "physcane", "start-date": date("2007-06-05"), "end-date": date("2011-11-05") } ] } diff --git a/asterix-app/src/test/resources/runtimets/results/tinysocial/tinysocial-suite-open/tinysocial-suite.7.adm b/asterix-app/src/test/resources/runtimets/results/tinysocial/tinysocial-suite-open/tinysocial-suite.7.adm new file mode 100644 index 0000000..a403f1b --- /dev/null +++ b/asterix-app/src/test/resources/runtimets/results/tinysocial/tinysocial-suite-open/tinysocial-suite.7.adm @@ -0,0 +1,15 @@ +{ "uname": "BramHatch", "message": " can't stand t-mobile its voicemail-service is OMG:(" } +{ "uname": "BramHatch", "message": " dislike iphone the voice-command is bad:(" } +{ "uname": "EmoryUnk", "message": " love sprint its shortcut-menu is awesome:)" } +{ "uname": "EmoryUnk", "message": " love verizon its wireless is good" } +{ "uname": "IsbelDull", "message": " like samsung the plan is amazing" } +{ "uname": "IsbelDull", "message": " like t-mobile its platform is mind-blowing" } +{ "uname": "MargaritaStoddard", "message": " dislike iphone its touch-screen is horrible" } +{ "uname": "MargaritaStoddard", "message": " can't stand at&t the network is horrible:(" } +{ "uname": "MargaritaStoddard", "message": " like verizon the 3G is awesome:)" } +{ "uname": "MargaritaStoddard", "message": " can't stand motorola the touch-screen is terrible" } +{ "uname": "MargaritaStoddard", "message": " can't stand at&t its plan is terrible" } +{ "uname": "SuzannaTillson", "message": " like iphone the voicemail-service is awesome" } +{ "uname": "VonKemble", "message": " dislike sprint the speed is horrible" } +{ "uname": "WillisWynne", "message": " love sprint the customization is mind-blowing" } +{ "uname": "WoodrowNehling", "message": " love at&t its 3G is good:)" } diff --git a/asterix-app/src/test/resources/runtimets/results/tinysocial/tinysocial-suite-open/tinysocial-suite.8.adm b/asterix-app/src/test/resources/runtimets/results/tinysocial/tinysocial-suite-open/tinysocial-suite.8.adm new file mode 100644 index 0000000..a403f1b --- /dev/null +++ b/asterix-app/src/test/resources/runtimets/results/tinysocial/tinysocial-suite-open/tinysocial-suite.8.adm @@ -0,0 +1,15 @@ +{ "uname": "BramHatch", "message": " can't stand t-mobile its voicemail-service is OMG:(" } +{ "uname": "BramHatch", "message": " dislike iphone the voice-command is bad:(" } +{ "uname": "EmoryUnk", "message": " love sprint its shortcut-menu is awesome:)" } +{ "uname": "EmoryUnk", "message": " love verizon its wireless is good" } +{ "uname": "IsbelDull", "message": " like samsung the plan is amazing" } +{ "uname": "IsbelDull", "message": " like t-mobile its platform is mind-blowing" } +{ "uname": "MargaritaStoddard", "message": " dislike iphone its touch-screen is horrible" } +{ "uname": "MargaritaStoddard", "message": " can't stand at&t the network is horrible:(" } +{ "uname": "MargaritaStoddard", "message": " like verizon the 3G is awesome:)" } +{ "uname": "MargaritaStoddard", "message": " can't stand motorola the touch-screen is terrible" } +{ "uname": "MargaritaStoddard", "message": " can't stand at&t its plan is terrible" } +{ "uname": "SuzannaTillson", "message": " like iphone the voicemail-service is awesome" } +{ "uname": "VonKemble", "message": " dislike sprint the speed is horrible" } +{ "uname": "WillisWynne", "message": " love sprint the customization is mind-blowing" } +{ "uname": "WoodrowNehling", "message": " love at&t its 3G is good:)" } diff --git a/asterix-app/src/test/resources/runtimets/results/tinysocial/tinysocial-suite-open/tinysocial-suite.9.adm b/asterix-app/src/test/resources/runtimets/results/tinysocial/tinysocial-suite-open/tinysocial-suite.9.adm new file mode 100644 index 0000000..761c134 --- /dev/null +++ b/asterix-app/src/test/resources/runtimets/results/tinysocial/tinysocial-suite-open/tinysocial-suite.9.adm @@ -0,0 +1,10 @@ +{ "messages": [ " can't stand t-mobile its voicemail-service is OMG:(", " dislike iphone the voice-command is bad:(" ], "uname": "BramHatch" } +{ "messages": [ " love sprint its shortcut-menu is awesome:)", " love verizon its wireless is good" ], "uname": "EmoryUnk" } +{ "messages": [ " like samsung the plan is amazing", " like t-mobile its platform is mind-blowing" ], "uname": "IsbelDull" } +{ "messages": [ " dislike iphone its touch-screen is horrible", " can't stand at&t the network is horrible:(", " like verizon the 3G is awesome:)", " can't stand motorola the touch-screen is terrible", " can't stand at&t its plan is terrible" ], "uname": "MargaritaStoddard" } +{ "messages": [ ], "uname": "NicholasStroh" } +{ "messages": [ ], "uname": "NilaMilliron" } +{ "messages": [ " like iphone the voicemail-service is awesome" ], "uname": "SuzannaTillson" } +{ "messages": [ " dislike sprint the speed is horrible" ], "uname": "VonKemble" } +{ "messages": [ " love sprint the customization is mind-blowing" ], "uname": "WillisWynne" } +{ "messages": [ " love at&t its 3G is good:)" ], "uname": "WoodrowNehling" } diff --git a/asterix-app/src/test/resources/runtimets/results/tinysocial/tinysocial-suite/tinysocial-suite.23.adm b/asterix-app/src/test/resources/runtimets/results/tinysocial/tinysocial-suite/query-ASTERIXDB-1063.23.adm similarity index 100% rename from asterix-app/src/test/resources/runtimets/results/tinysocial/tinysocial-suite/tinysocial-suite.23.adm rename to asterix-app/src/test/resources/runtimets/results/tinysocial/tinysocial-suite/query-ASTERIXDB-1063.23.adm diff --git a/asterix-app/src/test/resources/runtimets/results/tinysocial/tinysocial-suite/tinysocial-suite.24.adm b/asterix-app/src/test/resources/runtimets/results/tinysocial/tinysocial-suite/tinysocial-suite.24.adm new file mode 100644 index 0000000..19da672 --- /dev/null +++ b/asterix-app/src/test/resources/runtimets/results/tinysocial/tinysocial-suite/tinysocial-suite.24.adm @@ -0,0 +1,9 @@ +{ "uname": "BramHatch", "alias": "Bram", "msg": "cemail-service is OMG:(" } +{ "uname": "BramHatch", "alias": "Bram", "msg": "mand is bad:(" } +{ "uname": "EmoryUnk", "alias": "Emory", "msg": "u is awesome:)" } +{ "uname": "IsbelDull", "alias": "Isbel", "msg": "s mind-blowing" } +{ "uname": "IsbelDull", "alias": "Isbel", "msg": "zing" } +{ "uname": "MargaritaStoddard", "alias": "Margarita", "msg": " is horrible:(" } +{ "uname": "MargaritaStoddard", "alias": "Margarita", "msg": " terrible" } +{ "uname": "MargaritaStoddard", "alias": "Margarita", "msg": "een is horrible" } +{ "uname": "WillisWynne", "alias": "Willis", "msg": "n is mind-blowing" } diff --git a/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/tinysocial/tinysocial-suite-open/query-ASTERIXDB-1263.23.ast b/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/tinysocial/tinysocial-suite-open/query-ASTERIXDB-1263.23.ast new file mode 100644 index 0000000..59998f2 --- /dev/null +++ b/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/tinysocial/tinysocial-suite-open/query-ASTERIXDB-1263.23.ast @@ -0,0 +1,61 @@ +DataverseUse TinySocial +Query: +SELECT [ +Variable [ Name=h ] +hour +FunctionCall TinySocial.count@1[ + Variable [ Name=t ] +] +count +( + SELECT [ + Variable [ Name=min ] + minute + FunctionCall TinySocial.count@1[ + Variable [ Name=k ] + ] + sum + ] + FROM [ Variable [ Name=t ] + AS + Variable [ Name=k ] + ] + Groupby + Variable [ Name=min ] + := + FunctionCall TinySocial.get-minute@1[ + FieldAccessor [ + Variable [ Name=k ] + Field=send-time + ] + ] + With + Variable [ Name=k ] + Variable [ Name=t ] + Variable [ Name=h ] + + Orderby + Variable [ Name=min ] + ASC + +) +finer +] +FROM [ FunctionCall Metadata.dataset@1[ + LiteralExpr [STRING] [TweetMessages] + ] + AS + Variable [ Name=t ] +] +Groupby + Variable [ Name=h ] + := + FunctionCall TinySocial.get-hour@1[ + FieldAccessor [ + Variable [ Name=t ] + Field=send-time + ] + ] + With + Variable [ Name=t ] + diff --git a/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/tinysocial/tinysocial-suite-open/query-ASTERIXDB-1329.24.ast b/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/tinysocial/tinysocial-suite-open/query-ASTERIXDB-1329.24.ast new file mode 100644 index 0000000..ee00dd5 --- /dev/null +++ b/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/tinysocial/tinysocial-suite-open/query-ASTERIXDB-1329.24.ast @@ -0,0 +1,86 @@ +DataverseUse TinySocial +Query: +SELECT [ +FieldAccessor [ + Variable [ Name=user ] + Field=name +] +uname +FieldAccessor [ + Variable [ Name=user ] + Field=alias +] +alias +FunctionCall TinySocial.substring@2[ + FieldAccessor [ + Variable [ Name=message ] + Field=message + ] + LiteralExpr [LONG] [30] +] +msg +] +FROM [ FunctionCall Metadata.dataset@1[ + LiteralExpr [STRING] [FacebookMessages] + ] + AS + Variable [ Name=message ] +, + FunctionCall Metadata.dataset@1[ + LiteralExpr [STRING] [FacebookUsers] + ] + AS + Variable [ Name=user ] +] +Where + OperatorExpr [ + OperatorExpr [ + FieldAccessor [ + Variable [ Name=message ] + Field=author-id + ] + = + FieldAccessor [ + Variable [ Name=user ] + Field=id + ] + ] + and + OperatorExpr [ + FieldAccessor [ + Variable [ Name=message ] + Field=in-response-to + ] + >= + LiteralExpr [LONG] [1] + ] + and + OperatorExpr [ + FieldAccessor [ + Variable [ Name=message ] + Field=in-response-to + ] + < + LiteralExpr [LONG] [11] + ] + ] +Orderby + FieldAccessor [ + Variable [ Name=user ] + Field=name + ] + ASC + FieldAccessor [ + Variable [ Name=user ] + Field=alias + ] + ASC + FunctionCall TinySocial.substring@2[ + FieldAccessor [ + Variable [ Name=message ] + Field=message + ] + LiteralExpr [LONG] [30] + ] + ASC + diff --git a/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/tinysocial/tinysocial-suite-open/tinysocial-suite.1.ast b/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/tinysocial/tinysocial-suite-open/tinysocial-suite.1.ast new file mode 100644 index 0000000..1b56984 --- /dev/null +++ b/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/tinysocial/tinysocial-suite-open/tinysocial-suite.1.ast @@ -0,0 +1,21 @@ +DataverseUse TinySocial +TypeDecl TwitterUserType [ + open RecordType { + screen-name : string + } +] +TypeDecl TweetMessageType [ + open RecordType { + tweetid : string + } +] +TypeDecl FacebookUserType [ + open RecordType { + id : int64 + } +] +TypeDecl FacebookMessageType [ + open RecordType { + message-id : int64 + } +] diff --git a/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/tinysocial/tinysocial-suite-open/tinysocial-suite.10.ast b/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/tinysocial/tinysocial-suite-open/tinysocial-suite.10.ast new file mode 100644 index 0000000..186b777 --- /dev/null +++ b/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/tinysocial/tinysocial-suite-open/tinysocial-suite.10.ast @@ -0,0 +1,73 @@ +DataverseUse TinySocial +Query: +SELECT ELEMENT [ +RecordConstructor [ + ( + LiteralExpr [STRING] [message] + : + FieldAccessor [ + Variable [ Name=t ] + Field=message-text + ] + ) + ( + LiteralExpr [STRING] [nearby-messages] + : + ( + SELECT ELEMENT [ + RecordConstructor [ + ( + LiteralExpr [STRING] [msgtxt] + : + FieldAccessor [ + Variable [ Name=t2 ] + Field=message-text + ] + ) + ] + ] + FROM [ FunctionCall Metadata.dataset@1[ + LiteralExpr [STRING] [TweetMessages] + ] + AS + Variable [ Name=t2 ] + ] + Where + OperatorExpr [ + FunctionCall TinySocial.spatial-distance@2[ + FieldAccessor [ + Variable [ Name=t ] + Field=sender-location + ] + FieldAccessor [ + Variable [ Name=t2 ] + Field=sender-location + ] + ] + <= + LiteralExpr [LONG] [1] + ] + Orderby + FieldAccessor [ + Variable [ Name=t2 ] + Field=message-text + ] + ASC + + ) + ) +] +] +FROM [ FunctionCall Metadata.dataset@1[ + LiteralExpr [STRING] [TweetMessages] + ] + AS + Variable [ Name=t ] +] +Orderby + FieldAccessor [ + Variable [ Name=t ] + Field=message-text + ] + ASC + diff --git a/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/tinysocial/tinysocial-suite-open/tinysocial-suite.11.ast b/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/tinysocial/tinysocial-suite-open/tinysocial-suite.11.ast new file mode 100644 index 0000000..ece5063 --- /dev/null +++ b/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/tinysocial/tinysocial-suite-open/tinysocial-suite.11.ast @@ -0,0 +1,87 @@ +DataverseUse TinySocial +Set simfunction=edit-distance +Set simthreshold=3 +Query: +SELECT ELEMENT [ +RecordConstructor [ + ( + LiteralExpr [STRING] [id] + : + FieldAccessor [ + Variable [ Name=fbu ] + Field=id + ] + ) + ( + LiteralExpr [STRING] [name] + : + FieldAccessor [ + Variable [ Name=fbu ] + Field=name + ] + ) + ( + LiteralExpr [STRING] [similar-users] + : + ( + SELECT ELEMENT [ + RecordConstructor [ + ( + LiteralExpr [STRING] [twitter-screenname] + : + FieldAccessor [ + Variable [ Name=tu ] + Field=screen-name + ] + ) + ( + LiteralExpr [STRING] [twitter-name] + : + FieldAccessor [ + Variable [ Name=tu ] + Field=name + ] + ) + ] + ] + FROM [ FunctionCall Metadata.dataset@1[ + LiteralExpr [STRING] [TweetMessages] + ] + AS + Variable [ Name=t ] + ] + LetVariable [ Name=tu ] + := + FieldAccessor [ + Variable [ Name=t ] + Field=user + ] + Where + OperatorExpr [ + FieldAccessor [ + Variable [ Name=tu ] + Field=name + ] + ~= + FieldAccessor [ + Variable [ Name=fbu ] + Field=name + ] + ] + ) + ) +] +] +FROM [ FunctionCall Metadata.dataset@1[ + LiteralExpr [STRING] [FacebookUsers] + ] + AS + Variable [ Name=fbu ] +] +Orderby + FieldAccessor [ + Variable [ Name=fbu ] + Field=id + ] + ASC + diff --git a/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/tinysocial/tinysocial-suite-open/tinysocial-suite.12.ast b/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/tinysocial/tinysocial-suite-open/tinysocial-suite.12.ast new file mode 100644 index 0000000..2b942b0 --- /dev/null +++ b/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/tinysocial/tinysocial-suite-open/tinysocial-suite.12.ast @@ -0,0 +1,36 @@ +DataverseUse TinySocial +Query: +SELECT ELEMENT [ +Variable [ Name=fbu ] +] +FROM [ FunctionCall Metadata.dataset@1[ + LiteralExpr [STRING] [FacebookUsers] + ] + AS + Variable [ Name=fbu ] +] +Where + QuantifiedExpression SOME [ + [Variable [ Name=e ] + In + FieldAccessor [ + Variable [ Name=fbu ] + Field=employment + ] + ] + Satifies [ + FunctionCall TinySocial.is-null@1[ + FieldAccessor [ + Variable [ Name=e ] + Field=end-date + ] + ] + ] + ] +Orderby + FieldAccessor [ + Variable [ Name=fbu ] + Field=id + ] + ASC + diff --git a/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/tinysocial/tinysocial-suite-open/tinysocial-suite.13.ast b/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/tinysocial/tinysocial-suite-open/tinysocial-suite.13.ast new file mode 100644 index 0000000..c78d170 --- /dev/null +++ b/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/tinysocial/tinysocial-suite-open/tinysocial-suite.13.ast @@ -0,0 +1,38 @@ +DataverseUse TinySocial +Query: +SELECT ELEMENT [ +Variable [ Name=fbu ] +] +FROM [ FunctionCall Metadata.dataset@1[ + LiteralExpr [STRING] [FacebookUsers] + ] + AS + Variable [ Name=fbu ] +] +Where + QuantifiedExpression EVERY [ + [Variable [ Name=e ] + In + FieldAccessor [ + Variable [ Name=fbu ] + Field=employment + ] + ] + Satifies [ + FunctionCall TinySocial.not@1[ + FunctionCall TinySocial.is-null@1[ + FieldAccessor [ + Variable [ Name=e ] + Field=end-date + ] + ] + ] + ] + ] +Orderby + FieldAccessor [ + Variable [ Name=fbu ] + Field=id + ] + ASC + diff --git a/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/tinysocial/tinysocial-suite-open/tinysocial-suite.14.ast b/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/tinysocial/tinysocial-suite-open/tinysocial-suite.14.ast new file mode 100644 index 0000000..443473e --- /dev/null +++ b/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/tinysocial/tinysocial-suite-open/tinysocial-suite.14.ast @@ -0,0 +1,17 @@ +DataverseUse TinySocial +Query: +SELECT ELEMENT [ +FunctionCall TinySocial.count@1[ + ( + SELECT ELEMENT [ + Variable [ Name=fbu ] + ] + FROM [ FunctionCall Metadata.dataset@1[ + LiteralExpr [STRING] [FacebookUsers] + ] + AS + Variable [ Name=fbu ] + ] + ) +] +] diff --git a/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/tinysocial/tinysocial-suite-open/tinysocial-suite.15.ast b/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/tinysocial/tinysocial-suite-open/tinysocial-suite.15.ast new file mode 100644 index 0000000..d79d874 --- /dev/null +++ b/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/tinysocial/tinysocial-suite-open/tinysocial-suite.15.ast @@ -0,0 +1,41 @@ +DataverseUse TinySocial +Query: +SELECT ELEMENT [ +RecordConstructor [ + ( + LiteralExpr [STRING] [user] + : + Variable [ Name=uid ] + ) + ( + LiteralExpr [STRING] [count] + : + FunctionCall TinySocial.count@1[ + Variable [ Name=t ] + ] + ) +] +] +FROM [ FunctionCall Metadata.dataset@1[ + LiteralExpr [STRING] [TweetMessages] + ] + AS + Variable [ Name=t ] +] +Groupby + Variable [ Name=uid ] + := + FieldAccessor [ + FieldAccessor [ + Variable [ Name=t ] + Field=user + ] + Field=screen-name + ] + With + Variable [ Name=t ] + +Orderby + Variable [ Name=uid ] + ASC + diff --git a/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/tinysocial/tinysocial-suite-open/tinysocial-suite.16.ast b/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/tinysocial/tinysocial-suite-open/tinysocial-suite.16.ast new file mode 100644 index 0000000..d79d874 --- /dev/null +++ b/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/tinysocial/tinysocial-suite-open/tinysocial-suite.16.ast @@ -0,0 +1,41 @@ +DataverseUse TinySocial +Query: +SELECT ELEMENT [ +RecordConstructor [ + ( + LiteralExpr [STRING] [user] + : + Variable [ Name=uid ] + ) + ( + LiteralExpr [STRING] [count] + : + FunctionCall TinySocial.count@1[ + Variable [ Name=t ] + ] + ) +] +] +FROM [ FunctionCall Metadata.dataset@1[ + LiteralExpr [STRING] [TweetMessages] + ] + AS + Variable [ Name=t ] +] +Groupby + Variable [ Name=uid ] + := + FieldAccessor [ + FieldAccessor [ + Variable [ Name=t ] + Field=user + ] + Field=screen-name + ] + With + Variable [ Name=t ] + +Orderby + Variable [ Name=uid ] + ASC + diff --git a/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/tinysocial/tinysocial-suite-open/tinysocial-suite.17.ast b/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/tinysocial/tinysocial-suite-open/tinysocial-suite.17.ast new file mode 100644 index 0000000..3f22cd6 --- /dev/null +++ b/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/tinysocial/tinysocial-suite-open/tinysocial-suite.17.ast @@ -0,0 +1,48 @@ +DataverseUse TinySocial +Query: +SELECT ELEMENT [ +RecordConstructor [ + ( + LiteralExpr [STRING] [user] + : + Variable [ Name=uid ] + ) + ( + LiteralExpr [STRING] [count] + : + Variable [ Name=c ] + ) +] +] +FROM [ FunctionCall Metadata.dataset@1[ + LiteralExpr [STRING] [TweetMessages] + ] + AS + Variable [ Name=t ] +] +Groupby + Variable [ Name=uid ] + := + FieldAccessor [ + FieldAccessor [ + Variable [ Name=t ] + Field=user + ] + Field=screen-name + ] + With + Variable [ Name=t ] + +LetVariable [ Name=c ] + := + FunctionCall TinySocial.count@1[ + Variable [ Name=t ] + ] +Orderby + Variable [ Name=c ] + ASC + Variable [ Name=uid ] + DESC + +Limit + LiteralExpr [LONG] [3] diff --git a/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/tinysocial/tinysocial-suite-open/tinysocial-suite.18.ast b/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/tinysocial/tinysocial-suite-open/tinysocial-suite.18.ast new file mode 100644 index 0000000..04c2dfa --- /dev/null +++ b/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/tinysocial/tinysocial-suite-open/tinysocial-suite.18.ast @@ -0,0 +1,77 @@ +DataverseUse TinySocial +Set simfunction=jaccard +Set simthreshold=0.3 +Query: +SELECT ELEMENT [ +RecordConstructor [ + ( + LiteralExpr [STRING] [tweet] + : + Variable [ Name=t ] + ) + ( + LiteralExpr [STRING] [similar-tweets] + : + ( + SELECT ELEMENT [ + FieldAccessor [ + Variable [ Name=t2 ] + Field=referred-topics + ] + ] + FROM [ FunctionCall Metadata.dataset@1[ + LiteralExpr [STRING] [TweetMessages] + ] + AS + Variable [ Name=t2 ] + ] + Where + OperatorExpr [ + OperatorExpr [ + FieldAccessor [ + Variable [ Name=t2 ] + Field=referred-topics + ] + ~= + FieldAccessor [ + Variable [ Name=t ] + Field=referred-topics + ] + ] + and + OperatorExpr [ + FieldAccessor [ + Variable [ Name=t2 ] + Field=tweetid + ] + != + FieldAccessor [ + Variable [ Name=t ] + Field=tweetid + ] + ] + ] + Orderby + FieldAccessor [ + Variable [ Name=t2 ] + Field=tweetid + ] + ASC + + ) + ) +] +] +FROM [ FunctionCall Metadata.dataset@1[ + LiteralExpr [STRING] [TweetMessages] + ] + AS + Variable [ Name=t ] +] +Orderby + FieldAccessor [ + Variable [ Name=t ] + Field=tweetid + ] + ASC + diff --git a/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/tinysocial/tinysocial-suite-open/tinysocial-suite.19.ast b/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/tinysocial/tinysocial-suite-open/tinysocial-suite.19.ast new file mode 100644 index 0000000..f36d0ea --- /dev/null +++ b/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/tinysocial/tinysocial-suite-open/tinysocial-suite.19.ast @@ -0,0 +1 @@ +DataverseUse TinySocial diff --git a/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/tinysocial/tinysocial-suite-open/tinysocial-suite.2.ast b/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/tinysocial/tinysocial-suite-open/tinysocial-suite.2.ast new file mode 100644 index 0000000..a6e2ec9 --- /dev/null +++ b/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/tinysocial/tinysocial-suite-open/tinysocial-suite.2.ast @@ -0,0 +1,5 @@ +DataverseUse TinySocial +DatasetDecl FacebookUsers(FacebookUserType) partitioned by [[id]] +DatasetDecl FacebookMessages(FacebookMessageType) partitioned by [[message-id]] +DatasetDecl TwitterUsers(TwitterUserType) partitioned by [[screen-name]] +DatasetDecl TweetMessages(TweetMessageType) partitioned by [[tweetid]] diff --git a/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/tinysocial/tinysocial-suite-open/tinysocial-suite.20.ast b/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/tinysocial/tinysocial-suite-open/tinysocial-suite.20.ast new file mode 100644 index 0000000..aab796b --- /dev/null +++ b/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/tinysocial/tinysocial-suite-open/tinysocial-suite.20.ast @@ -0,0 +1,18 @@ +DataverseUse TinySocial +Query: +SELECT ELEMENT [ +Variable [ Name=t ] +] +FROM [ FunctionCall Metadata.dataset@1[ + LiteralExpr [STRING] [TweetMessages] + ] + AS + Variable [ Name=t ] +] +Orderby + FieldAccessor [ + Variable [ Name=t ] + Field=tweetid + ] + ASC + diff --git a/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/tinysocial/tinysocial-suite-open/tinysocial-suite.21.ast b/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/tinysocial/tinysocial-suite-open/tinysocial-suite.21.ast new file mode 100644 index 0000000..f36d0ea --- /dev/null +++ b/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/tinysocial/tinysocial-suite-open/tinysocial-suite.21.ast @@ -0,0 +1 @@ +DataverseUse TinySocial diff --git a/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/tinysocial/tinysocial-suite-open/tinysocial-suite.22.ast b/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/tinysocial/tinysocial-suite-open/tinysocial-suite.22.ast new file mode 100644 index 0000000..f106f19 --- /dev/null +++ b/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/tinysocial/tinysocial-suite-open/tinysocial-suite.22.ast @@ -0,0 +1,26 @@ +DataverseUse TinySocial +Query: +SELECT ELEMENT [ +FunctionCall TinySocial.count@1[ + ( + SELECT ELEMENT [ + Variable [ Name=t ] + ] + FROM [ FunctionCall Metadata.dataset@1[ + LiteralExpr [STRING] [TweetMessages] + ] + AS + Variable [ Name=t ] + ] + Where + OperatorExpr [ + FieldAccessor [ + Variable [ Name=t ] + Field=tweetid + ] + = + LiteralExpr [STRING] [13] + ] + ) +] +] diff --git a/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/tinysocial/tinysocial-suite-open/tinysocial-suite.3.ast b/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/tinysocial/tinysocial-suite-open/tinysocial-suite.3.ast new file mode 100644 index 0000000..f36d0ea --- /dev/null +++ b/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/tinysocial/tinysocial-suite-open/tinysocial-suite.3.ast @@ -0,0 +1 @@ +DataverseUse TinySocial diff --git a/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/tinysocial/tinysocial-suite-open/tinysocial-suite.4.ast b/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/tinysocial/tinysocial-suite-open/tinysocial-suite.4.ast new file mode 100644 index 0000000..760a841 --- /dev/null +++ b/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/tinysocial/tinysocial-suite-open/tinysocial-suite.4.ast @@ -0,0 +1,20 @@ +DataverseUse TinySocial +Query: +SELECT ELEMENT [ +Variable [ Name=user ] +] +FROM [ FunctionCall Metadata.dataset@1[ + LiteralExpr [STRING] [FacebookUsers] + ] + AS + Variable [ Name=user ] +] +Where + OperatorExpr [ + FieldAccessor [ + Variable [ Name=user ] + Field=id + ] + = + LiteralExpr [LONG] [8] + ] diff --git a/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/tinysocial/tinysocial-suite-open/tinysocial-suite.5.ast b/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/tinysocial/tinysocial-suite-open/tinysocial-suite.5.ast new file mode 100644 index 0000000..2aa7368 --- /dev/null +++ b/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/tinysocial/tinysocial-suite-open/tinysocial-suite.5.ast @@ -0,0 +1,38 @@ +DataverseUse TinySocial +Query: +SELECT ELEMENT [ +Variable [ Name=user ] +] +FROM [ FunctionCall Metadata.dataset@1[ + LiteralExpr [STRING] [FacebookUsers] + ] + AS + Variable [ Name=user ] +] +Where + OperatorExpr [ + OperatorExpr [ + FieldAccessor [ + Variable [ Name=user ] + Field=id + ] + >= + LiteralExpr [LONG] [2] + ] + and + OperatorExpr [ + FieldAccessor [ + Variable [ Name=user ] + Field=id + ] + <= + LiteralExpr [LONG] [4] + ] + ] +Orderby + FieldAccessor [ + Variable [ Name=user ] + Field=id + ] + ASC + diff --git a/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/tinysocial/tinysocial-suite-open/tinysocial-suite.6.ast b/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/tinysocial/tinysocial-suite-open/tinysocial-suite.6.ast new file mode 100644 index 0000000..ebb834b --- /dev/null +++ b/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/tinysocial/tinysocial-suite-open/tinysocial-suite.6.ast @@ -0,0 +1,42 @@ +DataverseUse TinySocial +Query: +SELECT ELEMENT [ +Variable [ Name=user ] +] +FROM [ FunctionCall Metadata.dataset@1[ + LiteralExpr [STRING] [FacebookUsers] + ] + AS + Variable [ Name=user ] +] +Where + OperatorExpr [ + OperatorExpr [ + FieldAccessor [ + Variable [ Name=user ] + Field=user-since + ] + >= + FunctionCall TinySocial.datetime@1[ + LiteralExpr [STRING] [2010-07-22T00:00:00] + ] + ] + and + OperatorExpr [ + FieldAccessor [ + Variable [ Name=user ] + Field=user-since + ] + <= + FunctionCall TinySocial.datetime@1[ + LiteralExpr [STRING] [2012-07-29T23:59:59] + ] + ] + ] +Orderby + FieldAccessor [ + Variable [ Name=user ] + Field=id + ] + ASC + diff --git a/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/tinysocial/tinysocial-suite-open/tinysocial-suite.7.ast b/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/tinysocial/tinysocial-suite-open/tinysocial-suite.7.ast new file mode 100644 index 0000000..fc54b9d --- /dev/null +++ b/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/tinysocial/tinysocial-suite-open/tinysocial-suite.7.ast @@ -0,0 +1,58 @@ +DataverseUse TinySocial +Query: +SELECT ELEMENT [ +RecordConstructor [ + ( + LiteralExpr [STRING] [uname] + : + FieldAccessor [ + Variable [ Name=user ] + Field=name + ] + ) + ( + LiteralExpr [STRING] [message] + : + FieldAccessor [ + Variable [ Name=message ] + 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 [ + FieldAccessor [ + Variable [ Name=message ] + Field=author-id + ] + = + FieldAccessor [ + Variable [ Name=user ] + Field=id + ] + ] +Orderby + FieldAccessor [ + Variable [ Name=user ] + Field=name + ] + ASC + FieldAccessor [ + Variable [ Name=message ] + Field=message-id + ] + ASC + diff --git a/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/tinysocial/tinysocial-suite-open/tinysocial-suite.8.ast b/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/tinysocial/tinysocial-suite-open/tinysocial-suite.8.ast new file mode 100644 index 0000000..fc54b9d --- /dev/null +++ b/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/tinysocial/tinysocial-suite-open/tinysocial-suite.8.ast @@ -0,0 +1,58 @@ +DataverseUse TinySocial +Query: +SELECT ELEMENT [ +RecordConstructor [ + ( + LiteralExpr [STRING] [uname] + : + FieldAccessor [ + Variable [ Name=user ] + Field=name + ] + ) + ( + LiteralExpr [STRING] [message] + : + FieldAccessor [ + Variable [ Name=message ] + 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 [ + FieldAccessor [ + Variable [ Name=message ] + Field=author-id + ] + = + FieldAccessor [ + Variable [ Name=user ] + Field=id + ] + ] +Orderby + FieldAccessor [ + Variable [ Name=user ] + Field=name + ] + ASC + FieldAccessor [ + Variable [ Name=message ] + Field=message-id + ] + ASC + diff --git a/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/tinysocial/tinysocial-suite-open/tinysocial-suite.9.ast b/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/tinysocial/tinysocial-suite-open/tinysocial-suite.9.ast new file mode 100644 index 0000000..4f5ba43 --- /dev/null +++ b/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/tinysocial/tinysocial-suite-open/tinysocial-suite.9.ast @@ -0,0 +1,64 @@ +DataverseUse TinySocial +Query: +SELECT ELEMENT [ +RecordConstructor [ + ( + LiteralExpr [STRING] [uname] + : + FieldAccessor [ + Variable [ Name=user ] + Field=name + ] + ) + ( + LiteralExpr [STRING] [messages] + : + ( + SELECT ELEMENT [ + FieldAccessor [ + Variable [ Name=message ] + Field=message + ] + ] + FROM [ FunctionCall Metadata.dataset@1[ + LiteralExpr [STRING] [FacebookMessages] + ] + AS + Variable [ Name=message ] + ] + Where + OperatorExpr [ + FieldAccessor [ + Variable [ Name=message ] + Field=author-id + ] + = + FieldAccessor [ + Variable [ Name=user ] + Field=id + ] + ] + Orderby + FieldAccessor [ + Variable [ Name=message ] + Field=message-id + ] + ASC + + ) + ) +] +] +FROM [ FunctionCall Metadata.dataset@1[ + LiteralExpr [STRING] [FacebookUsers] + ] + AS + Variable [ Name=user ] +] +Orderby + FieldAccessor [ + Variable [ Name=user ] + Field=name + ] + ASC + diff --git a/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/tinysocial/tinysocial-suite/tinysocial-suite.24.ast b/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/tinysocial/tinysocial-suite/tinysocial-suite.24.ast new file mode 100644 index 0000000..ee00dd5 --- /dev/null +++ b/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/tinysocial/tinysocial-suite/tinysocial-suite.24.ast @@ -0,0 +1,86 @@ +DataverseUse TinySocial +Query: +SELECT [ +FieldAccessor [ + Variable [ Name=user ] + Field=name +] +uname +FieldAccessor [ + Variable [ Name=user ] + Field=alias +] +alias +FunctionCall TinySocial.substring@2[ + FieldAccessor [ + Variable [ Name=message ] + Field=message + ] + LiteralExpr [LONG] [30] +] +msg +] +FROM [ FunctionCall Metadata.dataset@1[ + LiteralExpr [STRING] [FacebookMessages] + ] + AS + Variable [ Name=message ] +, + FunctionCall Metadata.dataset@1[ + LiteralExpr [STRING] [FacebookUsers] + ] + AS + Variable [ Name=user ] +] +Where + OperatorExpr [ + OperatorExpr [ + FieldAccessor [ + Variable [ Name=message ] + Field=author-id + ] + = + FieldAccessor [ + Variable [ Name=user ] + Field=id + ] + ] + and + OperatorExpr [ + FieldAccessor [ + Variable [ Name=message ] + Field=in-response-to + ] + >= + LiteralExpr [LONG] [1] + ] + and + OperatorExpr [ + FieldAccessor [ + Variable [ Name=message ] + Field=in-response-to + ] + < + LiteralExpr [LONG] [11] + ] + ] +Orderby + FieldAccessor [ + Variable [ Name=user ] + Field=name + ] + ASC + FieldAccessor [ + Variable [ Name=user ] + Field=alias + ] + ASC + FunctionCall TinySocial.substring@2[ + FieldAccessor [ + Variable [ Name=message ] + Field=message + ] + LiteralExpr [LONG] [30] + ] + ASC + diff --git a/asterix-app/src/test/resources/runtimets/testsuite_sqlpp.xml b/asterix-app/src/test/resources/runtimets/testsuite_sqlpp.xml index d289400..c7caed6 100644 --- a/asterix-app/src/test/resources/runtimets/testsuite_sqlpp.xml +++ b/asterix-app/src/test/resources/runtimets/testsuite_sqlpp.xml @@ -6231,6 +6231,11 @@ <output-dir compare="Text">tinysocial-suite</output-dir> </compilation-unit> </test-case> + <test-case FilePath="tinysocial"> + <compilation-unit name="tinysocial-suite-open"> + <output-dir compare="Text">tinysocial-suite-open</output-dir> + </compilation-unit> + </test-case> </test-group> <test-group name="types"> <test-case FilePath="types"> diff --git a/asterix-app/src/test/resources/runtimets/testsuite_sqlpp_parser.xml b/asterix-app/src/test/resources/runtimets/testsuite_sqlpp_parser.xml index f21d7f7..6727bad 100644 --- a/asterix-app/src/test/resources/runtimets/testsuite_sqlpp_parser.xml +++ b/asterix-app/src/test/resources/runtimets/testsuite_sqlpp_parser.xml @@ -6432,6 +6432,11 @@ <output-dir compare="AST">tinysocial-suite</output-dir> </compilation-unit> </test-case> + <test-case FilePath="tinysocial"> + <compilation-unit name="tinysocial-suite-open"> + <output-dir compare="AST">tinysocial-suite-open</output-dir> + </compilation-unit> + </test-case> </test-group> <test-group name="types"> <test-case FilePath="types"> diff --git a/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/Substring2TypeComputer.java b/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/Substring2TypeComputer.java index d11caab..6cc2f6d 100644 --- a/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/Substring2TypeComputer.java +++ b/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/Substring2TypeComputer.java @@ -37,8 +37,9 @@ public IAType computeType(ILogicalExpression expression, IVariableTypeEnvironment env, IMetadataProvider<?, ?> metadataProvider) throws AlgebricksException { AbstractFunctionCallExpression fce = (AbstractFunctionCallExpression) expression; - if (fce.getArguments().size() < 2) + if (fce.getArguments().size() < 2) { throw new AlgebricksException("Wrong Argument Number."); + } ILogicalExpression arg0 = fce.getArguments().get(0).getValue(); ILogicalExpression arg1 = fce.getArguments().get(1).getValue(); IAType t0, t1; @@ -50,15 +51,22 @@ } ATypeTag tag0, tag1; - if (NonTaggedFormatUtil.isOptional(t0)) + if (NonTaggedFormatUtil.isOptional(t0)) { tag0 = ((AUnionType) t0).getNullableType().getTypeTag(); - else + } else { tag0 = t0.getTypeTag(); + } - if (NonTaggedFormatUtil.isOptional(t1)) + if (NonTaggedFormatUtil.isOptional(t1)) { tag1 = ((AUnionType) t1).getNullableType().getTypeTag(); - else + } else { tag1 = t1.getTypeTag(); + } + + // Allow substring to work with ANY types, i.e., types that are unknown at compile time. + if (tag0 == ATypeTag.ANY || tag1 == ATypeTag.ANY) { + return BuiltinType.ANY; + } if (tag0 != ATypeTag.NULL && tag0 != ATypeTag.STRING) { throw new AlgebricksException("First argument should be String Type."); -- To view, visit https://asterix-gerrit.ics.uci.edu/688 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I23b7d2865cf0bc58b9f402ea602969b326d46d93 Gerrit-PatchSet: 1 Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Owner: Yingyi Bu <[email protected]>
