asterixdb-notifications mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Taewoo Kim (Code Review)" <do-not-re...@asterixdb.incubator.apache.org>
Subject Change in asterixdb[master]: ASTERIXDB-1544: fix the issue with fuzzyjoin on an indexed n...
Date Tue, 26 Jul 2016 18:04:23 GMT
Taewoo Kim has submitted this change and it was merged.

Change subject: ASTERIXDB-1544: fix the issue with fuzzyjoin on an indexed nullable field
......................................................................


ASTERIXDB-1544: fix the issue with fuzzyjoin on an indexed nullable field

 - Fix the issue with index-based fuzzyjoin where the indexed field is nullable.

Change-Id: Ie82badb0b9c1c04a1135b1829c445b5ddfb8c754
Reviewed-on: https://asterix-gerrit.ics.uci.edu/1021
Sonar-Qube: Jenkins <jenkins@fulliautomatix.ics.uci.edu>
Tested-by: Jenkins <jenkins@fulliautomatix.ics.uci.edu>
Integration-Tests: Jenkins <jenkins@fulliautomatix.ics.uci.edu>
Reviewed-by: Wenhai Li <lwhaymail@yahoo.com>
Reviewed-by: Yingyi Bu <buyingyi@gmail.com>
---
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/InvertedIndexAccessMethod.java
A asterixdb/asterix-app/src/test/resources/runtimets/queries/fuzzyjoin/dblp-csx-aqlplus_4/dblp-csx-aqlplus_4.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/fuzzyjoin/dblp-csx-aqlplus_4/dblp-csx-aqlplus_4.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/fuzzyjoin/dblp-csx-aqlplus_4/dblp-csx-aqlplus_4.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/results/fuzzyjoin/dblp-csx-aqlplus_4/dblp-csx-aqlplus_4.1.adm
M asterixdb/asterix-app/src/test/resources/runtimets/testsuite.xml
6 files changed, 122 insertions(+), 0 deletions(-)

Approvals:
  Wenhai Li: Looks good to me, but someone else must approve
  Yingyi Bu: Looks good to me, approved
  Jenkins: Verified; No violations found; Verified



diff --git a/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/InvertedIndexAccessMethod.java
b/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/InvertedIndexAccessMethod.java
index 305d1a9..58cc32e 100644
--- a/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/InvertedIndexAccessMethod.java
+++ b/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/InvertedIndexAccessMethod.java
@@ -42,6 +42,7 @@
 import org.apache.asterix.om.functions.AsterixBuiltinFunctions;
 import org.apache.asterix.om.types.ARecordType;
 import org.apache.asterix.om.types.ATypeTag;
+import org.apache.asterix.om.types.AUnionType;
 import org.apache.asterix.om.types.IAType;
 import org.apache.asterix.om.types.hierachy.ATypeHierarchy;
 import org.apache.commons.lang3.mutable.Mutable;
@@ -798,10 +799,18 @@
                 type = optFuncExpr.getFieldType(0);
             }
             typeTag = type.getTypeTag();
+            if (type.getTypeTag() == ATypeTag.UNION) {
+                // If this is a nullable field, then we need to get the actual type tag.
+                typeTag = ((AUnionType) type).getActualType().getTypeTag();
+            }
         } else {
             // We are optimizing a selection query. Add the type of the search key constant.
             type = optFuncExpr.getConstantType(0);
             typeTag = type.getTypeTag();
+            if (typeTag == ATypeTag.UNION) {
+                // If this is a nullable field, then we need to get the actual type tag.
+                typeTag = ((AUnionType) type).getActualType().getTypeTag();
+            }
             if (typeTag != ATypeTag.ORDEREDLIST && typeTag != ATypeTag.STRING &&
typeTag != ATypeTag.UNORDEREDLIST) {
                 throw new AlgebricksException("Only ordered lists, string, and unordered
lists types supported.");
             }
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/fuzzyjoin/dblp-csx-aqlplus_4/dblp-csx-aqlplus_4.1.ddl.aql
b/asterixdb/asterix-app/src/test/resources/runtimets/queries/fuzzyjoin/dblp-csx-aqlplus_4/dblp-csx-aqlplus_4.1.ddl.aql
new file mode 100644
index 0000000..53ff3f9
--- /dev/null
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/fuzzyjoin/dblp-csx-aqlplus_4/dblp-csx-aqlplus_4.1.ddl.aql
@@ -0,0 +1,46 @@
+/*
+ * 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 dataverse fuzzyjoin if exists;
+
+create dataverse fuzzyjoin;
+
+use dataverse fuzzyjoin;
+
+create type DBLPType as open {
+  id: int64,
+  dblpid: string?,
+  title: string?,
+  authors: string?,
+  misc: string?
+}
+
+create type CSXType as open {
+  id: int64,
+  csxid: string?,
+  title: string?,
+  authors: string?,
+  misc: string?
+}
+
+create dataset DBLP(DBLPType) primary key id;
+create dataset CSX(CSXType) primary key id;
+
+create index dblpKidx on DBLP(title) type keyword;
+create index csxKidx on CSX(title) type keyword;
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/fuzzyjoin/dblp-csx-aqlplus_4/dblp-csx-aqlplus_4.2.update.aql
b/asterixdb/asterix-app/src/test/resources/runtimets/queries/fuzzyjoin/dblp-csx-aqlplus_4/dblp-csx-aqlplus_4.2.update.aql
new file mode 100644
index 0000000..fc2fb4b
--- /dev/null
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/fuzzyjoin/dblp-csx-aqlplus_4/dblp-csx-aqlplus_4.2.update.aql
@@ -0,0 +1,28 @@
+/*
+ * 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 dataverse fuzzyjoin;
+
+load dataset DBLP
+using localfs
+(("path"="asterix_nc1://data/pub-small/dblp-small-id.txt"),("format"="delimited-text"),("delimiter"=":"));
+
+load dataset CSX
+using localfs
+(("path"="asterix_nc1://data/pub-small/csx-small-id.txt"),("format"="delimited-text"),("delimiter"=":"),("quote"="\u0000"));
+
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/fuzzyjoin/dblp-csx-aqlplus_4/dblp-csx-aqlplus_4.3.query.aql
b/asterixdb/asterix-app/src/test/resources/runtimets/queries/fuzzyjoin/dblp-csx-aqlplus_4/dblp-csx-aqlplus_4.3.query.aql
new file mode 100644
index 0000000..b5d9ac1
--- /dev/null
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/fuzzyjoin/dblp-csx-aqlplus_4/dblp-csx-aqlplus_4.3.query.aql
@@ -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.
+ */
+use dataverse fuzzyjoin;
+
+set simthreshold '.5f';
+
+for $dblp in dataset('DBLP')
+for $csx in dataset('CSX')
+where word-tokens($csx.title) ~= word-tokens($dblp.title)
+order by $dblp.id, $csx.id
+return {'dblp': $dblp, 'csx': $csx}
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/fuzzyjoin/dblp-csx-aqlplus_4/dblp-csx-aqlplus_4.1.adm
b/asterixdb/asterix-app/src/test/resources/runtimets/results/fuzzyjoin/dblp-csx-aqlplus_4/dblp-csx-aqlplus_4.1.adm
new file mode 100644
index 0000000..9e9c6d4
--- /dev/null
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/fuzzyjoin/dblp-csx-aqlplus_4/dblp-csx-aqlplus_4.1.adm
@@ -0,0 +1,7 @@
+{ "dblp": { "id": 1, "dblpid": "books/acm/kim95/AnnevelinkACFHK95", "title": "Object SQL
- A Language for the Design and Implementation of Object Databases.", "authors": "Jurgen Annevelink
Rafiul Ahad Amelia Carlson Daniel H. Fishman Michael L. Heytens William Kent", "misc": "2002-01-03
42-68 1995 Modern Database Systems db/books/collections/kim95.html#AnnevelinkACFHK95" }, "csx":
{ "id": 1, "csxid": "oai CiteSeerXPSU 10.1.1.39.1830", "title": "Object SQL - A Language for
the Design and Implementation of Object Databases", "authors": "Jurgen Annevelink Rafiul Ahad
Amelia Carlson Dan Fishman Mike Heytens William Kent", "misc": "2009-04-13 ly, a function
application expression consists of two expressions  a function reference (labelled func_ref
in Figure 3 line 2), and an argument (labelled arg). The func_ref expression evaluates to
a (generic or specific) function identifier, which may be the same as the function that the
expression is a part of, thus allowing recursive funct
 ion invocations. The expression labelled arg evaluates to an arbitrary object or aggregate
object. The semantics of evaluating function applications was discussed in detail in section
2. For example, to set the name of a person, we evaluate the following expression   FunAssign(function
name.person) (p1,'John')  In this example, the first expression is itself a function call,
applying the function FunAssign to the function name.person (an example of a specific function
reference). This returns the oid of the function that sets a person's name, which is subsequently
applied to a tuple of two elements, the oid of the person and the new name (a string o...
CiteSeerX ACM Press 2009-04-13 2007-11-22 1994 application/postscript text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.39.1830
http //www.tu-chemnitz.de/~igrdb/docs/OpenODB/osql.ps.gz en 10.1.1.31.2534 10.1.1.28.4658
10.1.1.44.5947 10.1.1.39.199 Metadata may be used without restrictions as long as the oai
identifie
 r remains attached to it." } }
+{ "dblp": { "id": 5, "dblpid": "books/acm/kim95/DayalHW95", "title": "Active Database Systems.",
"authors": "Umeshwar Dayal Eric N. Hanson Jennifer Widom", "misc": "2002-01-03 434-456 1995
Modern Database Systems db/books/collections/kim95.html#DayalHW95" }, "csx": { "id": 98, "csxid":
"oai CiteSeerXPSU 10.1.1.49.2910", "title": "Active Database Systems", "authors": "Umeshwar
Dayal Eric N. Hanson Jennifer Widom", "misc": "2009-04-12 In Won Kim editor Modern Database
Systems The Object Model Integrating a production rules facility into a database system provides
a uniform mechanism for a number of advanced database features including integrity constraint
enforcement, derived data maintenance, triggers, alerters, protection, version control, and
others. In addition, a database system with rule processing capabilities provides a useful
platform for large and efficient knowledge-base and expert systems. Database systems with
production rules are referred to as active database sy
 stems, and the field of active database systems has indeed been active. This chapter summarizes
current work in active database systems  topics covered include active database rule models
and languages, rule execution semantics, and implementation issues.  1 Introduction  Conventional
database systems are passive  they only execute queries or transactions explicitly submitted
by a user or an application program. For many applications, however, it is important to monitor
situations of interest, and to ... CiteSeerX ACM Press 2009-04-12 2007-11-22 1994 application/postscript
text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.49.2910 http //www-db.stanford.edu/pub/papers/book-chapter.ps
en 10.1.1.17.1323 10.1.1.143.7196 10.1.1.50.3821 10.1.1.51.9946 10.1.1.41.2030 10.1.1.46.2504
10.1.1.52.4421 10.1.1.38.2083 10.1.1.34.661 10.1.1.103.7630 10.1.1.100.9015 10.1.1.97.1699
10.1.1.107.4220 10.1.1.47.9217 10.1.1.133.7157 10.1.1.101.5051 10.1.1.30.9989 10.1.1.53.6941
10.1.1.5
 0.8529 10.1.1.133.4287 10.1.1.50.7278 10.1.1.10.1688 10.1.1.19.8669 10.1.1.44.7600 10.1.1.144.376
10.1.1.44.1348 10.1.1.47.9998 10.1.1.90.4428 10.1.1.108.344 10.1.1.48.9470 10.1.1.53.5472
10.1.1.52.4872 10.1.1.144.4965 10.1.1.31.7578 10.1.1.32.6426 10.1.1.58.6335 10.1.1.85.8052
10.1.1.93.1931 10.1.1.55.4610 10.1.1.21.3821 10.1.1.26.9208 10.1.1.31.4869 10.1.1.48.1833
10.1.1.83.8628 10.1.1.87.9318 10.1.1.90.2195 10.1.1.36.5184 10.1.1.21.1704 10.1.1.53.1733
10.1.1.90.3181 10.1.1.53.6783 10.1.1.52.6151 10.1.1.104.6911 10.1.1.105.1691 10.1.1.21.1984
10.1.1.23.2775 10.1.1.62.5556 10.1.1.68.9063 10.1.1.74.4746 10.1.1.78.5097 10.1.1.84.743 10.1.1.84.904
10.1.1.87.6019 10.1.1.88.3907 10.1.1.89.9631 10.1.1.90.4147 10.1.1.92.365 10.1.1.100.2747
10.1.1.98.5083 10.1.1.98.6663 10.1.1.99.1894 10.1.1.99.8174 10.1.1.133.8073 10.1.1.52.7823
10.1.1.39.5341 10.1.1.35.3458 10.1.1.26.4620 10.1.1.18.8936 10.1.1.19.3694 10.1.1.12.631 10.1.1.48.6394
Metadata may be used without restrictions as long 
 as the oai identifier remains attached to it." } }
+{ "dblp": { "id": 21, "dblpid": "books/acm/kim95/MengY95", "title": "Query Processing in
Multidatabase Systems.", "authors": "Weiyi Meng Clement T. Yu", "misc": "2002-01-03 551-572
1995 Modern Database Systems db/books/collections/kim95.html#MengY95" }, "csx": { "id": 89,
"csxid": "oai CiteSeerXPSU 10.1.1.33.8596", "title": "Dynamic Query Optimization and Query
Processing in Multidatabase Systems 1.", "authors": "Henryk Josinski", "misc": "2009-04-15
Introduction  The multidatabase system (MDBS) approach, as a solution for integrated access
to information distributed among diverse data sources, has gained a lot of attention in recent
years. The multidatabase system is a database system which integrates pre--existing databases
allowing the users to access simultaneously database systems (DBMSs) formulating a global
query based on a global schema.  The component DBMSs are assumed to be heterogeneous and autonomous.
Heterogeneity refers to different user interfaces, data models
 , query languages, and query optimization strategies [5]. Local autonomy means that each
DBMS retains complete control over local data and processing. As result of this, its cost
model may not be available to the global query optimizer.  When a global query is submitted,
it is decomposed into two types of queries [1]   -- subqueries, operating on sharable data
items from local databases,  -- assembling queries, consisting of, CiteSeerX  2009-04-15 2007-11-22
2000 application/pdf text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.33.8596
http //www.edbt2000.uni-konstanz.de/phd-workshop/papers/Josinski.pdf en 10.1.1.27.4704 10.1.1.51.8352
Metadata may be used without restrictions as long as the oai identifier remains attached to
it." } }
+{ "dblp": { "id": 25, "dblpid": "books/acm/kim95/RusinkiewiczS95", "title": "Specification
and Execution of Transactional Workflows.", "authors": "Marek Rusinkiewicz Amit P. Sheth",
"misc": "2004-03-08 592-620 Modern Database Systems books/acm/Kim95 db/books/collections/kim95.html#RusinkiewiczS95
1995" }, "csx": { "id": 88, "csxid": "oai CiteSeerXPSU 10.1.1.43.3839", "title": "Specification
and Execution of Transactional Workflows", "authors": "Marek Rusinkiewicz Amit Sheth", "misc":
"2009-04-13 The basic transaction model has evolved over time to incorporate more complex
transaction structures  and to selectively modify the atomicity and isolation properties.
In this chapter we discuss the application  of transaction concepts to activities that involve
coordinated execution of multiple tasks (possibly of  different types) over different processing
entities. Such applications are referred to as transactional  workflows. In this chapter we
discuss the specification of such wo
 rkflows and the issues involved in their  execution.  1 What is a Workflow?  Workflows are
activities involving the coordinated execution of multiple tasks performed by different processing
entities. A task defines some work to be done and can be specified in a number of ways, including
a textual description in a file or an email, a form, a message, or a computer program. A processing
entity that performs the tasks may be a person or a software system (e.g., a mailer, an application
program, a database mana... CiteSeerX ACM Press 2009-04-13 2007-11-22 1995 application/postscript
text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.43.3839 http //lsdis.cs.uga.edu/lib/././download/RS93.ps
en 10.1.1.17.1323 10.1.1.59.5051 10.1.1.38.6210 10.1.1.68.7445 10.1.1.109.5175 10.1.1.17.7962
10.1.1.44.7778 10.1.1.112.244 10.1.1.13.7602 10.1.1.102.7874 10.1.1.41.4043 10.1.1.49.5143
10.1.1.41.7252 10.1.1.17.3225 10.1.1.54.7761 10.1.1.55.5255 10.1.1.108.958 10.1.1.35.7733
10.1.1.52.
 3682 10.1.1.36.1618 10.1.1.45.6317 10.1.1.43.3180 10.1.1.35.8718 10.1.1.44.6365 10.1.1.51.2883
10.1.1.50.9206 10.1.1.6.9085 10.1.1.30.1707 10.1.1.80.6634 10.1.1.49.355 10.1.1.127.3550 10.1.1.35.3562
10.1.1.137.8832 10.1.1.49.4085 10.1.1.41.5506 10.1.1.40.4657 10.1.1.43.2369 10.1.1.40.832
10.1.1.74.5411 10.1.1.90.4428 10.1.1.110.6967 10.1.1.27.2122 10.1.1.15.5605 10.1.1.54.727
10.1.1.49.7512 10.1.1.45.8796 10.1.1.50.5984 10.1.1.53.137 10.1.1.30.3262 10.1.1.28.1680 10.1.1.21.7110
10.1.1.29.3148 10.1.1.57.687 10.1.1.59.5924 10.1.1.46.2812 10.1.1.51.5552 10.1.1.17.7375 10.1.1.40.1598
10.1.1.52.9787 10.1.1.1.3496 10.1.1.50.6791 10.1.1.55.3358 10.1.1.137.7582 10.1.1.118.4127
10.1.1.49.3580 10.1.1.35.5825 10.1.1.46.9382 10.1.1.31.7411 10.1.1.48.5504 10.1.1.55.5163
10.1.1.18.1603 10.1.1.52.8129 10.1.1.1.9723 10.1.1.21.9113 10.1.1.49.7644 10.1.1.52.6646 10.1.1.75.3106
10.1.1.80.2072 10.1.1.55.8770 10.1.1.54.8188 10.1.1.101.7919 10.1.1.104.8176 10.1.1.24.5741
10.1.1.29.4667 10.1.1.4.1
 055 10.1.1.48.9175 10.1.1.56.792 10.1.1.65.3172 10.1.1.66.5947 10.1.1.73.8532 10.1.1.83.8299
10.1.1.86.8521 10.1.1.87.2402 10.1.1.87.4648 10.1.1.90.5638 10.1.1.91.1709 10.1.1.94.4248
10.1.1.114.511 10.1.1.119.5037 10.1.1.124.7957 10.1.1.49.215 10.1.1.53.7777 10.1.1.53.9711
10.1.1.45.9409 10.1.1.40.8789 10.1.1.43.4845 10.1.1.34.8273 10.1.1.35.4783 10.1.1.28.3176
10.1.1.16.8151 10.1.1.8.9117 10.1.1.58.3449 10.1.1.142.7041 Metadata may be used without restrictions
as long as the oai identifier remains attached to it." } }
+{ "dblp": { "id": 51, "dblpid": "books/aw/kimL89/NierstraszT89", "title": "Integrated Office
Systems.", "authors": "Oscar Nierstrasz Dennis Tsichritzis", "misc": "2002-01-03 199-215 1989
Object-Oriented Concepts, Databases, and Applications db/books/collections/kim89.html#NierstraszT89"
}, "csx": { "id": 92, "csxid": "oai CiteSeerXPSU 10.1.1.13.2374", "title": "Integrated Office
Systems", "authors": "O. M. Nierstrasz D. C. Tsichritzis", "misc": "2009-04-17 Introduction
 New techniques are sorely needed to aid in the development and maintenance of large application
systems. The problem with traditional approaches to software engineering is well in evidence
in the field of o#ce information systems  it is costly and di#cult to extend existing applications,
and to get unrelated applications to \"talk\" to each other. The objectoriented approach is
already being tentatively applied in the modeling of \"o#ce objects\" and in the presentation
of these entities to users as such in \
 "desktop\" interfaces to o#ce software. In order to fully exploit the approach to achieve
integrated o#ce systems, we need to use object-oriented programming languages, object-oriented
run-time support, and object-oriented software engineering environments.  We can view the
fundamental idea behind the object-oriented approach as that of encapsulation  object-oriented
languages and systems exploit encapsulation in various ways in an attempt to enhance productivity
through, f CiteSeerX  2009-04-17 2007-11-21 1988 application/pdf text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.13.2374
http //www.iam.unibe.ch/~scg/Archive/OSG/Nier89bIntegOfficeSystems.pdf en 10.1.1.26.9545 10.1.1.65.5865
10.1.1.34.624 10.1.1.12.8544 10.1.1.144.6983 10.1.1.26.6746 10.1.1.49.3064 10.1.1.30.4607
10.1.1.38.4894 10.1.1.20.8197 10.1.1.26.4381 10.1.1.29.1890 Metadata may be used without restrictions
as long as the oai identifier remains attached to it." } }
+{ "dblp": { "id": 51, "dblpid": "books/aw/kimL89/NierstraszT89", "title": "Integrated Office
Systems.", "authors": "Oscar Nierstrasz Dennis Tsichritzis", "misc": "2002-01-03 199-215 1989
Object-Oriented Concepts, Databases, and Applications db/books/collections/kim89.html#NierstraszT89"
}, "csx": { "id": 93, "csxid": "oai CiteSeerXPSU 10.1.1.42.9253", "title": "Integrated Office
Systems", "authors": "O. M. Nierstrasz D. C. Tsichritzis", "misc": "2009-04-11 Introduction
 New techniques are sorely needed to aid in the development and maintenance of large application
systems. The problem with traditional approaches to software engineering is well in evidence
in the field of office information systems  it is costly and difficult to extend existing
applications, and to get unrelated applications to \"talk\" to each other. The objectoriented
approach is already being tentatively applied in the modeling of \"office objects\" and in
the presentation of these entities to users as suc
 h in \"desktop\" interfaces to office software. In order to fully exploit the approach to
achieve integrated office systems, we need to use object-oriented programming languages, object-oriented
run-time support, and object-oriented software engineering environments. We can view the fundamental
idea behind the object-oriented approach as that of encapsulation  object-oriented languages
and systems exploit encapsulation in various ways in an attempt t CiteSeerX ACM Press and
Addison-Wesley 2009-04-11 2007-11-22 1988 application/postscript text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.42.9253
ftp //ftp.iam.unibe.ch/pub/scg/Papers/integratedOfficeSystems.ps.gz en 10.1.1.26.9545 10.1.1.65.5865
10.1.1.34.624 10.1.1.12.8544 10.1.1.144.6983 10.1.1.26.6746 10.1.1.49.3064 10.1.1.30.4607
10.1.1.38.4894 10.1.1.20.8197 10.1.1.26.4381 10.1.1.29.1890 Metadata may be used without restrictions
as long as the oai identifier remains attached to it." } }
+{ "dblp": { "id": 54, "dblpid": "books/aw/kimL89/SteinLU89", "title": "A Shared View of Sharing
 The Treaty of Orlando.", "authors": "Lynn Andrea Stein Henry Lieberman David Ungar", "misc":
"2002-01-03 31-48 1989 Object-Oriented Concepts, Databases, and Applications db/books/collections/kim89.html#SteinLU89"
}, "csx": { "id": 91, "csxid": "oai CiteSeerXPSU 10.1.1.55.482", "title": "A Shared View of
Sharing  The Treaty of Orlando", "authors": "Lynn Andrea Stein Henry Lieberman David Ungar",
"misc": "2009-04-12 Introduction For the past few years, researchers have been debating the
relative merits of object-oriented languages with classes and inheritance as opposed to those
with prototypes and delegation. It has become clear that the object-oriented programming language
design space is not a dichotomy. Instead, we have identified two fundamental mechanisms---templates
and  empathy---and several different independent degrees of freedom for each. Templates create
new objects in 
 their own image, providing guarantees about the similarity of group members. Empathy allows
an object to act as if it were some other object, thus providing sharing of state and behavior.
The Smalltalk-80  TM  language,  1  Actors, Lieberman's Delegation  system, Self, and Hybrid
each take differing stands on the forms of templates  1  Smalltalk-80  TM  is a trademark
of Par CiteSeerX ACM Press 2009-04-12 2007-11-22 1989 application/postscript text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.55.482
http //lcs.www.media.mit.edu/people/lieber/Lieberary/OOP/Treaty/Treaty.ps en 10.1.1.26.9545
10.1.1.118.6579 10.1.1.48.69 10.1.1.57.5195 10.1.1.9.570 10.1.1.47.511 10.1.1.127.5320 10.1.1.100.4334
10.1.1.5.3348 10.1.1.39.3374 10.1.1.56.4713 10.1.1.61.2065 10.1.1.27.3015 10.1.1.1.5960 10.1.1.67.5433
10.1.1.31.8109 10.1.1.68.4062 10.1.1.49.3986 10.1.1.122.9331 10.1.1.46.8283 10.1.1.54.5230
10.1.1.16.2055 10.1.1.137.5180 10.1.1.43.5722 10.1.1.68.2105 10.1.1.35.1247 10.1.1.3
 0.1415 10.1.1.7.5014 10.1.1.102.3946 10.1.1.105.6469 10.1.1.26.223 10.1.1.26.8645 10.1.1.35.4104
10.1.1.39.6986 10.1.1.41.7822 10.1.1.42.9056 10.1.1.53.9325 10.1.1.71.1802 10.1.1.76.6993
10.1.1.89.9613 10.1.1.121.5599 10.1.1.122.3737 10.1.1.127.1894 10.1.1.55.5674 10.1.1.37.8260
10.1.1.2.2077 10.1.1.24.5782 10.1.1.19.780 10.1.1.2.4148 10.1.1.2.4173 10.1.1.131.902 10.1.1.30.2927
Metadata may be used without restrictions as long as the oai identifier remains attached to
it." } }
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/testsuite.xml b/asterixdb/asterix-app/src/test/resources/runtimets/testsuite.xml
index 1bb1367..30e99e6 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/testsuite.xml
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/testsuite.xml
@@ -2617,6 +2617,11 @@
       </compilation-unit>
     </test-case>
     <test-case FilePath="fuzzyjoin">
+      <compilation-unit name="dblp-csx-aqlplus_4">
+        <output-dir compare="Text">dblp-csx-aqlplus_4</output-dir>
+      </compilation-unit>
+    </test-case>
+    <test-case FilePath="fuzzyjoin">
       <compilation-unit name="dblp-csx-dblp-aqlplus_1">
         <output-dir compare="Text">dblp-csx-dblp-aqlplus_1</output-dir>
       </compilation-unit>

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1021
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: Ie82badb0b9c1c04a1135b1829c445b5ddfb8c754
Gerrit-PatchSet: 2
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Taewoo Kim <wangsaeu@yahoo.com>
Gerrit-Reviewer: Chen Li <chenli@gmail.com>
Gerrit-Reviewer: Jenkins <jenkins@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Taewoo Kim <wangsaeu@yahoo.com>
Gerrit-Reviewer: Wenhai Li <lwhaymail@yahoo.com>
Gerrit-Reviewer: Yingyi Bu <buyingyi@gmail.com>

Mime
View raw message