Merge branch 'master' into eugenia/black_cherry_stable
diff --git a/asterix-algebra/src/main/java/edu/uci/ics/asterix/optimizer/base/RuleCollections.java b/asterix-algebra/src/main/java/edu/uci/ics/asterix/optimizer/base/RuleCollections.java
index 14adbcc..0a1b429 100644
--- a/asterix-algebra/src/main/java/edu/uci/ics/asterix/optimizer/base/RuleCollections.java
+++ b/asterix-algebra/src/main/java/edu/uci/ics/asterix/optimizer/base/RuleCollections.java
@@ -42,7 +42,6 @@
import edu.uci.ics.asterix.optimizer.rules.LoadRecordFieldsRule;
import edu.uci.ics.asterix.optimizer.rules.NestGroupByRule;
import edu.uci.ics.asterix.optimizer.rules.NestedSubplanToJoinRule;
-import edu.uci.ics.asterix.optimizer.rules.PullPositionalVariableFromUnnestRule;
import edu.uci.ics.asterix.optimizer.rules.PushAggFuncIntoStandaloneAggregateRule;
import edu.uci.ics.asterix.optimizer.rules.PushAggregateIntoGroupbyRule;
import edu.uci.ics.asterix.optimizer.rules.PushFieldAccessRule;
@@ -124,7 +123,6 @@
normalization.add(new ExtractGbyExpressionsRule());
normalization.add(new ExtractDistinctByExpressionsRule());
normalization.add(new ExtractOrderExpressionsRule());
- normalization.add(new ExtractCommonExpressionsRule());
// IntroduceStaticTypeCastRule should go before
// IntroduceDynamicTypeCastRule to
@@ -132,6 +130,7 @@
normalization.add(new IntroduceStaticTypeCastForInsertRule());
normalization.add(new IntroduceDynamicTypeCastRule());
normalization.add(new IntroduceEnforcedListTypeRule());
+ normalization.add(new ExtractCommonExpressionsRule());
normalization.add(new ConstantFoldingRule());
normalization.add(new UnnestToDataScanRule());
normalization.add(new IfElseToSwitchCaseFunctionRule());
diff --git a/asterix-algebra/src/main/java/edu/uci/ics/asterix/optimizer/rules/RemoveUnusedOneToOneEquiJoinRule.java b/asterix-algebra/src/main/java/edu/uci/ics/asterix/optimizer/rules/RemoveUnusedOneToOneEquiJoinRule.java
index 9fe5e46..432ef10 100644
--- a/asterix-algebra/src/main/java/edu/uci/ics/asterix/optimizer/rules/RemoveUnusedOneToOneEquiJoinRule.java
+++ b/asterix-algebra/src/main/java/edu/uci/ics/asterix/optimizer/rules/RemoveUnusedOneToOneEquiJoinRule.java
@@ -23,6 +23,7 @@
import org.apache.commons.lang3.mutable.Mutable;
import edu.uci.ics.asterix.metadata.declared.AqlDataSource;
+import edu.uci.ics.asterix.metadata.entities.InternalDatasetDetails;
import edu.uci.ics.asterix.metadata.utils.DatasetUtils;
import edu.uci.ics.hyracks.algebricks.common.exceptions.AlgebricksException;
import edu.uci.ics.hyracks.algebricks.core.algebra.base.ILogicalExpression;
@@ -45,14 +46,13 @@
* Removes join operators for which all of the following conditions are true:
* 1. The live variables of one input branch of the join are not used in the upstream plan
* 2. The join is an inner equi join
- * 3. The join condition only uses variables that correspond to primary keys of the same dataset
+ * 3. The join condition only uses variables that correspond to primary keys of the same dataset
* Notice that the last condition implies a 1:1 join, i.e., the join does not change the result cardinality.
- *
- * Joins that satisfy the above conditions may be introduced by other rules
+ * Joins that satisfy the above conditions may be introduced by other rules
* which use surrogate optimizations. Such an optimization aims to reduce data copies and communication costs by
* using the primary keys as surrogates for the desired data items. Typically,
* such a surrogate-based plan introduces a top-level join to finally resolve
- * the surrogates to the desired data items.
+ * the surrogates to the desired data items.
* In case the upstream plan does not require the original data items at all, such a top-level join is unnecessary.
* The purpose of this rule is to remove such unnecessary joins.
*/
@@ -190,10 +190,12 @@
private void fillPKVars(DataSourceScanOperator dataScan, List<LogicalVariable> pkVars) {
pkVars.clear();
AqlDataSource aqlDataSource = (AqlDataSource) dataScan.getDataSource();
- int numPKs = DatasetUtils.getPartitioningKeys(aqlDataSource.getDataset()).size();
pkVars.clear();
- for (int i = 0; i < numPKs; i++) {
- pkVars.add(dataScan.getVariables().get(i));
+ if (aqlDataSource.getDataset().getDatasetDetails() instanceof InternalDatasetDetails) {
+ int numPKs = DatasetUtils.getPartitioningKeys(aqlDataSource.getDataset()).size();
+ for (int i = 0; i < numPKs; i++) {
+ pkVars.add(dataScan.getVariables().get(i));
+ }
}
}
diff --git a/asterix-algebra/src/main/java/edu/uci/ics/asterix/optimizer/rules/typecast/StaticTypeCastUtil.java b/asterix-algebra/src/main/java/edu/uci/ics/asterix/optimizer/rules/typecast/StaticTypeCastUtil.java
index c67a4e5..1be4f40 100644
--- a/asterix-algebra/src/main/java/edu/uci/ics/asterix/optimizer/rules/typecast/StaticTypeCastUtil.java
+++ b/asterix-algebra/src/main/java/edu/uci/ics/asterix/optimizer/rules/typecast/StaticTypeCastUtil.java
@@ -223,7 +223,8 @@
boolean changed = false;
for (int j = 0; j < args.size(); j++) {
ILogicalExpression arg = args.get(j).getValue();
- IAType currentItemType = (inputItemType == null || inputItemType == BuiltinType.ANY) ? (IAType) env.getType(arg) : inputItemType;
+ IAType currentItemType = (inputItemType == null || inputItemType == BuiltinType.ANY) ? (IAType) env
+ .getType(arg) : inputItemType;
switch (arg.getExpressionTag()) {
case FUNCTION_CALL:
ScalarFunctionCallExpression argFunc = (ScalarFunctionCallExpression) arg;
@@ -271,8 +272,10 @@
String fieldName = inputFieldNames[i];
IAType fieldType = inputFieldTypes[i];
- if (2 * i + 1 > func.getArguments().size())
- throw new AlgebricksException("expression index out of bound");
+ if (2 * i + 1 > func.getArguments().size()) {
+ // it is not a record constructor function
+ return false;
+ }
// 2*i+1 is the index of field value expression
ILogicalExpression arg = func.getArguments().get(2 * i + 1).getValue();
@@ -463,12 +466,9 @@
reqFieldType = DefaultOpenFieldType.NESTED_OPEN_AUNORDERED_LIST_TYPE;
fi = AsterixBuiltinFunctions.CAST_LIST;
}
- if (fi != null
- && ! inputFieldType.equals(reqFieldType)
- && parameterVars.size() > 0) {
+ if (fi != null && !inputFieldType.equals(reqFieldType) && parameterVars.size() > 0) {
//inject dynamic type casting
- injectCastFunction(FunctionUtils.getFunctionInfo(fi),
- reqFieldType, inputFieldType, expRef, argExpr);
+ injectCastFunction(FunctionUtils.getFunctionInfo(fi), reqFieldType, inputFieldType, expRef, argExpr);
castInjected = true;
}
if (argExpr.getExpressionTag() == LogicalExpressionTag.FUNCTION_CALL) {
diff --git a/asterix-app/data/adm-load/double_end_record_token.adm b/asterix-app/data/adm-load/double_end_record_token.adm
new file mode 100644
index 0000000..032901f
--- /dev/null
+++ b/asterix-app/data/adm-load/double_end_record_token.adm
@@ -0,0 +1,5 @@
+{
+ "id": 1,
+ "nest_rec": {
+ "id": 2
+}}
\ No newline at end of file
diff --git a/asterix-app/src/main/java/edu/uci/ics/asterix/api/http/servlet/RESTAPIServlet.java b/asterix-app/src/main/java/edu/uci/ics/asterix/api/http/servlet/RESTAPIServlet.java
index 2e7396a..ba0fa68 100644
--- a/asterix-app/src/main/java/edu/uci/ics/asterix/api/http/servlet/RESTAPIServlet.java
+++ b/asterix-app/src/main/java/edu/uci/ics/asterix/api/http/servlet/RESTAPIServlet.java
@@ -38,6 +38,7 @@
import edu.uci.ics.asterix.aql.parser.TokenMgrError;
import edu.uci.ics.asterix.aql.translator.AqlTranslator;
import edu.uci.ics.asterix.common.config.GlobalConfig;
+import edu.uci.ics.asterix.common.exceptions.AsterixException;
import edu.uci.ics.asterix.metadata.MetadataManager;
import edu.uci.ics.asterix.result.ResultReader;
import edu.uci.ics.asterix.result.ResultUtils;
@@ -88,16 +89,15 @@
AQLParser parser = new AQLParser(query);
List<Statement> aqlStatements = parser.Statement();
- if (checkForbiddenStatements(aqlStatements, out)) {
- return;
+ if (!containsForbiddenStatements(aqlStatements)) {
+ SessionConfig sessionConfig = new SessionConfig(true, false, false, false, false, false, true, true, false);
+
+ MetadataManager.INSTANCE.init();
+
+ AqlTranslator aqlTranslator = new AqlTranslator(aqlStatements, out, sessionConfig, format);
+
+ aqlTranslator.compileAndExecute(hcc, hds, asyncResults);
}
- SessionConfig sessionConfig = new SessionConfig(true, false, false, false, false, false, true, true, false);
-
- MetadataManager.INSTANCE.init();
-
- AqlTranslator aqlTranslator = new AqlTranslator(aqlStatements, out, sessionConfig, format);
-
- aqlTranslator.compileAndExecute(hcc, hds, asyncResults);
} catch (ParseException | TokenMgrError | edu.uci.ics.asterix.aqlplus.parser.TokenMgrError pe) {
GlobalConfig.ASTERIX_LOGGER.log(Level.SEVERE, pe.getMessage(), pe);
String errorMessage = ResultUtils.buildParseExceptionMessage(pe, query);
@@ -111,13 +111,10 @@
}
}
- private boolean checkForbiddenStatements(List<Statement> aqlStatements, PrintWriter out) {
+ private boolean containsForbiddenStatements(List<Statement> aqlStatements) throws AsterixException {
for (Statement st : aqlStatements) {
if (!getAllowedStatements().contains(st.getKind())) {
- JSONObject errorResp = ResultUtils.getErrorResponse(1, String.format(getErrorMessage(), st.getKind()),
- "", "");
- out.write(errorResp.toString());
- return true;
+ throw new AsterixException(String.format(getErrorMessage(), st.getKind()));
}
}
return false;
diff --git a/asterix-app/src/main/java/edu/uci/ics/asterix/file/DatasetOperations.java b/asterix-app/src/main/java/edu/uci/ics/asterix/file/DatasetOperations.java
index da0bebc..d99c4da 100644
--- a/asterix-app/src/main/java/edu/uci/ics/asterix/file/DatasetOperations.java
+++ b/asterix-app/src/main/java/edu/uci/ics/asterix/file/DatasetOperations.java
@@ -309,7 +309,7 @@
spec.connect(new OneToOneConnectorDescriptor(spec), scanner, 0, asterixOp, 0);
IConnectorDescriptor sortMergeConn = new MToNPartitioningMergingConnectorDescriptor(spec,
- new FieldHashPartitionComputerFactory(keys, hashFactories), keys, comparatorFactories);
+ new FieldHashPartitionComputerFactory(keys, hashFactories), keys, comparatorFactories, null);
spec.connect(sortMergeConn, asterixOp, 0, btreeBulkLoad, 0);
}
spec.addRoot(btreeBulkLoad);
diff --git a/asterix-app/src/test/resources/runtimets/queries/aggregate/scalar_min_empty/scalar_min_empty.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/scalar_min_empty/scalar_min_empty.1.ddl.aql
index d4de7aa..732d98a 100644
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/scalar_min_empty/scalar_min_empty.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/aggregate/scalar_min_empty/scalar_min_empty.1.ddl.aql
@@ -6,6 +6,3 @@
drop dataverse test if exists;
create dataverse test;
-use dataverse test;
-
-min([ ])
diff --git a/asterix-app/src/test/resources/runtimets/queries/aggregate/scalar_sum_empty/scalar_sum_empty.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/scalar_sum_empty/scalar_sum_empty.1.ddl.aql
index 3d954c1..b0c16d6 100644
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/scalar_sum_empty/scalar_sum_empty.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/aggregate/scalar_sum_empty/scalar_sum_empty.1.ddl.aql
@@ -6,6 +6,3 @@
drop dataverse test if exists;
create dataverse test;
-use dataverse test;
-
-sum([ ])
diff --git a/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int64/sum_int64.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int64/sum_int64.1.ddl.aql
index 247c983..97b4670 100644
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int64/sum_int64.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int64/sum_int64.1.ddl.aql
@@ -2,10 +2,3 @@
create dataverse test;
-use dataverse test;
-
-sum(
- for $x in [int64("1"), int64("2"), int64("3")]
- return $x
-)
-
diff --git a/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int8/sum_int8.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int8/sum_int8.1.ddl.aql
index 4c7f01d..d330bc0 100644
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int8/sum_int8.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int8/sum_int8.1.ddl.aql
@@ -1,11 +1,3 @@
drop dataverse test if exists;
create dataverse test;
-
-use dataverse test;
-
-sum(
- for $x in [int8("1"), int8("2"), int8("3")]
- return $x
-)
-
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/at00/at00.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/at00/at00.3.query.aql
index 0460490..f51c7f7 100644
--- a/asterix-app/src/test/resources/runtimets/queries/flwor/at00/at00.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/at00/at00.3.query.aql
@@ -7,8 +7,8 @@
use dataverse test;
for $i in dataset LineItem
-order by $i.l_shipdate
+order by $i.l_partkey, $i.l_shipdate
group by $partkey := $i.l_partkey with $i
for $j at $p in $i
where $p < 4
-return { "partkey": $partkey, "pid": $p, "shipdate": $j.l_shipdate, "orderkey": $j.l_orderkey }
\ No newline at end of file
+return { "partkey": $partkey, "pid": $p, "shipdate": $j.l_shipdate }
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/at06/at06.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/at06/at06.1.ddl.aql
new file mode 100644
index 0000000..f60cfc7
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/at06/at06.1.ddl.aql
@@ -0,0 +1,32 @@
+/*
+ * Description : Test for clause of the position variable in FLWOR expression
+ * Expected Result : Success
+ * Date : 09/17/2013
+ */
+
+drop dataverse test if exists;
+create dataverse test;
+
+use dataverse test;
+
+create type LineItemType as closed {
+ l_orderkey: int32,
+ l_partkey: int32,
+ l_suppkey: int32,
+ l_linenumber: int32,
+ l_quantity: double,
+ l_extendedprice: double,
+ l_discount: double,
+ l_tax: double,
+ l_returnflag: string,
+ l_linestatus: string,
+ l_shipdate: string,
+ l_commitdate: string,
+ l_receiptdate: string,
+ l_shipinstruct: string,
+ l_shipmode: string,
+ l_comment: string
+}
+
+create dataset LineItem(LineItemType)
+ primary key l_orderkey, l_linenumber;
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/at06/at06.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/at06/at06.2.update.aql
new file mode 100644
index 0000000..039e7bb
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/at06/at06.2.update.aql
@@ -0,0 +1,11 @@
+/*
+ * Description : Test for clause of the position variable in FLWOR expression
+ * Expected Result : Success
+ * Date : 09/17/2013
+ */
+
+use dataverse test;
+
+load dataset LineItem
+using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
+(("path"="nc1://data/tpch0.001/lineitem.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/flwor/at06/at06.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/flwor/at06/at06.3.query.aql
new file mode 100644
index 0000000..7800143
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/flwor/at06/at06.3.query.aql
@@ -0,0 +1,14 @@
+/*
+ * Description : Test for clause of the position variable in FLWOR expression
+ * Expected Result : Success
+ * Date : 09/17/2013
+ */
+
+use dataverse test;
+
+for $i in dataset LineItem
+order by $i.l_partkey
+group by $partkey := $i.l_partkey with $i
+for $j at $p in (for $ii in $i order by $ii.l_shipdate return $ii)
+where $p < 4
+return { "partkey": $partkey, "pid": $p, "shipdate": $j.l_shipdate, "orderkey": $j.l_orderkey }
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/leftouterjoin/query_issue658/query_issue658.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/leftouterjoin/query_issue658/query_issue658.1.ddl.aql
new file mode 100644
index 0000000..b1910fb
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/leftouterjoin/query_issue658/query_issue658.1.ddl.aql
@@ -0,0 +1,29 @@
+/*
+ * Description : Left-outer joins two datasets, DBLP and CSX, based on their authors and titles.
+ * Success : Yes
+ */
+
+drop dataverse test if exists;
+create dataverse test;
+
+use dataverse test;
+
+create type DBLPType as closed {
+ id: int32,
+ dblpid: string,
+ title: string,
+ authors: string,
+ misc: string
+}
+
+create type CSXType as closed {
+ id: int32,
+ csxid: string,
+ title: string,
+ authors: string,
+ misc: string
+}
+
+create dataset DBLP(DBLPType) primary key id;
+create dataset CSX(CSXType) primary key id;
+
diff --git a/asterix-app/src/test/resources/runtimets/queries/leftouterjoin/query_issue658/query_issue658.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/leftouterjoin/query_issue658/query_issue658.2.update.aql
new file mode 100644
index 0000000..4e2123a
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/leftouterjoin/query_issue658/query_issue658.2.update.aql
@@ -0,0 +1,15 @@
+/*
+ * Description : Left-outer joins two datasets, DBLP and CSX, based on their authors and titles.
+ * Success : Yes
+ */
+
+use dataverse test;
+
+load dataset DBLP
+using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
+(("path"="nc1://data/pub-small/dblp-small-id.txt"),("format"="delimited-text"),("delimiter"=":"));
+
+load dataset CSX
+using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
+(("path"="nc1://data/pub-small/csx-small-id.txt"),("format"="delimited-text"),("delimiter"=":"));
+
diff --git a/asterix-app/src/test/resources/runtimets/queries/leftouterjoin/query_issue658/query_issue658.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/leftouterjoin/query_issue658/query_issue658.3.query.aql
new file mode 100644
index 0000000..04816a7
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/leftouterjoin/query_issue658/query_issue658.3.query.aql
@@ -0,0 +1,16 @@
+/*
+ * Description : Left-outer joins two datasets, DBLP and CSX, based on their authors and titles.
+ * Success : Yes
+ */
+
+use dataverse test;
+
+for $a in dataset('DBLP')
+order by $a.id
+return {
+"aid": $a.id,
+"bids": for $b in dataset('CSX')
+where $a.authors = $b.authors and $a.title != $b.title
+order by $b.id
+return $b.id
+}
diff --git a/asterix-app/src/test/resources/runtimets/queries/load/issue610_adm_token_end_collection/issue610_adm_token_end_collection.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/load/issue610_adm_token_end_collection/issue610_adm_token_end_collection.1.ddl.aql
new file mode 100644
index 0000000..8ec663d
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/load/issue610_adm_token_end_collection/issue610_adm_token_end_collection.1.ddl.aql
@@ -0,0 +1,18 @@
+/*
+ * Description : Load dataset with two consecutive end_record token and correctly recognize them.
+ * Expected Res : Success
+ * Date : 30 Oct 2013
+ */
+
+drop dataverse foo if exists;
+create dataverse foo;
+use dataverse foo;
+
+create type bartype as open {
+id: int32,
+nest_rec: {
+id: int32
+}
+}
+
+create dataset baz(bartype) primary key id;
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/load/issue610_adm_token_end_collection/issue610_adm_token_end_collection.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/load/issue610_adm_token_end_collection/issue610_adm_token_end_collection.2.update.aql
new file mode 100644
index 0000000..d622439
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/load/issue610_adm_token_end_collection/issue610_adm_token_end_collection.2.update.aql
@@ -0,0 +1,10 @@
+/*
+ * Description : Load dataset with two consecutive end_record token and correctly recognize them.
+ * Expected Res : Success
+ * Date : 30 Oct 2013
+ */
+
+use dataverse foo;
+
+load dataset baz
+using localfs(("path"="nc1://data/adm-load/double_end_record_token.adm"), ("format"="adm"));
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/load/issue650_query/issue650_query.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/load/issue650_query/issue650_query.1.ddl.aql
new file mode 100644
index 0000000..b0fe47f
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/load/issue650_query/issue650_query.1.ddl.aql
@@ -0,0 +1,18 @@
+/*
+ * Description : Drop and recreate the dataverse between creating and loading a dataset.
+ * Expected Res : Failure
+ * Date : 17 Oct 2013
+ */
+
+drop dataverse fuzzyjoin if exists;
+create dataverse fuzzyjoin;
+use dataverse fuzzyjoin;
+
+create type UserType as open {
+ uid: int32,
+ name: string,
+ lottery_numbers: [int32],
+ interests: {{string}}
+}
+
+create dataset Users(UserType) primary key uid;
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/load/issue650_query/issue650_query.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/load/issue650_query/issue650_query.2.update.aql
new file mode 100644
index 0000000..b7729d2
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/load/issue650_query/issue650_query.2.update.aql
@@ -0,0 +1,13 @@
+/*
+ * Description : Drop and recreate the dataverse between creating and loading a dataset.
+ * Expected Res : Failure
+ * Date : 17 Oct 2013
+ */
+
+drop dataverse fuzzyjoin if exists;
+create dataverse fuzzyjoin;
+use dataverse fuzzyjoin;
+
+load dataset Users
+using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
+(("path"="nc1://data/users-visitors-small/users.json"),("format"="adm"));
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue592/query-issue592.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue592/query-issue592.1.ddl.aql
new file mode 100644
index 0000000..a0231f4
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue592/query-issue592.1.ddl.aql
@@ -0,0 +1,21 @@
+/*
+ * Description : Issue592
+ * Expected Result : Success
+ * Date : 21 October 2013
+ * Notes : This test was written to verify the fix for issue592.
+ */
+
+drop dataverse fooverse if exists;
+create dataverse fooverse;
+use dataverse fooverse;
+
+create type bartype as open {
+ "baz": int32
+}
+
+create type footype as open {
+ "id": int32,
+ "bars": [ bartype ]?
+};
+
+create dataset fooset(footype) primary key id;
diff --git a/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue592/query-issue592.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue592/query-issue592.2.update.aql
new file mode 100644
index 0000000..0a08c2a
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue592/query-issue592.2.update.aql
@@ -0,0 +1,18 @@
+/*
+ * Description : Issue592
+ * Expected Result : Success
+ * Date : 21 October 2013
+ * Notes : This test was written to verify the fix for issue592.
+ */
+
+use dataverse fooverse;
+
+insert into dataset fooset (
+{
+ "id": 1,
+ "bars": [
+ { "baz": 1 },
+ { "baz": 1 }
+ ]
+}
+);
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue592/query-issue592.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue592/query-issue592.3.query.aql
new file mode 100644
index 0000000..39fd476
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue592/query-issue592.3.query.aql
@@ -0,0 +1,11 @@
+/*
+ * Description : Issue592
+ * Expected Result : Success
+ * Date : 21 October 2013
+ * Notes : This test was written to verify the fix for issue592.
+ */
+
+use dataverse fooverse;
+
+for $f in dataset fooset
+return $f
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue625/query-issue625.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue625/query-issue625.1.ddl.aql
new file mode 100644
index 0000000..44d9d32
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue625/query-issue625.1.ddl.aql
@@ -0,0 +1,17 @@
+/*
+ * Description : Issue625
+ * Expected Result : Success
+ * Date : 21 October 2013
+ * Notes : This test was written to verify the fix for issue625.
+ */
+
+drop dataverse fooverse if exists;
+create dataverse fooverse;
+use dataverse fooverse;
+
+create type FooType as open {
+ id: int32,
+ numbers: [int32]
+}
+
+create dataset Foo(FooType) primary key id;
diff --git a/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue625/query-issue625.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue625/query-issue625.2.update.aql
new file mode 100644
index 0000000..dbe69e6
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue625/query-issue625.2.update.aql
@@ -0,0 +1,17 @@
+/*
+ * Description : Issue592
+ * Expected Result : Success
+ * Date : 21 October 2013
+ * Notes : This test was written to verify the fix for issue592.
+ */
+
+use dataverse fooverse;
+
+insert into dataset Foo(
+let $number_strings := ["1", "2", "3"]
+let $numbers := for $x in $number_strings return int32($x)
+return {
+ "id": 1,
+ "numbers": $numbers
+}
+);
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue625/query-issue625.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue625/query-issue625.3.query.aql
new file mode 100644
index 0000000..1f087a8
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue625/query-issue625.3.query.aql
@@ -0,0 +1,11 @@
+/*
+ * Description : Issue592
+ * Expected Result : Success
+ * Date : 21 October 2013
+ * Notes : This test was written to verify the fix for issue592.
+ */
+
+use dataverse fooverse;
+
+for $x in dataset Foo
+return $x
diff --git a/asterix-app/src/test/resources/runtimets/queries/records/expFieldName/expFieldName.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/records/expFieldName/expFieldName.1.ddl.aql
index e3f2bc7..754ea81 100644
--- a/asterix-app/src/test/resources/runtimets/queries/records/expFieldName/expFieldName.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/records/expFieldName/expFieldName.1.ddl.aql
@@ -1,5 +1,3 @@
drop dataverse test if exists;
create dataverse test;
-for $x in ["field1", "field2"]
-return {$x: 1}
diff --git a/asterix-app/src/test/resources/runtimets/queries/types/type_promotion_0/type_promotion_0.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/types/type_promotion_0/type_promotion_0.1.ddl.aql
new file mode 100644
index 0000000..c74fd3c
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/types/type_promotion_0/type_promotion_0.1.ddl.aql
@@ -0,0 +1,19 @@
+drop dataverse TestVerse if exists;
+create dataverse TestVerse;
+use dataverse TestVerse;
+
+create type Int64TestType as open {
+ myint64: int64,
+ myoptint64: int64?,
+ myint32: int32,
+ myoptint32: int32?,
+ myint16: int16,
+ myoptint16: int16?,
+ mydouble: double,
+ myoptdouble: double?,
+ myfloat: float,
+ myoptfloat: float?
+};
+
+create dataset Int64Test(Int64TestType)
+ primary key myint64;
diff --git a/asterix-app/src/test/resources/runtimets/queries/types/type_promotion_0/type_promotion_0.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/types/type_promotion_0/type_promotion_0.2.update.aql
new file mode 100644
index 0000000..8505bff
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/types/type_promotion_0/type_promotion_0.2.update.aql
@@ -0,0 +1,13 @@
+use dataverse TestVerse;
+
+/* promotable type for optional field */
+insert into dataset Int64Test (
+ {"myint64": int64("13"), "myoptint64": 13, "myint32": int8("2"), "myoptint32": int16("3"), "myint16": int8("9"), "myoptint16": int8("10"), "mydouble": float("2.12"), "myoptdouble": int64("32"), "myfloat": int8("9"), "myoptfloat": int32("328")}
+);
+/* promotable type for non-optional field */
+insert into dataset Int64Test (
+ {"myint64": 12, "myoptint64": null, "myint32": int8("2"), "myoptint32": date(null), "myint16": int8("9"), "myoptint16": interval-starts(null, null), "mydouble": float("2.12"), "myoptdouble": time(null), "myfloat": int8("9"), "myoptfloat": datetime(null) }
+);
+insert into dataset Int64Test (
+ {"myint64": int16("11"), "myoptint64": int8("3"), "myint32": int8("2"), "myoptint32": int16("3"), "myint16": int8("9"), "myoptint16": int8("10"), "mydouble": int8("2"), "myoptdouble": int16("32"), "myfloat": int16("9"), "myoptfloat": datetime(null) }
+);
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/types/type_promotion_0/type_promotion_0.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/types/type_promotion_0/type_promotion_0.3.query.aql
new file mode 100644
index 0000000..8948b49
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/types/type_promotion_0/type_promotion_0.3.query.aql
@@ -0,0 +1,4 @@
+use dataverse TestVerse;
+
+for $i in dataset Int64Test
+return $i
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/results/flwor/at00/at00.1.adm b/asterix-app/src/test/resources/runtimets/results/flwor/at00/at00.1.adm
index 26c58cb..7897e41 100644
--- a/asterix-app/src/test/resources/runtimets/results/flwor/at00/at00.1.adm
+++ b/asterix-app/src/test/resources/runtimets/results/flwor/at00/at00.1.adm
@@ -1,561 +1,600 @@
-{ "partkey": 1, "pid": 1, "shipdate": "1992-02-15", "orderkey": 5409 }
-{ "partkey": 1, "pid": 2, "shipdate": "1992-03-30", "orderkey": 1154 }
-{ "partkey": 1, "pid": 3, "shipdate": "1992-07-17", "orderkey": 134 }
-{ "partkey": 2, "pid": 1, "shipdate": "1992-06-23", "orderkey": 3650 }
-{ "partkey": 2, "pid": 2, "shipdate": "1992-07-01", "orderkey": 130 }
-{ "partkey": 2, "pid": 3, "shipdate": "1992-07-18", "orderkey": 5893 }
-{ "partkey": 8, "pid": 1, "shipdate": "1992-09-25", "orderkey": 5635 }
-{ "partkey": 8, "pid": 2, "shipdate": "1992-11-15", "orderkey": 1540 }
-{ "partkey": 8, "pid": 3, "shipdate": "1993-02-13", "orderkey": 1222 }
-{ "partkey": 9, "pid": 1, "shipdate": "1992-04-29", "orderkey": 3970 }
-{ "partkey": 9, "pid": 2, "shipdate": "1992-04-30", "orderkey": 1955 }
-{ "partkey": 9, "pid": 3, "shipdate": "1992-06-01", "orderkey": 4199 }
-{ "partkey": 10, "pid": 1, "shipdate": "1992-05-13", "orderkey": 2881 }
-{ "partkey": 10, "pid": 2, "shipdate": "1992-11-25", "orderkey": 5378 }
-{ "partkey": 10, "pid": 3, "shipdate": "1992-12-01", "orderkey": 1796 }
-{ "partkey": 13, "pid": 1, "shipdate": "1992-04-01", "orderkey": 1537 }
-{ "partkey": 13, "pid": 2, "shipdate": "1992-04-26", "orderkey": 322 }
-{ "partkey": 13, "pid": 3, "shipdate": "1992-05-04", "orderkey": 5953 }
-{ "partkey": 18, "pid": 1, "shipdate": "1992-04-12", "orderkey": 1537 }
-{ "partkey": 18, "pid": 2, "shipdate": "1992-04-21", "orderkey": 2880 }
-{ "partkey": 18, "pid": 3, "shipdate": "1992-05-21", "orderkey": 2688 }
-{ "partkey": 19, "pid": 1, "shipdate": "1992-07-19", "orderkey": 2023 }
-{ "partkey": 19, "pid": 2, "shipdate": "1992-10-21", "orderkey": 481 }
-{ "partkey": 19, "pid": 3, "shipdate": "1992-12-22", "orderkey": 164 }
-{ "partkey": 21, "pid": 1, "shipdate": "1992-07-31", "orderkey": 549 }
-{ "partkey": 21, "pid": 2, "shipdate": "1992-09-09", "orderkey": 4581 }
-{ "partkey": 21, "pid": 3, "shipdate": "1993-01-09", "orderkey": 481 }
-{ "partkey": 25, "pid": 1, "shipdate": "1992-02-04", "orderkey": 2688 }
-{ "partkey": 25, "pid": 2, "shipdate": "1992-07-23", "orderkey": 5060 }
-{ "partkey": 25, "pid": 3, "shipdate": "1992-08-01", "orderkey": 868 }
-{ "partkey": 26, "pid": 1, "shipdate": "1992-02-23", "orderkey": 4800 }
-{ "partkey": 26, "pid": 2, "shipdate": "1992-05-09", "orderkey": 801 }
-{ "partkey": 26, "pid": 3, "shipdate": "1993-01-04", "orderkey": 2146 }
-{ "partkey": 37, "pid": 1, "shipdate": "1992-08-30", "orderkey": 1088 }
-{ "partkey": 37, "pid": 2, "shipdate": "1992-10-03", "orderkey": 2500 }
-{ "partkey": 37, "pid": 3, "shipdate": "1993-01-31", "orderkey": 3074 }
-{ "partkey": 42, "pid": 1, "shipdate": "1992-10-23", "orderkey": 2560 }
-{ "partkey": 42, "pid": 2, "shipdate": "1992-11-04", "orderkey": 2566 }
-{ "partkey": 42, "pid": 3, "shipdate": "1992-12-12", "orderkey": 1571 }
-{ "partkey": 43, "pid": 1, "shipdate": "1992-06-18", "orderkey": 4069 }
-{ "partkey": 43, "pid": 2, "shipdate": "1992-06-30", "orderkey": 2052 }
-{ "partkey": 43, "pid": 3, "shipdate": "1992-08-28", "orderkey": 5959 }
-{ "partkey": 46, "pid": 1, "shipdate": "1992-04-28", "orderkey": 4230 }
-{ "partkey": 46, "pid": 2, "shipdate": "1992-05-08", "orderkey": 3043 }
-{ "partkey": 46, "pid": 3, "shipdate": "1992-05-21", "orderkey": 3845 }
-{ "partkey": 48, "pid": 1, "shipdate": "1992-05-10", "orderkey": 2691 }
-{ "partkey": 48, "pid": 2, "shipdate": "1992-06-03", "orderkey": 5473 }
-{ "partkey": 48, "pid": 3, "shipdate": "1992-06-15", "orderkey": 832 }
-{ "partkey": 51, "pid": 1, "shipdate": "1992-03-11", "orderkey": 5860 }
-{ "partkey": 51, "pid": 2, "shipdate": "1992-05-15", "orderkey": 2786 }
-{ "partkey": 51, "pid": 3, "shipdate": "1992-05-17", "orderkey": 644 }
-{ "partkey": 52, "pid": 1, "shipdate": "1992-05-31", "orderkey": 1057 }
-{ "partkey": 52, "pid": 2, "shipdate": "1992-09-03", "orderkey": 4838 }
-{ "partkey": 52, "pid": 3, "shipdate": "1992-09-21", "orderkey": 3907 }
-{ "partkey": 54, "pid": 1, "shipdate": "1992-04-07", "orderkey": 4515 }
-{ "partkey": 54, "pid": 2, "shipdate": "1992-05-01", "orderkey": 3271 }
-{ "partkey": 54, "pid": 3, "shipdate": "1992-06-24", "orderkey": 1701 }
-{ "partkey": 56, "pid": 1, "shipdate": "1992-01-16", "orderkey": 1248 }
-{ "partkey": 56, "pid": 2, "shipdate": "1992-03-02", "orderkey": 3685 }
-{ "partkey": 56, "pid": 3, "shipdate": "1992-06-18", "orderkey": 3205 }
-{ "partkey": 58, "pid": 1, "shipdate": "1992-05-16", "orderkey": 3685 }
-{ "partkey": 58, "pid": 2, "shipdate": "1992-10-30", "orderkey": 4896 }
-{ "partkey": 58, "pid": 3, "shipdate": "1993-04-10", "orderkey": 1412 }
-{ "partkey": 61, "pid": 1, "shipdate": "1993-07-14", "orderkey": 2020 }
-{ "partkey": 61, "pid": 2, "shipdate": "1993-07-15", "orderkey": 5318 }
-{ "partkey": 61, "pid": 3, "shipdate": "1993-09-29", "orderkey": 261 }
-{ "partkey": 65, "pid": 1, "shipdate": "1992-03-02", "orderkey": 4804 }
-{ "partkey": 65, "pid": 2, "shipdate": "1992-04-14", "orderkey": 2848 }
-{ "partkey": 65, "pid": 3, "shipdate": "1992-06-26", "orderkey": 5095 }
-{ "partkey": 68, "pid": 1, "shipdate": "1992-04-13", "orderkey": 3842 }
-{ "partkey": 68, "pid": 2, "shipdate": "1992-06-08", "orderkey": 5121 }
-{ "partkey": 68, "pid": 3, "shipdate": "1992-06-22", "orderkey": 868 }
-{ "partkey": 72, "pid": 1, "shipdate": "1992-09-16", "orderkey": 3265 }
-{ "partkey": 72, "pid": 2, "shipdate": "1992-10-02", "orderkey": 5635 }
-{ "partkey": 72, "pid": 3, "shipdate": "1992-10-17", "orderkey": 3655 }
-{ "partkey": 74, "pid": 1, "shipdate": "1992-03-21", "orderkey": 4162 }
-{ "partkey": 74, "pid": 2, "shipdate": "1992-03-22", "orderkey": 801 }
-{ "partkey": 74, "pid": 3, "shipdate": "1992-10-21", "orderkey": 929 }
-{ "partkey": 78, "pid": 1, "shipdate": "1992-03-04", "orderkey": 2210 }
-{ "partkey": 78, "pid": 2, "shipdate": "1992-04-04", "orderkey": 2022 }
-{ "partkey": 78, "pid": 3, "shipdate": "1992-05-06", "orderkey": 1764 }
-{ "partkey": 84, "pid": 1, "shipdate": "1992-09-08", "orderkey": 1285 }
-{ "partkey": 84, "pid": 2, "shipdate": "1993-05-15", "orderkey": 2597 }
-{ "partkey": 84, "pid": 3, "shipdate": "1993-05-20", "orderkey": 772 }
-{ "partkey": 86, "pid": 1, "shipdate": "1992-05-25", "orderkey": 2240 }
-{ "partkey": 86, "pid": 2, "shipdate": "1992-11-18", "orderkey": 4896 }
-{ "partkey": 86, "pid": 3, "shipdate": "1993-03-01", "orderkey": 4166 }
-{ "partkey": 95, "pid": 1, "shipdate": "1992-02-24", "orderkey": 3271 }
-{ "partkey": 95, "pid": 2, "shipdate": "1992-03-14", "orderkey": 801 }
-{ "partkey": 95, "pid": 3, "shipdate": "1992-11-17", "orderkey": 2176 }
-{ "partkey": 100, "pid": 1, "shipdate": "1992-03-24", "orderkey": 2022 }
-{ "partkey": 100, "pid": 2, "shipdate": "1992-03-24", "orderkey": 292 }
-{ "partkey": 100, "pid": 3, "shipdate": "1992-06-18", "orderkey": 4738 }
-{ "partkey": 103, "pid": 1, "shipdate": "1992-03-28", "orderkey": 4515 }
-{ "partkey": 103, "pid": 2, "shipdate": "1992-05-08", "orderkey": 832 }
-{ "partkey": 103, "pid": 3, "shipdate": "1992-07-11", "orderkey": 4900 }
-{ "partkey": 104, "pid": 1, "shipdate": "1992-03-17", "orderkey": 5409 }
-{ "partkey": 104, "pid": 2, "shipdate": "1992-11-08", "orderkey": 4897 }
-{ "partkey": 104, "pid": 3, "shipdate": "1994-01-22", "orderkey": 5479 }
-{ "partkey": 108, "pid": 1, "shipdate": "1992-07-28", "orderkey": 1826 }
-{ "partkey": 108, "pid": 2, "shipdate": "1992-08-01", "orderkey": 1221 }
-{ "partkey": 108, "pid": 3, "shipdate": "1992-09-07", "orderkey": 2560 }
-{ "partkey": 114, "pid": 1, "shipdate": "1992-11-19", "orderkey": 3014 }
-{ "partkey": 114, "pid": 2, "shipdate": "1992-11-22", "orderkey": 1506 }
-{ "partkey": 114, "pid": 3, "shipdate": "1993-03-22", "orderkey": 710 }
-{ "partkey": 118, "pid": 1, "shipdate": "1992-06-18", "orderkey": 4035 }
-{ "partkey": 118, "pid": 2, "shipdate": "1992-09-27", "orderkey": 1793 }
-{ "partkey": 118, "pid": 3, "shipdate": "1992-10-02", "orderkey": 5408 }
-{ "partkey": 119, "pid": 1, "shipdate": "1992-05-08", "orderkey": 5574 }
-{ "partkey": 119, "pid": 2, "shipdate": "1992-05-27", "orderkey": 5959 }
-{ "partkey": 119, "pid": 3, "shipdate": "1992-09-07", "orderkey": 4294 }
-{ "partkey": 122, "pid": 1, "shipdate": "1992-03-12", "orderkey": 1248 }
-{ "partkey": 122, "pid": 2, "shipdate": "1992-04-09", "orderkey": 2912 }
-{ "partkey": 122, "pid": 3, "shipdate": "1992-06-05", "orderkey": 801 }
-{ "partkey": 123, "pid": 1, "shipdate": "1992-02-01", "orderkey": 3011 }
-{ "partkey": 123, "pid": 2, "shipdate": "1992-06-20", "orderkey": 5095 }
-{ "partkey": 123, "pid": 3, "shipdate": "1992-11-22", "orderkey": 1505 }
-{ "partkey": 130, "pid": 1, "shipdate": "1992-04-03", "orderkey": 4705 }
-{ "partkey": 130, "pid": 2, "shipdate": "1992-05-23", "orderkey": 1856 }
-{ "partkey": 130, "pid": 3, "shipdate": "1992-08-20", "orderkey": 644 }
-{ "partkey": 132, "pid": 1, "shipdate": "1992-04-17", "orderkey": 5607 }
-{ "partkey": 132, "pid": 2, "shipdate": "1992-06-14", "orderkey": 384 }
-{ "partkey": 132, "pid": 3, "shipdate": "1992-07-06", "orderkey": 3172 }
-{ "partkey": 134, "pid": 1, "shipdate": "1992-05-17", "orderkey": 3685 }
-{ "partkey": 134, "pid": 2, "shipdate": "1992-05-20", "orderkey": 644 }
-{ "partkey": 134, "pid": 3, "shipdate": "1992-05-29", "orderkey": 421 }
-{ "partkey": 136, "pid": 1, "shipdate": "1992-05-19", "orderkey": 2786 }
-{ "partkey": 136, "pid": 2, "shipdate": "1992-05-21", "orderkey": 4035 }
-{ "partkey": 136, "pid": 3, "shipdate": "1992-06-07", "orderkey": 4805 }
-{ "partkey": 140, "pid": 1, "shipdate": "1992-03-20", "orderkey": 1537 }
-{ "partkey": 140, "pid": 2, "shipdate": "1992-04-27", "orderkey": 6 }
-{ "partkey": 140, "pid": 3, "shipdate": "1992-08-03", "orderkey": 2881 }
-{ "partkey": 141, "pid": 1, "shipdate": "1992-01-13", "orderkey": 5409 }
-{ "partkey": 141, "pid": 2, "shipdate": "1992-02-01", "orderkey": 3712 }
-{ "partkey": 141, "pid": 3, "shipdate": "1992-06-22", "orderkey": 1344 }
-{ "partkey": 149, "pid": 1, "shipdate": "1992-03-22", "orderkey": 5382 }
-{ "partkey": 149, "pid": 2, "shipdate": "1992-04-29", "orderkey": 2688 }
-{ "partkey": 149, "pid": 3, "shipdate": "1992-05-14", "orderkey": 194 }
-{ "partkey": 158, "pid": 1, "shipdate": "1992-08-01", "orderkey": 1955 }
-{ "partkey": 158, "pid": 2, "shipdate": "1992-08-29", "orderkey": 5254 }
-{ "partkey": 158, "pid": 3, "shipdate": "1992-09-18", "orderkey": 5089 }
-{ "partkey": 159, "pid": 1, "shipdate": "1992-05-07", "orderkey": 5409 }
-{ "partkey": 159, "pid": 2, "shipdate": "1992-06-03", "orderkey": 1955 }
-{ "partkey": 159, "pid": 3, "shipdate": "1992-07-10", "orderkey": 4738 }
-{ "partkey": 170, "pid": 1, "shipdate": "1992-08-07", "orderkey": 1221 }
-{ "partkey": 170, "pid": 2, "shipdate": "1993-03-17", "orderkey": 738 }
-{ "partkey": 170, "pid": 3, "shipdate": "1993-06-19", "orderkey": 3874 }
-{ "partkey": 171, "pid": 1, "shipdate": "1992-11-09", "orderkey": 3361 }
-{ "partkey": 171, "pid": 2, "shipdate": "1994-01-22", "orderkey": 4675 }
-{ "partkey": 171, "pid": 3, "shipdate": "1995-01-02", "orderkey": 5317 }
-{ "partkey": 172, "pid": 1, "shipdate": "1992-09-06", "orderkey": 2247 }
-{ "partkey": 172, "pid": 2, "shipdate": "1993-05-01", "orderkey": 167 }
-{ "partkey": 172, "pid": 3, "shipdate": "1993-06-16", "orderkey": 1600 }
-{ "partkey": 179, "pid": 1, "shipdate": "1992-05-30", "orderkey": 1537 }
-{ "partkey": 179, "pid": 2, "shipdate": "1992-06-02", "orderkey": 384 }
-{ "partkey": 179, "pid": 3, "shipdate": "1992-09-20", "orderkey": 4741 }
-{ "partkey": 183, "pid": 1, "shipdate": "1992-04-24", "orderkey": 4998 }
-{ "partkey": 183, "pid": 2, "shipdate": "1992-10-24", "orderkey": 5408 }
-{ "partkey": 183, "pid": 3, "shipdate": "1993-01-08", "orderkey": 1571 }
-{ "partkey": 185, "pid": 1, "shipdate": "1992-04-30", "orderkey": 3712 }
-{ "partkey": 185, "pid": 2, "shipdate": "1992-06-20", "orderkey": 5574 }
-{ "partkey": 185, "pid": 3, "shipdate": "1992-07-23", "orderkey": 2023 }
-{ "partkey": 187, "pid": 1, "shipdate": "1992-04-01", "orderkey": 4391 }
-{ "partkey": 187, "pid": 2, "shipdate": "1992-05-30", "orderkey": 4738 }
-{ "partkey": 187, "pid": 3, "shipdate": "1992-06-01", "orderkey": 4738 }
-{ "partkey": 188, "pid": 1, "shipdate": "1992-09-15", "orderkey": 1285 }
-{ "partkey": 188, "pid": 2, "shipdate": "1993-04-08", "orderkey": 5381 }
-{ "partkey": 188, "pid": 3, "shipdate": "1993-05-03", "orderkey": 4226 }
-{ "partkey": 190, "pid": 1, "shipdate": "1992-04-14", "orderkey": 1856 }
-{ "partkey": 190, "pid": 2, "shipdate": "1992-07-17", "orderkey": 1344 }
-{ "partkey": 190, "pid": 3, "shipdate": "1992-10-12", "orderkey": 1185 }
-{ "partkey": 195, "pid": 1, "shipdate": "1992-04-10", "orderkey": 2848 }
-{ "partkey": 195, "pid": 2, "shipdate": "1992-05-07", "orderkey": 3744 }
-{ "partkey": 195, "pid": 3, "shipdate": "1992-05-28", "orderkey": 3205 }
-{ "partkey": 3, "pid": 1, "shipdate": "1992-04-25", "orderkey": 801 }
-{ "partkey": 3, "pid": 2, "shipdate": "1992-05-24", "orderkey": 194 }
-{ "partkey": 3, "pid": 3, "shipdate": "1993-01-03", "orderkey": 3776 }
-{ "partkey": 6, "pid": 1, "shipdate": "1992-04-05", "orderkey": 4483 }
-{ "partkey": 6, "pid": 2, "shipdate": "1992-04-25", "orderkey": 801 }
-{ "partkey": 6, "pid": 3, "shipdate": "1992-04-29", "orderkey": 2689 }
-{ "partkey": 7, "pid": 1, "shipdate": "1992-04-12", "orderkey": 3140 }
-{ "partkey": 7, "pid": 2, "shipdate": "1993-02-11", "orderkey": 3204 }
-{ "partkey": 7, "pid": 3, "shipdate": "1993-06-25", "orderkey": 5794 }
-{ "partkey": 12, "pid": 1, "shipdate": "1992-07-04", "orderkey": 130 }
-{ "partkey": 12, "pid": 2, "shipdate": "1992-07-17", "orderkey": 322 }
-{ "partkey": 12, "pid": 3, "shipdate": "1992-09-02", "orderkey": 2497 }
-{ "partkey": 17, "pid": 1, "shipdate": "1992-07-23", "orderkey": 967 }
-{ "partkey": 17, "pid": 2, "shipdate": "1993-03-01", "orderkey": 931 }
-{ "partkey": 17, "pid": 3, "shipdate": "1993-05-06", "orderkey": 611 }
-{ "partkey": 23, "pid": 1, "shipdate": "1992-04-04", "orderkey": 2786 }
-{ "partkey": 23, "pid": 2, "shipdate": "1992-06-19", "orderkey": 1856 }
-{ "partkey": 23, "pid": 3, "shipdate": "1992-06-29", "orderkey": 1282 }
-{ "partkey": 31, "pid": 1, "shipdate": "1992-07-14", "orderkey": 4705 }
-{ "partkey": 31, "pid": 2, "shipdate": "1992-09-24", "orderkey": 1185 }
-{ "partkey": 31, "pid": 3, "shipdate": "1992-09-29", "orderkey": 5415 }
-{ "partkey": 35, "pid": 1, "shipdate": "1992-03-11", "orderkey": 4230 }
-{ "partkey": 35, "pid": 2, "shipdate": "1992-04-06", "orderkey": 4804 }
-{ "partkey": 35, "pid": 3, "shipdate": "1992-05-26", "orderkey": 2880 }
-{ "partkey": 44, "pid": 1, "shipdate": "1992-02-14", "orderkey": 4292 }
-{ "partkey": 44, "pid": 2, "shipdate": "1992-06-11", "orderkey": 322 }
-{ "partkey": 44, "pid": 3, "shipdate": "1992-11-29", "orderkey": 2147 }
-{ "partkey": 49, "pid": 1, "shipdate": "1992-04-29", "orderkey": 2983 }
-{ "partkey": 49, "pid": 2, "shipdate": "1992-06-14", "orderkey": 2022 }
-{ "partkey": 49, "pid": 3, "shipdate": "1992-08-13", "orderkey": 933 }
-{ "partkey": 66, "pid": 1, "shipdate": "1992-05-07", "orderkey": 194 }
-{ "partkey": 66, "pid": 2, "shipdate": "1992-09-11", "orderkey": 549 }
-{ "partkey": 66, "pid": 3, "shipdate": "1992-10-10", "orderkey": 3015 }
-{ "partkey": 71, "pid": 1, "shipdate": "1992-11-10", "orderkey": 2497 }
-{ "partkey": 71, "pid": 2, "shipdate": "1993-01-10", "orderkey": 2146 }
-{ "partkey": 71, "pid": 3, "shipdate": "1993-02-28", "orderkey": 4611 }
-{ "partkey": 77, "pid": 1, "shipdate": "1992-08-18", "orderkey": 4900 }
-{ "partkey": 77, "pid": 2, "shipdate": "1992-12-23", "orderkey": 2497 }
-{ "partkey": 77, "pid": 3, "shipdate": "1993-06-19", "orderkey": 4166 }
-{ "partkey": 80, "pid": 1, "shipdate": "1992-05-18", "orderkey": 644 }
-{ "partkey": 80, "pid": 2, "shipdate": "1992-09-02", "orderkey": 2500 }
-{ "partkey": 80, "pid": 3, "shipdate": "1993-06-07", "orderkey": 3877 }
-{ "partkey": 81, "pid": 1, "shipdate": "1992-04-11", "orderkey": 2240 }
-{ "partkey": 81, "pid": 2, "shipdate": "1992-06-22", "orderkey": 1221 }
-{ "partkey": 81, "pid": 3, "shipdate": "1992-12-30", "orderkey": 5954 }
-{ "partkey": 89, "pid": 1, "shipdate": "1992-04-18", "orderkey": 2688 }
-{ "partkey": 89, "pid": 2, "shipdate": "1992-04-19", "orderkey": 4705 }
-{ "partkey": 89, "pid": 3, "shipdate": "1992-05-27", "orderkey": 5121 }
-{ "partkey": 90, "pid": 1, "shipdate": "1992-02-25", "orderkey": 4162 }
-{ "partkey": 90, "pid": 2, "shipdate": "1992-06-07", "orderkey": 5474 }
-{ "partkey": 90, "pid": 3, "shipdate": "1992-08-21", "orderkey": 5986 }
-{ "partkey": 91, "pid": 1, "shipdate": "1992-05-22", "orderkey": 3043 }
-{ "partkey": 91, "pid": 2, "shipdate": "1992-06-21", "orderkey": 2691 }
-{ "partkey": 91, "pid": 3, "shipdate": "1992-12-03", "orderkey": 3015 }
-{ "partkey": 93, "pid": 1, "shipdate": "1992-05-28", "orderkey": 2881 }
-{ "partkey": 93, "pid": 2, "shipdate": "1992-06-24", "orderkey": 384 }
-{ "partkey": 93, "pid": 3, "shipdate": "1992-09-11", "orderkey": 3654 }
-{ "partkey": 96, "pid": 1, "shipdate": "1992-06-18", "orderkey": 2052 }
-{ "partkey": 96, "pid": 2, "shipdate": "1992-09-26", "orderkey": 3172 }
-{ "partkey": 96, "pid": 3, "shipdate": "1992-11-25", "orderkey": 1159 }
-{ "partkey": 97, "pid": 1, "shipdate": "1992-01-27", "orderkey": 4800 }
-{ "partkey": 97, "pid": 2, "shipdate": "1992-03-22", "orderkey": 1856 }
-{ "partkey": 97, "pid": 3, "shipdate": "1992-04-21", "orderkey": 4035 }
-{ "partkey": 121, "pid": 1, "shipdate": "1992-04-23", "orderkey": 4903 }
-{ "partkey": 121, "pid": 2, "shipdate": "1992-06-09", "orderkey": 1764 }
-{ "partkey": 121, "pid": 3, "shipdate": "1992-06-23", "orderkey": 2054 }
-{ "partkey": 124, "pid": 1, "shipdate": "1992-06-15", "orderkey": 1088 }
-{ "partkey": 124, "pid": 2, "shipdate": "1992-08-09", "orderkey": 2209 }
-{ "partkey": 124, "pid": 3, "shipdate": "1992-09-13", "orderkey": 1346 }
-{ "partkey": 125, "pid": 1, "shipdate": "1992-03-15", "orderkey": 2848 }
-{ "partkey": 125, "pid": 2, "shipdate": "1992-03-29", "orderkey": 4230 }
-{ "partkey": 125, "pid": 3, "shipdate": "1992-05-24", "orderkey": 4069 }
-{ "partkey": 133, "pid": 1, "shipdate": "1992-06-08", "orderkey": 3140 }
-{ "partkey": 133, "pid": 2, "shipdate": "1992-11-17", "orderkey": 4864 }
-{ "partkey": 133, "pid": 3, "shipdate": "1993-01-18", "orderkey": 1506 }
-{ "partkey": 139, "pid": 1, "shipdate": "1992-04-12", "orderkey": 2880 }
-{ "partkey": 139, "pid": 2, "shipdate": "1992-06-28", "orderkey": 4992 }
-{ "partkey": 139, "pid": 3, "shipdate": "1992-09-12", "orderkey": 4099 }
-{ "partkey": 142, "pid": 1, "shipdate": "1992-10-14", "orderkey": 3556 }
-{ "partkey": 142, "pid": 2, "shipdate": "1993-05-14", "orderkey": 2241 }
-{ "partkey": 142, "pid": 3, "shipdate": "1993-07-11", "orderkey": 5670 }
-{ "partkey": 143, "pid": 1, "shipdate": "1992-04-17", "orderkey": 1154 }
-{ "partkey": 143, "pid": 2, "shipdate": "1992-09-01", "orderkey": 3524 }
-{ "partkey": 143, "pid": 3, "shipdate": "1992-09-05", "orderkey": 1285 }
-{ "partkey": 148, "pid": 1, "shipdate": "1992-01-15", "orderkey": 3712 }
-{ "partkey": 148, "pid": 2, "shipdate": "1992-02-27", "orderkey": 5601 }
-{ "partkey": 148, "pid": 3, "shipdate": "1992-04-22", "orderkey": 1154 }
-{ "partkey": 150, "pid": 1, "shipdate": "1992-05-01", "orderkey": 4805 }
-{ "partkey": 150, "pid": 2, "shipdate": "1992-05-02", "orderkey": 1856 }
-{ "partkey": 150, "pid": 3, "shipdate": "1992-05-25", "orderkey": 1701 }
-{ "partkey": 151, "pid": 1, "shipdate": "1992-01-26", "orderkey": 1248 }
-{ "partkey": 151, "pid": 2, "shipdate": "1992-07-30", "orderkey": 4256 }
-{ "partkey": 151, "pid": 3, "shipdate": "1992-12-19", "orderkey": 3014 }
-{ "partkey": 153, "pid": 1, "shipdate": "1992-02-22", "orderkey": 5382 }
-{ "partkey": 153, "pid": 2, "shipdate": "1992-06-02", "orderkey": 5767 }
-{ "partkey": 153, "pid": 3, "shipdate": "1992-06-29", "orderkey": 322 }
-{ "partkey": 155, "pid": 1, "shipdate": "1992-09-28", "orderkey": 1956 }
-{ "partkey": 155, "pid": 2, "shipdate": "1992-11-25", "orderkey": 5378 }
-{ "partkey": 155, "pid": 3, "shipdate": "1993-05-14", "orderkey": 2305 }
-{ "partkey": 162, "pid": 1, "shipdate": "1992-04-10", "orderkey": 5953 }
-{ "partkey": 162, "pid": 2, "shipdate": "1992-05-03", "orderkey": 2786 }
-{ "partkey": 162, "pid": 3, "shipdate": "1992-06-11", "orderkey": 2691 }
-{ "partkey": 165, "pid": 1, "shipdate": "1992-03-21", "orderkey": 2848 }
-{ "partkey": 165, "pid": 2, "shipdate": "1992-04-01", "orderkey": 4903 }
-{ "partkey": 165, "pid": 3, "shipdate": "1992-04-12", "orderkey": 3168 }
-{ "partkey": 169, "pid": 1, "shipdate": "1992-03-31", "orderkey": 1057 }
-{ "partkey": 169, "pid": 2, "shipdate": "1992-06-05", "orderkey": 5953 }
-{ "partkey": 169, "pid": 3, "shipdate": "1992-06-07", "orderkey": 1894 }
-{ "partkey": 174, "pid": 1, "shipdate": "1992-06-25", "orderkey": 2054 }
-{ "partkey": 174, "pid": 2, "shipdate": "1992-11-02", "orderkey": 1991 }
-{ "partkey": 174, "pid": 3, "shipdate": "1992-12-02", "orderkey": 4261 }
-{ "partkey": 177, "pid": 1, "shipdate": "1992-04-05", "orderkey": 5382 }
-{ "partkey": 177, "pid": 2, "shipdate": "1992-12-25", "orderkey": 1956 }
-{ "partkey": 177, "pid": 3, "shipdate": "1993-01-16", "orderkey": 3680 }
-{ "partkey": 178, "pid": 1, "shipdate": "1992-05-23", "orderkey": 5095 }
-{ "partkey": 178, "pid": 2, "shipdate": "1992-08-18", "orderkey": 2209 }
-{ "partkey": 178, "pid": 3, "shipdate": "1992-11-02", "orderkey": 1504 }
-{ "partkey": 180, "pid": 1, "shipdate": "1992-03-07", "orderkey": 5382 }
-{ "partkey": 180, "pid": 2, "shipdate": "1992-05-23", "orderkey": 4515 }
-{ "partkey": 180, "pid": 3, "shipdate": "1992-06-21", "orderkey": 2881 }
-{ "partkey": 182, "pid": 1, "shipdate": "1992-03-02", "orderkey": 1057 }
-{ "partkey": 182, "pid": 2, "shipdate": "1992-04-02", "orderkey": 384 }
-{ "partkey": 182, "pid": 3, "shipdate": "1992-04-28", "orderkey": 737 }
-{ "partkey": 4, "pid": 1, "shipdate": "1992-05-02", "orderkey": 4292 }
-{ "partkey": 4, "pid": 2, "shipdate": "1992-11-03", "orderkey": 164 }
-{ "partkey": 4, "pid": 3, "shipdate": "1992-11-18", "orderkey": 2019 }
-{ "partkey": 5, "pid": 1, "shipdate": "1992-05-02", "orderkey": 3970 }
-{ "partkey": 5, "pid": 2, "shipdate": "1992-06-14", "orderkey": 5959 }
-{ "partkey": 5, "pid": 3, "shipdate": "1993-01-06", "orderkey": 3680 }
-{ "partkey": 11, "pid": 1, "shipdate": "1992-02-14", "orderkey": 4800 }
-{ "partkey": 11, "pid": 2, "shipdate": "1992-07-20", "orderkey": 5858 }
-{ "partkey": 11, "pid": 3, "shipdate": "1992-08-03", "orderkey": 3237 }
-{ "partkey": 14, "pid": 1, "shipdate": "1992-07-17", "orderkey": 5028 }
-{ "partkey": 14, "pid": 2, "shipdate": "1992-11-30", "orderkey": 3232 }
-{ "partkey": 14, "pid": 3, "shipdate": "1993-05-10", "orderkey": 2279 }
-{ "partkey": 15, "pid": 1, "shipdate": "1992-05-18", "orderkey": 5473 }
-{ "partkey": 15, "pid": 2, "shipdate": "1992-05-24", "orderkey": 2688 }
-{ "partkey": 15, "pid": 3, "shipdate": "1993-04-14", "orderkey": 5472 }
-{ "partkey": 22, "pid": 1, "shipdate": "1992-06-21", "orderkey": 1285 }
-{ "partkey": 22, "pid": 2, "shipdate": "1992-06-25", "orderkey": 3970 }
-{ "partkey": 22, "pid": 3, "shipdate": "1992-11-20", "orderkey": 1447 }
-{ "partkey": 24, "pid": 1, "shipdate": "1992-04-12", "orderkey": 2755 }
-{ "partkey": 24, "pid": 2, "shipdate": "1992-08-06", "orderkey": 4260 }
-{ "partkey": 24, "pid": 3, "shipdate": "1992-08-08", "orderkey": 3845 }
-{ "partkey": 29, "pid": 1, "shipdate": "1992-05-25", "orderkey": 4738 }
-{ "partkey": 29, "pid": 2, "shipdate": "1992-06-01", "orderkey": 3205 }
-{ "partkey": 29, "pid": 3, "shipdate": "1992-07-25", "orderkey": 868 }
-{ "partkey": 33, "pid": 1, "shipdate": "1992-03-22", "orderkey": 5574 }
-{ "partkey": 33, "pid": 2, "shipdate": "1993-02-17", "orderkey": 4163 }
-{ "partkey": 33, "pid": 3, "shipdate": "1993-02-21", "orderkey": 388 }
-{ "partkey": 34, "pid": 1, "shipdate": "1992-07-03", "orderkey": 322 }
-{ "partkey": 34, "pid": 2, "shipdate": "1992-07-20", "orderkey": 3845 }
-{ "partkey": 34, "pid": 3, "shipdate": "1992-11-23", "orderkey": 5089 }
-{ "partkey": 36, "pid": 1, "shipdate": "1992-02-26", "orderkey": 1154 }
-{ "partkey": 36, "pid": 2, "shipdate": "1992-07-03", "orderkey": 134 }
-{ "partkey": 36, "pid": 3, "shipdate": "1993-01-06", "orderkey": 3521 }
-{ "partkey": 38, "pid": 1, "shipdate": "1992-04-06", "orderkey": 5601 }
-{ "partkey": 38, "pid": 2, "shipdate": "1992-04-15", "orderkey": 322 }
-{ "partkey": 38, "pid": 3, "shipdate": "1992-08-27", "orderkey": 2023 }
-{ "partkey": 41, "pid": 1, "shipdate": "1992-12-13", "orderkey": 4896 }
-{ "partkey": 41, "pid": 2, "shipdate": "1993-01-18", "orderkey": 2852 }
-{ "partkey": 41, "pid": 3, "shipdate": "1993-04-13", "orderkey": 3367 }
-{ "partkey": 47, "pid": 1, "shipdate": "1992-03-11", "orderkey": 3685 }
-{ "partkey": 47, "pid": 2, "shipdate": "1993-05-30", "orderkey": 3171 }
-{ "partkey": 47, "pid": 3, "shipdate": "1993-06-06", "orderkey": 2341 }
-{ "partkey": 53, "pid": 1, "shipdate": "1992-01-14", "orderkey": 4800 }
-{ "partkey": 53, "pid": 2, "shipdate": "1992-05-22", "orderkey": 2240 }
-{ "partkey": 53, "pid": 3, "shipdate": "1992-10-04", "orderkey": 2562 }
-{ "partkey": 60, "pid": 1, "shipdate": "1992-02-14", "orderkey": 3168 }
-{ "partkey": 60, "pid": 2, "shipdate": "1992-07-01", "orderkey": 1217 }
-{ "partkey": 60, "pid": 3, "shipdate": "1992-07-15", "orderkey": 3043 }
-{ "partkey": 62, "pid": 1, "shipdate": "1992-02-01", "orderkey": 1248 }
-{ "partkey": 62, "pid": 2, "shipdate": "1992-03-26", "orderkey": 5382 }
-{ "partkey": 62, "pid": 3, "shipdate": "1992-06-19", "orderkey": 4483 }
-{ "partkey": 64, "pid": 1, "shipdate": "1992-02-13", "orderkey": 2755 }
-{ "partkey": 64, "pid": 2, "shipdate": "1992-02-14", "orderkey": 5409 }
-{ "partkey": 64, "pid": 3, "shipdate": "1992-03-10", "orderkey": 3271 }
-{ "partkey": 67, "pid": 1, "shipdate": "1992-05-13", "orderkey": 1764 }
-{ "partkey": 67, "pid": 2, "shipdate": "1993-01-08", "orderkey": 612 }
-{ "partkey": 67, "pid": 3, "shipdate": "1993-11-03", "orderkey": 2631 }
-{ "partkey": 70, "pid": 1, "shipdate": "1992-04-06", "orderkey": 5473 }
-{ "partkey": 70, "pid": 2, "shipdate": "1992-06-11", "orderkey": 4199 }
-{ "partkey": 70, "pid": 3, "shipdate": "1992-06-25", "orderkey": 3650 }
-{ "partkey": 73, "pid": 1, "shipdate": "1992-01-08", "orderkey": 5601 }
-{ "partkey": 73, "pid": 2, "shipdate": "1992-09-16", "orderkey": 4741 }
-{ "partkey": 73, "pid": 3, "shipdate": "1993-07-02", "orderkey": 4743 }
-{ "partkey": 75, "pid": 1, "shipdate": "1992-03-27", "orderkey": 4000 }
-{ "partkey": 75, "pid": 2, "shipdate": "1992-05-12", "orderkey": 4230 }
-{ "partkey": 75, "pid": 3, "shipdate": "1992-09-19", "orderkey": 4103 }
-{ "partkey": 76, "pid": 1, "shipdate": "1992-10-22", "orderkey": 5408 }
-{ "partkey": 76, "pid": 2, "shipdate": "1993-04-19", "orderkey": 2272 }
-{ "partkey": 76, "pid": 3, "shipdate": "1993-06-12", "orderkey": 2245 }
-{ "partkey": 79, "pid": 1, "shipdate": "1992-08-05", "orderkey": 4069 }
-{ "partkey": 79, "pid": 2, "shipdate": "1992-08-10", "orderkey": 5986 }
-{ "partkey": 79, "pid": 3, "shipdate": "1993-04-08", "orderkey": 4418 }
-{ "partkey": 82, "pid": 1, "shipdate": "1992-07-17", "orderkey": 4867 }
-{ "partkey": 82, "pid": 2, "shipdate": "1992-10-18", "orderkey": 1504 }
-{ "partkey": 82, "pid": 3, "shipdate": "1992-12-11", "orderkey": 4261 }
-{ "partkey": 92, "pid": 1, "shipdate": "1992-02-11", "orderkey": 2755 }
-{ "partkey": 92, "pid": 2, "shipdate": "1992-09-30", "orderkey": 487 }
-{ "partkey": 92, "pid": 3, "shipdate": "1993-01-04", "orderkey": 164 }
-{ "partkey": 94, "pid": 1, "shipdate": "1992-05-20", "orderkey": 5574 }
-{ "partkey": 94, "pid": 2, "shipdate": "1992-07-03", "orderkey": 3650 }
-{ "partkey": 94, "pid": 3, "shipdate": "1992-07-26", "orderkey": 3654 }
-{ "partkey": 99, "pid": 1, "shipdate": "1992-05-01", "orderkey": 4998 }
-{ "partkey": 99, "pid": 2, "shipdate": "1993-04-18", "orderkey": 1409 }
-{ "partkey": 99, "pid": 3, "shipdate": "1993-06-09", "orderkey": 2149 }
-{ "partkey": 101, "pid": 1, "shipdate": "1992-08-17", "orderkey": 644 }
-{ "partkey": 101, "pid": 2, "shipdate": "1992-09-27", "orderkey": 2147 }
-{ "partkey": 101, "pid": 3, "shipdate": "1992-12-28", "orderkey": 1571 }
-{ "partkey": 102, "pid": 1, "shipdate": "1992-08-19", "orderkey": 5415 }
-{ "partkey": 102, "pid": 2, "shipdate": "1992-08-21", "orderkey": 5408 }
-{ "partkey": 102, "pid": 3, "shipdate": "1992-10-25", "orderkey": 674 }
-{ "partkey": 105, "pid": 1, "shipdate": "1992-02-14", "orderkey": 5382 }
-{ "partkey": 105, "pid": 2, "shipdate": "1992-06-01", "orderkey": 615 }
-{ "partkey": 105, "pid": 3, "shipdate": "1992-07-14", "orderkey": 4900 }
-{ "partkey": 107, "pid": 1, "shipdate": "1992-05-22", "orderkey": 1088 }
-{ "partkey": 107, "pid": 2, "shipdate": "1992-07-30", "orderkey": 3654 }
-{ "partkey": 107, "pid": 3, "shipdate": "1992-08-05", "orderkey": 3842 }
-{ "partkey": 109, "pid": 1, "shipdate": "1992-06-06", "orderkey": 3970 }
-{ "partkey": 109, "pid": 2, "shipdate": "1992-11-20", "orderkey": 1159 }
-{ "partkey": 109, "pid": 3, "shipdate": "1992-12-23", "orderkey": 164 }
-{ "partkey": 111, "pid": 1, "shipdate": "1992-07-05", "orderkey": 4705 }
-{ "partkey": 111, "pid": 2, "shipdate": "1992-07-28", "orderkey": 5254 }
-{ "partkey": 111, "pid": 3, "shipdate": "1992-08-13", "orderkey": 5121 }
-{ "partkey": 115, "pid": 1, "shipdate": "1992-03-13", "orderkey": 2912 }
-{ "partkey": 115, "pid": 2, "shipdate": "1992-05-29", "orderkey": 3973 }
-{ "partkey": 115, "pid": 3, "shipdate": "1992-06-17", "orderkey": 2880 }
-{ "partkey": 116, "pid": 1, "shipdate": "1992-03-22", "orderkey": 2755 }
-{ "partkey": 116, "pid": 2, "shipdate": "1992-05-17", "orderkey": 1925 }
-{ "partkey": 116, "pid": 3, "shipdate": "1992-06-24", "orderkey": 5603 }
-{ "partkey": 117, "pid": 1, "shipdate": "1992-05-04", "orderkey": 1856 }
-{ "partkey": 117, "pid": 2, "shipdate": "1993-03-18", "orderkey": 4545 }
-{ "partkey": 117, "pid": 3, "shipdate": "1993-07-10", "orderkey": 3494 }
-{ "partkey": 120, "pid": 1, "shipdate": "1992-03-23", "orderkey": 4292 }
-{ "partkey": 120, "pid": 2, "shipdate": "1992-04-28", "orderkey": 1221 }
-{ "partkey": 120, "pid": 3, "shipdate": "1992-06-29", "orderkey": 4903 }
-{ "partkey": 137, "pid": 1, "shipdate": "1992-05-23", "orderkey": 3524 }
-{ "partkey": 137, "pid": 2, "shipdate": "1992-07-05", "orderkey": 1955 }
-{ "partkey": 137, "pid": 3, "shipdate": "1992-09-12", "orderkey": 4099 }
-{ "partkey": 138, "pid": 1, "shipdate": "1992-06-20", "orderkey": 2848 }
-{ "partkey": 138, "pid": 2, "shipdate": "1992-11-21", "orderkey": 1991 }
-{ "partkey": 138, "pid": 3, "shipdate": "1993-02-28", "orderkey": 4487 }
-{ "partkey": 145, "pid": 1, "shipdate": "1992-01-25", "orderkey": 4998 }
-{ "partkey": 145, "pid": 2, "shipdate": "1992-08-16", "orderkey": 134 }
-{ "partkey": 145, "pid": 3, "shipdate": "1992-10-25", "orderkey": 3907 }
-{ "partkey": 146, "pid": 1, "shipdate": "1992-05-21", "orderkey": 194 }
-{ "partkey": 146, "pid": 2, "shipdate": "1993-06-21", "orderkey": 678 }
-{ "partkey": 146, "pid": 3, "shipdate": "1993-08-02", "orderkey": 1286 }
-{ "partkey": 152, "pid": 1, "shipdate": "1992-06-23", "orderkey": 4230 }
-{ "partkey": 152, "pid": 2, "shipdate": "1993-05-19", "orderkey": 896 }
-{ "partkey": 152, "pid": 3, "shipdate": "1993-10-31", "orderkey": 2368 }
-{ "partkey": 154, "pid": 1, "shipdate": "1992-02-18", "orderkey": 292 }
-{ "partkey": 154, "pid": 2, "shipdate": "1992-02-20", "orderkey": 4998 }
-{ "partkey": 154, "pid": 3, "shipdate": "1992-05-14", "orderkey": 4805 }
-{ "partkey": 156, "pid": 1, "shipdate": "1992-04-24", "orderkey": 1248 }
-{ "partkey": 156, "pid": 2, "shipdate": "1992-06-17", "orderkey": 1027 }
-{ "partkey": 156, "pid": 3, "shipdate": "1992-07-01", "orderkey": 2786 }
-{ "partkey": 157, "pid": 1, "shipdate": "1992-07-26", "orderkey": 4069 }
-{ "partkey": 157, "pid": 2, "shipdate": "1992-08-11", "orderkey": 1729 }
-{ "partkey": 157, "pid": 3, "shipdate": "1992-08-25", "orderkey": 4741 }
-{ "partkey": 160, "pid": 1, "shipdate": "1992-05-07", "orderkey": 1282 }
-{ "partkey": 160, "pid": 2, "shipdate": "1992-07-04", "orderkey": 4867 }
-{ "partkey": 160, "pid": 3, "shipdate": "1992-08-18", "orderkey": 1346 }
-{ "partkey": 161, "pid": 1, "shipdate": "1992-03-29", "orderkey": 2240 }
-{ "partkey": 161, "pid": 2, "shipdate": "1992-06-18", "orderkey": 4391 }
-{ "partkey": 161, "pid": 3, "shipdate": "1992-08-28", "orderkey": 5060 }
-{ "partkey": 164, "pid": 1, "shipdate": "1992-03-25", "orderkey": 5601 }
-{ "partkey": 164, "pid": 2, "shipdate": "1992-04-17", "orderkey": 1248 }
-{ "partkey": 164, "pid": 3, "shipdate": "1992-06-06", "orderkey": 801 }
-{ "partkey": 166, "pid": 1, "shipdate": "1992-08-11", "orderkey": 2691 }
-{ "partkey": 166, "pid": 2, "shipdate": "1992-08-14", "orderkey": 5095 }
-{ "partkey": 166, "pid": 3, "shipdate": "1993-04-22", "orderkey": 1703 }
-{ "partkey": 168, "pid": 1, "shipdate": "1992-05-06", "orderkey": 194 }
-{ "partkey": 168, "pid": 2, "shipdate": "1992-07-20", "orderkey": 3654 }
-{ "partkey": 168, "pid": 3, "shipdate": "1992-10-07", "orderkey": 868 }
-{ "partkey": 173, "pid": 1, "shipdate": "1992-06-17", "orderkey": 4738 }
-{ "partkey": 173, "pid": 2, "shipdate": "1992-09-15", "orderkey": 3654 }
-{ "partkey": 173, "pid": 3, "shipdate": "1992-09-30", "orderkey": 1540 }
-{ "partkey": 175, "pid": 1, "shipdate": "1992-10-09", "orderkey": 929 }
-{ "partkey": 175, "pid": 2, "shipdate": "1992-11-09", "orderkey": 4294 }
-{ "partkey": 175, "pid": 3, "shipdate": "1992-11-10", "orderkey": 2497 }
-{ "partkey": 176, "pid": 1, "shipdate": "1992-02-01", "orderkey": 4800 }
-{ "partkey": 176, "pid": 2, "shipdate": "1992-04-28", "orderkey": 1826 }
-{ "partkey": 176, "pid": 3, "shipdate": "1992-09-24", "orderkey": 3907 }
-{ "partkey": 16, "pid": 1, "shipdate": "1992-09-11", "orderkey": 1346 }
-{ "partkey": 16, "pid": 2, "shipdate": "1992-09-25", "orderkey": 5858 }
-{ "partkey": 16, "pid": 3, "shipdate": "1992-11-17", "orderkey": 5415 }
-{ "partkey": 20, "pid": 1, "shipdate": "1992-06-15", "orderkey": 2023 }
-{ "partkey": 20, "pid": 2, "shipdate": "1992-07-29", "orderkey": 5254 }
-{ "partkey": 20, "pid": 3, "shipdate": "1992-10-18", "orderkey": 2625 }
-{ "partkey": 27, "pid": 1, "shipdate": "1992-07-05", "orderkey": 1826 }
-{ "partkey": 27, "pid": 2, "shipdate": "1992-07-14", "orderkey": 4096 }
-{ "partkey": 27, "pid": 3, "shipdate": "1992-08-17", "orderkey": 4294 }
-{ "partkey": 28, "pid": 1, "shipdate": "1992-03-16", "orderkey": 2240 }
-{ "partkey": 28, "pid": 2, "shipdate": "1992-10-13", "orderkey": 5699 }
-{ "partkey": 28, "pid": 3, "shipdate": "1992-11-04", "orderkey": 1506 }
-{ "partkey": 30, "pid": 1, "shipdate": "1992-04-10", "orderkey": 1282 }
-{ "partkey": 30, "pid": 2, "shipdate": "1992-05-18", "orderkey": 1925 }
-{ "partkey": 30, "pid": 3, "shipdate": "1992-05-21", "orderkey": 5986 }
-{ "partkey": 32, "pid": 1, "shipdate": "1992-09-22", "orderkey": 4900 }
-{ "partkey": 32, "pid": 2, "shipdate": "1992-09-25", "orderkey": 5060 }
-{ "partkey": 32, "pid": 3, "shipdate": "1992-10-07", "orderkey": 5603 }
-{ "partkey": 39, "pid": 1, "shipdate": "1992-05-26", "orderkey": 4515 }
-{ "partkey": 39, "pid": 2, "shipdate": "1992-11-12", "orderkey": 612 }
-{ "partkey": 39, "pid": 3, "shipdate": "1992-11-15", "orderkey": 1447 }
-{ "partkey": 40, "pid": 1, "shipdate": "1992-02-07", "orderkey": 4292 }
-{ "partkey": 40, "pid": 2, "shipdate": "1992-04-28", "orderkey": 3139 }
-{ "partkey": 40, "pid": 3, "shipdate": "1992-05-03", "orderkey": 3973 }
-{ "partkey": 45, "pid": 1, "shipdate": "1992-07-16", "orderkey": 4515 }
-{ "partkey": 45, "pid": 2, "shipdate": "1993-06-24", "orderkey": 2720 }
-{ "partkey": 45, "pid": 3, "shipdate": "1993-09-15", "orderkey": 2055 }
-{ "partkey": 50, "pid": 1, "shipdate": "1992-04-22", "orderkey": 2786 }
-{ "partkey": 50, "pid": 2, "shipdate": "1992-07-31", "orderkey": 644 }
-{ "partkey": 50, "pid": 3, "shipdate": "1992-09-23", "orderkey": 2885 }
-{ "partkey": 55, "pid": 1, "shipdate": "1992-01-16", "orderkey": 5382 }
-{ "partkey": 55, "pid": 2, "shipdate": "1992-05-11", "orderkey": 1856 }
-{ "partkey": 55, "pid": 3, "shipdate": "1992-06-17", "orderkey": 2022 }
-{ "partkey": 57, "pid": 1, "shipdate": "1992-01-16", "orderkey": 3271 }
-{ "partkey": 57, "pid": 2, "shipdate": "1992-07-06", "orderkey": 194 }
-{ "partkey": 57, "pid": 3, "shipdate": "1992-09-21", "orderkey": 2146 }
-{ "partkey": 59, "pid": 1, "shipdate": "1992-02-09", "orderkey": 2688 }
-{ "partkey": 59, "pid": 2, "shipdate": "1992-03-17", "orderkey": 4998 }
-{ "partkey": 59, "pid": 3, "shipdate": "1992-06-12", "orderkey": 3845 }
-{ "partkey": 63, "pid": 1, "shipdate": "1992-02-07", "orderkey": 4998 }
-{ "partkey": 63, "pid": 2, "shipdate": "1992-06-15", "orderkey": 3650 }
-{ "partkey": 63, "pid": 3, "shipdate": "1993-02-07", "orderkey": 4545 }
-{ "partkey": 69, "pid": 1, "shipdate": "1992-05-31", "orderkey": 3205 }
-{ "partkey": 69, "pid": 2, "shipdate": "1992-06-05", "orderkey": 5767 }
-{ "partkey": 69, "pid": 3, "shipdate": "1992-07-01", "orderkey": 1221 }
-{ "partkey": 83, "pid": 1, "shipdate": "1992-06-09", "orderkey": 4738 }
-{ "partkey": 83, "pid": 2, "shipdate": "1992-08-04", "orderkey": 5218 }
-{ "partkey": 83, "pid": 3, "shipdate": "1992-09-21", "orderkey": 5220 }
-{ "partkey": 85, "pid": 1, "shipdate": "1992-02-28", "orderkey": 1057 }
-{ "partkey": 85, "pid": 2, "shipdate": "1992-05-28", "orderkey": 5574 }
-{ "partkey": 85, "pid": 3, "shipdate": "1992-06-27", "orderkey": 1221 }
-{ "partkey": 87, "pid": 1, "shipdate": "1992-09-30", "orderkey": 4294 }
-{ "partkey": 87, "pid": 2, "shipdate": "1992-12-02", "orderkey": 1540 }
-{ "partkey": 87, "pid": 3, "shipdate": "1993-01-06", "orderkey": 3556 }
-{ "partkey": 88, "pid": 1, "shipdate": "1992-04-24", "orderkey": 3970 }
-{ "partkey": 88, "pid": 2, "shipdate": "1992-06-26", "orderkey": 3842 }
-{ "partkey": 88, "pid": 3, "shipdate": "1992-12-18", "orderkey": 612 }
-{ "partkey": 98, "pid": 1, "shipdate": "1992-10-06", "orderkey": 5603 }
-{ "partkey": 98, "pid": 2, "shipdate": "1992-12-09", "orderkey": 1159 }
-{ "partkey": 98, "pid": 3, "shipdate": "1993-03-09", "orderkey": 678 }
-{ "partkey": 106, "pid": 1, "shipdate": "1992-07-09", "orderkey": 5095 }
-{ "partkey": 106, "pid": 2, "shipdate": "1992-07-31", "orderkey": 3681 }
-{ "partkey": 106, "pid": 3, "shipdate": "1992-10-02", "orderkey": 967 }
-{ "partkey": 110, "pid": 1, "shipdate": "1992-09-18", "orderkey": 3907 }
-{ "partkey": 110, "pid": 2, "shipdate": "1992-11-01", "orderkey": 4261 }
-{ "partkey": 110, "pid": 3, "shipdate": "1993-01-01", "orderkey": 1991 }
-{ "partkey": 112, "pid": 1, "shipdate": "1992-09-13", "orderkey": 3907 }
-{ "partkey": 112, "pid": 2, "shipdate": "1992-10-09", "orderkey": 2885 }
-{ "partkey": 112, "pid": 3, "shipdate": "1993-01-15", "orderkey": 481 }
-{ "partkey": 113, "pid": 1, "shipdate": "1992-06-08", "orderkey": 1027 }
-{ "partkey": 113, "pid": 2, "shipdate": "1992-08-13", "orderkey": 2054 }
-{ "partkey": 113, "pid": 3, "shipdate": "1992-08-25", "orderkey": 4741 }
-{ "partkey": 126, "pid": 1, "shipdate": "1992-07-28", "orderkey": 1793 }
-{ "partkey": 126, "pid": 2, "shipdate": "1992-08-28", "orderkey": 1027 }
-{ "partkey": 126, "pid": 3, "shipdate": "1992-09-06", "orderkey": 3907 }
-{ "partkey": 127, "pid": 1, "shipdate": "1992-06-04", "orderkey": 2023 }
-{ "partkey": 127, "pid": 2, "shipdate": "1992-07-02", "orderkey": 37 }
-{ "partkey": 127, "pid": 3, "shipdate": "1994-01-13", "orderkey": 1316 }
-{ "partkey": 128, "pid": 1, "shipdate": "1992-03-05", "orderkey": 3168 }
-{ "partkey": 128, "pid": 2, "shipdate": "1992-05-02", "orderkey": 4804 }
-{ "partkey": 128, "pid": 3, "shipdate": "1992-08-24", "orderkey": 4096 }
-{ "partkey": 129, "pid": 1, "shipdate": "1992-03-31", "orderkey": 2022 }
-{ "partkey": 129, "pid": 2, "shipdate": "1992-05-28", "orderkey": 5953 }
-{ "partkey": 129, "pid": 3, "shipdate": "1992-08-15", "orderkey": 130 }
-{ "partkey": 131, "pid": 1, "shipdate": "1992-02-27", "orderkey": 2755 }
-{ "partkey": 131, "pid": 2, "shipdate": "1992-03-03", "orderkey": 4292 }
-{ "partkey": 131, "pid": 3, "shipdate": "1992-05-14", "orderkey": 2627 }
-{ "partkey": 135, "pid": 1, "shipdate": "1992-05-02", "orderkey": 1826 }
-{ "partkey": 135, "pid": 2, "shipdate": "1992-05-11", "orderkey": 1925 }
-{ "partkey": 135, "pid": 3, "shipdate": "1992-05-29", "orderkey": 2052 }
-{ "partkey": 144, "pid": 1, "shipdate": "1992-07-05", "orderkey": 4992 }
-{ "partkey": 144, "pid": 2, "shipdate": "1992-08-25", "orderkey": 5415 }
-{ "partkey": 144, "pid": 3, "shipdate": "1992-09-17", "orderkey": 4996 }
-{ "partkey": 147, "pid": 1, "shipdate": "1992-06-10", "orderkey": 5959 }
-{ "partkey": 147, "pid": 2, "shipdate": "1992-09-04", "orderkey": 4992 }
-{ "partkey": 147, "pid": 3, "shipdate": "1992-12-03", "orderkey": 614 }
-{ "partkey": 163, "pid": 1, "shipdate": "1992-02-09", "orderkey": 2983 }
-{ "partkey": 163, "pid": 2, "shipdate": "1992-04-27", "orderkey": 4292 }
-{ "partkey": 163, "pid": 3, "shipdate": "1992-06-01", "orderkey": 4992 }
-{ "partkey": 167, "pid": 1, "shipdate": "1992-06-02", "orderkey": 5767 }
-{ "partkey": 167, "pid": 2, "shipdate": "1993-01-31", "orderkey": 1447 }
-{ "partkey": 167, "pid": 3, "shipdate": "1993-02-15", "orderkey": 1857 }
+{ "partkey": 1, "pid": 1, "shipdate": "1992-02-15" }
+{ "partkey": 1, "pid": 2, "shipdate": "1992-03-30" }
+{ "partkey": 1, "pid": 3, "shipdate": "1992-07-17" }
+{ "partkey": 2, "pid": 1, "shipdate": "1992-06-23" }
+{ "partkey": 2, "pid": 2, "shipdate": "1992-07-01" }
+{ "partkey": 2, "pid": 3, "shipdate": "1992-07-18" }
+{ "partkey": 8, "pid": 1, "shipdate": "1992-09-25" }
+{ "partkey": 8, "pid": 2, "shipdate": "1992-11-15" }
+{ "partkey": 8, "pid": 3, "shipdate": "1993-02-13" }
+{ "partkey": 9, "pid": 1, "shipdate": "1992-04-29" }
+{ "partkey": 9, "pid": 2, "shipdate": "1992-04-30" }
+{ "partkey": 9, "pid": 3, "shipdate": "1992-06-01" }
+{ "partkey": 10, "pid": 1, "shipdate": "1992-05-13" }
+{ "partkey": 10, "pid": 2, "shipdate": "1992-11-25" }
+{ "partkey": 10, "pid": 3, "shipdate": "1992-12-01" }
+{ "partkey": 13, "pid": 1, "shipdate": "1992-04-01" }
+{ "partkey": 13, "pid": 2, "shipdate": "1992-04-26" }
+{ "partkey": 13, "pid": 3, "shipdate": "1992-05-04" }
+{ "partkey": 18, "pid": 1, "shipdate": "1992-04-12" }
+{ "partkey": 18, "pid": 2, "shipdate": "1992-04-21" }
+{ "partkey": 18, "pid": 3, "shipdate": "1992-05-21" }
+{ "partkey": 19, "pid": 1, "shipdate": "1992-07-19" }
+{ "partkey": 19, "pid": 2, "shipdate": "1992-10-21" }
+{ "partkey": 19, "pid": 3, "shipdate": "1992-12-22" }
+{ "partkey": 21, "pid": 1, "shipdate": "1992-07-31" }
+{ "partkey": 21, "pid": 2, "shipdate": "1992-09-09" }
+{ "partkey": 21, "pid": 3, "shipdate": "1993-01-09" }
+{ "partkey": 25, "pid": 1, "shipdate": "1992-02-04" }
+{ "partkey": 25, "pid": 2, "shipdate": "1992-07-23" }
+{ "partkey": 25, "pid": 3, "shipdate": "1992-08-01" }
+{ "partkey": 26, "pid": 1, "shipdate": "1992-02-23" }
+{ "partkey": 26, "pid": 2, "shipdate": "1992-05-09" }
+{ "partkey": 26, "pid": 3, "shipdate": "1993-01-04" }
+{ "partkey": 37, "pid": 1, "shipdate": "1992-08-30" }
+{ "partkey": 37, "pid": 2, "shipdate": "1992-10-03" }
+{ "partkey": 37, "pid": 3, "shipdate": "1993-01-31" }
+{ "partkey": 42, "pid": 1, "shipdate": "1992-10-23" }
+{ "partkey": 42, "pid": 2, "shipdate": "1992-11-04" }
+{ "partkey": 42, "pid": 3, "shipdate": "1992-12-12" }
+{ "partkey": 43, "pid": 1, "shipdate": "1992-06-18" }
+{ "partkey": 43, "pid": 2, "shipdate": "1992-06-30" }
+{ "partkey": 43, "pid": 3, "shipdate": "1992-08-28" }
+{ "partkey": 46, "pid": 1, "shipdate": "1992-04-28" }
+{ "partkey": 46, "pid": 2, "shipdate": "1992-05-08" }
+{ "partkey": 46, "pid": 3, "shipdate": "1992-05-21" }
+{ "partkey": 48, "pid": 1, "shipdate": "1992-05-10" }
+{ "partkey": 48, "pid": 2, "shipdate": "1992-06-03" }
+{ "partkey": 48, "pid": 3, "shipdate": "1992-06-15" }
+{ "partkey": 51, "pid": 1, "shipdate": "1992-03-11" }
+{ "partkey": 51, "pid": 2, "shipdate": "1992-05-15" }
+{ "partkey": 51, "pid": 3, "shipdate": "1992-05-17" }
+{ "partkey": 52, "pid": 1, "shipdate": "1992-05-31" }
+{ "partkey": 52, "pid": 2, "shipdate": "1992-09-03" }
+{ "partkey": 52, "pid": 3, "shipdate": "1992-09-21" }
+{ "partkey": 54, "pid": 1, "shipdate": "1992-04-07" }
+{ "partkey": 54, "pid": 2, "shipdate": "1992-05-01" }
+{ "partkey": 54, "pid": 3, "shipdate": "1992-06-24" }
+{ "partkey": 56, "pid": 1, "shipdate": "1992-01-16" }
+{ "partkey": 56, "pid": 2, "shipdate": "1992-03-02" }
+{ "partkey": 56, "pid": 3, "shipdate": "1992-06-18" }
+{ "partkey": 58, "pid": 1, "shipdate": "1992-05-16" }
+{ "partkey": 58, "pid": 2, "shipdate": "1992-10-30" }
+{ "partkey": 58, "pid": 3, "shipdate": "1993-04-10" }
+{ "partkey": 61, "pid": 1, "shipdate": "1993-07-14" }
+{ "partkey": 61, "pid": 2, "shipdate": "1993-07-15" }
+{ "partkey": 61, "pid": 3, "shipdate": "1993-09-29" }
+{ "partkey": 65, "pid": 1, "shipdate": "1992-03-02" }
+{ "partkey": 65, "pid": 2, "shipdate": "1992-04-14" }
+{ "partkey": 65, "pid": 3, "shipdate": "1992-06-26" }
+{ "partkey": 68, "pid": 1, "shipdate": "1992-04-13" }
+{ "partkey": 68, "pid": 2, "shipdate": "1992-06-08" }
+{ "partkey": 68, "pid": 3, "shipdate": "1992-06-22" }
+{ "partkey": 72, "pid": 1, "shipdate": "1992-09-16" }
+{ "partkey": 72, "pid": 2, "shipdate": "1992-10-02" }
+{ "partkey": 72, "pid": 3, "shipdate": "1992-10-17" }
+{ "partkey": 74, "pid": 1, "shipdate": "1992-03-21" }
+{ "partkey": 74, "pid": 2, "shipdate": "1992-03-22" }
+{ "partkey": 74, "pid": 3, "shipdate": "1992-10-21" }
+{ "partkey": 78, "pid": 1, "shipdate": "1992-03-04" }
+{ "partkey": 78, "pid": 2, "shipdate": "1992-04-04" }
+{ "partkey": 78, "pid": 3, "shipdate": "1992-05-06" }
+{ "partkey": 84, "pid": 1, "shipdate": "1992-09-08" }
+{ "partkey": 84, "pid": 2, "shipdate": "1993-05-15" }
+{ "partkey": 84, "pid": 3, "shipdate": "1993-05-20" }
+{ "partkey": 86, "pid": 1, "shipdate": "1992-05-25" }
+{ "partkey": 86, "pid": 2, "shipdate": "1992-11-18" }
+{ "partkey": 86, "pid": 3, "shipdate": "1993-03-01" }
+{ "partkey": 95, "pid": 1, "shipdate": "1992-02-24" }
+{ "partkey": 95, "pid": 2, "shipdate": "1992-03-14" }
+{ "partkey": 95, "pid": 3, "shipdate": "1992-11-17" }
+{ "partkey": 100, "pid": 1, "shipdate": "1992-03-24" }
+{ "partkey": 100, "pid": 2, "shipdate": "1992-03-24" }
+{ "partkey": 100, "pid": 3, "shipdate": "1992-06-18" }
+{ "partkey": 103, "pid": 1, "shipdate": "1992-03-28" }
+{ "partkey": 103, "pid": 2, "shipdate": "1992-05-08" }
+{ "partkey": 103, "pid": 3, "shipdate": "1992-07-11" }
+{ "partkey": 104, "pid": 1, "shipdate": "1992-03-17" }
+{ "partkey": 104, "pid": 2, "shipdate": "1992-11-08" }
+{ "partkey": 104, "pid": 3, "shipdate": "1994-01-22" }
+{ "partkey": 108, "pid": 1, "shipdate": "1992-07-28" }
+{ "partkey": 108, "pid": 2, "shipdate": "1992-08-01" }
+{ "partkey": 108, "pid": 3, "shipdate": "1992-09-07" }
+{ "partkey": 114, "pid": 1, "shipdate": "1992-11-19" }
+{ "partkey": 114, "pid": 2, "shipdate": "1992-11-22" }
+{ "partkey": 114, "pid": 3, "shipdate": "1993-03-22" }
+{ "partkey": 118, "pid": 1, "shipdate": "1992-06-18" }
+{ "partkey": 118, "pid": 2, "shipdate": "1992-09-27" }
+{ "partkey": 118, "pid": 3, "shipdate": "1992-10-02" }
+{ "partkey": 119, "pid": 1, "shipdate": "1992-05-08" }
+{ "partkey": 119, "pid": 2, "shipdate": "1992-05-27" }
+{ "partkey": 119, "pid": 3, "shipdate": "1992-09-07" }
+{ "partkey": 122, "pid": 1, "shipdate": "1992-03-12" }
+{ "partkey": 122, "pid": 2, "shipdate": "1992-04-09" }
+{ "partkey": 122, "pid": 3, "shipdate": "1992-06-05" }
+{ "partkey": 123, "pid": 1, "shipdate": "1992-02-01" }
+{ "partkey": 123, "pid": 2, "shipdate": "1992-06-20" }
+{ "partkey": 123, "pid": 3, "shipdate": "1992-11-22" }
+{ "partkey": 130, "pid": 1, "shipdate": "1992-04-03" }
+{ "partkey": 130, "pid": 2, "shipdate": "1992-05-23" }
+{ "partkey": 130, "pid": 3, "shipdate": "1992-08-20" }
+{ "partkey": 132, "pid": 1, "shipdate": "1992-04-17" }
+{ "partkey": 132, "pid": 2, "shipdate": "1992-06-14" }
+{ "partkey": 132, "pid": 3, "shipdate": "1992-07-06" }
+{ "partkey": 134, "pid": 1, "shipdate": "1992-05-17" }
+{ "partkey": 134, "pid": 2, "shipdate": "1992-05-20" }
+{ "partkey": 134, "pid": 3, "shipdate": "1992-05-29" }
+{ "partkey": 136, "pid": 1, "shipdate": "1992-05-19" }
+{ "partkey": 136, "pid": 2, "shipdate": "1992-05-21" }
+{ "partkey": 136, "pid": 3, "shipdate": "1992-06-07" }
+{ "partkey": 140, "pid": 1, "shipdate": "1992-03-20" }
+{ "partkey": 140, "pid": 2, "shipdate": "1992-04-27" }
+{ "partkey": 140, "pid": 3, "shipdate": "1992-08-03" }
+{ "partkey": 141, "pid": 1, "shipdate": "1992-01-13" }
+{ "partkey": 141, "pid": 2, "shipdate": "1992-02-01" }
+{ "partkey": 141, "pid": 3, "shipdate": "1992-06-22" }
+{ "partkey": 149, "pid": 1, "shipdate": "1992-03-22" }
+{ "partkey": 149, "pid": 2, "shipdate": "1992-04-29" }
+{ "partkey": 149, "pid": 3, "shipdate": "1992-05-14" }
+{ "partkey": 158, "pid": 1, "shipdate": "1992-08-01" }
+{ "partkey": 158, "pid": 2, "shipdate": "1992-08-29" }
+{ "partkey": 158, "pid": 3, "shipdate": "1992-09-18" }
+{ "partkey": 159, "pid": 1, "shipdate": "1992-05-07" }
+{ "partkey": 159, "pid": 2, "shipdate": "1992-06-03" }
+{ "partkey": 159, "pid": 3, "shipdate": "1992-07-10" }
+{ "partkey": 170, "pid": 1, "shipdate": "1992-08-07" }
+{ "partkey": 170, "pid": 2, "shipdate": "1993-03-17" }
+{ "partkey": 170, "pid": 3, "shipdate": "1993-06-19" }
+{ "partkey": 171, "pid": 1, "shipdate": "1992-11-09" }
+{ "partkey": 171, "pid": 2, "shipdate": "1994-01-22" }
+{ "partkey": 171, "pid": 3, "shipdate": "1995-01-02" }
+{ "partkey": 172, "pid": 1, "shipdate": "1992-09-06" }
+{ "partkey": 172, "pid": 2, "shipdate": "1993-05-01" }
+{ "partkey": 172, "pid": 3, "shipdate": "1993-06-16" }
+{ "partkey": 179, "pid": 1, "shipdate": "1992-05-30" }
+{ "partkey": 179, "pid": 2, "shipdate": "1992-06-02" }
+{ "partkey": 179, "pid": 3, "shipdate": "1992-09-20" }
+{ "partkey": 183, "pid": 1, "shipdate": "1992-04-24" }
+{ "partkey": 183, "pid": 2, "shipdate": "1992-10-24" }
+{ "partkey": 183, "pid": 3, "shipdate": "1993-01-08" }
+{ "partkey": 185, "pid": 1, "shipdate": "1992-04-30" }
+{ "partkey": 185, "pid": 2, "shipdate": "1992-06-20" }
+{ "partkey": 185, "pid": 3, "shipdate": "1992-07-23" }
+{ "partkey": 187, "pid": 1, "shipdate": "1992-04-01" }
+{ "partkey": 187, "pid": 2, "shipdate": "1992-05-30" }
+{ "partkey": 187, "pid": 3, "shipdate": "1992-06-01" }
+{ "partkey": 188, "pid": 1, "shipdate": "1992-09-15" }
+{ "partkey": 188, "pid": 2, "shipdate": "1993-04-08" }
+{ "partkey": 188, "pid": 3, "shipdate": "1993-05-03" }
+{ "partkey": 190, "pid": 1, "shipdate": "1992-04-14" }
+{ "partkey": 190, "pid": 2, "shipdate": "1992-07-17" }
+{ "partkey": 190, "pid": 3, "shipdate": "1992-10-12" }
+{ "partkey": 195, "pid": 1, "shipdate": "1992-04-10" }
+{ "partkey": 195, "pid": 2, "shipdate": "1992-05-07" }
+{ "partkey": 195, "pid": 3, "shipdate": "1992-05-28" }
+{ "partkey": 197, "pid": 1, "shipdate": "1993-08-22" }
+{ "partkey": 197, "pid": 2, "shipdate": "1994-02-24" }
+{ "partkey": 197, "pid": 3, "shipdate": "1994-03-03" }
+{ "partkey": 199, "pid": 1, "shipdate": "1992-03-14" }
+{ "partkey": 199, "pid": 2, "shipdate": "1992-08-02" }
+{ "partkey": 199, "pid": 3, "shipdate": "1992-11-20" }
+{ "partkey": 200, "pid": 1, "shipdate": "1992-04-19" }
+{ "partkey": 200, "pid": 2, "shipdate": "1993-01-06" }
+{ "partkey": 200, "pid": 3, "shipdate": "1993-10-17" }
+{ "partkey": 3, "pid": 1, "shipdate": "1992-04-25" }
+{ "partkey": 3, "pid": 2, "shipdate": "1992-05-24" }
+{ "partkey": 3, "pid": 3, "shipdate": "1993-01-03" }
+{ "partkey": 6, "pid": 1, "shipdate": "1992-04-05" }
+{ "partkey": 6, "pid": 2, "shipdate": "1992-04-25" }
+{ "partkey": 6, "pid": 3, "shipdate": "1992-04-29" }
+{ "partkey": 7, "pid": 1, "shipdate": "1992-04-12" }
+{ "partkey": 7, "pid": 2, "shipdate": "1993-02-11" }
+{ "partkey": 7, "pid": 3, "shipdate": "1993-06-25" }
+{ "partkey": 12, "pid": 1, "shipdate": "1992-07-04" }
+{ "partkey": 12, "pid": 2, "shipdate": "1992-07-17" }
+{ "partkey": 12, "pid": 3, "shipdate": "1992-09-02" }
+{ "partkey": 17, "pid": 1, "shipdate": "1992-07-23" }
+{ "partkey": 17, "pid": 2, "shipdate": "1993-03-01" }
+{ "partkey": 17, "pid": 3, "shipdate": "1993-05-06" }
+{ "partkey": 23, "pid": 1, "shipdate": "1992-04-04" }
+{ "partkey": 23, "pid": 2, "shipdate": "1992-06-19" }
+{ "partkey": 23, "pid": 3, "shipdate": "1992-06-29" }
+{ "partkey": 31, "pid": 1, "shipdate": "1992-07-14" }
+{ "partkey": 31, "pid": 2, "shipdate": "1992-09-24" }
+{ "partkey": 31, "pid": 3, "shipdate": "1992-09-29" }
+{ "partkey": 35, "pid": 1, "shipdate": "1992-03-11" }
+{ "partkey": 35, "pid": 2, "shipdate": "1992-04-06" }
+{ "partkey": 35, "pid": 3, "shipdate": "1992-05-26" }
+{ "partkey": 44, "pid": 1, "shipdate": "1992-02-14" }
+{ "partkey": 44, "pid": 2, "shipdate": "1992-06-11" }
+{ "partkey": 44, "pid": 3, "shipdate": "1992-11-29" }
+{ "partkey": 49, "pid": 1, "shipdate": "1992-04-29" }
+{ "partkey": 49, "pid": 2, "shipdate": "1992-06-14" }
+{ "partkey": 49, "pid": 3, "shipdate": "1992-08-13" }
+{ "partkey": 66, "pid": 1, "shipdate": "1992-05-07" }
+{ "partkey": 66, "pid": 2, "shipdate": "1992-09-11" }
+{ "partkey": 66, "pid": 3, "shipdate": "1992-10-10" }
+{ "partkey": 71, "pid": 1, "shipdate": "1992-11-10" }
+{ "partkey": 71, "pid": 2, "shipdate": "1993-01-10" }
+{ "partkey": 71, "pid": 3, "shipdate": "1993-02-28" }
+{ "partkey": 77, "pid": 1, "shipdate": "1992-08-18" }
+{ "partkey": 77, "pid": 2, "shipdate": "1992-12-23" }
+{ "partkey": 77, "pid": 3, "shipdate": "1993-06-19" }
+{ "partkey": 80, "pid": 1, "shipdate": "1992-05-18" }
+{ "partkey": 80, "pid": 2, "shipdate": "1992-09-02" }
+{ "partkey": 80, "pid": 3, "shipdate": "1993-06-07" }
+{ "partkey": 81, "pid": 1, "shipdate": "1992-04-11" }
+{ "partkey": 81, "pid": 2, "shipdate": "1992-06-22" }
+{ "partkey": 81, "pid": 3, "shipdate": "1992-12-30" }
+{ "partkey": 89, "pid": 1, "shipdate": "1992-04-18" }
+{ "partkey": 89, "pid": 2, "shipdate": "1992-04-19" }
+{ "partkey": 89, "pid": 3, "shipdate": "1992-05-27" }
+{ "partkey": 90, "pid": 1, "shipdate": "1992-02-25" }
+{ "partkey": 90, "pid": 2, "shipdate": "1992-06-07" }
+{ "partkey": 90, "pid": 3, "shipdate": "1992-08-21" }
+{ "partkey": 91, "pid": 1, "shipdate": "1992-05-22" }
+{ "partkey": 91, "pid": 2, "shipdate": "1992-06-21" }
+{ "partkey": 91, "pid": 3, "shipdate": "1992-12-03" }
+{ "partkey": 93, "pid": 1, "shipdate": "1992-05-28" }
+{ "partkey": 93, "pid": 2, "shipdate": "1992-06-24" }
+{ "partkey": 93, "pid": 3, "shipdate": "1992-09-11" }
+{ "partkey": 96, "pid": 1, "shipdate": "1992-06-18" }
+{ "partkey": 96, "pid": 2, "shipdate": "1992-09-26" }
+{ "partkey": 96, "pid": 3, "shipdate": "1992-11-25" }
+{ "partkey": 97, "pid": 1, "shipdate": "1992-01-27" }
+{ "partkey": 97, "pid": 2, "shipdate": "1992-03-22" }
+{ "partkey": 97, "pid": 3, "shipdate": "1992-04-21" }
+{ "partkey": 121, "pid": 1, "shipdate": "1992-04-23" }
+{ "partkey": 121, "pid": 2, "shipdate": "1992-06-09" }
+{ "partkey": 121, "pid": 3, "shipdate": "1992-06-23" }
+{ "partkey": 124, "pid": 1, "shipdate": "1992-06-15" }
+{ "partkey": 124, "pid": 2, "shipdate": "1992-08-09" }
+{ "partkey": 124, "pid": 3, "shipdate": "1992-09-13" }
+{ "partkey": 125, "pid": 1, "shipdate": "1992-03-15" }
+{ "partkey": 125, "pid": 2, "shipdate": "1992-03-29" }
+{ "partkey": 125, "pid": 3, "shipdate": "1992-05-24" }
+{ "partkey": 133, "pid": 1, "shipdate": "1992-06-08" }
+{ "partkey": 133, "pid": 2, "shipdate": "1992-11-17" }
+{ "partkey": 133, "pid": 3, "shipdate": "1993-01-18" }
+{ "partkey": 139, "pid": 1, "shipdate": "1992-04-12" }
+{ "partkey": 139, "pid": 2, "shipdate": "1992-06-28" }
+{ "partkey": 139, "pid": 3, "shipdate": "1992-09-12" }
+{ "partkey": 142, "pid": 1, "shipdate": "1992-10-14" }
+{ "partkey": 142, "pid": 2, "shipdate": "1993-05-14" }
+{ "partkey": 142, "pid": 3, "shipdate": "1993-07-11" }
+{ "partkey": 143, "pid": 1, "shipdate": "1992-04-17" }
+{ "partkey": 143, "pid": 2, "shipdate": "1992-09-01" }
+{ "partkey": 143, "pid": 3, "shipdate": "1992-09-05" }
+{ "partkey": 148, "pid": 1, "shipdate": "1992-01-15" }
+{ "partkey": 148, "pid": 2, "shipdate": "1992-02-27" }
+{ "partkey": 148, "pid": 3, "shipdate": "1992-04-22" }
+{ "partkey": 150, "pid": 1, "shipdate": "1992-05-01" }
+{ "partkey": 150, "pid": 2, "shipdate": "1992-05-02" }
+{ "partkey": 150, "pid": 3, "shipdate": "1992-05-25" }
+{ "partkey": 151, "pid": 1, "shipdate": "1992-01-26" }
+{ "partkey": 151, "pid": 2, "shipdate": "1992-07-30" }
+{ "partkey": 151, "pid": 3, "shipdate": "1992-12-19" }
+{ "partkey": 153, "pid": 1, "shipdate": "1992-02-22" }
+{ "partkey": 153, "pid": 2, "shipdate": "1992-06-02" }
+{ "partkey": 153, "pid": 3, "shipdate": "1992-06-29" }
+{ "partkey": 155, "pid": 1, "shipdate": "1992-09-28" }
+{ "partkey": 155, "pid": 2, "shipdate": "1992-11-25" }
+{ "partkey": 155, "pid": 3, "shipdate": "1993-05-14" }
+{ "partkey": 162, "pid": 1, "shipdate": "1992-04-10" }
+{ "partkey": 162, "pid": 2, "shipdate": "1992-05-03" }
+{ "partkey": 162, "pid": 3, "shipdate": "1992-06-11" }
+{ "partkey": 165, "pid": 1, "shipdate": "1992-03-21" }
+{ "partkey": 165, "pid": 2, "shipdate": "1992-04-01" }
+{ "partkey": 165, "pid": 3, "shipdate": "1992-04-12" }
+{ "partkey": 169, "pid": 1, "shipdate": "1992-03-31" }
+{ "partkey": 169, "pid": 2, "shipdate": "1992-06-05" }
+{ "partkey": 169, "pid": 3, "shipdate": "1992-06-07" }
+{ "partkey": 174, "pid": 1, "shipdate": "1992-06-25" }
+{ "partkey": 174, "pid": 2, "shipdate": "1992-11-02" }
+{ "partkey": 174, "pid": 3, "shipdate": "1992-12-02" }
+{ "partkey": 177, "pid": 1, "shipdate": "1992-04-05" }
+{ "partkey": 177, "pid": 2, "shipdate": "1992-12-25" }
+{ "partkey": 177, "pid": 3, "shipdate": "1993-01-16" }
+{ "partkey": 178, "pid": 1, "shipdate": "1992-05-23" }
+{ "partkey": 178, "pid": 2, "shipdate": "1992-08-18" }
+{ "partkey": 178, "pid": 3, "shipdate": "1992-11-02" }
+{ "partkey": 180, "pid": 1, "shipdate": "1992-03-07" }
+{ "partkey": 180, "pid": 2, "shipdate": "1992-05-23" }
+{ "partkey": 180, "pid": 3, "shipdate": "1992-06-21" }
+{ "partkey": 182, "pid": 1, "shipdate": "1992-03-02" }
+{ "partkey": 182, "pid": 2, "shipdate": "1992-04-02" }
+{ "partkey": 182, "pid": 3, "shipdate": "1992-04-28" }
+{ "partkey": 186, "pid": 1, "shipdate": "1992-07-26" }
+{ "partkey": 186, "pid": 2, "shipdate": "1992-11-25" }
+{ "partkey": 186, "pid": 3, "shipdate": "1992-11-27" }
+{ "partkey": 189, "pid": 1, "shipdate": "1992-06-16" }
+{ "partkey": 189, "pid": 2, "shipdate": "1992-06-20" }
+{ "partkey": 189, "pid": 3, "shipdate": "1992-07-20" }
+{ "partkey": 192, "pid": 1, "shipdate": "1992-02-19" }
+{ "partkey": 192, "pid": 2, "shipdate": "1992-08-10" }
+{ "partkey": 192, "pid": 3, "shipdate": "1992-09-02" }
+{ "partkey": 194, "pid": 1, "shipdate": "1992-02-14" }
+{ "partkey": 194, "pid": 2, "shipdate": "1992-06-20" }
+{ "partkey": 194, "pid": 3, "shipdate": "1992-12-15" }
+{ "partkey": 4, "pid": 1, "shipdate": "1992-05-02" }
+{ "partkey": 4, "pid": 2, "shipdate": "1992-11-03" }
+{ "partkey": 4, "pid": 3, "shipdate": "1992-11-18" }
+{ "partkey": 5, "pid": 1, "shipdate": "1992-05-02" }
+{ "partkey": 5, "pid": 2, "shipdate": "1992-06-14" }
+{ "partkey": 5, "pid": 3, "shipdate": "1993-01-06" }
+{ "partkey": 11, "pid": 1, "shipdate": "1992-02-14" }
+{ "partkey": 11, "pid": 2, "shipdate": "1992-07-20" }
+{ "partkey": 11, "pid": 3, "shipdate": "1992-08-03" }
+{ "partkey": 14, "pid": 1, "shipdate": "1992-07-17" }
+{ "partkey": 14, "pid": 2, "shipdate": "1992-11-30" }
+{ "partkey": 14, "pid": 3, "shipdate": "1993-05-10" }
+{ "partkey": 15, "pid": 1, "shipdate": "1992-05-18" }
+{ "partkey": 15, "pid": 2, "shipdate": "1992-05-24" }
+{ "partkey": 15, "pid": 3, "shipdate": "1993-04-14" }
+{ "partkey": 22, "pid": 1, "shipdate": "1992-06-21" }
+{ "partkey": 22, "pid": 2, "shipdate": "1992-06-25" }
+{ "partkey": 22, "pid": 3, "shipdate": "1992-11-20" }
+{ "partkey": 24, "pid": 1, "shipdate": "1992-04-12" }
+{ "partkey": 24, "pid": 2, "shipdate": "1992-08-06" }
+{ "partkey": 24, "pid": 3, "shipdate": "1992-08-08" }
+{ "partkey": 29, "pid": 1, "shipdate": "1992-05-25" }
+{ "partkey": 29, "pid": 2, "shipdate": "1992-06-01" }
+{ "partkey": 29, "pid": 3, "shipdate": "1992-07-25" }
+{ "partkey": 33, "pid": 1, "shipdate": "1992-03-22" }
+{ "partkey": 33, "pid": 2, "shipdate": "1993-02-17" }
+{ "partkey": 33, "pid": 3, "shipdate": "1993-02-21" }
+{ "partkey": 34, "pid": 1, "shipdate": "1992-07-03" }
+{ "partkey": 34, "pid": 2, "shipdate": "1992-07-20" }
+{ "partkey": 34, "pid": 3, "shipdate": "1992-11-23" }
+{ "partkey": 36, "pid": 1, "shipdate": "1992-02-26" }
+{ "partkey": 36, "pid": 2, "shipdate": "1992-07-03" }
+{ "partkey": 36, "pid": 3, "shipdate": "1993-01-06" }
+{ "partkey": 38, "pid": 1, "shipdate": "1992-04-06" }
+{ "partkey": 38, "pid": 2, "shipdate": "1992-04-15" }
+{ "partkey": 38, "pid": 3, "shipdate": "1992-08-27" }
+{ "partkey": 41, "pid": 1, "shipdate": "1992-12-13" }
+{ "partkey": 41, "pid": 2, "shipdate": "1993-01-18" }
+{ "partkey": 41, "pid": 3, "shipdate": "1993-04-13" }
+{ "partkey": 47, "pid": 1, "shipdate": "1992-03-11" }
+{ "partkey": 47, "pid": 2, "shipdate": "1993-05-30" }
+{ "partkey": 47, "pid": 3, "shipdate": "1993-06-06" }
+{ "partkey": 53, "pid": 1, "shipdate": "1992-01-14" }
+{ "partkey": 53, "pid": 2, "shipdate": "1992-05-22" }
+{ "partkey": 53, "pid": 3, "shipdate": "1992-10-04" }
+{ "partkey": 60, "pid": 1, "shipdate": "1992-02-14" }
+{ "partkey": 60, "pid": 2, "shipdate": "1992-07-01" }
+{ "partkey": 60, "pid": 3, "shipdate": "1992-07-15" }
+{ "partkey": 62, "pid": 1, "shipdate": "1992-02-01" }
+{ "partkey": 62, "pid": 2, "shipdate": "1992-03-26" }
+{ "partkey": 62, "pid": 3, "shipdate": "1992-06-19" }
+{ "partkey": 64, "pid": 1, "shipdate": "1992-02-13" }
+{ "partkey": 64, "pid": 2, "shipdate": "1992-02-14" }
+{ "partkey": 64, "pid": 3, "shipdate": "1992-03-10" }
+{ "partkey": 67, "pid": 1, "shipdate": "1992-05-13" }
+{ "partkey": 67, "pid": 2, "shipdate": "1993-01-08" }
+{ "partkey": 67, "pid": 3, "shipdate": "1993-11-03" }
+{ "partkey": 70, "pid": 1, "shipdate": "1992-04-06" }
+{ "partkey": 70, "pid": 2, "shipdate": "1992-06-11" }
+{ "partkey": 70, "pid": 3, "shipdate": "1992-06-25" }
+{ "partkey": 73, "pid": 1, "shipdate": "1992-01-08" }
+{ "partkey": 73, "pid": 2, "shipdate": "1992-09-16" }
+{ "partkey": 73, "pid": 3, "shipdate": "1993-07-02" }
+{ "partkey": 75, "pid": 1, "shipdate": "1992-03-27" }
+{ "partkey": 75, "pid": 2, "shipdate": "1992-05-12" }
+{ "partkey": 75, "pid": 3, "shipdate": "1992-09-19" }
+{ "partkey": 76, "pid": 1, "shipdate": "1992-10-22" }
+{ "partkey": 76, "pid": 2, "shipdate": "1993-04-19" }
+{ "partkey": 76, "pid": 3, "shipdate": "1993-06-12" }
+{ "partkey": 79, "pid": 1, "shipdate": "1992-08-05" }
+{ "partkey": 79, "pid": 2, "shipdate": "1992-08-10" }
+{ "partkey": 79, "pid": 3, "shipdate": "1993-04-08" }
+{ "partkey": 82, "pid": 1, "shipdate": "1992-07-17" }
+{ "partkey": 82, "pid": 2, "shipdate": "1992-10-18" }
+{ "partkey": 82, "pid": 3, "shipdate": "1992-12-11" }
+{ "partkey": 92, "pid": 1, "shipdate": "1992-02-11" }
+{ "partkey": 92, "pid": 2, "shipdate": "1992-09-30" }
+{ "partkey": 92, "pid": 3, "shipdate": "1993-01-04" }
+{ "partkey": 94, "pid": 1, "shipdate": "1992-05-20" }
+{ "partkey": 94, "pid": 2, "shipdate": "1992-07-03" }
+{ "partkey": 94, "pid": 3, "shipdate": "1992-07-26" }
+{ "partkey": 99, "pid": 1, "shipdate": "1992-05-01" }
+{ "partkey": 99, "pid": 2, "shipdate": "1993-04-18" }
+{ "partkey": 99, "pid": 3, "shipdate": "1993-06-09" }
+{ "partkey": 101, "pid": 1, "shipdate": "1992-08-17" }
+{ "partkey": 101, "pid": 2, "shipdate": "1992-09-27" }
+{ "partkey": 101, "pid": 3, "shipdate": "1992-12-28" }
+{ "partkey": 102, "pid": 1, "shipdate": "1992-08-19" }
+{ "partkey": 102, "pid": 2, "shipdate": "1992-08-21" }
+{ "partkey": 102, "pid": 3, "shipdate": "1992-10-25" }
+{ "partkey": 105, "pid": 1, "shipdate": "1992-02-14" }
+{ "partkey": 105, "pid": 2, "shipdate": "1992-06-01" }
+{ "partkey": 105, "pid": 3, "shipdate": "1992-07-14" }
+{ "partkey": 107, "pid": 1, "shipdate": "1992-05-22" }
+{ "partkey": 107, "pid": 2, "shipdate": "1992-07-30" }
+{ "partkey": 107, "pid": 3, "shipdate": "1992-08-05" }
+{ "partkey": 109, "pid": 1, "shipdate": "1992-06-06" }
+{ "partkey": 109, "pid": 2, "shipdate": "1992-11-20" }
+{ "partkey": 109, "pid": 3, "shipdate": "1992-12-23" }
+{ "partkey": 111, "pid": 1, "shipdate": "1992-07-05" }
+{ "partkey": 111, "pid": 2, "shipdate": "1992-07-28" }
+{ "partkey": 111, "pid": 3, "shipdate": "1992-08-13" }
+{ "partkey": 115, "pid": 1, "shipdate": "1992-03-13" }
+{ "partkey": 115, "pid": 2, "shipdate": "1992-05-29" }
+{ "partkey": 115, "pid": 3, "shipdate": "1992-06-17" }
+{ "partkey": 116, "pid": 1, "shipdate": "1992-03-22" }
+{ "partkey": 116, "pid": 2, "shipdate": "1992-05-17" }
+{ "partkey": 116, "pid": 3, "shipdate": "1992-06-24" }
+{ "partkey": 117, "pid": 1, "shipdate": "1992-05-04" }
+{ "partkey": 117, "pid": 2, "shipdate": "1993-03-18" }
+{ "partkey": 117, "pid": 3, "shipdate": "1993-07-10" }
+{ "partkey": 120, "pid": 1, "shipdate": "1992-03-23" }
+{ "partkey": 120, "pid": 2, "shipdate": "1992-04-28" }
+{ "partkey": 120, "pid": 3, "shipdate": "1992-06-29" }
+{ "partkey": 137, "pid": 1, "shipdate": "1992-05-23" }
+{ "partkey": 137, "pid": 2, "shipdate": "1992-07-05" }
+{ "partkey": 137, "pid": 3, "shipdate": "1992-09-12" }
+{ "partkey": 138, "pid": 1, "shipdate": "1992-06-20" }
+{ "partkey": 138, "pid": 2, "shipdate": "1992-11-21" }
+{ "partkey": 138, "pid": 3, "shipdate": "1993-02-28" }
+{ "partkey": 145, "pid": 1, "shipdate": "1992-01-25" }
+{ "partkey": 145, "pid": 2, "shipdate": "1992-08-16" }
+{ "partkey": 145, "pid": 3, "shipdate": "1992-10-25" }
+{ "partkey": 146, "pid": 1, "shipdate": "1992-05-21" }
+{ "partkey": 146, "pid": 2, "shipdate": "1993-06-21" }
+{ "partkey": 146, "pid": 3, "shipdate": "1993-08-02" }
+{ "partkey": 152, "pid": 1, "shipdate": "1992-06-23" }
+{ "partkey": 152, "pid": 2, "shipdate": "1993-05-19" }
+{ "partkey": 152, "pid": 3, "shipdate": "1993-10-31" }
+{ "partkey": 154, "pid": 1, "shipdate": "1992-02-18" }
+{ "partkey": 154, "pid": 2, "shipdate": "1992-02-20" }
+{ "partkey": 154, "pid": 3, "shipdate": "1992-05-14" }
+{ "partkey": 156, "pid": 1, "shipdate": "1992-04-24" }
+{ "partkey": 156, "pid": 2, "shipdate": "1992-06-17" }
+{ "partkey": 156, "pid": 3, "shipdate": "1992-07-01" }
+{ "partkey": 157, "pid": 1, "shipdate": "1992-07-26" }
+{ "partkey": 157, "pid": 2, "shipdate": "1992-08-11" }
+{ "partkey": 157, "pid": 3, "shipdate": "1992-08-25" }
+{ "partkey": 160, "pid": 1, "shipdate": "1992-05-07" }
+{ "partkey": 160, "pid": 2, "shipdate": "1992-07-04" }
+{ "partkey": 160, "pid": 3, "shipdate": "1992-08-18" }
+{ "partkey": 161, "pid": 1, "shipdate": "1992-03-29" }
+{ "partkey": 161, "pid": 2, "shipdate": "1992-06-18" }
+{ "partkey": 161, "pid": 3, "shipdate": "1992-08-28" }
+{ "partkey": 164, "pid": 1, "shipdate": "1992-03-25" }
+{ "partkey": 164, "pid": 2, "shipdate": "1992-04-17" }
+{ "partkey": 164, "pid": 3, "shipdate": "1992-06-06" }
+{ "partkey": 166, "pid": 1, "shipdate": "1992-08-11" }
+{ "partkey": 166, "pid": 2, "shipdate": "1992-08-14" }
+{ "partkey": 166, "pid": 3, "shipdate": "1993-04-22" }
+{ "partkey": 168, "pid": 1, "shipdate": "1992-05-06" }
+{ "partkey": 168, "pid": 2, "shipdate": "1992-07-20" }
+{ "partkey": 168, "pid": 3, "shipdate": "1992-10-07" }
+{ "partkey": 173, "pid": 1, "shipdate": "1992-06-17" }
+{ "partkey": 173, "pid": 2, "shipdate": "1992-09-15" }
+{ "partkey": 173, "pid": 3, "shipdate": "1992-09-30" }
+{ "partkey": 175, "pid": 1, "shipdate": "1992-10-09" }
+{ "partkey": 175, "pid": 2, "shipdate": "1992-11-09" }
+{ "partkey": 175, "pid": 3, "shipdate": "1992-11-10" }
+{ "partkey": 176, "pid": 1, "shipdate": "1992-02-01" }
+{ "partkey": 176, "pid": 2, "shipdate": "1992-04-28" }
+{ "partkey": 176, "pid": 3, "shipdate": "1992-09-24" }
+{ "partkey": 193, "pid": 1, "shipdate": "1992-05-05" }
+{ "partkey": 193, "pid": 2, "shipdate": "1992-08-21" }
+{ "partkey": 193, "pid": 3, "shipdate": "1993-02-12" }
+{ "partkey": 196, "pid": 1, "shipdate": "1992-03-02" }
+{ "partkey": 196, "pid": 2, "shipdate": "1992-03-04" }
+{ "partkey": 196, "pid": 3, "shipdate": "1992-06-11" }
+{ "partkey": 198, "pid": 1, "shipdate": "1992-04-21" }
+{ "partkey": 198, "pid": 2, "shipdate": "1992-09-12" }
+{ "partkey": 198, "pid": 3, "shipdate": "1992-12-27" }
+{ "partkey": 16, "pid": 1, "shipdate": "1992-09-11" }
+{ "partkey": 16, "pid": 2, "shipdate": "1992-09-25" }
+{ "partkey": 16, "pid": 3, "shipdate": "1992-11-17" }
+{ "partkey": 20, "pid": 1, "shipdate": "1992-06-15" }
+{ "partkey": 20, "pid": 2, "shipdate": "1992-07-29" }
+{ "partkey": 20, "pid": 3, "shipdate": "1992-10-18" }
+{ "partkey": 27, "pid": 1, "shipdate": "1992-07-05" }
+{ "partkey": 27, "pid": 2, "shipdate": "1992-07-14" }
+{ "partkey": 27, "pid": 3, "shipdate": "1992-08-17" }
+{ "partkey": 28, "pid": 1, "shipdate": "1992-03-16" }
+{ "partkey": 28, "pid": 2, "shipdate": "1992-10-13" }
+{ "partkey": 28, "pid": 3, "shipdate": "1992-11-04" }
+{ "partkey": 30, "pid": 1, "shipdate": "1992-04-10" }
+{ "partkey": 30, "pid": 2, "shipdate": "1992-05-18" }
+{ "partkey": 30, "pid": 3, "shipdate": "1992-05-21" }
+{ "partkey": 32, "pid": 1, "shipdate": "1992-09-22" }
+{ "partkey": 32, "pid": 2, "shipdate": "1992-09-25" }
+{ "partkey": 32, "pid": 3, "shipdate": "1992-10-07" }
+{ "partkey": 39, "pid": 1, "shipdate": "1992-05-26" }
+{ "partkey": 39, "pid": 2, "shipdate": "1992-11-12" }
+{ "partkey": 39, "pid": 3, "shipdate": "1992-11-15" }
+{ "partkey": 40, "pid": 1, "shipdate": "1992-02-07" }
+{ "partkey": 40, "pid": 2, "shipdate": "1992-04-28" }
+{ "partkey": 40, "pid": 3, "shipdate": "1992-05-03" }
+{ "partkey": 45, "pid": 1, "shipdate": "1992-07-16" }
+{ "partkey": 45, "pid": 2, "shipdate": "1993-06-24" }
+{ "partkey": 45, "pid": 3, "shipdate": "1993-09-15" }
+{ "partkey": 50, "pid": 1, "shipdate": "1992-04-22" }
+{ "partkey": 50, "pid": 2, "shipdate": "1992-07-31" }
+{ "partkey": 50, "pid": 3, "shipdate": "1992-09-23" }
+{ "partkey": 55, "pid": 1, "shipdate": "1992-01-16" }
+{ "partkey": 55, "pid": 2, "shipdate": "1992-05-11" }
+{ "partkey": 55, "pid": 3, "shipdate": "1992-06-17" }
+{ "partkey": 57, "pid": 1, "shipdate": "1992-01-16" }
+{ "partkey": 57, "pid": 2, "shipdate": "1992-07-06" }
+{ "partkey": 57, "pid": 3, "shipdate": "1992-09-21" }
+{ "partkey": 59, "pid": 1, "shipdate": "1992-02-09" }
+{ "partkey": 59, "pid": 2, "shipdate": "1992-03-17" }
+{ "partkey": 59, "pid": 3, "shipdate": "1992-06-12" }
+{ "partkey": 63, "pid": 1, "shipdate": "1992-02-07" }
+{ "partkey": 63, "pid": 2, "shipdate": "1992-06-15" }
+{ "partkey": 63, "pid": 3, "shipdate": "1993-02-07" }
+{ "partkey": 69, "pid": 1, "shipdate": "1992-05-31" }
+{ "partkey": 69, "pid": 2, "shipdate": "1992-06-05" }
+{ "partkey": 69, "pid": 3, "shipdate": "1992-07-01" }
+{ "partkey": 83, "pid": 1, "shipdate": "1992-06-09" }
+{ "partkey": 83, "pid": 2, "shipdate": "1992-08-04" }
+{ "partkey": 83, "pid": 3, "shipdate": "1992-09-21" }
+{ "partkey": 85, "pid": 1, "shipdate": "1992-02-28" }
+{ "partkey": 85, "pid": 2, "shipdate": "1992-05-28" }
+{ "partkey": 85, "pid": 3, "shipdate": "1992-06-27" }
+{ "partkey": 87, "pid": 1, "shipdate": "1992-09-30" }
+{ "partkey": 87, "pid": 2, "shipdate": "1992-12-02" }
+{ "partkey": 87, "pid": 3, "shipdate": "1993-01-06" }
+{ "partkey": 88, "pid": 1, "shipdate": "1992-04-24" }
+{ "partkey": 88, "pid": 2, "shipdate": "1992-06-26" }
+{ "partkey": 88, "pid": 3, "shipdate": "1992-12-18" }
+{ "partkey": 98, "pid": 1, "shipdate": "1992-10-06" }
+{ "partkey": 98, "pid": 2, "shipdate": "1992-12-09" }
+{ "partkey": 98, "pid": 3, "shipdate": "1993-03-09" }
+{ "partkey": 106, "pid": 1, "shipdate": "1992-07-09" }
+{ "partkey": 106, "pid": 2, "shipdate": "1992-07-31" }
+{ "partkey": 106, "pid": 3, "shipdate": "1992-10-02" }
+{ "partkey": 110, "pid": 1, "shipdate": "1992-09-18" }
+{ "partkey": 110, "pid": 2, "shipdate": "1992-11-01" }
+{ "partkey": 110, "pid": 3, "shipdate": "1993-01-01" }
+{ "partkey": 112, "pid": 1, "shipdate": "1992-09-13" }
+{ "partkey": 112, "pid": 2, "shipdate": "1992-10-09" }
+{ "partkey": 112, "pid": 3, "shipdate": "1993-01-15" }
+{ "partkey": 113, "pid": 1, "shipdate": "1992-06-08" }
+{ "partkey": 113, "pid": 2, "shipdate": "1992-08-13" }
+{ "partkey": 113, "pid": 3, "shipdate": "1992-08-25" }
+{ "partkey": 126, "pid": 1, "shipdate": "1992-07-28" }
+{ "partkey": 126, "pid": 2, "shipdate": "1992-08-28" }
+{ "partkey": 126, "pid": 3, "shipdate": "1992-09-06" }
+{ "partkey": 127, "pid": 1, "shipdate": "1992-06-04" }
+{ "partkey": 127, "pid": 2, "shipdate": "1992-07-02" }
+{ "partkey": 127, "pid": 3, "shipdate": "1994-01-13" }
+{ "partkey": 128, "pid": 1, "shipdate": "1992-03-05" }
+{ "partkey": 128, "pid": 2, "shipdate": "1992-05-02" }
+{ "partkey": 128, "pid": 3, "shipdate": "1992-08-24" }
+{ "partkey": 129, "pid": 1, "shipdate": "1992-03-31" }
+{ "partkey": 129, "pid": 2, "shipdate": "1992-05-28" }
+{ "partkey": 129, "pid": 3, "shipdate": "1992-08-15" }
+{ "partkey": 131, "pid": 1, "shipdate": "1992-02-27" }
+{ "partkey": 131, "pid": 2, "shipdate": "1992-03-03" }
+{ "partkey": 131, "pid": 3, "shipdate": "1992-05-14" }
+{ "partkey": 135, "pid": 1, "shipdate": "1992-05-02" }
+{ "partkey": 135, "pid": 2, "shipdate": "1992-05-11" }
+{ "partkey": 135, "pid": 3, "shipdate": "1992-05-29" }
+{ "partkey": 144, "pid": 1, "shipdate": "1992-07-05" }
+{ "partkey": 144, "pid": 2, "shipdate": "1992-08-25" }
+{ "partkey": 144, "pid": 3, "shipdate": "1992-09-17" }
+{ "partkey": 147, "pid": 1, "shipdate": "1992-06-10" }
+{ "partkey": 147, "pid": 2, "shipdate": "1992-09-04" }
+{ "partkey": 147, "pid": 3, "shipdate": "1992-12-03" }
+{ "partkey": 163, "pid": 1, "shipdate": "1992-02-09" }
+{ "partkey": 163, "pid": 2, "shipdate": "1992-04-27" }
+{ "partkey": 163, "pid": 3, "shipdate": "1992-06-01" }
+{ "partkey": 167, "pid": 1, "shipdate": "1992-06-02" }
+{ "partkey": 167, "pid": 2, "shipdate": "1993-01-31" }
+{ "partkey": 167, "pid": 3, "shipdate": "1993-02-15" }
+{ "partkey": 181, "pid": 1, "shipdate": "1992-07-01" }
+{ "partkey": 181, "pid": 2, "shipdate": "1992-11-04" }
+{ "partkey": 181, "pid": 3, "shipdate": "1992-12-14" }
+{ "partkey": 184, "pid": 1, "shipdate": "1992-04-12" }
+{ "partkey": 184, "pid": 2, "shipdate": "1992-04-12" }
+{ "partkey": 184, "pid": 3, "shipdate": "1992-04-30" }
+{ "partkey": 191, "pid": 1, "shipdate": "1992-07-31" }
+{ "partkey": 191, "pid": 2, "shipdate": "1992-08-29" }
+{ "partkey": 191, "pid": 3, "shipdate": "1992-09-22" }
diff --git a/asterix-app/src/test/resources/runtimets/results/flwor/at06/at06.1.adm b/asterix-app/src/test/resources/runtimets/results/flwor/at06/at06.1.adm
new file mode 100644
index 0000000..6e4dc15
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/results/flwor/at06/at06.1.adm
@@ -0,0 +1,600 @@
+{ "partkey": 1, "pid": 1, "shipdate": "1992-02-15", "orderkey": 5409 }
+{ "partkey": 1, "pid": 2, "shipdate": "1992-03-30", "orderkey": 1154 }
+{ "partkey": 1, "pid": 3, "shipdate": "1992-07-17", "orderkey": 134 }
+{ "partkey": 2, "pid": 1, "shipdate": "1992-06-23", "orderkey": 3650 }
+{ "partkey": 2, "pid": 2, "shipdate": "1992-07-01", "orderkey": 130 }
+{ "partkey": 2, "pid": 3, "shipdate": "1992-07-18", "orderkey": 5893 }
+{ "partkey": 8, "pid": 1, "shipdate": "1992-09-25", "orderkey": 5635 }
+{ "partkey": 8, "pid": 2, "shipdate": "1992-11-15", "orderkey": 1540 }
+{ "partkey": 8, "pid": 3, "shipdate": "1993-02-13", "orderkey": 1222 }
+{ "partkey": 9, "pid": 1, "shipdate": "1992-04-29", "orderkey": 3970 }
+{ "partkey": 9, "pid": 2, "shipdate": "1992-04-30", "orderkey": 1955 }
+{ "partkey": 9, "pid": 3, "shipdate": "1992-06-01", "orderkey": 4199 }
+{ "partkey": 10, "pid": 1, "shipdate": "1992-05-13", "orderkey": 2881 }
+{ "partkey": 10, "pid": 2, "shipdate": "1992-11-25", "orderkey": 5378 }
+{ "partkey": 10, "pid": 3, "shipdate": "1992-12-01", "orderkey": 1796 }
+{ "partkey": 13, "pid": 1, "shipdate": "1992-04-01", "orderkey": 1537 }
+{ "partkey": 13, "pid": 2, "shipdate": "1992-04-26", "orderkey": 322 }
+{ "partkey": 13, "pid": 3, "shipdate": "1992-05-04", "orderkey": 5953 }
+{ "partkey": 18, "pid": 1, "shipdate": "1992-04-12", "orderkey": 1537 }
+{ "partkey": 18, "pid": 2, "shipdate": "1992-04-21", "orderkey": 2880 }
+{ "partkey": 18, "pid": 3, "shipdate": "1992-05-21", "orderkey": 2688 }
+{ "partkey": 19, "pid": 1, "shipdate": "1992-07-19", "orderkey": 2023 }
+{ "partkey": 19, "pid": 2, "shipdate": "1992-10-21", "orderkey": 481 }
+{ "partkey": 19, "pid": 3, "shipdate": "1992-12-22", "orderkey": 164 }
+{ "partkey": 21, "pid": 1, "shipdate": "1992-07-31", "orderkey": 549 }
+{ "partkey": 21, "pid": 2, "shipdate": "1992-09-09", "orderkey": 4581 }
+{ "partkey": 21, "pid": 3, "shipdate": "1993-01-09", "orderkey": 481 }
+{ "partkey": 25, "pid": 1, "shipdate": "1992-02-04", "orderkey": 2688 }
+{ "partkey": 25, "pid": 2, "shipdate": "1992-07-23", "orderkey": 5060 }
+{ "partkey": 25, "pid": 3, "shipdate": "1992-08-01", "orderkey": 868 }
+{ "partkey": 26, "pid": 1, "shipdate": "1992-02-23", "orderkey": 4800 }
+{ "partkey": 26, "pid": 2, "shipdate": "1992-05-09", "orderkey": 801 }
+{ "partkey": 26, "pid": 3, "shipdate": "1993-01-04", "orderkey": 2146 }
+{ "partkey": 37, "pid": 1, "shipdate": "1992-08-30", "orderkey": 1088 }
+{ "partkey": 37, "pid": 2, "shipdate": "1992-10-03", "orderkey": 2500 }
+{ "partkey": 37, "pid": 3, "shipdate": "1993-01-31", "orderkey": 3074 }
+{ "partkey": 42, "pid": 1, "shipdate": "1992-10-23", "orderkey": 2560 }
+{ "partkey": 42, "pid": 2, "shipdate": "1992-11-04", "orderkey": 2566 }
+{ "partkey": 42, "pid": 3, "shipdate": "1992-12-12", "orderkey": 1571 }
+{ "partkey": 43, "pid": 1, "shipdate": "1992-06-18", "orderkey": 4069 }
+{ "partkey": 43, "pid": 2, "shipdate": "1992-06-30", "orderkey": 2052 }
+{ "partkey": 43, "pid": 3, "shipdate": "1992-08-28", "orderkey": 5959 }
+{ "partkey": 46, "pid": 1, "shipdate": "1992-04-28", "orderkey": 4230 }
+{ "partkey": 46, "pid": 2, "shipdate": "1992-05-08", "orderkey": 3043 }
+{ "partkey": 46, "pid": 3, "shipdate": "1992-05-21", "orderkey": 3845 }
+{ "partkey": 48, "pid": 1, "shipdate": "1992-05-10", "orderkey": 2691 }
+{ "partkey": 48, "pid": 2, "shipdate": "1992-06-03", "orderkey": 5473 }
+{ "partkey": 48, "pid": 3, "shipdate": "1992-06-15", "orderkey": 832 }
+{ "partkey": 51, "pid": 1, "shipdate": "1992-03-11", "orderkey": 5860 }
+{ "partkey": 51, "pid": 2, "shipdate": "1992-05-15", "orderkey": 2786 }
+{ "partkey": 51, "pid": 3, "shipdate": "1992-05-17", "orderkey": 644 }
+{ "partkey": 52, "pid": 1, "shipdate": "1992-05-31", "orderkey": 1057 }
+{ "partkey": 52, "pid": 2, "shipdate": "1992-09-03", "orderkey": 4838 }
+{ "partkey": 52, "pid": 3, "shipdate": "1992-09-21", "orderkey": 3907 }
+{ "partkey": 54, "pid": 1, "shipdate": "1992-04-07", "orderkey": 4515 }
+{ "partkey": 54, "pid": 2, "shipdate": "1992-05-01", "orderkey": 3271 }
+{ "partkey": 54, "pid": 3, "shipdate": "1992-06-24", "orderkey": 1701 }
+{ "partkey": 56, "pid": 1, "shipdate": "1992-01-16", "orderkey": 1248 }
+{ "partkey": 56, "pid": 2, "shipdate": "1992-03-02", "orderkey": 3685 }
+{ "partkey": 56, "pid": 3, "shipdate": "1992-06-18", "orderkey": 3205 }
+{ "partkey": 58, "pid": 1, "shipdate": "1992-05-16", "orderkey": 3685 }
+{ "partkey": 58, "pid": 2, "shipdate": "1992-10-30", "orderkey": 4896 }
+{ "partkey": 58, "pid": 3, "shipdate": "1993-04-10", "orderkey": 1412 }
+{ "partkey": 61, "pid": 1, "shipdate": "1993-07-14", "orderkey": 2020 }
+{ "partkey": 61, "pid": 2, "shipdate": "1993-07-15", "orderkey": 5318 }
+{ "partkey": 61, "pid": 3, "shipdate": "1993-09-29", "orderkey": 261 }
+{ "partkey": 65, "pid": 1, "shipdate": "1992-03-02", "orderkey": 4804 }
+{ "partkey": 65, "pid": 2, "shipdate": "1992-04-14", "orderkey": 2848 }
+{ "partkey": 65, "pid": 3, "shipdate": "1992-06-26", "orderkey": 5095 }
+{ "partkey": 68, "pid": 1, "shipdate": "1992-04-13", "orderkey": 3842 }
+{ "partkey": 68, "pid": 2, "shipdate": "1992-06-08", "orderkey": 5121 }
+{ "partkey": 68, "pid": 3, "shipdate": "1992-06-22", "orderkey": 868 }
+{ "partkey": 72, "pid": 1, "shipdate": "1992-09-16", "orderkey": 3265 }
+{ "partkey": 72, "pid": 2, "shipdate": "1992-10-02", "orderkey": 5635 }
+{ "partkey": 72, "pid": 3, "shipdate": "1992-10-17", "orderkey": 3655 }
+{ "partkey": 74, "pid": 1, "shipdate": "1992-03-21", "orderkey": 4162 }
+{ "partkey": 74, "pid": 2, "shipdate": "1992-03-22", "orderkey": 801 }
+{ "partkey": 74, "pid": 3, "shipdate": "1992-10-21", "orderkey": 929 }
+{ "partkey": 78, "pid": 1, "shipdate": "1992-03-04", "orderkey": 2210 }
+{ "partkey": 78, "pid": 2, "shipdate": "1992-04-04", "orderkey": 2022 }
+{ "partkey": 78, "pid": 3, "shipdate": "1992-05-06", "orderkey": 1764 }
+{ "partkey": 84, "pid": 1, "shipdate": "1992-09-08", "orderkey": 1285 }
+{ "partkey": 84, "pid": 2, "shipdate": "1993-05-15", "orderkey": 2597 }
+{ "partkey": 84, "pid": 3, "shipdate": "1993-05-20", "orderkey": 772 }
+{ "partkey": 86, "pid": 1, "shipdate": "1992-05-25", "orderkey": 2240 }
+{ "partkey": 86, "pid": 2, "shipdate": "1992-11-18", "orderkey": 4896 }
+{ "partkey": 86, "pid": 3, "shipdate": "1993-03-01", "orderkey": 4166 }
+{ "partkey": 95, "pid": 1, "shipdate": "1992-02-24", "orderkey": 3271 }
+{ "partkey": 95, "pid": 2, "shipdate": "1992-03-14", "orderkey": 801 }
+{ "partkey": 95, "pid": 3, "shipdate": "1992-11-17", "orderkey": 2176 }
+{ "partkey": 100, "pid": 1, "shipdate": "1992-03-24", "orderkey": 292 }
+{ "partkey": 100, "pid": 2, "shipdate": "1992-03-24", "orderkey": 2022 }
+{ "partkey": 100, "pid": 3, "shipdate": "1992-06-18", "orderkey": 4738 }
+{ "partkey": 103, "pid": 1, "shipdate": "1992-03-28", "orderkey": 4515 }
+{ "partkey": 103, "pid": 2, "shipdate": "1992-05-08", "orderkey": 832 }
+{ "partkey": 103, "pid": 3, "shipdate": "1992-07-11", "orderkey": 4900 }
+{ "partkey": 104, "pid": 1, "shipdate": "1992-03-17", "orderkey": 5409 }
+{ "partkey": 104, "pid": 2, "shipdate": "1992-11-08", "orderkey": 4897 }
+{ "partkey": 104, "pid": 3, "shipdate": "1994-01-22", "orderkey": 5479 }
+{ "partkey": 108, "pid": 1, "shipdate": "1992-07-28", "orderkey": 1826 }
+{ "partkey": 108, "pid": 2, "shipdate": "1992-08-01", "orderkey": 1221 }
+{ "partkey": 108, "pid": 3, "shipdate": "1992-09-07", "orderkey": 2560 }
+{ "partkey": 114, "pid": 1, "shipdate": "1992-11-19", "orderkey": 3014 }
+{ "partkey": 114, "pid": 2, "shipdate": "1992-11-22", "orderkey": 1506 }
+{ "partkey": 114, "pid": 3, "shipdate": "1993-03-22", "orderkey": 710 }
+{ "partkey": 118, "pid": 1, "shipdate": "1992-06-18", "orderkey": 4035 }
+{ "partkey": 118, "pid": 2, "shipdate": "1992-09-27", "orderkey": 1793 }
+{ "partkey": 118, "pid": 3, "shipdate": "1992-10-02", "orderkey": 5408 }
+{ "partkey": 119, "pid": 1, "shipdate": "1992-05-08", "orderkey": 5574 }
+{ "partkey": 119, "pid": 2, "shipdate": "1992-05-27", "orderkey": 5959 }
+{ "partkey": 119, "pid": 3, "shipdate": "1992-09-07", "orderkey": 4294 }
+{ "partkey": 122, "pid": 1, "shipdate": "1992-03-12", "orderkey": 1248 }
+{ "partkey": 122, "pid": 2, "shipdate": "1992-04-09", "orderkey": 2912 }
+{ "partkey": 122, "pid": 3, "shipdate": "1992-06-05", "orderkey": 801 }
+{ "partkey": 123, "pid": 1, "shipdate": "1992-02-01", "orderkey": 3011 }
+{ "partkey": 123, "pid": 2, "shipdate": "1992-06-20", "orderkey": 5095 }
+{ "partkey": 123, "pid": 3, "shipdate": "1992-11-22", "orderkey": 1505 }
+{ "partkey": 130, "pid": 1, "shipdate": "1992-04-03", "orderkey": 4705 }
+{ "partkey": 130, "pid": 2, "shipdate": "1992-05-23", "orderkey": 1856 }
+{ "partkey": 130, "pid": 3, "shipdate": "1992-08-20", "orderkey": 644 }
+{ "partkey": 132, "pid": 1, "shipdate": "1992-04-17", "orderkey": 5607 }
+{ "partkey": 132, "pid": 2, "shipdate": "1992-06-14", "orderkey": 384 }
+{ "partkey": 132, "pid": 3, "shipdate": "1992-07-06", "orderkey": 3172 }
+{ "partkey": 134, "pid": 1, "shipdate": "1992-05-17", "orderkey": 3685 }
+{ "partkey": 134, "pid": 2, "shipdate": "1992-05-20", "orderkey": 644 }
+{ "partkey": 134, "pid": 3, "shipdate": "1992-05-29", "orderkey": 421 }
+{ "partkey": 136, "pid": 1, "shipdate": "1992-05-19", "orderkey": 2786 }
+{ "partkey": 136, "pid": 2, "shipdate": "1992-05-21", "orderkey": 4035 }
+{ "partkey": 136, "pid": 3, "shipdate": "1992-06-07", "orderkey": 4805 }
+{ "partkey": 140, "pid": 1, "shipdate": "1992-03-20", "orderkey": 1537 }
+{ "partkey": 140, "pid": 2, "shipdate": "1992-04-27", "orderkey": 6 }
+{ "partkey": 140, "pid": 3, "shipdate": "1992-08-03", "orderkey": 2881 }
+{ "partkey": 141, "pid": 1, "shipdate": "1992-01-13", "orderkey": 5409 }
+{ "partkey": 141, "pid": 2, "shipdate": "1992-02-01", "orderkey": 3712 }
+{ "partkey": 141, "pid": 3, "shipdate": "1992-06-22", "orderkey": 1344 }
+{ "partkey": 149, "pid": 1, "shipdate": "1992-03-22", "orderkey": 5382 }
+{ "partkey": 149, "pid": 2, "shipdate": "1992-04-29", "orderkey": 2688 }
+{ "partkey": 149, "pid": 3, "shipdate": "1992-05-14", "orderkey": 194 }
+{ "partkey": 158, "pid": 1, "shipdate": "1992-08-01", "orderkey": 1955 }
+{ "partkey": 158, "pid": 2, "shipdate": "1992-08-29", "orderkey": 5254 }
+{ "partkey": 158, "pid": 3, "shipdate": "1992-09-18", "orderkey": 5089 }
+{ "partkey": 159, "pid": 1, "shipdate": "1992-05-07", "orderkey": 5409 }
+{ "partkey": 159, "pid": 2, "shipdate": "1992-06-03", "orderkey": 1955 }
+{ "partkey": 159, "pid": 3, "shipdate": "1992-07-10", "orderkey": 4738 }
+{ "partkey": 170, "pid": 1, "shipdate": "1992-08-07", "orderkey": 1221 }
+{ "partkey": 170, "pid": 2, "shipdate": "1993-03-17", "orderkey": 738 }
+{ "partkey": 170, "pid": 3, "shipdate": "1993-06-19", "orderkey": 3874 }
+{ "partkey": 171, "pid": 1, "shipdate": "1992-11-09", "orderkey": 3361 }
+{ "partkey": 171, "pid": 2, "shipdate": "1994-01-22", "orderkey": 4675 }
+{ "partkey": 171, "pid": 3, "shipdate": "1995-01-02", "orderkey": 5317 }
+{ "partkey": 172, "pid": 1, "shipdate": "1992-09-06", "orderkey": 2247 }
+{ "partkey": 172, "pid": 2, "shipdate": "1993-05-01", "orderkey": 167 }
+{ "partkey": 172, "pid": 3, "shipdate": "1993-06-16", "orderkey": 1600 }
+{ "partkey": 179, "pid": 1, "shipdate": "1992-05-30", "orderkey": 1537 }
+{ "partkey": 179, "pid": 2, "shipdate": "1992-06-02", "orderkey": 384 }
+{ "partkey": 179, "pid": 3, "shipdate": "1992-09-20", "orderkey": 4741 }
+{ "partkey": 183, "pid": 1, "shipdate": "1992-04-24", "orderkey": 4998 }
+{ "partkey": 183, "pid": 2, "shipdate": "1992-10-24", "orderkey": 5408 }
+{ "partkey": 183, "pid": 3, "shipdate": "1993-01-08", "orderkey": 1571 }
+{ "partkey": 185, "pid": 1, "shipdate": "1992-04-30", "orderkey": 3712 }
+{ "partkey": 185, "pid": 2, "shipdate": "1992-06-20", "orderkey": 5574 }
+{ "partkey": 185, "pid": 3, "shipdate": "1992-07-23", "orderkey": 2023 }
+{ "partkey": 187, "pid": 1, "shipdate": "1992-04-01", "orderkey": 4391 }
+{ "partkey": 187, "pid": 2, "shipdate": "1992-05-30", "orderkey": 4738 }
+{ "partkey": 187, "pid": 3, "shipdate": "1992-06-01", "orderkey": 4738 }
+{ "partkey": 188, "pid": 1, "shipdate": "1992-09-15", "orderkey": 1285 }
+{ "partkey": 188, "pid": 2, "shipdate": "1993-04-08", "orderkey": 5381 }
+{ "partkey": 188, "pid": 3, "shipdate": "1993-05-03", "orderkey": 4226 }
+{ "partkey": 190, "pid": 1, "shipdate": "1992-04-14", "orderkey": 1856 }
+{ "partkey": 190, "pid": 2, "shipdate": "1992-07-17", "orderkey": 1344 }
+{ "partkey": 190, "pid": 3, "shipdate": "1992-10-12", "orderkey": 1185 }
+{ "partkey": 195, "pid": 1, "shipdate": "1992-04-10", "orderkey": 2848 }
+{ "partkey": 195, "pid": 2, "shipdate": "1992-05-07", "orderkey": 3744 }
+{ "partkey": 195, "pid": 3, "shipdate": "1992-05-28", "orderkey": 3205 }
+{ "partkey": 197, "pid": 1, "shipdate": "1993-08-22", "orderkey": 2080 }
+{ "partkey": 197, "pid": 2, "shipdate": "1994-02-24", "orderkey": 3138 }
+{ "partkey": 197, "pid": 3, "shipdate": "1994-03-03", "orderkey": 70 }
+{ "partkey": 199, "pid": 1, "shipdate": "1992-03-14", "orderkey": 4230 }
+{ "partkey": 199, "pid": 2, "shipdate": "1992-08-02", "orderkey": 5028 }
+{ "partkey": 199, "pid": 3, "shipdate": "1992-11-20", "orderkey": 3333 }
+{ "partkey": 200, "pid": 1, "shipdate": "1992-04-19", "orderkey": 324 }
+{ "partkey": 200, "pid": 2, "shipdate": "1993-01-06", "orderkey": 1447 }
+{ "partkey": 200, "pid": 3, "shipdate": "1993-10-17", "orderkey": 5764 }
+{ "partkey": 3, "pid": 1, "shipdate": "1992-04-25", "orderkey": 801 }
+{ "partkey": 3, "pid": 2, "shipdate": "1992-05-24", "orderkey": 194 }
+{ "partkey": 3, "pid": 3, "shipdate": "1993-01-03", "orderkey": 3776 }
+{ "partkey": 6, "pid": 1, "shipdate": "1992-04-05", "orderkey": 4483 }
+{ "partkey": 6, "pid": 2, "shipdate": "1992-04-25", "orderkey": 801 }
+{ "partkey": 6, "pid": 3, "shipdate": "1992-04-29", "orderkey": 2689 }
+{ "partkey": 7, "pid": 1, "shipdate": "1992-04-12", "orderkey": 3140 }
+{ "partkey": 7, "pid": 2, "shipdate": "1993-02-11", "orderkey": 3204 }
+{ "partkey": 7, "pid": 3, "shipdate": "1993-06-25", "orderkey": 5794 }
+{ "partkey": 12, "pid": 1, "shipdate": "1992-07-04", "orderkey": 130 }
+{ "partkey": 12, "pid": 2, "shipdate": "1992-07-17", "orderkey": 322 }
+{ "partkey": 12, "pid": 3, "shipdate": "1992-09-02", "orderkey": 2497 }
+{ "partkey": 17, "pid": 1, "shipdate": "1992-07-23", "orderkey": 967 }
+{ "partkey": 17, "pid": 2, "shipdate": "1993-03-01", "orderkey": 931 }
+{ "partkey": 17, "pid": 3, "shipdate": "1993-05-06", "orderkey": 611 }
+{ "partkey": 23, "pid": 1, "shipdate": "1992-04-04", "orderkey": 2786 }
+{ "partkey": 23, "pid": 2, "shipdate": "1992-06-19", "orderkey": 1856 }
+{ "partkey": 23, "pid": 3, "shipdate": "1992-06-29", "orderkey": 1282 }
+{ "partkey": 31, "pid": 1, "shipdate": "1992-07-14", "orderkey": 4705 }
+{ "partkey": 31, "pid": 2, "shipdate": "1992-09-24", "orderkey": 1185 }
+{ "partkey": 31, "pid": 3, "shipdate": "1992-09-29", "orderkey": 5415 }
+{ "partkey": 35, "pid": 1, "shipdate": "1992-03-11", "orderkey": 4230 }
+{ "partkey": 35, "pid": 2, "shipdate": "1992-04-06", "orderkey": 4804 }
+{ "partkey": 35, "pid": 3, "shipdate": "1992-05-26", "orderkey": 2880 }
+{ "partkey": 44, "pid": 1, "shipdate": "1992-02-14", "orderkey": 4292 }
+{ "partkey": 44, "pid": 2, "shipdate": "1992-06-11", "orderkey": 322 }
+{ "partkey": 44, "pid": 3, "shipdate": "1992-11-29", "orderkey": 2147 }
+{ "partkey": 49, "pid": 1, "shipdate": "1992-04-29", "orderkey": 2983 }
+{ "partkey": 49, "pid": 2, "shipdate": "1992-06-14", "orderkey": 2022 }
+{ "partkey": 49, "pid": 3, "shipdate": "1992-08-13", "orderkey": 933 }
+{ "partkey": 66, "pid": 1, "shipdate": "1992-05-07", "orderkey": 194 }
+{ "partkey": 66, "pid": 2, "shipdate": "1992-09-11", "orderkey": 549 }
+{ "partkey": 66, "pid": 3, "shipdate": "1992-10-10", "orderkey": 3015 }
+{ "partkey": 71, "pid": 1, "shipdate": "1992-11-10", "orderkey": 2497 }
+{ "partkey": 71, "pid": 2, "shipdate": "1993-01-10", "orderkey": 2146 }
+{ "partkey": 71, "pid": 3, "shipdate": "1993-02-28", "orderkey": 4611 }
+{ "partkey": 77, "pid": 1, "shipdate": "1992-08-18", "orderkey": 4900 }
+{ "partkey": 77, "pid": 2, "shipdate": "1992-12-23", "orderkey": 2497 }
+{ "partkey": 77, "pid": 3, "shipdate": "1993-06-19", "orderkey": 4166 }
+{ "partkey": 80, "pid": 1, "shipdate": "1992-05-18", "orderkey": 644 }
+{ "partkey": 80, "pid": 2, "shipdate": "1992-09-02", "orderkey": 2500 }
+{ "partkey": 80, "pid": 3, "shipdate": "1993-06-07", "orderkey": 3877 }
+{ "partkey": 81, "pid": 1, "shipdate": "1992-04-11", "orderkey": 2240 }
+{ "partkey": 81, "pid": 2, "shipdate": "1992-06-22", "orderkey": 1221 }
+{ "partkey": 81, "pid": 3, "shipdate": "1992-12-30", "orderkey": 5954 }
+{ "partkey": 89, "pid": 1, "shipdate": "1992-04-18", "orderkey": 2688 }
+{ "partkey": 89, "pid": 2, "shipdate": "1992-04-19", "orderkey": 4705 }
+{ "partkey": 89, "pid": 3, "shipdate": "1992-05-27", "orderkey": 5121 }
+{ "partkey": 90, "pid": 1, "shipdate": "1992-02-25", "orderkey": 4162 }
+{ "partkey": 90, "pid": 2, "shipdate": "1992-06-07", "orderkey": 5474 }
+{ "partkey": 90, "pid": 3, "shipdate": "1992-08-21", "orderkey": 5986 }
+{ "partkey": 91, "pid": 1, "shipdate": "1992-05-22", "orderkey": 3043 }
+{ "partkey": 91, "pid": 2, "shipdate": "1992-06-21", "orderkey": 2691 }
+{ "partkey": 91, "pid": 3, "shipdate": "1992-12-03", "orderkey": 3015 }
+{ "partkey": 93, "pid": 1, "shipdate": "1992-05-28", "orderkey": 2881 }
+{ "partkey": 93, "pid": 2, "shipdate": "1992-06-24", "orderkey": 384 }
+{ "partkey": 93, "pid": 3, "shipdate": "1992-09-11", "orderkey": 3654 }
+{ "partkey": 96, "pid": 1, "shipdate": "1992-06-18", "orderkey": 2052 }
+{ "partkey": 96, "pid": 2, "shipdate": "1992-09-26", "orderkey": 3172 }
+{ "partkey": 96, "pid": 3, "shipdate": "1992-11-25", "orderkey": 1159 }
+{ "partkey": 97, "pid": 1, "shipdate": "1992-01-27", "orderkey": 4800 }
+{ "partkey": 97, "pid": 2, "shipdate": "1992-03-22", "orderkey": 1856 }
+{ "partkey": 97, "pid": 3, "shipdate": "1992-04-21", "orderkey": 4035 }
+{ "partkey": 121, "pid": 1, "shipdate": "1992-04-23", "orderkey": 4903 }
+{ "partkey": 121, "pid": 2, "shipdate": "1992-06-09", "orderkey": 1764 }
+{ "partkey": 121, "pid": 3, "shipdate": "1992-06-23", "orderkey": 2054 }
+{ "partkey": 124, "pid": 1, "shipdate": "1992-06-15", "orderkey": 1088 }
+{ "partkey": 124, "pid": 2, "shipdate": "1992-08-09", "orderkey": 2209 }
+{ "partkey": 124, "pid": 3, "shipdate": "1992-09-13", "orderkey": 1346 }
+{ "partkey": 125, "pid": 1, "shipdate": "1992-03-15", "orderkey": 2848 }
+{ "partkey": 125, "pid": 2, "shipdate": "1992-03-29", "orderkey": 4230 }
+{ "partkey": 125, "pid": 3, "shipdate": "1992-05-24", "orderkey": 4069 }
+{ "partkey": 133, "pid": 1, "shipdate": "1992-06-08", "orderkey": 3140 }
+{ "partkey": 133, "pid": 2, "shipdate": "1992-11-17", "orderkey": 4864 }
+{ "partkey": 133, "pid": 3, "shipdate": "1993-01-18", "orderkey": 1506 }
+{ "partkey": 139, "pid": 1, "shipdate": "1992-04-12", "orderkey": 2880 }
+{ "partkey": 139, "pid": 2, "shipdate": "1992-06-28", "orderkey": 4992 }
+{ "partkey": 139, "pid": 3, "shipdate": "1992-09-12", "orderkey": 4099 }
+{ "partkey": 142, "pid": 1, "shipdate": "1992-10-14", "orderkey": 3556 }
+{ "partkey": 142, "pid": 2, "shipdate": "1993-05-14", "orderkey": 2241 }
+{ "partkey": 142, "pid": 3, "shipdate": "1993-07-11", "orderkey": 5670 }
+{ "partkey": 143, "pid": 1, "shipdate": "1992-04-17", "orderkey": 1154 }
+{ "partkey": 143, "pid": 2, "shipdate": "1992-09-01", "orderkey": 3524 }
+{ "partkey": 143, "pid": 3, "shipdate": "1992-09-05", "orderkey": 1285 }
+{ "partkey": 148, "pid": 1, "shipdate": "1992-01-15", "orderkey": 3712 }
+{ "partkey": 148, "pid": 2, "shipdate": "1992-02-27", "orderkey": 5601 }
+{ "partkey": 148, "pid": 3, "shipdate": "1992-04-22", "orderkey": 1154 }
+{ "partkey": 150, "pid": 1, "shipdate": "1992-05-01", "orderkey": 4805 }
+{ "partkey": 150, "pid": 2, "shipdate": "1992-05-02", "orderkey": 1856 }
+{ "partkey": 150, "pid": 3, "shipdate": "1992-05-25", "orderkey": 1701 }
+{ "partkey": 151, "pid": 1, "shipdate": "1992-01-26", "orderkey": 1248 }
+{ "partkey": 151, "pid": 2, "shipdate": "1992-07-30", "orderkey": 4256 }
+{ "partkey": 151, "pid": 3, "shipdate": "1992-12-19", "orderkey": 3014 }
+{ "partkey": 153, "pid": 1, "shipdate": "1992-02-22", "orderkey": 5382 }
+{ "partkey": 153, "pid": 2, "shipdate": "1992-06-02", "orderkey": 5767 }
+{ "partkey": 153, "pid": 3, "shipdate": "1992-06-29", "orderkey": 322 }
+{ "partkey": 155, "pid": 1, "shipdate": "1992-09-28", "orderkey": 1956 }
+{ "partkey": 155, "pid": 2, "shipdate": "1992-11-25", "orderkey": 5378 }
+{ "partkey": 155, "pid": 3, "shipdate": "1993-05-14", "orderkey": 2305 }
+{ "partkey": 162, "pid": 1, "shipdate": "1992-04-10", "orderkey": 5953 }
+{ "partkey": 162, "pid": 2, "shipdate": "1992-05-03", "orderkey": 2786 }
+{ "partkey": 162, "pid": 3, "shipdate": "1992-06-11", "orderkey": 2691 }
+{ "partkey": 165, "pid": 1, "shipdate": "1992-03-21", "orderkey": 2848 }
+{ "partkey": 165, "pid": 2, "shipdate": "1992-04-01", "orderkey": 4903 }
+{ "partkey": 165, "pid": 3, "shipdate": "1992-04-12", "orderkey": 3168 }
+{ "partkey": 169, "pid": 1, "shipdate": "1992-03-31", "orderkey": 1057 }
+{ "partkey": 169, "pid": 2, "shipdate": "1992-06-05", "orderkey": 5953 }
+{ "partkey": 169, "pid": 3, "shipdate": "1992-06-07", "orderkey": 1894 }
+{ "partkey": 174, "pid": 1, "shipdate": "1992-06-25", "orderkey": 2054 }
+{ "partkey": 174, "pid": 2, "shipdate": "1992-11-02", "orderkey": 1991 }
+{ "partkey": 174, "pid": 3, "shipdate": "1992-12-02", "orderkey": 4261 }
+{ "partkey": 177, "pid": 1, "shipdate": "1992-04-05", "orderkey": 5382 }
+{ "partkey": 177, "pid": 2, "shipdate": "1992-12-25", "orderkey": 1956 }
+{ "partkey": 177, "pid": 3, "shipdate": "1993-01-16", "orderkey": 3680 }
+{ "partkey": 178, "pid": 1, "shipdate": "1992-05-23", "orderkey": 5095 }
+{ "partkey": 178, "pid": 2, "shipdate": "1992-08-18", "orderkey": 2209 }
+{ "partkey": 178, "pid": 3, "shipdate": "1992-11-02", "orderkey": 1504 }
+{ "partkey": 180, "pid": 1, "shipdate": "1992-03-07", "orderkey": 5382 }
+{ "partkey": 180, "pid": 2, "shipdate": "1992-05-23", "orderkey": 4515 }
+{ "partkey": 180, "pid": 3, "shipdate": "1992-06-21", "orderkey": 2881 }
+{ "partkey": 182, "pid": 1, "shipdate": "1992-03-02", "orderkey": 1057 }
+{ "partkey": 182, "pid": 2, "shipdate": "1992-04-02", "orderkey": 384 }
+{ "partkey": 182, "pid": 3, "shipdate": "1992-04-28", "orderkey": 737 }
+{ "partkey": 186, "pid": 1, "shipdate": "1992-07-26", "orderkey": 4069 }
+{ "partkey": 186, "pid": 2, "shipdate": "1992-11-25", "orderkey": 129 }
+{ "partkey": 186, "pid": 3, "shipdate": "1992-11-27", "orderkey": 481 }
+{ "partkey": 189, "pid": 1, "shipdate": "1992-06-16", "orderkey": 4805 }
+{ "partkey": 189, "pid": 2, "shipdate": "1992-06-20", "orderkey": 134 }
+{ "partkey": 189, "pid": 3, "shipdate": "1992-07-20", "orderkey": 1285 }
+{ "partkey": 192, "pid": 1, "shipdate": "1992-02-19", "orderkey": 3685 }
+{ "partkey": 192, "pid": 2, "shipdate": "1992-08-10", "orderkey": 5254 }
+{ "partkey": 192, "pid": 3, "shipdate": "1992-09-02", "orderkey": 2500 }
+{ "partkey": 194, "pid": 1, "shipdate": "1992-02-14", "orderkey": 5409 }
+{ "partkey": 194, "pid": 2, "shipdate": "1992-06-20", "orderkey": 3842 }
+{ "partkey": 194, "pid": 3, "shipdate": "1992-12-15", "orderkey": 5062 }
+{ "partkey": 4, "pid": 1, "shipdate": "1992-05-02", "orderkey": 4292 }
+{ "partkey": 4, "pid": 2, "shipdate": "1992-11-03", "orderkey": 164 }
+{ "partkey": 4, "pid": 3, "shipdate": "1992-11-18", "orderkey": 2019 }
+{ "partkey": 5, "pid": 1, "shipdate": "1992-05-02", "orderkey": 3970 }
+{ "partkey": 5, "pid": 2, "shipdate": "1992-06-14", "orderkey": 5959 }
+{ "partkey": 5, "pid": 3, "shipdate": "1993-01-06", "orderkey": 3680 }
+{ "partkey": 11, "pid": 1, "shipdate": "1992-02-14", "orderkey": 4800 }
+{ "partkey": 11, "pid": 2, "shipdate": "1992-07-20", "orderkey": 5858 }
+{ "partkey": 11, "pid": 3, "shipdate": "1992-08-03", "orderkey": 3237 }
+{ "partkey": 14, "pid": 1, "shipdate": "1992-07-17", "orderkey": 5028 }
+{ "partkey": 14, "pid": 2, "shipdate": "1992-11-30", "orderkey": 3232 }
+{ "partkey": 14, "pid": 3, "shipdate": "1993-05-10", "orderkey": 2279 }
+{ "partkey": 15, "pid": 1, "shipdate": "1992-05-18", "orderkey": 5473 }
+{ "partkey": 15, "pid": 2, "shipdate": "1992-05-24", "orderkey": 2688 }
+{ "partkey": 15, "pid": 3, "shipdate": "1993-04-14", "orderkey": 5472 }
+{ "partkey": 22, "pid": 1, "shipdate": "1992-06-21", "orderkey": 1285 }
+{ "partkey": 22, "pid": 2, "shipdate": "1992-06-25", "orderkey": 3970 }
+{ "partkey": 22, "pid": 3, "shipdate": "1992-11-20", "orderkey": 1447 }
+{ "partkey": 24, "pid": 1, "shipdate": "1992-04-12", "orderkey": 2755 }
+{ "partkey": 24, "pid": 2, "shipdate": "1992-08-06", "orderkey": 4260 }
+{ "partkey": 24, "pid": 3, "shipdate": "1992-08-08", "orderkey": 3845 }
+{ "partkey": 29, "pid": 1, "shipdate": "1992-05-25", "orderkey": 4738 }
+{ "partkey": 29, "pid": 2, "shipdate": "1992-06-01", "orderkey": 3205 }
+{ "partkey": 29, "pid": 3, "shipdate": "1992-07-25", "orderkey": 868 }
+{ "partkey": 33, "pid": 1, "shipdate": "1992-03-22", "orderkey": 5574 }
+{ "partkey": 33, "pid": 2, "shipdate": "1993-02-17", "orderkey": 4163 }
+{ "partkey": 33, "pid": 3, "shipdate": "1993-02-21", "orderkey": 388 }
+{ "partkey": 34, "pid": 1, "shipdate": "1992-07-03", "orderkey": 322 }
+{ "partkey": 34, "pid": 2, "shipdate": "1992-07-20", "orderkey": 3845 }
+{ "partkey": 34, "pid": 3, "shipdate": "1992-11-23", "orderkey": 5089 }
+{ "partkey": 36, "pid": 1, "shipdate": "1992-02-26", "orderkey": 1154 }
+{ "partkey": 36, "pid": 2, "shipdate": "1992-07-03", "orderkey": 134 }
+{ "partkey": 36, "pid": 3, "shipdate": "1993-01-06", "orderkey": 3521 }
+{ "partkey": 38, "pid": 1, "shipdate": "1992-04-06", "orderkey": 5601 }
+{ "partkey": 38, "pid": 2, "shipdate": "1992-04-15", "orderkey": 322 }
+{ "partkey": 38, "pid": 3, "shipdate": "1992-08-27", "orderkey": 2023 }
+{ "partkey": 41, "pid": 1, "shipdate": "1992-12-13", "orderkey": 4896 }
+{ "partkey": 41, "pid": 2, "shipdate": "1993-01-18", "orderkey": 2852 }
+{ "partkey": 41, "pid": 3, "shipdate": "1993-04-13", "orderkey": 3367 }
+{ "partkey": 47, "pid": 1, "shipdate": "1992-03-11", "orderkey": 3685 }
+{ "partkey": 47, "pid": 2, "shipdate": "1993-05-30", "orderkey": 3171 }
+{ "partkey": 47, "pid": 3, "shipdate": "1993-06-06", "orderkey": 2341 }
+{ "partkey": 53, "pid": 1, "shipdate": "1992-01-14", "orderkey": 4800 }
+{ "partkey": 53, "pid": 2, "shipdate": "1992-05-22", "orderkey": 2240 }
+{ "partkey": 53, "pid": 3, "shipdate": "1992-10-04", "orderkey": 2562 }
+{ "partkey": 60, "pid": 1, "shipdate": "1992-02-14", "orderkey": 3168 }
+{ "partkey": 60, "pid": 2, "shipdate": "1992-07-01", "orderkey": 1217 }
+{ "partkey": 60, "pid": 3, "shipdate": "1992-07-15", "orderkey": 3043 }
+{ "partkey": 62, "pid": 1, "shipdate": "1992-02-01", "orderkey": 1248 }
+{ "partkey": 62, "pid": 2, "shipdate": "1992-03-26", "orderkey": 5382 }
+{ "partkey": 62, "pid": 3, "shipdate": "1992-06-19", "orderkey": 4483 }
+{ "partkey": 64, "pid": 1, "shipdate": "1992-02-13", "orderkey": 2755 }
+{ "partkey": 64, "pid": 2, "shipdate": "1992-02-14", "orderkey": 5409 }
+{ "partkey": 64, "pid": 3, "shipdate": "1992-03-10", "orderkey": 3271 }
+{ "partkey": 67, "pid": 1, "shipdate": "1992-05-13", "orderkey": 1764 }
+{ "partkey": 67, "pid": 2, "shipdate": "1993-01-08", "orderkey": 612 }
+{ "partkey": 67, "pid": 3, "shipdate": "1993-11-03", "orderkey": 2631 }
+{ "partkey": 70, "pid": 1, "shipdate": "1992-04-06", "orderkey": 5473 }
+{ "partkey": 70, "pid": 2, "shipdate": "1992-06-11", "orderkey": 4199 }
+{ "partkey": 70, "pid": 3, "shipdate": "1992-06-25", "orderkey": 3650 }
+{ "partkey": 73, "pid": 1, "shipdate": "1992-01-08", "orderkey": 5601 }
+{ "partkey": 73, "pid": 2, "shipdate": "1992-09-16", "orderkey": 4741 }
+{ "partkey": 73, "pid": 3, "shipdate": "1993-07-02", "orderkey": 4743 }
+{ "partkey": 75, "pid": 1, "shipdate": "1992-03-27", "orderkey": 4000 }
+{ "partkey": 75, "pid": 2, "shipdate": "1992-05-12", "orderkey": 4230 }
+{ "partkey": 75, "pid": 3, "shipdate": "1992-09-19", "orderkey": 4103 }
+{ "partkey": 76, "pid": 1, "shipdate": "1992-10-22", "orderkey": 5408 }
+{ "partkey": 76, "pid": 2, "shipdate": "1993-04-19", "orderkey": 2272 }
+{ "partkey": 76, "pid": 3, "shipdate": "1993-06-12", "orderkey": 2245 }
+{ "partkey": 79, "pid": 1, "shipdate": "1992-08-05", "orderkey": 4069 }
+{ "partkey": 79, "pid": 2, "shipdate": "1992-08-10", "orderkey": 5986 }
+{ "partkey": 79, "pid": 3, "shipdate": "1993-04-08", "orderkey": 4418 }
+{ "partkey": 82, "pid": 1, "shipdate": "1992-07-17", "orderkey": 4867 }
+{ "partkey": 82, "pid": 2, "shipdate": "1992-10-18", "orderkey": 1504 }
+{ "partkey": 82, "pid": 3, "shipdate": "1992-12-11", "orderkey": 4261 }
+{ "partkey": 92, "pid": 1, "shipdate": "1992-02-11", "orderkey": 2755 }
+{ "partkey": 92, "pid": 2, "shipdate": "1992-09-30", "orderkey": 487 }
+{ "partkey": 92, "pid": 3, "shipdate": "1993-01-04", "orderkey": 164 }
+{ "partkey": 94, "pid": 1, "shipdate": "1992-05-20", "orderkey": 5574 }
+{ "partkey": 94, "pid": 2, "shipdate": "1992-07-03", "orderkey": 3650 }
+{ "partkey": 94, "pid": 3, "shipdate": "1992-07-26", "orderkey": 3654 }
+{ "partkey": 99, "pid": 1, "shipdate": "1992-05-01", "orderkey": 4998 }
+{ "partkey": 99, "pid": 2, "shipdate": "1993-04-18", "orderkey": 1409 }
+{ "partkey": 99, "pid": 3, "shipdate": "1993-06-09", "orderkey": 2149 }
+{ "partkey": 101, "pid": 1, "shipdate": "1992-08-17", "orderkey": 644 }
+{ "partkey": 101, "pid": 2, "shipdate": "1992-09-27", "orderkey": 2147 }
+{ "partkey": 101, "pid": 3, "shipdate": "1992-12-28", "orderkey": 1571 }
+{ "partkey": 102, "pid": 1, "shipdate": "1992-08-19", "orderkey": 5415 }
+{ "partkey": 102, "pid": 2, "shipdate": "1992-08-21", "orderkey": 5408 }
+{ "partkey": 102, "pid": 3, "shipdate": "1992-10-25", "orderkey": 674 }
+{ "partkey": 105, "pid": 1, "shipdate": "1992-02-14", "orderkey": 5382 }
+{ "partkey": 105, "pid": 2, "shipdate": "1992-06-01", "orderkey": 615 }
+{ "partkey": 105, "pid": 3, "shipdate": "1992-07-14", "orderkey": 4900 }
+{ "partkey": 107, "pid": 1, "shipdate": "1992-05-22", "orderkey": 1088 }
+{ "partkey": 107, "pid": 2, "shipdate": "1992-07-30", "orderkey": 3654 }
+{ "partkey": 107, "pid": 3, "shipdate": "1992-08-05", "orderkey": 3842 }
+{ "partkey": 109, "pid": 1, "shipdate": "1992-06-06", "orderkey": 3970 }
+{ "partkey": 109, "pid": 2, "shipdate": "1992-11-20", "orderkey": 1159 }
+{ "partkey": 109, "pid": 3, "shipdate": "1992-12-23", "orderkey": 164 }
+{ "partkey": 111, "pid": 1, "shipdate": "1992-07-05", "orderkey": 4705 }
+{ "partkey": 111, "pid": 2, "shipdate": "1992-07-28", "orderkey": 5254 }
+{ "partkey": 111, "pid": 3, "shipdate": "1992-08-13", "orderkey": 5121 }
+{ "partkey": 115, "pid": 1, "shipdate": "1992-03-13", "orderkey": 2912 }
+{ "partkey": 115, "pid": 2, "shipdate": "1992-05-29", "orderkey": 3973 }
+{ "partkey": 115, "pid": 3, "shipdate": "1992-06-17", "orderkey": 2880 }
+{ "partkey": 116, "pid": 1, "shipdate": "1992-03-22", "orderkey": 2755 }
+{ "partkey": 116, "pid": 2, "shipdate": "1992-05-17", "orderkey": 1925 }
+{ "partkey": 116, "pid": 3, "shipdate": "1992-06-24", "orderkey": 5603 }
+{ "partkey": 117, "pid": 1, "shipdate": "1992-05-04", "orderkey": 1856 }
+{ "partkey": 117, "pid": 2, "shipdate": "1993-03-18", "orderkey": 4545 }
+{ "partkey": 117, "pid": 3, "shipdate": "1993-07-10", "orderkey": 3494 }
+{ "partkey": 120, "pid": 1, "shipdate": "1992-03-23", "orderkey": 4292 }
+{ "partkey": 120, "pid": 2, "shipdate": "1992-04-28", "orderkey": 1221 }
+{ "partkey": 120, "pid": 3, "shipdate": "1992-06-29", "orderkey": 4903 }
+{ "partkey": 137, "pid": 1, "shipdate": "1992-05-23", "orderkey": 3524 }
+{ "partkey": 137, "pid": 2, "shipdate": "1992-07-05", "orderkey": 1955 }
+{ "partkey": 137, "pid": 3, "shipdate": "1992-09-12", "orderkey": 4099 }
+{ "partkey": 138, "pid": 1, "shipdate": "1992-06-20", "orderkey": 2848 }
+{ "partkey": 138, "pid": 2, "shipdate": "1992-11-21", "orderkey": 1991 }
+{ "partkey": 138, "pid": 3, "shipdate": "1993-02-28", "orderkey": 4487 }
+{ "partkey": 145, "pid": 1, "shipdate": "1992-01-25", "orderkey": 4998 }
+{ "partkey": 145, "pid": 2, "shipdate": "1992-08-16", "orderkey": 134 }
+{ "partkey": 145, "pid": 3, "shipdate": "1992-10-25", "orderkey": 3907 }
+{ "partkey": 146, "pid": 1, "shipdate": "1992-05-21", "orderkey": 194 }
+{ "partkey": 146, "pid": 2, "shipdate": "1993-06-21", "orderkey": 678 }
+{ "partkey": 146, "pid": 3, "shipdate": "1993-08-02", "orderkey": 1286 }
+{ "partkey": 152, "pid": 1, "shipdate": "1992-06-23", "orderkey": 4230 }
+{ "partkey": 152, "pid": 2, "shipdate": "1993-05-19", "orderkey": 896 }
+{ "partkey": 152, "pid": 3, "shipdate": "1993-10-31", "orderkey": 2368 }
+{ "partkey": 154, "pid": 1, "shipdate": "1992-02-18", "orderkey": 292 }
+{ "partkey": 154, "pid": 2, "shipdate": "1992-02-20", "orderkey": 4998 }
+{ "partkey": 154, "pid": 3, "shipdate": "1992-05-14", "orderkey": 4805 }
+{ "partkey": 156, "pid": 1, "shipdate": "1992-04-24", "orderkey": 1248 }
+{ "partkey": 156, "pid": 2, "shipdate": "1992-06-17", "orderkey": 1027 }
+{ "partkey": 156, "pid": 3, "shipdate": "1992-07-01", "orderkey": 2786 }
+{ "partkey": 157, "pid": 1, "shipdate": "1992-07-26", "orderkey": 4069 }
+{ "partkey": 157, "pid": 2, "shipdate": "1992-08-11", "orderkey": 1729 }
+{ "partkey": 157, "pid": 3, "shipdate": "1992-08-25", "orderkey": 4741 }
+{ "partkey": 160, "pid": 1, "shipdate": "1992-05-07", "orderkey": 1282 }
+{ "partkey": 160, "pid": 2, "shipdate": "1992-07-04", "orderkey": 4867 }
+{ "partkey": 160, "pid": 3, "shipdate": "1992-08-18", "orderkey": 1346 }
+{ "partkey": 161, "pid": 1, "shipdate": "1992-03-29", "orderkey": 2240 }
+{ "partkey": 161, "pid": 2, "shipdate": "1992-06-18", "orderkey": 4391 }
+{ "partkey": 161, "pid": 3, "shipdate": "1992-08-28", "orderkey": 5060 }
+{ "partkey": 164, "pid": 1, "shipdate": "1992-03-25", "orderkey": 5601 }
+{ "partkey": 164, "pid": 2, "shipdate": "1992-04-17", "orderkey": 1248 }
+{ "partkey": 164, "pid": 3, "shipdate": "1992-06-06", "orderkey": 801 }
+{ "partkey": 166, "pid": 1, "shipdate": "1992-08-11", "orderkey": 2691 }
+{ "partkey": 166, "pid": 2, "shipdate": "1992-08-14", "orderkey": 5095 }
+{ "partkey": 166, "pid": 3, "shipdate": "1993-04-22", "orderkey": 1703 }
+{ "partkey": 168, "pid": 1, "shipdate": "1992-05-06", "orderkey": 194 }
+{ "partkey": 168, "pid": 2, "shipdate": "1992-07-20", "orderkey": 3654 }
+{ "partkey": 168, "pid": 3, "shipdate": "1992-10-07", "orderkey": 868 }
+{ "partkey": 173, "pid": 1, "shipdate": "1992-06-17", "orderkey": 4738 }
+{ "partkey": 173, "pid": 2, "shipdate": "1992-09-15", "orderkey": 3654 }
+{ "partkey": 173, "pid": 3, "shipdate": "1992-09-30", "orderkey": 1540 }
+{ "partkey": 175, "pid": 1, "shipdate": "1992-10-09", "orderkey": 929 }
+{ "partkey": 175, "pid": 2, "shipdate": "1992-11-09", "orderkey": 4294 }
+{ "partkey": 175, "pid": 3, "shipdate": "1992-11-10", "orderkey": 2497 }
+{ "partkey": 176, "pid": 1, "shipdate": "1992-02-01", "orderkey": 4800 }
+{ "partkey": 176, "pid": 2, "shipdate": "1992-04-28", "orderkey": 1826 }
+{ "partkey": 176, "pid": 3, "shipdate": "1992-09-24", "orderkey": 3907 }
+{ "partkey": 193, "pid": 1, "shipdate": "1992-05-05", "orderkey": 1057 }
+{ "partkey": 193, "pid": 2, "shipdate": "1992-08-21", "orderkey": 5795 }
+{ "partkey": 193, "pid": 3, "shipdate": "1993-02-12", "orderkey": 2244 }
+{ "partkey": 196, "pid": 1, "shipdate": "1992-03-02", "orderkey": 4000 }
+{ "partkey": 196, "pid": 2, "shipdate": "1992-03-04", "orderkey": 1154 }
+{ "partkey": 196, "pid": 3, "shipdate": "1992-06-11", "orderkey": 4230 }
+{ "partkey": 198, "pid": 1, "shipdate": "1992-04-21", "orderkey": 3011 }
+{ "partkey": 198, "pid": 2, "shipdate": "1992-09-12", "orderkey": 4294 }
+{ "partkey": 198, "pid": 3, "shipdate": "1992-12-27", "orderkey": 1345 }
+{ "partkey": 16, "pid": 1, "shipdate": "1992-09-11", "orderkey": 1346 }
+{ "partkey": 16, "pid": 2, "shipdate": "1992-09-25", "orderkey": 5858 }
+{ "partkey": 16, "pid": 3, "shipdate": "1992-11-17", "orderkey": 5415 }
+{ "partkey": 20, "pid": 1, "shipdate": "1992-06-15", "orderkey": 2023 }
+{ "partkey": 20, "pid": 2, "shipdate": "1992-07-29", "orderkey": 5254 }
+{ "partkey": 20, "pid": 3, "shipdate": "1992-10-18", "orderkey": 2625 }
+{ "partkey": 27, "pid": 1, "shipdate": "1992-07-05", "orderkey": 1826 }
+{ "partkey": 27, "pid": 2, "shipdate": "1992-07-14", "orderkey": 4096 }
+{ "partkey": 27, "pid": 3, "shipdate": "1992-08-17", "orderkey": 4294 }
+{ "partkey": 28, "pid": 1, "shipdate": "1992-03-16", "orderkey": 2240 }
+{ "partkey": 28, "pid": 2, "shipdate": "1992-10-13", "orderkey": 5699 }
+{ "partkey": 28, "pid": 3, "shipdate": "1992-11-04", "orderkey": 1506 }
+{ "partkey": 30, "pid": 1, "shipdate": "1992-04-10", "orderkey": 1282 }
+{ "partkey": 30, "pid": 2, "shipdate": "1992-05-18", "orderkey": 1925 }
+{ "partkey": 30, "pid": 3, "shipdate": "1992-05-21", "orderkey": 5986 }
+{ "partkey": 32, "pid": 1, "shipdate": "1992-09-22", "orderkey": 4900 }
+{ "partkey": 32, "pid": 2, "shipdate": "1992-09-25", "orderkey": 5060 }
+{ "partkey": 32, "pid": 3, "shipdate": "1992-10-07", "orderkey": 5603 }
+{ "partkey": 39, "pid": 1, "shipdate": "1992-05-26", "orderkey": 4515 }
+{ "partkey": 39, "pid": 2, "shipdate": "1992-11-12", "orderkey": 612 }
+{ "partkey": 39, "pid": 3, "shipdate": "1992-11-15", "orderkey": 1447 }
+{ "partkey": 40, "pid": 1, "shipdate": "1992-02-07", "orderkey": 4292 }
+{ "partkey": 40, "pid": 2, "shipdate": "1992-04-28", "orderkey": 3139 }
+{ "partkey": 40, "pid": 3, "shipdate": "1992-05-03", "orderkey": 3973 }
+{ "partkey": 45, "pid": 1, "shipdate": "1992-07-16", "orderkey": 4515 }
+{ "partkey": 45, "pid": 2, "shipdate": "1993-06-24", "orderkey": 2720 }
+{ "partkey": 45, "pid": 3, "shipdate": "1993-09-15", "orderkey": 2055 }
+{ "partkey": 50, "pid": 1, "shipdate": "1992-04-22", "orderkey": 2786 }
+{ "partkey": 50, "pid": 2, "shipdate": "1992-07-31", "orderkey": 644 }
+{ "partkey": 50, "pid": 3, "shipdate": "1992-09-23", "orderkey": 2885 }
+{ "partkey": 55, "pid": 1, "shipdate": "1992-01-16", "orderkey": 5382 }
+{ "partkey": 55, "pid": 2, "shipdate": "1992-05-11", "orderkey": 1856 }
+{ "partkey": 55, "pid": 3, "shipdate": "1992-06-17", "orderkey": 2022 }
+{ "partkey": 57, "pid": 1, "shipdate": "1992-01-16", "orderkey": 3271 }
+{ "partkey": 57, "pid": 2, "shipdate": "1992-07-06", "orderkey": 194 }
+{ "partkey": 57, "pid": 3, "shipdate": "1992-09-21", "orderkey": 2146 }
+{ "partkey": 59, "pid": 1, "shipdate": "1992-02-09", "orderkey": 2688 }
+{ "partkey": 59, "pid": 2, "shipdate": "1992-03-17", "orderkey": 4998 }
+{ "partkey": 59, "pid": 3, "shipdate": "1992-06-12", "orderkey": 3845 }
+{ "partkey": 63, "pid": 1, "shipdate": "1992-02-07", "orderkey": 4998 }
+{ "partkey": 63, "pid": 2, "shipdate": "1992-06-15", "orderkey": 3650 }
+{ "partkey": 63, "pid": 3, "shipdate": "1993-02-07", "orderkey": 4545 }
+{ "partkey": 69, "pid": 1, "shipdate": "1992-05-31", "orderkey": 3205 }
+{ "partkey": 69, "pid": 2, "shipdate": "1992-06-05", "orderkey": 5767 }
+{ "partkey": 69, "pid": 3, "shipdate": "1992-07-01", "orderkey": 1221 }
+{ "partkey": 83, "pid": 1, "shipdate": "1992-06-09", "orderkey": 4738 }
+{ "partkey": 83, "pid": 2, "shipdate": "1992-08-04", "orderkey": 5218 }
+{ "partkey": 83, "pid": 3, "shipdate": "1992-09-21", "orderkey": 5220 }
+{ "partkey": 85, "pid": 1, "shipdate": "1992-02-28", "orderkey": 1057 }
+{ "partkey": 85, "pid": 2, "shipdate": "1992-05-28", "orderkey": 5574 }
+{ "partkey": 85, "pid": 3, "shipdate": "1992-06-27", "orderkey": 1221 }
+{ "partkey": 87, "pid": 1, "shipdate": "1992-09-30", "orderkey": 4294 }
+{ "partkey": 87, "pid": 2, "shipdate": "1992-12-02", "orderkey": 1540 }
+{ "partkey": 87, "pid": 3, "shipdate": "1993-01-06", "orderkey": 3556 }
+{ "partkey": 88, "pid": 1, "shipdate": "1992-04-24", "orderkey": 3970 }
+{ "partkey": 88, "pid": 2, "shipdate": "1992-06-26", "orderkey": 3842 }
+{ "partkey": 88, "pid": 3, "shipdate": "1992-12-18", "orderkey": 612 }
+{ "partkey": 98, "pid": 1, "shipdate": "1992-10-06", "orderkey": 5603 }
+{ "partkey": 98, "pid": 2, "shipdate": "1992-12-09", "orderkey": 1159 }
+{ "partkey": 98, "pid": 3, "shipdate": "1993-03-09", "orderkey": 678 }
+{ "partkey": 106, "pid": 1, "shipdate": "1992-07-09", "orderkey": 5095 }
+{ "partkey": 106, "pid": 2, "shipdate": "1992-07-31", "orderkey": 3681 }
+{ "partkey": 106, "pid": 3, "shipdate": "1992-10-02", "orderkey": 967 }
+{ "partkey": 110, "pid": 1, "shipdate": "1992-09-18", "orderkey": 3907 }
+{ "partkey": 110, "pid": 2, "shipdate": "1992-11-01", "orderkey": 4261 }
+{ "partkey": 110, "pid": 3, "shipdate": "1993-01-01", "orderkey": 1991 }
+{ "partkey": 112, "pid": 1, "shipdate": "1992-09-13", "orderkey": 3907 }
+{ "partkey": 112, "pid": 2, "shipdate": "1992-10-09", "orderkey": 2885 }
+{ "partkey": 112, "pid": 3, "shipdate": "1993-01-15", "orderkey": 481 }
+{ "partkey": 113, "pid": 1, "shipdate": "1992-06-08", "orderkey": 1027 }
+{ "partkey": 113, "pid": 2, "shipdate": "1992-08-13", "orderkey": 2054 }
+{ "partkey": 113, "pid": 3, "shipdate": "1992-08-25", "orderkey": 4741 }
+{ "partkey": 126, "pid": 1, "shipdate": "1992-07-28", "orderkey": 1793 }
+{ "partkey": 126, "pid": 2, "shipdate": "1992-08-28", "orderkey": 1027 }
+{ "partkey": 126, "pid": 3, "shipdate": "1992-09-06", "orderkey": 3907 }
+{ "partkey": 127, "pid": 1, "shipdate": "1992-06-04", "orderkey": 2023 }
+{ "partkey": 127, "pid": 2, "shipdate": "1992-07-02", "orderkey": 37 }
+{ "partkey": 127, "pid": 3, "shipdate": "1994-01-13", "orderkey": 1316 }
+{ "partkey": 128, "pid": 1, "shipdate": "1992-03-05", "orderkey": 3168 }
+{ "partkey": 128, "pid": 2, "shipdate": "1992-05-02", "orderkey": 4804 }
+{ "partkey": 128, "pid": 3, "shipdate": "1992-08-24", "orderkey": 4096 }
+{ "partkey": 129, "pid": 1, "shipdate": "1992-03-31", "orderkey": 2022 }
+{ "partkey": 129, "pid": 2, "shipdate": "1992-05-28", "orderkey": 5953 }
+{ "partkey": 129, "pid": 3, "shipdate": "1992-08-15", "orderkey": 130 }
+{ "partkey": 131, "pid": 1, "shipdate": "1992-02-27", "orderkey": 2755 }
+{ "partkey": 131, "pid": 2, "shipdate": "1992-03-03", "orderkey": 4292 }
+{ "partkey": 131, "pid": 3, "shipdate": "1992-05-14", "orderkey": 2627 }
+{ "partkey": 135, "pid": 1, "shipdate": "1992-05-02", "orderkey": 1826 }
+{ "partkey": 135, "pid": 2, "shipdate": "1992-05-11", "orderkey": 1925 }
+{ "partkey": 135, "pid": 3, "shipdate": "1992-05-29", "orderkey": 2052 }
+{ "partkey": 144, "pid": 1, "shipdate": "1992-07-05", "orderkey": 4992 }
+{ "partkey": 144, "pid": 2, "shipdate": "1992-08-25", "orderkey": 5415 }
+{ "partkey": 144, "pid": 3, "shipdate": "1992-09-17", "orderkey": 4996 }
+{ "partkey": 147, "pid": 1, "shipdate": "1992-06-10", "orderkey": 5959 }
+{ "partkey": 147, "pid": 2, "shipdate": "1992-09-04", "orderkey": 4992 }
+{ "partkey": 147, "pid": 3, "shipdate": "1992-12-03", "orderkey": 614 }
+{ "partkey": 163, "pid": 1, "shipdate": "1992-02-09", "orderkey": 2983 }
+{ "partkey": 163, "pid": 2, "shipdate": "1992-04-27", "orderkey": 4292 }
+{ "partkey": 163, "pid": 3, "shipdate": "1992-06-01", "orderkey": 4992 }
+{ "partkey": 167, "pid": 1, "shipdate": "1992-06-02", "orderkey": 5767 }
+{ "partkey": 167, "pid": 2, "shipdate": "1993-01-31", "orderkey": 1447 }
+{ "partkey": 167, "pid": 3, "shipdate": "1993-02-15", "orderkey": 1857 }
+{ "partkey": 181, "pid": 1, "shipdate": "1992-07-01", "orderkey": 1088 }
+{ "partkey": 181, "pid": 2, "shipdate": "1992-11-04", "orderkey": 2209 }
+{ "partkey": 181, "pid": 3, "shipdate": "1992-12-14", "orderkey": 3232 }
+{ "partkey": 184, "pid": 1, "shipdate": "1992-04-12", "orderkey": 322 }
+{ "partkey": 184, "pid": 2, "shipdate": "1992-04-12", "orderkey": 1925 }
+{ "partkey": 184, "pid": 3, "shipdate": "1992-04-30", "orderkey": 194 }
+{ "partkey": 191, "pid": 1, "shipdate": "1992-07-31", "orderkey": 5767 }
+{ "partkey": 191, "pid": 2, "shipdate": "1992-08-29", "orderkey": 3361 }
+{ "partkey": 191, "pid": 3, "shipdate": "1992-09-22", "orderkey": 1506 }
diff --git a/asterix-app/src/test/resources/runtimets/results/leftouterjoin/query_issue658/query_issue658.1.adm b/asterix-app/src/test/resources/runtimets/results/leftouterjoin/query_issue658/query_issue658.1.adm
new file mode 100644
index 0000000..62c427a
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/results/leftouterjoin/query_issue658/query_issue658.1.adm
@@ -0,0 +1,100 @@
+{ "aid": 1, "bids": [ ] }
+{ "aid": 2, "bids": [ ] }
+{ "aid": 3, "bids": [ ] }
+{ "aid": 4, "bids": [ ] }
+{ "aid": 5, "bids": [ 98 ] }
+{ "aid": 6, "bids": [ ] }
+{ "aid": 7, "bids": [ ] }
+{ "aid": 8, "bids": [ ] }
+{ "aid": 9, "bids": [ ] }
+{ "aid": 10, "bids": [ ] }
+{ "aid": 11, "bids": [ ] }
+{ "aid": 12, "bids": [ ] }
+{ "aid": 13, "bids": [ ] }
+{ "aid": 14, "bids": [ ] }
+{ "aid": 15, "bids": [ ] }
+{ "aid": 16, "bids": [ ] }
+{ "aid": 17, "bids": [ ] }
+{ "aid": 18, "bids": [ ] }
+{ "aid": 19, "bids": [ ] }
+{ "aid": 20, "bids": [ ] }
+{ "aid": 21, "bids": [ ] }
+{ "aid": 22, "bids": [ ] }
+{ "aid": 23, "bids": [ ] }
+{ "aid": 24, "bids": [ ] }
+{ "aid": 25, "bids": [ ] }
+{ "aid": 26, "bids": [ ] }
+{ "aid": 27, "bids": [ ] }
+{ "aid": 28, "bids": [ ] }
+{ "aid": 29, "bids": [ ] }
+{ "aid": 30, "bids": [ ] }
+{ "aid": 31, "bids": [ ] }
+{ "aid": 32, "bids": [ ] }
+{ "aid": 33, "bids": [ ] }
+{ "aid": 34, "bids": [ 57 ] }
+{ "aid": 35, "bids": [ ] }
+{ "aid": 36, "bids": [ ] }
+{ "aid": 37, "bids": [ ] }
+{ "aid": 38, "bids": [ ] }
+{ "aid": 39, "bids": [ ] }
+{ "aid": 40, "bids": [ ] }
+{ "aid": 41, "bids": [ ] }
+{ "aid": 42, "bids": [ ] }
+{ "aid": 43, "bids": [ ] }
+{ "aid": 44, "bids": [ ] }
+{ "aid": 45, "bids": [ ] }
+{ "aid": 46, "bids": [ ] }
+{ "aid": 47, "bids": [ ] }
+{ "aid": 48, "bids": [ ] }
+{ "aid": 49, "bids": [ ] }
+{ "aid": 50, "bids": [ ] }
+{ "aid": 51, "bids": [ ] }
+{ "aid": 52, "bids": [ ] }
+{ "aid": 53, "bids": [ ] }
+{ "aid": 54, "bids": [ 91 ] }
+{ "aid": 55, "bids": [ ] }
+{ "aid": 56, "bids": [ ] }
+{ "aid": 57, "bids": [ ] }
+{ "aid": 58, "bids": [ ] }
+{ "aid": 59, "bids": [ ] }
+{ "aid": 60, "bids": [ ] }
+{ "aid": 61, "bids": [ ] }
+{ "aid": 62, "bids": [ ] }
+{ "aid": 63, "bids": [ ] }
+{ "aid": 64, "bids": [ ] }
+{ "aid": 65, "bids": [ ] }
+{ "aid": 66, "bids": [ ] }
+{ "aid": 67, "bids": [ ] }
+{ "aid": 68, "bids": [ 57 ] }
+{ "aid": 69, "bids": [ 57 ] }
+{ "aid": 70, "bids": [ ] }
+{ "aid": 71, "bids": [ ] }
+{ "aid": 72, "bids": [ ] }
+{ "aid": 73, "bids": [ ] }
+{ "aid": 74, "bids": [ ] }
+{ "aid": 75, "bids": [ ] }
+{ "aid": 76, "bids": [ ] }
+{ "aid": 77, "bids": [ ] }
+{ "aid": 78, "bids": [ ] }
+{ "aid": 79, "bids": [ ] }
+{ "aid": 80, "bids": [ ] }
+{ "aid": 81, "bids": [ ] }
+{ "aid": 82, "bids": [ ] }
+{ "aid": 83, "bids": [ ] }
+{ "aid": 84, "bids": [ ] }
+{ "aid": 85, "bids": [ ] }
+{ "aid": 86, "bids": [ ] }
+{ "aid": 87, "bids": [ ] }
+{ "aid": 88, "bids": [ ] }
+{ "aid": 89, "bids": [ ] }
+{ "aid": 90, "bids": [ ] }
+{ "aid": 91, "bids": [ ] }
+{ "aid": 92, "bids": [ ] }
+{ "aid": 93, "bids": [ ] }
+{ "aid": 94, "bids": [ ] }
+{ "aid": 95, "bids": [ ] }
+{ "aid": 96, "bids": [ ] }
+{ "aid": 97, "bids": [ ] }
+{ "aid": 98, "bids": [ ] }
+{ "aid": 99, "bids": [ ] }
+{ "aid": 100, "bids": [ ] }
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/results/load/issue610_adm_token_end_collection/issue610_adm_token_end_collection.1.adm b/asterix-app/src/test/resources/runtimets/results/load/issue610_adm_token_end_collection/issue610_adm_token_end_collection.1.adm
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/results/load/issue610_adm_token_end_collection/issue610_adm_token_end_collection.1.adm
diff --git a/asterix-app/src/test/resources/runtimets/results/load/issue610_adm_token_end_collection/issue610_adm_token_end_collection.2.adm b/asterix-app/src/test/resources/runtimets/results/load/issue610_adm_token_end_collection/issue610_adm_token_end_collection.2.adm
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/results/load/issue610_adm_token_end_collection/issue610_adm_token_end_collection.2.adm
diff --git a/asterix-app/src/test/resources/runtimets/results/open-closed/query-issue592/query-issue592.1.adm b/asterix-app/src/test/resources/runtimets/results/open-closed/query-issue592/query-issue592.1.adm
new file mode 100644
index 0000000..cd05949
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/results/open-closed/query-issue592/query-issue592.1.adm
@@ -0,0 +1 @@
+{ "id": 1, "bars": [ { "baz": 1 }, { "baz": 1 } ] }
diff --git a/asterix-app/src/test/resources/runtimets/results/open-closed/query-issue625/query-issue625.1.adm b/asterix-app/src/test/resources/runtimets/results/open-closed/query-issue625/query-issue625.1.adm
new file mode 100644
index 0000000..a7adaa3
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/results/open-closed/query-issue625/query-issue625.1.adm
@@ -0,0 +1 @@
+{ "id": 1, "numbers": [ 1, 2, 3 ] }
diff --git a/asterix-app/src/test/resources/runtimets/results/types/type_promotion_0/type_promotion_0.1.adm b/asterix-app/src/test/resources/runtimets/results/types/type_promotion_0/type_promotion_0.1.adm
new file mode 100644
index 0000000..3c356ed
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/results/types/type_promotion_0/type_promotion_0.1.adm
@@ -0,0 +1,3 @@
+{ "myint64": 11i64, "myoptint64": 3i64, "myint32": 2, "myoptint32": 3, "myint16": 9i16, "myoptint16": 10i16, "mydouble": 2.0d, "myoptdouble": 32.0d, "myfloat": 9.0f, "myoptfloat": null }
+{ "myint64": 12i64, "myoptint64": null, "myint32": 2, "myoptint32": null, "myint16": 9i16, "myoptint16": null, "mydouble": 2.119999885559082d, "myoptdouble": null, "myfloat": 9.0f, "myoptfloat": null }
+{ "myint64": 13i64, "myoptint64": 13i64, "myint32": 2, "myoptint32": 3, "myint16": 9i16, "myoptint16": 10i16, "mydouble": 2.119999885559082d, "myoptdouble": 32.0d, "myfloat": 9.0f, "myoptfloat": 328.0f }
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/testsuite.xml b/asterix-app/src/test/resources/runtimets/testsuite.xml
index 62e5adb..a256fb5 100644
--- a/asterix-app/src/test/resources/runtimets/testsuite.xml
+++ b/asterix-app/src/test/resources/runtimets/testsuite.xml
@@ -44,6 +44,11 @@
<output-dir compare="Text">at05</output-dir>
</compilation-unit>
</test-case>
+ <test-case FilePath="flwor">
+ <compilation-unit name="at06">
+ <output-dir compare="Text">at06</output-dir>
+ </compilation-unit>
+ </test-case>
</test-group>
<test-group name="aggregate">
<test-case FilePath="aggregate">
@@ -2897,6 +2902,16 @@
<expected-error>edu.uci.ics.asterix.common.exceptions.AsterixException</expected-error>
</compilation-unit>
</test-case>
+ <test-case FilePath="open-closed">
+ <compilation-unit name="query-issue592">
+ <output-dir compare="Text">query-issue592</output-dir>
+ </compilation-unit>
+ </test-case>
+ <test-case FilePath="open-closed">
+ <compilation-unit name="query-issue625">
+ <output-dir compare="Text">query-issue625</output-dir>
+ </compilation-unit>
+ </test-case>
</test-group>
<test-group name="quantifiers">
<test-case FilePath="quantifiers">
@@ -4336,6 +4351,12 @@
<output-dir compare="Text">issue289_query</output-dir>
</compilation-unit>
</test-case>
+ <test-case FilePath="load">
+ <compilation-unit name="issue650_query">
+ <output-dir compare="Text">none</output-dir>
+ <expected-error>edu.uci.ics.asterix.common.exceptions.AsterixException</expected-error>
+ </compilation-unit>
+ </test-case>
<test-case FilePath="user-defined-functions">
<compilation-unit name="query-issue244">
<output-dir compare="Text">query-issue244</output-dir>
@@ -4347,6 +4368,11 @@
<expected-error>edu.uci.ics.hyracks.api.exceptions.HyracksException</expected-error>
</compilation-unit>
</test-case>
+ <test-case FilePath="load">
+ <compilation-unit name="issue610_adm_token_end_collection">
+ <output-dir compare="Text">issue610_adm_token_end_collection</output-dir>
+ </compilation-unit>
+ </test-case>
</test-group>
<test-group name="hints">
<test-case FilePath="hints">
@@ -4515,6 +4541,11 @@
</test-group>
<test-group name="leftouterjoin">
<test-case FilePath="leftouterjoin">
+ <compilation-unit name="query_issue658">
+ <output-dir compare="Text">query_issue658</output-dir>
+ </compilation-unit>
+ </test-case>
+ <test-case FilePath="leftouterjoin">
<compilation-unit name="query_issue285">
<output-dir compare="Text">query_issue285</output-dir>
</compilation-unit>
@@ -4550,5 +4581,10 @@
<output-dir compare="Text">record01</output-dir>
</compilation-unit>
</test-case>
+ <test-case FilePath="types">
+ <compilation-unit name="type_promotion_0">
+ <output-dir compare="Text">type_promotion_0</output-dir>
+ </compilation-unit>
+ </test-case>
</test-group>
</test-suite>
diff --git a/asterix-common/src/main/java/edu/uci/ics/asterix/common/ioopcallbacks/AbstractLSMIOOperationCallback.java b/asterix-common/src/main/java/edu/uci/ics/asterix/common/ioopcallbacks/AbstractLSMIOOperationCallback.java
index 684068b..d22280e 100644
--- a/asterix-common/src/main/java/edu/uci/ics/asterix/common/ioopcallbacks/AbstractLSMIOOperationCallback.java
+++ b/asterix-common/src/main/java/edu/uci/ics/asterix/common/ioopcallbacks/AbstractLSMIOOperationCallback.java
@@ -77,7 +77,7 @@
metadataFrame.setPage(metadataPage);
metadataFrame.setLSN(componentLSN);
} finally {
- metadataPage.releaseWriteLatch();
+ metadataPage.releaseWriteLatch(true);
bufferCache.unpin(metadataPage);
}
}
diff --git a/asterix-common/src/test/java/edu/uci/ics/asterix/test/aql/TestsUtils.java b/asterix-common/src/test/java/edu/uci/ics/asterix/test/aql/TestsUtils.java
index 55c9d23..3fec2c8 100644
--- a/asterix-common/src/test/java/edu/uci/ics/asterix/test/aql/TestsUtils.java
+++ b/asterix-common/src/test/java/edu/uci/ics/asterix/test/aql/TestsUtils.java
@@ -253,7 +253,7 @@
GlobalConfig.ASTERIX_LOGGER.log(Level.SEVERE, "Method failed: " + method.getStatusLine());
String[] errors = handleError(method);
GlobalConfig.ASTERIX_LOGGER.log(Level.SEVERE, errors[2]);
- throw new Exception("DML operation failed: " + errors[0]);
+ throw new Exception("DDL operation failed: " + errors[0] + "\nSUMMARY: " + errors[1] + "\nSTACKTRACE: " + errors[2]);
}
}
@@ -285,7 +285,7 @@
GlobalConfig.ASTERIX_LOGGER.log(Level.SEVERE, "Method failed: " + method.getStatusLine());
String[] errors = handleError(method);
GlobalConfig.ASTERIX_LOGGER.log(Level.SEVERE, errors[2]);
- throw new Exception("DDL operation failed: " + errors[0]);
+ throw new Exception("DDL operation failed: " + errors[0] + "\nSUMMARY: " + errors[1] + "\nSTACKTRACE: " + errors[2]);
}
}
@@ -338,7 +338,7 @@
StringWriter writerIn = new StringWriter();
IOUtils.copy(bisIn, writerIn, "UTF-8");
s.append(writerIn.toString());
-
+
BufferedInputStream bisErr = new BufferedInputStream(p.getErrorStream());
StringWriter writerErr = new StringWriter();
IOUtils.copy(bisErr, writerErr, "UTF-8");
@@ -422,10 +422,30 @@
break;
case "txnqar": //qar represents query after recovery
try {
- InputStream resultStream = executeQuery(statement);
+ ////////////// <begin of temporary fix> ////////////////////////////
+ //TODO
+ //Temporary fix in order not to block the build test(mvn verify)
+ //A proper fix should not have the while loop here.
+ int maxRetryCount = 12;
+ int tryCount = 0;
+ InputStream resultStream = null;
+ long sleepTime = 5;
+
+ do {
+ //wait until NC starts
+ sleepTime *= 2;
+ Thread.sleep(sleepTime);
+ if (++tryCount > maxRetryCount) {
+ LOGGER.info("Metadata node is not running - this test will fail.");
+ break;
+ }
+ resultStream = executeQuery(statement);
+ } while (resultStream.toString().contains("Connection refused to host"));
+ ////////////// <end of temporary fix> //////////////////////////////
+
qarFile = new File(actualPath + File.separator
+ testCaseCtx.getTestCase().getFilePath().replace(File.separator, "_") + "_"
- + cUnit.getName() + "_qbc.adm");
+ + cUnit.getName() + "_qar.adm");
qarFile.getParentFile().mkdirs();
TestsUtils.writeResultsToFile(qarFile, resultStream);
TestsUtils.runScriptAndCompareWithResult(testFile, new PrintWriter(System.err),
@@ -449,7 +469,7 @@
pb,
getScriptPath(testFile.getAbsolutePath(), pb.environment().get("SCRIPT_HOME"),
statement.trim()));
- if(output.contains("ERROR")) {
+ if (output.contains("ERROR")) {
throw new Exception(output);
}
} catch (Exception e) {
diff --git a/asterix-external-data/src/main/java/edu/uci/ics/asterix/external/dataset/adapter/FileSystemBasedAdapter.java b/asterix-external-data/src/main/java/edu/uci/ics/asterix/external/dataset/adapter/FileSystemBasedAdapter.java
index 33ee11f..753f7d1 100644
--- a/asterix-external-data/src/main/java/edu/uci/ics/asterix/external/dataset/adapter/FileSystemBasedAdapter.java
+++ b/asterix-external-data/src/main/java/edu/uci/ics/asterix/external/dataset/adapter/FileSystemBasedAdapter.java
@@ -16,7 +16,6 @@
import java.io.IOException;
import java.io.InputStream;
-import java.util.List;
import java.util.Map;
import java.util.logging.Level;
import java.util.logging.Logger;
@@ -29,6 +28,7 @@
import edu.uci.ics.asterix.om.types.ATypeTag;
import edu.uci.ics.asterix.om.types.AUnionType;
import edu.uci.ics.asterix.om.types.IAType;
+import edu.uci.ics.asterix.om.util.NonTaggedFormatUtil;
import edu.uci.ics.asterix.runtime.operators.file.AdmSchemafullRecordParserFactory;
import edu.uci.ics.asterix.runtime.operators.file.NtDelimitedDataTupleParserFactory;
import edu.uci.ics.hyracks.algebricks.common.constraints.AlgebricksPartitionConstraint;
@@ -108,11 +108,11 @@
for (int i = 0; i < n; i++) {
ATypeTag tag = null;
if (recordType.getFieldTypes()[i].getTypeTag() == ATypeTag.UNION) {
- List<IAType> unionTypes = ((AUnionType) recordType.getFieldTypes()[i]).getUnionList();
- if (unionTypes.size() != 2 && unionTypes.get(0).getTypeTag() != ATypeTag.NULL) {
+ if (!NonTaggedFormatUtil.isOptionalField(((AUnionType) recordType.getFieldTypes()[i]))) {
throw new NotImplementedException("Non-optional UNION type is not supported.");
}
- tag = unionTypes.get(1).getTypeTag();
+ tag = ((AUnionType) recordType.getFieldTypes()[i]).getUnionList()
+ .get(NonTaggedFormatUtil.OPTIONAL_TYPE_INDEX_IN_UNION_LIST).getTypeTag();
} else {
tag = recordType.getFieldTypes()[i].getTypeTag();
}
diff --git a/asterix-metadata/src/main/java/edu/uci/ics/asterix/metadata/MetadataNode.java b/asterix-metadata/src/main/java/edu/uci/ics/asterix/metadata/MetadataNode.java
index a3f736e..b344f69 100644
--- a/asterix-metadata/src/main/java/edu/uci/ics/asterix/metadata/MetadataNode.java
+++ b/asterix-metadata/src/main/java/edu/uci/ics/asterix/metadata/MetadataNode.java
@@ -878,7 +878,7 @@
indexLifecycleManager.open(resourceID);
IIndexAccessor indexAccessor = indexInstance.createAccessor(NoOpOperationCallback.INSTANCE,
NoOpOperationCallback.INSTANCE);
- ITreeIndexCursor rangeCursor = (ITreeIndexCursor) indexAccessor.createSearchCursor();
+ ITreeIndexCursor rangeCursor = (ITreeIndexCursor) indexAccessor.createSearchCursor(false);
RangePredicate rangePred = null;
rangePred = new RangePredicate(null, null, true, true, null, null);
@@ -901,7 +901,7 @@
indexLifecycleManager.open(resourceID);
indexAccessor = indexInstance
.createAccessor(NoOpOperationCallback.INSTANCE, NoOpOperationCallback.INSTANCE);
- rangeCursor = (ITreeIndexCursor) indexAccessor.createSearchCursor();
+ rangeCursor = (ITreeIndexCursor) indexAccessor.createSearchCursor(false);
rangePred = null;
rangePred = new RangePredicate(null, null, true, true, null, null);
@@ -924,7 +924,7 @@
indexLifecycleManager.open(resourceID);
indexAccessor = indexInstance
.createAccessor(NoOpOperationCallback.INSTANCE, NoOpOperationCallback.INSTANCE);
- rangeCursor = (ITreeIndexCursor) indexAccessor.createSearchCursor();
+ rangeCursor = (ITreeIndexCursor) indexAccessor.createSearchCursor(false);
rangePred = null;
rangePred = new RangePredicate(null, null, true, true, null, null);
@@ -955,7 +955,7 @@
indexLifecycleManager.open(resourceID);
IIndexAccessor indexAccessor = indexInstance.createAccessor(NoOpOperationCallback.INSTANCE,
NoOpOperationCallback.INSTANCE);
- ITreeIndexCursor rangeCursor = (ITreeIndexCursor) indexAccessor.createSearchCursor();
+ ITreeIndexCursor rangeCursor = (ITreeIndexCursor) indexAccessor.createSearchCursor(false);
IBinaryComparator[] searchCmps = null;
MultiComparator searchCmp = null;
@@ -993,7 +993,7 @@
indexLifecycleManager.open(resourceID);
IIndexAccessor indexAccessor = indexInstance.createAccessor(NoOpOperationCallback.INSTANCE,
NoOpOperationCallback.INSTANCE);
- IIndexCursor rangeCursor = indexAccessor.createSearchCursor();
+ IIndexCursor rangeCursor = indexAccessor.createSearchCursor(false);
DatasetTupleTranslator tupleReaderWriter = new DatasetTupleTranslator(false);
IValueExtractor<Dataset> valueExtractor = new MetadataEntityValueExtractor<Dataset>(tupleReaderWriter);
diff --git a/asterix-om/src/main/java/edu/uci/ics/asterix/om/pointables/cast/ACastVisitor.java b/asterix-om/src/main/java/edu/uci/ics/asterix/om/pointables/cast/ACastVisitor.java
index 4e939ce..a711eb9 100644
--- a/asterix-om/src/main/java/edu/uci/ics/asterix/om/pointables/cast/ACastVisitor.java
+++ b/asterix-om/src/main/java/edu/uci/ics/asterix/om/pointables/cast/ACastVisitor.java
@@ -15,6 +15,7 @@
package edu.uci.ics.asterix.om.pointables.cast;
+import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
@@ -28,8 +29,12 @@
import edu.uci.ics.asterix.om.types.ARecordType;
import edu.uci.ics.asterix.om.types.ATypeTag;
import edu.uci.ics.asterix.om.types.AbstractCollectionType;
+import edu.uci.ics.asterix.om.types.EnumDeserializer;
import edu.uci.ics.asterix.om.types.IAType;
+import edu.uci.ics.asterix.om.types.hierachy.ATypeHierarchy;
+import edu.uci.ics.asterix.om.types.hierachy.ITypePromoteComputer;
import edu.uci.ics.hyracks.algebricks.common.utils.Triple;
+import edu.uci.ics.hyracks.data.std.util.ArrayBackedValueStorage;
/**
* This class is a IVisitablePointableVisitor implementation which recursively
@@ -86,10 +91,48 @@
}
@Override
- public Void visit(AFlatValuePointable accessor, Triple<IVisitablePointable, IAType, Boolean> arg) {
+ public Void visit(AFlatValuePointable accessor, Triple<IVisitablePointable, IAType, Boolean> arg)
+ throws AsterixException {
+ if (arg.second == null) {
+ // for open type case
+ arg.first.set(accessor);
+ return null;
+ }
// set the pointer for result
- arg.first.set(accessor);
+ ATypeTag reqTypeTag = ((IAType) (arg.second)).getTypeTag();
+ ATypeTag inputTypeTag = EnumDeserializer.ATYPETAGDESERIALIZER.deserialize(accessor.getByteArray()[accessor
+ .getStartOffset()]);
+ if (!needPromote(inputTypeTag, reqTypeTag)) {
+ arg.first.set(accessor);
+ } else {
+ ArrayBackedValueStorage castBuffer = new ArrayBackedValueStorage();
+ ITypePromoteComputer promoteComputer = ATypeHierarchy.getTypePromoteComputer(inputTypeTag, reqTypeTag);
+ if (promoteComputer != null) {
+
+ try {
+ // do the promotion; note that the type tag field should be skipped
+ promoteComputer.promote(accessor.getByteArray(), accessor.getStartOffset() + 1,
+ accessor.getLength() - 1, castBuffer);
+ arg.first.set(castBuffer);
+ } catch (IOException e) {
+ throw new AsterixException(e);
+ }
+ } else {
+ throw new AsterixException("Type mismatch: cannot cast type " + inputTypeTag + " to " + reqTypeTag);
+ }
+ }
+
return null;
}
+ private boolean needPromote(ATypeTag tag0, ATypeTag tag1) {
+ if (tag0 == tag1) {
+ return false;
+ }
+ if (tag0 == ATypeTag.NULL) {
+ return false;
+ }
+ return true;
+ }
+
}
diff --git a/asterix-om/src/main/java/edu/uci/ics/asterix/om/pointables/cast/ARecordCaster.java b/asterix-om/src/main/java/edu/uci/ics/asterix/om/pointables/cast/ARecordCaster.java
index 507b845..e7e0ef2 100644
--- a/asterix-om/src/main/java/edu/uci/ics/asterix/om/pointables/cast/ARecordCaster.java
+++ b/asterix-om/src/main/java/edu/uci/ics/asterix/om/pointables/cast/ARecordCaster.java
@@ -36,6 +36,7 @@
import edu.uci.ics.asterix.om.types.AUnionType;
import edu.uci.ics.asterix.om.types.EnumDeserializer;
import edu.uci.ics.asterix.om.types.IAType;
+import edu.uci.ics.asterix.om.types.hierachy.ATypeHierarchy;
import edu.uci.ics.asterix.om.util.NonTaggedFormatUtil;
import edu.uci.ics.asterix.om.util.ResettableByteArrayOutputStream;
import edu.uci.ics.hyracks.algebricks.common.utils.Pair;
@@ -205,6 +206,17 @@
optionalFields[reqFnPos] && fieldTypeTag.equals(nullTypeTag))) {
fieldPermutation[reqFnPos] = fnPos;
openFields[fnPos] = false;
+ } else {
+ // if mismatch, check whether input type can be promoted to the required type
+ ATypeTag inputTypeTag = EnumDeserializer.ATYPETAGDESERIALIZER.deserialize(fieldTypeTag
+ .getByteArray()[fieldTypeTag.getStartOffset()]);
+ ATypeTag requiredTypeTag = EnumDeserializer.ATYPETAGDESERIALIZER.deserialize(reqFieldTypeTag
+ .getByteArray()[reqFieldTypeTag.getStartOffset()]);
+
+ if (ATypeHierarchy.canPromote(inputTypeTag, requiredTypeTag)) {
+ fieldPermutation[reqFnPos] = fnPos;
+ openFields[fnPos] = false;
+ }
}
fnStart++;
reqFnStart++;
diff --git a/asterix-om/src/main/java/edu/uci/ics/asterix/om/typecomputer/base/TypeComputerUtilities.java b/asterix-om/src/main/java/edu/uci/ics/asterix/om/typecomputer/base/TypeComputerUtilities.java
index 8959f2c..6464c4a 100644
--- a/asterix-om/src/main/java/edu/uci/ics/asterix/om/typecomputer/base/TypeComputerUtilities.java
+++ b/asterix-om/src/main/java/edu/uci/ics/asterix/om/typecomputer/base/TypeComputerUtilities.java
@@ -15,8 +15,19 @@
package edu.uci.ics.asterix.om.typecomputer.base;
+import java.util.List;
+
+import org.apache.commons.lang3.mutable.Mutable;
+
+import edu.uci.ics.asterix.om.types.ARecordType;
+import edu.uci.ics.asterix.om.types.ATypeTag;
+import edu.uci.ics.asterix.om.types.AbstractCollectionType;
import edu.uci.ics.asterix.om.types.IAType;
+import edu.uci.ics.hyracks.algebricks.common.exceptions.AlgebricksException;
+import edu.uci.ics.hyracks.algebricks.core.algebra.base.ILogicalExpression;
import edu.uci.ics.hyracks.algebricks.core.algebra.expressions.AbstractFunctionCallExpression;
+import edu.uci.ics.hyracks.algebricks.core.algebra.expressions.IVariableTypeEnvironment;
+import edu.uci.ics.hyracks.algebricks.core.algebra.expressions.ScalarFunctionCallExpression;
public class TypeComputerUtilities {
@@ -55,4 +66,55 @@
} else
return null;
}
+
+ public static boolean nullableType(ILogicalExpression expression, IVariableTypeEnvironment env)
+ throws AlgebricksException {
+ AbstractFunctionCallExpression func = (AbstractFunctionCallExpression) expression;
+ if (!(func instanceof ScalarFunctionCallExpression)) {
+ return true;
+ }
+ List<Mutable<ILogicalExpression>> args = func.getArguments();
+ for (Mutable<ILogicalExpression> arg : args) {
+ IAType type = (IAType) env.getType(arg.getValue());
+ if (type.getTypeTag() == ATypeTag.UNION || type.getTypeTag() == ATypeTag.NULL
+ || type.getTypeTag() == ATypeTag.ANY) {
+ return true;
+ }
+ if (type.getTypeTag() == ATypeTag.RECORD || type.getTypeTag() == ATypeTag.UNORDEREDLIST
+ || type.getTypeTag() == ATypeTag.ORDEREDLIST) {
+ if (nullableCompositeType(type)) {
+ return true;
+ }
+ }
+ }
+ return false;
+ }
+
+ private static boolean nullableCompositeType(IAType type) {
+ if (type.getTypeTag() == ATypeTag.UNION || type.getTypeTag() == ATypeTag.NULL
+ || type.getTypeTag() == ATypeTag.ANY) {
+ return true;
+ } else if (type.getTypeTag() == ATypeTag.RECORD) {
+ ARecordType recordType = (ARecordType) type;
+ IAType[] fieldTypes = recordType.getFieldTypes();
+ for (IAType fieldType : fieldTypes) {
+ boolean nullable = nullableCompositeType(fieldType);
+ if (nullable) {
+ return true;
+ }
+ }
+ return false;
+ } else if (type.getTypeTag() == ATypeTag.UNORDEREDLIST || type.getTypeTag() == ATypeTag.ORDEREDLIST) {
+ AbstractCollectionType collectionType = (AbstractCollectionType) type;
+ IAType itemType = collectionType.getItemType();
+ boolean nullable = nullableCompositeType(itemType);
+ if (nullable) {
+ return true;
+ } else {
+ return false;
+ }
+ } else {
+ return false;
+ }
+ }
}
diff --git a/asterix-om/src/main/java/edu/uci/ics/asterix/om/typecomputer/impl/OptionalABooleanTypeComputer.java b/asterix-om/src/main/java/edu/uci/ics/asterix/om/typecomputer/impl/OptionalABooleanTypeComputer.java
index 71c69dd..764624f 100644
--- a/asterix-om/src/main/java/edu/uci/ics/asterix/om/typecomputer/impl/OptionalABooleanTypeComputer.java
+++ b/asterix-om/src/main/java/edu/uci/ics/asterix/om/typecomputer/impl/OptionalABooleanTypeComputer.java
@@ -18,6 +18,7 @@
import java.util.List;
import edu.uci.ics.asterix.om.typecomputer.base.IResultTypeComputer;
+import edu.uci.ics.asterix.om.typecomputer.base.TypeComputerUtilities;
import edu.uci.ics.asterix.om.types.AUnionType;
import edu.uci.ics.asterix.om.types.BuiltinType;
import edu.uci.ics.asterix.om.types.IAType;
@@ -36,10 +37,14 @@
@Override
public IAType computeType(ILogicalExpression expression, IVariableTypeEnvironment env,
IMetadataProvider<?, ?> metadataProvider) throws AlgebricksException {
- List<IAType> unionList = new ArrayList<IAType>();
- unionList.add(BuiltinType.ANULL);
- unionList.add(BuiltinType.ABOOLEAN);
- return new AUnionType(unionList, "OptionalBoolean");
+ if (TypeComputerUtilities.nullableType(expression, env)) {
+ List<IAType> unionList = new ArrayList<IAType>();
+ unionList.add(BuiltinType.ANULL);
+ unionList.add(BuiltinType.ABOOLEAN);
+ return new AUnionType(unionList, "OptionalBoolean");
+ } else {
+ return BuiltinType.ABOOLEAN;
+ }
}
}
diff --git a/asterix-om/src/main/java/edu/uci/ics/asterix/om/typecomputer/impl/OptionalACircleTypeComputer.java b/asterix-om/src/main/java/edu/uci/ics/asterix/om/typecomputer/impl/OptionalACircleTypeComputer.java
index 411e201..92e26e0 100644
--- a/asterix-om/src/main/java/edu/uci/ics/asterix/om/typecomputer/impl/OptionalACircleTypeComputer.java
+++ b/asterix-om/src/main/java/edu/uci/ics/asterix/om/typecomputer/impl/OptionalACircleTypeComputer.java
@@ -18,6 +18,7 @@
import java.util.List;
import edu.uci.ics.asterix.om.typecomputer.base.IResultTypeComputer;
+import edu.uci.ics.asterix.om.typecomputer.base.TypeComputerUtilities;
import edu.uci.ics.asterix.om.types.AUnionType;
import edu.uci.ics.asterix.om.types.BuiltinType;
import edu.uci.ics.asterix.om.types.IAType;
@@ -36,10 +37,14 @@
@Override
public IAType computeType(ILogicalExpression expression, IVariableTypeEnvironment env,
IMetadataProvider<?, ?> metadataProvider) throws AlgebricksException {
- List<IAType> unionList = new ArrayList<IAType>();
- unionList.add(BuiltinType.ANULL);
- unionList.add(BuiltinType.ACIRCLE);
- return new AUnionType(unionList, "OptionalCircle");
+ if (TypeComputerUtilities.nullableType(expression, env)) {
+ List<IAType> unionList = new ArrayList<IAType>();
+ unionList.add(BuiltinType.ANULL);
+ unionList.add(BuiltinType.ACIRCLE);
+ return new AUnionType(unionList, "OptionalCircle");
+ } else {
+ return BuiltinType.ACIRCLE;
+ }
}
}
diff --git a/asterix-om/src/main/java/edu/uci/ics/asterix/om/typecomputer/impl/OptionalADateTimeTypeComputer.java b/asterix-om/src/main/java/edu/uci/ics/asterix/om/typecomputer/impl/OptionalADateTimeTypeComputer.java
index 8ff0b1f..f0d2caf 100644
--- a/asterix-om/src/main/java/edu/uci/ics/asterix/om/typecomputer/impl/OptionalADateTimeTypeComputer.java
+++ b/asterix-om/src/main/java/edu/uci/ics/asterix/om/typecomputer/impl/OptionalADateTimeTypeComputer.java
@@ -18,6 +18,7 @@
import java.util.List;
import edu.uci.ics.asterix.om.typecomputer.base.IResultTypeComputer;
+import edu.uci.ics.asterix.om.typecomputer.base.TypeComputerUtilities;
import edu.uci.ics.asterix.om.types.AUnionType;
import edu.uci.ics.asterix.om.types.BuiltinType;
import edu.uci.ics.asterix.om.types.IAType;
@@ -36,10 +37,14 @@
@Override
public IAType computeType(ILogicalExpression expression, IVariableTypeEnvironment env,
IMetadataProvider<?, ?> metadataProvider) throws AlgebricksException {
- List<IAType> unionList = new ArrayList<IAType>();
- unionList.add(BuiltinType.ANULL);
- unionList.add(BuiltinType.ADATETIME);
- return new AUnionType(unionList, "OptionalDatetime");
+ if (TypeComputerUtilities.nullableType(expression, env)) {
+ List<IAType> unionList = new ArrayList<IAType>();
+ unionList.add(BuiltinType.ANULL);
+ unionList.add(BuiltinType.ADATETIME);
+ return new AUnionType(unionList, "OptionalDatetime");
+ } else {
+ return BuiltinType.ADATETIME;
+ }
}
}
diff --git a/asterix-om/src/main/java/edu/uci/ics/asterix/om/typecomputer/impl/OptionalADateTypeComputer.java b/asterix-om/src/main/java/edu/uci/ics/asterix/om/typecomputer/impl/OptionalADateTypeComputer.java
index 1b17333..093849d 100644
--- a/asterix-om/src/main/java/edu/uci/ics/asterix/om/typecomputer/impl/OptionalADateTypeComputer.java
+++ b/asterix-om/src/main/java/edu/uci/ics/asterix/om/typecomputer/impl/OptionalADateTypeComputer.java
@@ -18,6 +18,7 @@
import java.util.List;
import edu.uci.ics.asterix.om.typecomputer.base.IResultTypeComputer;
+import edu.uci.ics.asterix.om.typecomputer.base.TypeComputerUtilities;
import edu.uci.ics.asterix.om.types.AUnionType;
import edu.uci.ics.asterix.om.types.BuiltinType;
import edu.uci.ics.asterix.om.types.IAType;
@@ -36,10 +37,14 @@
@Override
public IAType computeType(ILogicalExpression expression, IVariableTypeEnvironment env,
IMetadataProvider<?, ?> metadataProvider) throws AlgebricksException {
- List<IAType> unionList = new ArrayList<IAType>();
- unionList.add(BuiltinType.ANULL);
- unionList.add(BuiltinType.ADATE);
- return new AUnionType(unionList, "OptionalDate");
+ if (TypeComputerUtilities.nullableType(expression, env)) {
+ List<IAType> unionList = new ArrayList<IAType>();
+ unionList.add(BuiltinType.ANULL);
+ unionList.add(BuiltinType.ADATE);
+ return new AUnionType(unionList, "OptionalDate");
+ } else {
+ return BuiltinType.ADATE;
+ }
}
}
diff --git a/asterix-om/src/main/java/edu/uci/ics/asterix/om/typecomputer/impl/OptionalADayTimeDurationTypeComputer.java b/asterix-om/src/main/java/edu/uci/ics/asterix/om/typecomputer/impl/OptionalADayTimeDurationTypeComputer.java
index 38f76e3..c3c7c25 100644
--- a/asterix-om/src/main/java/edu/uci/ics/asterix/om/typecomputer/impl/OptionalADayTimeDurationTypeComputer.java
+++ b/asterix-om/src/main/java/edu/uci/ics/asterix/om/typecomputer/impl/OptionalADayTimeDurationTypeComputer.java
@@ -18,6 +18,7 @@
import java.util.List;
import edu.uci.ics.asterix.om.typecomputer.base.IResultTypeComputer;
+import edu.uci.ics.asterix.om.typecomputer.base.TypeComputerUtilities;
import edu.uci.ics.asterix.om.types.AUnionType;
import edu.uci.ics.asterix.om.types.BuiltinType;
import edu.uci.ics.asterix.om.types.IAType;
@@ -40,10 +41,14 @@
@Override
public IAType computeType(ILogicalExpression expression, IVariableTypeEnvironment env,
IMetadataProvider<?, ?> metadataProvider) throws AlgebricksException {
- List<IAType> unionList = new ArrayList<IAType>();
- unionList.add(BuiltinType.ANULL);
- unionList.add(BuiltinType.ADAYTIMEDURATION);
- return new AUnionType(unionList, "OptionalDayTimeDuration");
+ if (TypeComputerUtilities.nullableType(expression, env)) {
+ List<IAType> unionList = new ArrayList<IAType>();
+ unionList.add(BuiltinType.ANULL);
+ unionList.add(BuiltinType.ADAYTIMEDURATION);
+ return new AUnionType(unionList, "OptionalDayTimeDuration");
+ } else {
+ return BuiltinType.ADAYTIMEDURATION;
+ }
}
}
diff --git a/asterix-om/src/main/java/edu/uci/ics/asterix/om/typecomputer/impl/OptionalADoubleTypeComputer.java b/asterix-om/src/main/java/edu/uci/ics/asterix/om/typecomputer/impl/OptionalADoubleTypeComputer.java
index 163b6b3..324e078 100644
--- a/asterix-om/src/main/java/edu/uci/ics/asterix/om/typecomputer/impl/OptionalADoubleTypeComputer.java
+++ b/asterix-om/src/main/java/edu/uci/ics/asterix/om/typecomputer/impl/OptionalADoubleTypeComputer.java
@@ -18,6 +18,7 @@
import java.util.List;
import edu.uci.ics.asterix.om.typecomputer.base.IResultTypeComputer;
+import edu.uci.ics.asterix.om.typecomputer.base.TypeComputerUtilities;
import edu.uci.ics.asterix.om.types.AUnionType;
import edu.uci.ics.asterix.om.types.BuiltinType;
import edu.uci.ics.asterix.om.types.IAType;
@@ -36,9 +37,13 @@
@Override
public IAType computeType(ILogicalExpression expression, IVariableTypeEnvironment env,
IMetadataProvider<?, ?> metadataProvider) throws AlgebricksException {
- List<IAType> unionList = new ArrayList<IAType>();
- unionList.add(BuiltinType.ANULL);
- unionList.add(BuiltinType.ADOUBLE);
- return new AUnionType(unionList, "OptionalDouble");
+ if (TypeComputerUtilities.nullableType(expression, env)) {
+ List<IAType> unionList = new ArrayList<IAType>();
+ unionList.add(BuiltinType.ANULL);
+ unionList.add(BuiltinType.ADOUBLE);
+ return new AUnionType(unionList, "OptionalDouble");
+ } else {
+ return BuiltinType.ADOUBLE;
+ }
}
}
diff --git a/asterix-om/src/main/java/edu/uci/ics/asterix/om/typecomputer/impl/OptionalADurationTypeComputer.java b/asterix-om/src/main/java/edu/uci/ics/asterix/om/typecomputer/impl/OptionalADurationTypeComputer.java
index 48f0715..85556ed 100644
--- a/asterix-om/src/main/java/edu/uci/ics/asterix/om/typecomputer/impl/OptionalADurationTypeComputer.java
+++ b/asterix-om/src/main/java/edu/uci/ics/asterix/om/typecomputer/impl/OptionalADurationTypeComputer.java
@@ -18,6 +18,7 @@
import java.util.List;
import edu.uci.ics.asterix.om.typecomputer.base.IResultTypeComputer;
+import edu.uci.ics.asterix.om.typecomputer.base.TypeComputerUtilities;
import edu.uci.ics.asterix.om.types.AUnionType;
import edu.uci.ics.asterix.om.types.BuiltinType;
import edu.uci.ics.asterix.om.types.IAType;
@@ -36,10 +37,14 @@
@Override
public IAType computeType(ILogicalExpression expression, IVariableTypeEnvironment env,
IMetadataProvider<?, ?> metadataProvider) throws AlgebricksException {
- List<IAType> unionList = new ArrayList<IAType>();
- unionList.add(BuiltinType.ANULL);
- unionList.add(BuiltinType.ADURATION);
- return new AUnionType(unionList, "OptionalDuration");
+ if (TypeComputerUtilities.nullableType(expression, env)) {
+ List<IAType> unionList = new ArrayList<IAType>();
+ unionList.add(BuiltinType.ANULL);
+ unionList.add(BuiltinType.ADURATION);
+ return new AUnionType(unionList, "OptionalDuration");
+ } else {
+ return BuiltinType.ADURATION;
+ }
}
}
diff --git a/asterix-om/src/main/java/edu/uci/ics/asterix/om/typecomputer/impl/OptionalAFloatTypeComputer.java b/asterix-om/src/main/java/edu/uci/ics/asterix/om/typecomputer/impl/OptionalAFloatTypeComputer.java
index 6c93522..d9da2b8 100644
--- a/asterix-om/src/main/java/edu/uci/ics/asterix/om/typecomputer/impl/OptionalAFloatTypeComputer.java
+++ b/asterix-om/src/main/java/edu/uci/ics/asterix/om/typecomputer/impl/OptionalAFloatTypeComputer.java
@@ -18,9 +18,11 @@
import java.util.List;
import edu.uci.ics.asterix.om.typecomputer.base.IResultTypeComputer;
+import edu.uci.ics.asterix.om.typecomputer.base.TypeComputerUtilities;
import edu.uci.ics.asterix.om.types.AUnionType;
import edu.uci.ics.asterix.om.types.BuiltinType;
import edu.uci.ics.asterix.om.types.IAType;
+import edu.uci.ics.hyracks.algebricks.common.exceptions.AlgebricksException;
import edu.uci.ics.hyracks.algebricks.core.algebra.base.ILogicalExpression;
import edu.uci.ics.hyracks.algebricks.core.algebra.expressions.IVariableTypeEnvironment;
import edu.uci.ics.hyracks.algebricks.core.algebra.metadata.IMetadataProvider;
@@ -34,11 +36,15 @@
@Override
public IAType computeType(ILogicalExpression expression, IVariableTypeEnvironment env,
- IMetadataProvider<?, ?> metadataProvider) {
- List<IAType> unionList = new ArrayList<IAType>();
- unionList.add(BuiltinType.ANULL);
- unionList.add(BuiltinType.AFLOAT);
- return new AUnionType(unionList, "OptionalFloat");
+ IMetadataProvider<?, ?> metadataProvider) throws AlgebricksException {
+ if (TypeComputerUtilities.nullableType(expression, env)) {
+ List<IAType> unionList = new ArrayList<IAType>();
+ unionList.add(BuiltinType.ANULL);
+ unionList.add(BuiltinType.AFLOAT);
+ return new AUnionType(unionList, "OptionalFloat");
+ } else {
+ return BuiltinType.AFLOAT;
+ }
}
}
diff --git a/asterix-om/src/main/java/edu/uci/ics/asterix/om/typecomputer/impl/OptionalAInt16TypeComputer.java b/asterix-om/src/main/java/edu/uci/ics/asterix/om/typecomputer/impl/OptionalAInt16TypeComputer.java
index 575748e..a737ed2 100644
--- a/asterix-om/src/main/java/edu/uci/ics/asterix/om/typecomputer/impl/OptionalAInt16TypeComputer.java
+++ b/asterix-om/src/main/java/edu/uci/ics/asterix/om/typecomputer/impl/OptionalAInt16TypeComputer.java
@@ -18,6 +18,7 @@
import java.util.List;
import edu.uci.ics.asterix.om.typecomputer.base.IResultTypeComputer;
+import edu.uci.ics.asterix.om.typecomputer.base.TypeComputerUtilities;
import edu.uci.ics.asterix.om.types.AUnionType;
import edu.uci.ics.asterix.om.types.BuiltinType;
import edu.uci.ics.asterix.om.types.IAType;
@@ -36,10 +37,14 @@
@Override
public IAType computeType(ILogicalExpression expression, IVariableTypeEnvironment env,
IMetadataProvider<?, ?> metadataProvider) throws AlgebricksException {
- List<IAType> unionList = new ArrayList<IAType>();
- unionList.add(BuiltinType.ANULL);
- unionList.add(BuiltinType.AINT16);
- return new AUnionType(unionList, "OptionalInt16");
+ if (TypeComputerUtilities.nullableType(expression, env)) {
+ List<IAType> unionList = new ArrayList<IAType>();
+ unionList.add(BuiltinType.ANULL);
+ unionList.add(BuiltinType.AINT16);
+ return new AUnionType(unionList, "OptionalInt16");
+ } else {
+ return BuiltinType.AINT16;
+ }
}
}
diff --git a/asterix-om/src/main/java/edu/uci/ics/asterix/om/typecomputer/impl/OptionalAInt32TypeComputer.java b/asterix-om/src/main/java/edu/uci/ics/asterix/om/typecomputer/impl/OptionalAInt32TypeComputer.java
index 38aa0f3..c666d36 100644
--- a/asterix-om/src/main/java/edu/uci/ics/asterix/om/typecomputer/impl/OptionalAInt32TypeComputer.java
+++ b/asterix-om/src/main/java/edu/uci/ics/asterix/om/typecomputer/impl/OptionalAInt32TypeComputer.java
@@ -18,6 +18,7 @@
import java.util.List;
import edu.uci.ics.asterix.om.typecomputer.base.IResultTypeComputer;
+import edu.uci.ics.asterix.om.typecomputer.base.TypeComputerUtilities;
import edu.uci.ics.asterix.om.types.AUnionType;
import edu.uci.ics.asterix.om.types.BuiltinType;
import edu.uci.ics.asterix.om.types.IAType;
@@ -36,10 +37,14 @@
@Override
public IAType computeType(ILogicalExpression expression, IVariableTypeEnvironment env,
IMetadataProvider<?, ?> metadataProvider) throws AlgebricksException {
- List<IAType> unionList = new ArrayList<IAType>();
- unionList.add(BuiltinType.ANULL);
- unionList.add(BuiltinType.AINT32);
- return new AUnionType(unionList, "OptionalInt32");
+ if (TypeComputerUtilities.nullableType(expression, env)) {
+ List<IAType> unionList = new ArrayList<IAType>();
+ unionList.add(BuiltinType.ANULL);
+ unionList.add(BuiltinType.AINT32);
+ return new AUnionType(unionList, "OptionalInt32");
+ } else {
+ return BuiltinType.AINT32;
+ }
}
}
diff --git a/asterix-om/src/main/java/edu/uci/ics/asterix/om/typecomputer/impl/OptionalAInt64TypeComputer.java b/asterix-om/src/main/java/edu/uci/ics/asterix/om/typecomputer/impl/OptionalAInt64TypeComputer.java
index 571b266..701b1ae 100644
--- a/asterix-om/src/main/java/edu/uci/ics/asterix/om/typecomputer/impl/OptionalAInt64TypeComputer.java
+++ b/asterix-om/src/main/java/edu/uci/ics/asterix/om/typecomputer/impl/OptionalAInt64TypeComputer.java
@@ -18,6 +18,7 @@
import java.util.List;
import edu.uci.ics.asterix.om.typecomputer.base.IResultTypeComputer;
+import edu.uci.ics.asterix.om.typecomputer.base.TypeComputerUtilities;
import edu.uci.ics.asterix.om.types.AUnionType;
import edu.uci.ics.asterix.om.types.BuiltinType;
import edu.uci.ics.asterix.om.types.IAType;
@@ -36,10 +37,14 @@
@Override
public IAType computeType(ILogicalExpression expression, IVariableTypeEnvironment env,
IMetadataProvider<?, ?> metadataProvider) throws AlgebricksException {
- List<IAType> unionList = new ArrayList<IAType>();
- unionList.add(BuiltinType.ANULL);
- unionList.add(BuiltinType.AINT64);
- return new AUnionType(unionList, "OptionalInt64");
+ if (TypeComputerUtilities.nullableType(expression, env)) {
+ List<IAType> unionList = new ArrayList<IAType>();
+ unionList.add(BuiltinType.ANULL);
+ unionList.add(BuiltinType.AINT64);
+ return new AUnionType(unionList, "OptionalInt64");
+ } else {
+ return BuiltinType.AINT64;
+ }
}
}
diff --git a/asterix-om/src/main/java/edu/uci/ics/asterix/om/typecomputer/impl/OptionalAInt8TypeComputer.java b/asterix-om/src/main/java/edu/uci/ics/asterix/om/typecomputer/impl/OptionalAInt8TypeComputer.java
index 49c2994..ad6b130 100644
--- a/asterix-om/src/main/java/edu/uci/ics/asterix/om/typecomputer/impl/OptionalAInt8TypeComputer.java
+++ b/asterix-om/src/main/java/edu/uci/ics/asterix/om/typecomputer/impl/OptionalAInt8TypeComputer.java
@@ -18,6 +18,7 @@
import java.util.List;
import edu.uci.ics.asterix.om.typecomputer.base.IResultTypeComputer;
+import edu.uci.ics.asterix.om.typecomputer.base.TypeComputerUtilities;
import edu.uci.ics.asterix.om.types.AUnionType;
import edu.uci.ics.asterix.om.types.BuiltinType;
import edu.uci.ics.asterix.om.types.IAType;
@@ -36,10 +37,14 @@
@Override
public IAType computeType(ILogicalExpression expression, IVariableTypeEnvironment env,
IMetadataProvider<?, ?> metadataProvider) throws AlgebricksException {
- List<IAType> unionList = new ArrayList<IAType>();
- unionList.add(BuiltinType.ANULL);
- unionList.add(BuiltinType.AINT8);
- return new AUnionType(unionList, "OptionalInt8");
+ if (TypeComputerUtilities.nullableType(expression, env)) {
+ List<IAType> unionList = new ArrayList<IAType>();
+ unionList.add(BuiltinType.ANULL);
+ unionList.add(BuiltinType.AINT8);
+ return new AUnionType(unionList, "OptionalInt8");
+ } else {
+ return BuiltinType.AINT8;
+ }
}
}
diff --git a/asterix-om/src/main/java/edu/uci/ics/asterix/om/typecomputer/impl/OptionalAIntervalTypeComputer.java b/asterix-om/src/main/java/edu/uci/ics/asterix/om/typecomputer/impl/OptionalAIntervalTypeComputer.java
index 6929a80..9c5a7d5 100644
--- a/asterix-om/src/main/java/edu/uci/ics/asterix/om/typecomputer/impl/OptionalAIntervalTypeComputer.java
+++ b/asterix-om/src/main/java/edu/uci/ics/asterix/om/typecomputer/impl/OptionalAIntervalTypeComputer.java
@@ -18,6 +18,7 @@
import java.util.List;
import edu.uci.ics.asterix.om.typecomputer.base.IResultTypeComputer;
+import edu.uci.ics.asterix.om.typecomputer.base.TypeComputerUtilities;
import edu.uci.ics.asterix.om.types.AUnionType;
import edu.uci.ics.asterix.om.types.BuiltinType;
import edu.uci.ics.asterix.om.types.IAType;
@@ -36,10 +37,14 @@
public IAType computeType(ILogicalExpression expression, IVariableTypeEnvironment env,
IMetadataProvider<?, ?> metadataProvider) throws AlgebricksException {
- List<IAType> unionList = new ArrayList<IAType>();
- unionList.add(BuiltinType.ANULL);
- unionList.add(BuiltinType.AINTERVAL);
- return new AUnionType(unionList, "OptionalInterval");
+ if (TypeComputerUtilities.nullableType(expression, env)) {
+ List<IAType> unionList = new ArrayList<IAType>();
+ unionList.add(BuiltinType.ANULL);
+ unionList.add(BuiltinType.AINTERVAL);
+ return new AUnionType(unionList, "OptionalInterval");
+ } else {
+ return BuiltinType.AINTERVAL;
+ }
}
}
diff --git a/asterix-om/src/main/java/edu/uci/ics/asterix/om/typecomputer/impl/OptionalALineTypeComputer.java b/asterix-om/src/main/java/edu/uci/ics/asterix/om/typecomputer/impl/OptionalALineTypeComputer.java
index b7b89a9..e692dbd 100644
--- a/asterix-om/src/main/java/edu/uci/ics/asterix/om/typecomputer/impl/OptionalALineTypeComputer.java
+++ b/asterix-om/src/main/java/edu/uci/ics/asterix/om/typecomputer/impl/OptionalALineTypeComputer.java
@@ -18,6 +18,7 @@
import java.util.List;
import edu.uci.ics.asterix.om.typecomputer.base.IResultTypeComputer;
+import edu.uci.ics.asterix.om.typecomputer.base.TypeComputerUtilities;
import edu.uci.ics.asterix.om.types.AUnionType;
import edu.uci.ics.asterix.om.types.BuiltinType;
import edu.uci.ics.asterix.om.types.IAType;
@@ -36,10 +37,14 @@
@Override
public IAType computeType(ILogicalExpression expression, IVariableTypeEnvironment env,
IMetadataProvider<?, ?> metadataProvider) throws AlgebricksException {
- List<IAType> unionList = new ArrayList<IAType>();
- unionList.add(BuiltinType.ANULL);
- unionList.add(BuiltinType.ALINE);
- return new AUnionType(unionList, "OptionalLine");
+ if (TypeComputerUtilities.nullableType(expression, env)) {
+ List<IAType> unionList = new ArrayList<IAType>();
+ unionList.add(BuiltinType.ANULL);
+ unionList.add(BuiltinType.ALINE);
+ return new AUnionType(unionList, "OptionalLine");
+ } else {
+ return BuiltinType.ALINE;
+ }
}
}
diff --git a/asterix-om/src/main/java/edu/uci/ics/asterix/om/typecomputer/impl/OptionalAPoint3DTypeComputer.java b/asterix-om/src/main/java/edu/uci/ics/asterix/om/typecomputer/impl/OptionalAPoint3DTypeComputer.java
index 7008ac6..8f0bf7a 100644
--- a/asterix-om/src/main/java/edu/uci/ics/asterix/om/typecomputer/impl/OptionalAPoint3DTypeComputer.java
+++ b/asterix-om/src/main/java/edu/uci/ics/asterix/om/typecomputer/impl/OptionalAPoint3DTypeComputer.java
@@ -18,6 +18,7 @@
import java.util.List;
import edu.uci.ics.asterix.om.typecomputer.base.IResultTypeComputer;
+import edu.uci.ics.asterix.om.typecomputer.base.TypeComputerUtilities;
import edu.uci.ics.asterix.om.types.AUnionType;
import edu.uci.ics.asterix.om.types.BuiltinType;
import edu.uci.ics.asterix.om.types.IAType;
@@ -36,10 +37,14 @@
@Override
public IAType computeType(ILogicalExpression expression, IVariableTypeEnvironment env,
IMetadataProvider<?, ?> metadataProvider) throws AlgebricksException {
- List<IAType> unionList = new ArrayList<IAType>();
- unionList.add(BuiltinType.ANULL);
- unionList.add(BuiltinType.APOINT3D);
- return new AUnionType(unionList, "OptionalPoint3d");
+ if (TypeComputerUtilities.nullableType(expression, env)) {
+ List<IAType> unionList = new ArrayList<IAType>();
+ unionList.add(BuiltinType.ANULL);
+ unionList.add(BuiltinType.APOINT3D);
+ return new AUnionType(unionList, "OptionalPoint3d");
+ } else {
+ return BuiltinType.APOINT3D;
+ }
}
}
diff --git a/asterix-om/src/main/java/edu/uci/ics/asterix/om/typecomputer/impl/OptionalAPointTypeComputer.java b/asterix-om/src/main/java/edu/uci/ics/asterix/om/typecomputer/impl/OptionalAPointTypeComputer.java
index c07d4fb..1a93ee6 100644
--- a/asterix-om/src/main/java/edu/uci/ics/asterix/om/typecomputer/impl/OptionalAPointTypeComputer.java
+++ b/asterix-om/src/main/java/edu/uci/ics/asterix/om/typecomputer/impl/OptionalAPointTypeComputer.java
@@ -18,6 +18,7 @@
import java.util.List;
import edu.uci.ics.asterix.om.typecomputer.base.IResultTypeComputer;
+import edu.uci.ics.asterix.om.typecomputer.base.TypeComputerUtilities;
import edu.uci.ics.asterix.om.types.AUnionType;
import edu.uci.ics.asterix.om.types.BuiltinType;
import edu.uci.ics.asterix.om.types.IAType;
@@ -36,10 +37,14 @@
@Override
public IAType computeType(ILogicalExpression expression, IVariableTypeEnvironment env,
IMetadataProvider<?, ?> metadataProvider) throws AlgebricksException {
- List<IAType> unionList = new ArrayList<IAType>();
- unionList.add(BuiltinType.ANULL);
- unionList.add(BuiltinType.APOINT);
- return new AUnionType(unionList, "OptionalPoint");
+ if (TypeComputerUtilities.nullableType(expression, env)) {
+ List<IAType> unionList = new ArrayList<IAType>();
+ unionList.add(BuiltinType.ANULL);
+ unionList.add(BuiltinType.APOINT);
+ return new AUnionType(unionList, "OptionalPoint");
+ } else {
+ return BuiltinType.APOINT;
+ }
}
}
diff --git a/asterix-om/src/main/java/edu/uci/ics/asterix/om/typecomputer/impl/OptionalAPolygonTypeComputer.java b/asterix-om/src/main/java/edu/uci/ics/asterix/om/typecomputer/impl/OptionalAPolygonTypeComputer.java
index 398add3..405608c 100644
--- a/asterix-om/src/main/java/edu/uci/ics/asterix/om/typecomputer/impl/OptionalAPolygonTypeComputer.java
+++ b/asterix-om/src/main/java/edu/uci/ics/asterix/om/typecomputer/impl/OptionalAPolygonTypeComputer.java
@@ -18,6 +18,7 @@
import java.util.List;
import edu.uci.ics.asterix.om.typecomputer.base.IResultTypeComputer;
+import edu.uci.ics.asterix.om.typecomputer.base.TypeComputerUtilities;
import edu.uci.ics.asterix.om.types.AUnionType;
import edu.uci.ics.asterix.om.types.BuiltinType;
import edu.uci.ics.asterix.om.types.IAType;
@@ -36,10 +37,14 @@
@Override
public IAType computeType(ILogicalExpression expression, IVariableTypeEnvironment env,
IMetadataProvider<?, ?> metadataProvider) throws AlgebricksException {
- List<IAType> unionList = new ArrayList<IAType>();
- unionList.add(BuiltinType.ANULL);
- unionList.add(BuiltinType.APOLYGON);
- return new AUnionType(unionList, "OptionalPolygon");
+ if (TypeComputerUtilities.nullableType(expression, env)) {
+ List<IAType> unionList = new ArrayList<IAType>();
+ unionList.add(BuiltinType.ANULL);
+ unionList.add(BuiltinType.APOLYGON);
+ return new AUnionType(unionList, "OptionalPolygon");
+ } else {
+ return BuiltinType.APOLYGON;
+ }
}
}
diff --git a/asterix-om/src/main/java/edu/uci/ics/asterix/om/typecomputer/impl/OptionalARectangleTypeComputer.java b/asterix-om/src/main/java/edu/uci/ics/asterix/om/typecomputer/impl/OptionalARectangleTypeComputer.java
index 936668b..c6a8026 100644
--- a/asterix-om/src/main/java/edu/uci/ics/asterix/om/typecomputer/impl/OptionalARectangleTypeComputer.java
+++ b/asterix-om/src/main/java/edu/uci/ics/asterix/om/typecomputer/impl/OptionalARectangleTypeComputer.java
@@ -18,6 +18,7 @@
import java.util.List;
import edu.uci.ics.asterix.om.typecomputer.base.IResultTypeComputer;
+import edu.uci.ics.asterix.om.typecomputer.base.TypeComputerUtilities;
import edu.uci.ics.asterix.om.types.AUnionType;
import edu.uci.ics.asterix.om.types.BuiltinType;
import edu.uci.ics.asterix.om.types.IAType;
@@ -36,10 +37,14 @@
@Override
public IAType computeType(ILogicalExpression expression, IVariableTypeEnvironment env,
IMetadataProvider<?, ?> metadataProvider) throws AlgebricksException {
- List<IAType> unionList = new ArrayList<IAType>();
- unionList.add(BuiltinType.ANULL);
- unionList.add(BuiltinType.ARECTANGLE);
- return new AUnionType(unionList, "OptionalRectangle");
+ if (TypeComputerUtilities.nullableType(expression, env)) {
+ List<IAType> unionList = new ArrayList<IAType>();
+ unionList.add(BuiltinType.ANULL);
+ unionList.add(BuiltinType.ARECTANGLE);
+ return new AUnionType(unionList, "OptionalRectangle");
+ } else {
+ return BuiltinType.ARECTANGLE;
+ }
}
}
\ No newline at end of file
diff --git a/asterix-om/src/main/java/edu/uci/ics/asterix/om/typecomputer/impl/OptionalAStringTypeComputer.java b/asterix-om/src/main/java/edu/uci/ics/asterix/om/typecomputer/impl/OptionalAStringTypeComputer.java
index 3758645..5b0642d 100644
--- a/asterix-om/src/main/java/edu/uci/ics/asterix/om/typecomputer/impl/OptionalAStringTypeComputer.java
+++ b/asterix-om/src/main/java/edu/uci/ics/asterix/om/typecomputer/impl/OptionalAStringTypeComputer.java
@@ -18,6 +18,7 @@
import java.util.List;
import edu.uci.ics.asterix.om.typecomputer.base.IResultTypeComputer;
+import edu.uci.ics.asterix.om.typecomputer.base.TypeComputerUtilities;
import edu.uci.ics.asterix.om.types.AUnionType;
import edu.uci.ics.asterix.om.types.BuiltinType;
import edu.uci.ics.asterix.om.types.IAType;
@@ -36,10 +37,14 @@
@Override
public IAType computeType(ILogicalExpression expression, IVariableTypeEnvironment env,
IMetadataProvider<?, ?> metadataProvider) throws AlgebricksException {
- List<IAType> unionList = new ArrayList<IAType>();
- unionList.add(BuiltinType.ANULL);
- unionList.add(BuiltinType.ASTRING);
- return new AUnionType(unionList, "OptionalString");
+ if (TypeComputerUtilities.nullableType(expression, env)) {
+ List<IAType> unionList = new ArrayList<IAType>();
+ unionList.add(BuiltinType.ANULL);
+ unionList.add(BuiltinType.ASTRING);
+ return new AUnionType(unionList, "OptionalString");
+ } else {
+ return BuiltinType.ASTRING;
+ }
}
}
diff --git a/asterix-om/src/main/java/edu/uci/ics/asterix/om/typecomputer/impl/OptionalATimeTypeComputer.java b/asterix-om/src/main/java/edu/uci/ics/asterix/om/typecomputer/impl/OptionalATimeTypeComputer.java
index 19e6e30..4d466e7 100644
--- a/asterix-om/src/main/java/edu/uci/ics/asterix/om/typecomputer/impl/OptionalATimeTypeComputer.java
+++ b/asterix-om/src/main/java/edu/uci/ics/asterix/om/typecomputer/impl/OptionalATimeTypeComputer.java
@@ -18,6 +18,7 @@
import java.util.List;
import edu.uci.ics.asterix.om.typecomputer.base.IResultTypeComputer;
+import edu.uci.ics.asterix.om.typecomputer.base.TypeComputerUtilities;
import edu.uci.ics.asterix.om.types.AUnionType;
import edu.uci.ics.asterix.om.types.BuiltinType;
import edu.uci.ics.asterix.om.types.IAType;
@@ -36,10 +37,14 @@
@Override
public IAType computeType(ILogicalExpression expression, IVariableTypeEnvironment env,
IMetadataProvider<?, ?> metadataProvider) throws AlgebricksException {
- List<IAType> unionList = new ArrayList<IAType>();
- unionList.add(BuiltinType.ANULL);
- unionList.add(BuiltinType.ATIME);
- return new AUnionType(unionList, "OptionalTime");
+ if (TypeComputerUtilities.nullableType(expression, env)) {
+ List<IAType> unionList = new ArrayList<IAType>();
+ unionList.add(BuiltinType.ANULL);
+ unionList.add(BuiltinType.ATIME);
+ return new AUnionType(unionList, "OptionalTime");
+ } else {
+ return BuiltinType.ATIME;
+ }
}
}
diff --git a/asterix-om/src/main/java/edu/uci/ics/asterix/om/typecomputer/impl/OptionalAYearMonthDurationTypeComputer.java b/asterix-om/src/main/java/edu/uci/ics/asterix/om/typecomputer/impl/OptionalAYearMonthDurationTypeComputer.java
index 4c08142..3350674 100644
--- a/asterix-om/src/main/java/edu/uci/ics/asterix/om/typecomputer/impl/OptionalAYearMonthDurationTypeComputer.java
+++ b/asterix-om/src/main/java/edu/uci/ics/asterix/om/typecomputer/impl/OptionalAYearMonthDurationTypeComputer.java
@@ -18,6 +18,7 @@
import java.util.List;
import edu.uci.ics.asterix.om.typecomputer.base.IResultTypeComputer;
+import edu.uci.ics.asterix.om.typecomputer.base.TypeComputerUtilities;
import edu.uci.ics.asterix.om.types.AUnionType;
import edu.uci.ics.asterix.om.types.BuiltinType;
import edu.uci.ics.asterix.om.types.IAType;
@@ -40,10 +41,14 @@
@Override
public IAType computeType(ILogicalExpression expression, IVariableTypeEnvironment env,
IMetadataProvider<?, ?> metadataProvider) throws AlgebricksException {
- List<IAType> unionList = new ArrayList<IAType>();
- unionList.add(BuiltinType.ANULL);
- unionList.add(BuiltinType.AYEARMONTHDURATION);
- return new AUnionType(unionList, "OptionalYearMonthDuration");
+ if (TypeComputerUtilities.nullableType(expression, env)) {
+ List<IAType> unionList = new ArrayList<IAType>();
+ unionList.add(BuiltinType.ANULL);
+ unionList.add(BuiltinType.AYEARMONTHDURATION);
+ return new AUnionType(unionList, "OptionalYearMonthDuration");
+ } else {
+ return BuiltinType.AYEARMONTHDURATION;
+ }
}
}
diff --git a/asterix-om/src/main/java/edu/uci/ics/asterix/om/types/ARecordType.java b/asterix-om/src/main/java/edu/uci/ics/asterix/om/types/ARecordType.java
index 0319c7c..28a41d1 100644
--- a/asterix-om/src/main/java/edu/uci/ics/asterix/om/types/ARecordType.java
+++ b/asterix-om/src/main/java/edu/uci/ics/asterix/om/types/ARecordType.java
@@ -66,6 +66,7 @@
* @throws AsterixException
* if there are duplicate field names or if there is an error serializing the field names
*/
+ @SuppressWarnings("resource")
public ARecordType(String typeName, String[] fieldNames, IAType[] fieldTypes, boolean isOpen)
throws AsterixException {
super(typeName);
@@ -96,6 +97,11 @@
hashCodeIndexPairs[i] = hashCodeIndexPairs[i] << 32;
hashCodeIndexPairs[i] = hashCodeIndexPairs[i] | i;
}
+ try {
+ dos.close();
+ } catch (IOException e) {
+ throw new AsterixException(e);
+ }
serializedFieldNames = baaos.getByteArray();
Arrays.sort(hashCodeIndexPairs);
@@ -336,7 +342,8 @@
break;
default:
throw new AlgebricksException("The field \"" + fieldName + "\" which is of type "
- + fieldType.getTypeTag() + " cannot be indexed using the Length Partitioned N-Gram index.");
+ + fieldType.getTypeTag()
+ + " cannot be indexed using the Length Partitioned N-Gram index.");
}
break;
case LENGTH_PARTITIONED_WORD_INVIX:
@@ -348,7 +355,8 @@
break;
default:
throw new AlgebricksException("The field \"" + fieldName + "\" which is of type "
- + fieldType.getTypeTag() + " cannot be indexed using the Length Partitioned Keyword index.");
+ + fieldType.getTypeTag()
+ + " cannot be indexed using the Length Partitioned Keyword index.");
}
break;
case SINGLE_PARTITION_NGRAM_INVIX:
diff --git a/asterix-runtime/src/main/java/edu/uci/ics/asterix/runtime/operators/file/ADMDataParser.java b/asterix-runtime/src/main/java/edu/uci/ics/asterix/runtime/operators/file/ADMDataParser.java
index b8c8659..7e51ae6 100644
--- a/asterix-runtime/src/main/java/edu/uci/ics/asterix/runtime/operators/file/ADMDataParser.java
+++ b/asterix-runtime/src/main/java/edu/uci/ics/asterix/runtime/operators/file/ADMDataParser.java
@@ -635,11 +635,16 @@
boolean first = true;
do {
token = nextToken();
- if (token == AdmLexer.TOKEN_END_UNORDERED_LIST) {
- if (expectingListItem) {
- throw new AsterixException("Found END_COLLECTION while expecting a list item.");
+ if (token == AdmLexer.TOKEN_END_RECORD) {
+ if (nextToken() == AdmLexer.TOKEN_END_RECORD) {
+ if (expectingListItem) {
+ throw new AsterixException("Found END_COLLECTION while expecting a list item.");
+ } else {
+ inList = false;
+ }
+ } else {
+ throw new AsterixException("Found END_RECORD while expecting a list item.");
}
- inList = false;
} else if (token == AdmLexer.TOKEN_COMMA) {
if (first) {
throw new AsterixException("Found COMMA before any list item.");
diff --git a/asterix-runtime/src/main/java/edu/uci/ics/asterix/runtime/operators/file/DelimitedDataParser.java b/asterix-runtime/src/main/java/edu/uci/ics/asterix/runtime/operators/file/DelimitedDataParser.java
index 5a639dc..23f7aab 100644
--- a/asterix-runtime/src/main/java/edu/uci/ics/asterix/runtime/operators/file/DelimitedDataParser.java
+++ b/asterix-runtime/src/main/java/edu/uci/ics/asterix/runtime/operators/file/DelimitedDataParser.java
@@ -29,6 +29,8 @@
import edu.uci.ics.asterix.om.base.ANull;
import edu.uci.ics.asterix.om.types.ARecordType;
import edu.uci.ics.asterix.om.types.ATypeTag;
+import edu.uci.ics.asterix.om.types.AUnionType;
+import edu.uci.ics.asterix.om.util.NonTaggedFormatUtil;
import edu.uci.ics.hyracks.api.exceptions.HyracksDataException;
import edu.uci.ics.hyracks.data.std.util.ArrayBackedValueStorage;
import edu.uci.ics.hyracks.dataflow.common.data.parsers.IValueParser;
@@ -115,8 +117,9 @@
&& recordType.getFieldTypes()[i].getTypeTag() != ATypeTag.NULL) {
// if the field is empty and the type is optional, insert NULL
// note that string type can also process empty field as an empty string
- if (recordType.getFieldTypes()[i].getTypeTag() != ATypeTag.UNION) {
- throw new AsterixException("Field " + i + " cannot be NULL. ");
+ if (recordType.getFieldTypes()[i].getTypeTag() != ATypeTag.UNION
+ || !NonTaggedFormatUtil.isOptionalField((AUnionType) recordType.getFieldTypes()[i])) {
+ throw new AsterixException("Field " + i + " is not an optional type so it cannot accept null value. ");
}
fieldValueBufferOutput.writeByte(ATypeTag.NULL.serialize());
ANullSerializerDeserializer.INSTANCE.serialize(ANull.NULL, out);
diff --git a/asterix-runtime/src/main/resources/adm.grammar b/asterix-runtime/src/main/resources/adm.grammar
index 80e2cd4..06614d0 100644
--- a/asterix-runtime/src/main/resources/adm.grammar
+++ b/asterix-runtime/src/main/resources/adm.grammar
@@ -45,7 +45,7 @@
START_ORDERED_LIST = char([)
END_ORDERED_LIST = char(])
START_UNORDERED_LIST = string({{)
-END_UNORDERED_LIST = string(}})
+# END_UNORDERED_LIST = }} is recognized as a double END_RECORD token
STRING_LITERAL = char("), anythingUntil(")