ASTERIXDB-1212: fixes and test cases.
Change-Id: I0b5fc5c09dfffa11ff8debb69e85ead894b4a597
Reviewed-on: https://asterix-gerrit.ics.uci.edu/908
Tested-by: Jenkins <jenkins@fulliautomatix.ics.uci.edu>
Reviewed-by: Jianfeng Jia <jianfeng.jia@gmail.com>
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/list/query-ASTERIXDB-1212-2-open/query-ASTERIXDB-1212-2-open.1.query.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/list/query-ASTERIXDB-1212-2-open/query-ASTERIXDB-1212-2-open.1.query.aql
new file mode 100644
index 0000000..3e37ac2
--- /dev/null
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/list/query-ASTERIXDB-1212-2-open/query-ASTERIXDB-1212-2-open.1.query.aql
@@ -0,0 +1,24 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+let $all := [ { "ka":"a1", "kb":"b1"},
+ { "ka":2, "kb":"b2"}]
+for $x in $all
+group by $k := $x.kb with $x
+return { "g": $k, "s1": $x[1].ka}
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/list/query-ASTERIXDB-1212-2/query-ASTERIXDB-1212-2.1.query.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/list/query-ASTERIXDB-1212-2/query-ASTERIXDB-1212-2.1.query.aql
new file mode 100644
index 0000000..e12cb9f
--- /dev/null
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/list/query-ASTERIXDB-1212-2/query-ASTERIXDB-1212-2.1.query.aql
@@ -0,0 +1,25 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+let $all := [ { "ka":"a1", "kb":"b1"},
+ { "ka":"a2", "kb":"b2"}]
+for $x in $all
+group by $k := $x.kb with $x
+return { "g": $k, "s1": $x[1].ka}
+
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/list/query-ASTERIXDB-1212-open/query-ASTERIXDB-1212-open.1.query.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/list/query-ASTERIXDB-1212-open/query-ASTERIXDB-1212-open.1.query.aql
new file mode 100644
index 0000000..52ee35d
--- /dev/null
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/list/query-ASTERIXDB-1212-open/query-ASTERIXDB-1212-open.1.query.aql
@@ -0,0 +1,22 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+let $all := [ { "ka":"a1", "kb":"b1"},
+ { "ka":2, "kb":"b2"}]
+return $all[3].ka;
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/list/query-ASTERIXDB-1212/query-ASTERIXDB-1212.1.query.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/list/query-ASTERIXDB-1212/query-ASTERIXDB-1212.1.query.aql
new file mode 100644
index 0000000..abf53d0
--- /dev/null
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/list/query-ASTERIXDB-1212/query-ASTERIXDB-1212.1.query.aql
@@ -0,0 +1,23 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+let $all := [ { "ka":"a1", "kb":"b1"},
+ { "ka":"a1", "kb":"b2"}]
+return $all[3].ka;
+
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/list/query-ASTERIXDB-1212-2-open/query-ASTERIXDB-1212-2-open.1.adm b/asterixdb/asterix-app/src/test/resources/runtimets/results/list/query-ASTERIXDB-1212-2-open/query-ASTERIXDB-1212-2-open.1.adm
new file mode 100644
index 0000000..1652c38
--- /dev/null
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/list/query-ASTERIXDB-1212-2-open/query-ASTERIXDB-1212-2-open.1.adm
@@ -0,0 +1,2 @@
+{ "g": "b1" }
+{ "g": "b2" }
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/list/query-ASTERIXDB-1212-2/query-ASTERIXDB-1212-2.1.adm b/asterixdb/asterix-app/src/test/resources/runtimets/results/list/query-ASTERIXDB-1212-2/query-ASTERIXDB-1212-2.1.adm
new file mode 100644
index 0000000..1652c38
--- /dev/null
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/list/query-ASTERIXDB-1212-2/query-ASTERIXDB-1212-2.1.adm
@@ -0,0 +1,2 @@
+{ "g": "b1" }
+{ "g": "b2" }
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/list/query-ASTERIXDB-1212-open/query-ASTERIXDB-1212-open.1.adm b/asterixdb/asterix-app/src/test/resources/runtimets/results/list/query-ASTERIXDB-1212-open/query-ASTERIXDB-1212-open.1.adm
new file mode 100644
index 0000000..19765bd
--- /dev/null
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/list/query-ASTERIXDB-1212-open/query-ASTERIXDB-1212-open.1.adm
@@ -0,0 +1 @@
+null
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/list/query-ASTERIXDB-1212/query-ASTERIXDB-1212.1.adm b/asterixdb/asterix-app/src/test/resources/runtimets/results/list/query-ASTERIXDB-1212/query-ASTERIXDB-1212.1.adm
new file mode 100644
index 0000000..19765bd
--- /dev/null
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/list/query-ASTERIXDB-1212/query-ASTERIXDB-1212.1.adm
@@ -0,0 +1 @@
+null
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/testsuite.xml b/asterixdb/asterix-app/src/test/resources/runtimets/testsuite.xml
index adbf40f..3d12573 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/testsuite.xml
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/testsuite.xml
@@ -3039,6 +3039,26 @@
<output-dir compare="Text">query-ASTERIXDB-1131-2</output-dir>
</compilation-unit>
</test-case>
+ <test-case FilePath="list">
+ <compilation-unit name="query-ASTERIXDB-1212">
+ <output-dir compare="Text">query-ASTERIXDB-1212</output-dir>
+ </compilation-unit>
+ </test-case>
+ <test-case FilePath="list">
+ <compilation-unit name="query-ASTERIXDB-1212-open">
+ <output-dir compare="Text">query-ASTERIXDB-1212-open</output-dir>
+ </compilation-unit>
+ </test-case>
+ <test-case FilePath="list">
+ <compilation-unit name="query-ASTERIXDB-1212-2">
+ <output-dir compare="Text">query-ASTERIXDB-1212-2</output-dir>
+ </compilation-unit>
+ </test-case>
+ <test-case FilePath="list">
+ <compilation-unit name="query-ASTERIXDB-1212-2-open">
+ <output-dir compare="Text">query-ASTERIXDB-1212-2-open</output-dir>
+ </compilation-unit>
+ </test-case>
</test-group>
<test-group name="meta">
<test-case FilePath="meta">
diff --git a/asterixdb/asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/adm/ANullableFieldPrinterFactory.java b/asterixdb/asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/adm/AOptionalFieldPrinterFactory.java
similarity index 90%
rename from asterixdb/asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/adm/ANullableFieldPrinterFactory.java
rename to asterixdb/asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/adm/AOptionalFieldPrinterFactory.java
index 784bd0b..7825812 100644
--- a/asterixdb/asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/adm/ANullableFieldPrinterFactory.java
+++ b/asterixdb/asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/adm/AOptionalFieldPrinterFactory.java
@@ -28,13 +28,13 @@
import org.apache.hyracks.algebricks.data.IPrinterFactory;
import org.apache.hyracks.api.exceptions.HyracksDataException;
-public class ANullableFieldPrinterFactory implements IPrinterFactory {
+public class AOptionalFieldPrinterFactory implements IPrinterFactory {
private static final long serialVersionUID = 1L;
private AUnionType unionType;
- public ANullableFieldPrinterFactory(AUnionType unionType) {
+ public AOptionalFieldPrinterFactory(AUnionType unionType) {
this.unionType = unionType;
}
@@ -55,7 +55,7 @@
@Override
public void print(byte[] b, int s, int l, PrintStream ps) throws HyracksDataException {
fieldPrinter.init();
- if (b[s] == ATypeTag.SERIALIZED_NULL_TYPE_TAG) {
+ if (b[s] == ATypeTag.SERIALIZED_NULL_TYPE_TAG || b[s] == ATypeTag.SERIALIZED_MISSING_TYPE_TAG) {
nullPrinter.print(b, s, l, ps);
} else {
fieldPrinter.print(b, s, l, ps);
diff --git a/asterixdb/asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/csv/ANullableFieldPrinterFactory.java b/asterixdb/asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/csv/AOptionalFieldPrinterFactory.java
similarity index 90%
rename from asterixdb/asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/csv/ANullableFieldPrinterFactory.java
rename to asterixdb/asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/csv/AOptionalFieldPrinterFactory.java
index deb6014..a40edc8 100644
--- a/asterixdb/asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/csv/ANullableFieldPrinterFactory.java
+++ b/asterixdb/asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/csv/AOptionalFieldPrinterFactory.java
@@ -28,13 +28,13 @@
import org.apache.hyracks.algebricks.data.IPrinterFactory;
import org.apache.hyracks.api.exceptions.HyracksDataException;
-public class ANullableFieldPrinterFactory implements IPrinterFactory {
+public class AOptionalFieldPrinterFactory implements IPrinterFactory {
private static final long serialVersionUID = 1L;
private AUnionType unionType;
- public ANullableFieldPrinterFactory(AUnionType unionType) {
+ public AOptionalFieldPrinterFactory(AUnionType unionType) {
this.unionType = unionType;
}
@@ -55,7 +55,7 @@
@Override
public void print(byte[] b, int s, int l, PrintStream ps) throws HyracksDataException {
fieldPrinter.init();
- if (b[s] == ATypeTag.MISSING.serialize()) {
+ if (b[s] == ATypeTag.SERIALIZED_NULL_TYPE_TAG || b[s] == ATypeTag.SERIALIZED_MISSING_TYPE_TAG) {
nullPrinter.print(b, s, l, ps);
} else {
fieldPrinter.print(b, s, l, ps);
diff --git a/asterixdb/asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/json/clean/ANullableFieldPrinterFactory.java b/asterixdb/asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/json/clean/AOptionalFieldPrinterFactory.java
similarity index 90%
rename from asterixdb/asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/json/clean/ANullableFieldPrinterFactory.java
rename to asterixdb/asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/json/clean/AOptionalFieldPrinterFactory.java
index b2c13af..4edacbd 100644
--- a/asterixdb/asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/json/clean/ANullableFieldPrinterFactory.java
+++ b/asterixdb/asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/json/clean/AOptionalFieldPrinterFactory.java
@@ -28,12 +28,12 @@
import org.apache.hyracks.algebricks.data.IPrinterFactory;
import org.apache.hyracks.api.exceptions.HyracksDataException;
-public class ANullableFieldPrinterFactory implements IPrinterFactory {
+public class AOptionalFieldPrinterFactory implements IPrinterFactory {
private static final long serialVersionUID = 1L;
private AUnionType unionType;
- public ANullableFieldPrinterFactory(AUnionType unionType) {
+ public AOptionalFieldPrinterFactory(AUnionType unionType) {
this.unionType = unionType;
}
@@ -54,7 +54,7 @@
@Override
public void print(byte[] b, int s, int l, PrintStream ps) throws HyracksDataException {
fieldPrinter.init();
- if (b[s] == ATypeTag.MISSING.serialize()) {
+ if (b[s] == ATypeTag.SERIALIZED_NULL_TYPE_TAG || b[s] == ATypeTag.SERIALIZED_MISSING_TYPE_TAG) {
nullPrinter.print(b, s, l, ps);
} else {
fieldPrinter.print(b, s, l, ps);
diff --git a/asterixdb/asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/json/lossless/ANullableFieldPrinterFactory.java b/asterixdb/asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/json/lossless/AOptionalFieldPrinterFactory.java
similarity index 90%
rename from asterixdb/asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/json/lossless/ANullableFieldPrinterFactory.java
rename to asterixdb/asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/json/lossless/AOptionalFieldPrinterFactory.java
index c7e51ce..7fb22d6 100644
--- a/asterixdb/asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/json/lossless/ANullableFieldPrinterFactory.java
+++ b/asterixdb/asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/json/lossless/AOptionalFieldPrinterFactory.java
@@ -28,12 +28,12 @@
import org.apache.hyracks.algebricks.data.IPrinterFactory;
import org.apache.hyracks.api.exceptions.HyracksDataException;
-public class ANullableFieldPrinterFactory implements IPrinterFactory {
+public class AOptionalFieldPrinterFactory implements IPrinterFactory {
private static final long serialVersionUID = 1L;
private AUnionType unionType;
- public ANullableFieldPrinterFactory(AUnionType unionType) {
+ public AOptionalFieldPrinterFactory(AUnionType unionType) {
this.unionType = unionType;
}
@@ -54,7 +54,7 @@
@Override
public void print(byte[] b, int s, int l, PrintStream ps) throws HyracksDataException {
fieldPrinter.init();
- if (b[s] == ATypeTag.MISSING.serialize()) {
+ if (b[s] == ATypeTag.SERIALIZED_NULL_TYPE_TAG || b[s] == ATypeTag.SERIALIZED_MISSING_TYPE_TAG) {
nullPrinter.print(b, s, l, ps);
} else {
fieldPrinter.print(b, s, l, ps);
diff --git a/asterixdb/asterix-om/src/main/java/org/apache/asterix/formats/nontagged/AqlADMPrinterFactoryProvider.java b/asterixdb/asterix-om/src/main/java/org/apache/asterix/formats/nontagged/AqlADMPrinterFactoryProvider.java
index 5f1854d..a1c1dc8 100644
--- a/asterixdb/asterix-om/src/main/java/org/apache/asterix/formats/nontagged/AqlADMPrinterFactoryProvider.java
+++ b/asterixdb/asterix-om/src/main/java/org/apache/asterix/formats/nontagged/AqlADMPrinterFactoryProvider.java
@@ -34,7 +34,7 @@
import org.apache.asterix.dataflow.data.nontagged.printers.adm.AIntervalPrinterFactory;
import org.apache.asterix.dataflow.data.nontagged.printers.adm.ALinePrinterFactory;
import org.apache.asterix.dataflow.data.nontagged.printers.adm.ANullPrinterFactory;
-import org.apache.asterix.dataflow.data.nontagged.printers.adm.ANullableFieldPrinterFactory;
+import org.apache.asterix.dataflow.data.nontagged.printers.adm.AOptionalFieldPrinterFactory;
import org.apache.asterix.dataflow.data.nontagged.printers.adm.AObjectPrinterFactory;
import org.apache.asterix.dataflow.data.nontagged.printers.adm.AOrderedlistPrinterFactory;
import org.apache.asterix.dataflow.data.nontagged.printers.adm.APoint3DPrinterFactory;
@@ -125,7 +125,7 @@
return new AUnorderedlistPrinterFactory((AUnorderedListType) aqlType);
case UNION: {
if (((AUnionType) aqlType).isUnknownableType()) {
- return new ANullableFieldPrinterFactory((AUnionType) aqlType);
+ return new AOptionalFieldPrinterFactory((AUnionType) aqlType);
} else {
return new AUnionPrinterFactory((AUnionType) aqlType);
}
diff --git a/asterixdb/asterix-om/src/main/java/org/apache/asterix/formats/nontagged/AqlCSVPrinterFactoryProvider.java b/asterixdb/asterix-om/src/main/java/org/apache/asterix/formats/nontagged/AqlCSVPrinterFactoryProvider.java
index d197e52..eef4456 100644
--- a/asterixdb/asterix-om/src/main/java/org/apache/asterix/formats/nontagged/AqlCSVPrinterFactoryProvider.java
+++ b/asterixdb/asterix-om/src/main/java/org/apache/asterix/formats/nontagged/AqlCSVPrinterFactoryProvider.java
@@ -35,7 +35,7 @@
import org.apache.asterix.dataflow.data.nontagged.printers.csv.AIntervalPrinterFactory;
import org.apache.asterix.dataflow.data.nontagged.printers.csv.ALinePrinterFactory;
import org.apache.asterix.dataflow.data.nontagged.printers.csv.ANullPrinterFactory;
-import org.apache.asterix.dataflow.data.nontagged.printers.csv.ANullableFieldPrinterFactory;
+import org.apache.asterix.dataflow.data.nontagged.printers.csv.AOptionalFieldPrinterFactory;
import org.apache.asterix.dataflow.data.nontagged.printers.csv.AObjectPrinterFactory;
import org.apache.asterix.dataflow.data.nontagged.printers.csv.APoint3DPrinterFactory;
import org.apache.asterix.dataflow.data.nontagged.printers.csv.APointPrinterFactory;
@@ -119,7 +119,7 @@
throw new NotImplementedException("'Unorderedlist' type unsupported for CSV output");
case UNION: {
if (((AUnionType) aqlType).isUnknownableType()) {
- return new ANullableFieldPrinterFactory((AUnionType) aqlType);
+ return new AOptionalFieldPrinterFactory((AUnionType) aqlType);
} else {
return new AUnionPrinterFactory((AUnionType) aqlType);
}
diff --git a/asterixdb/asterix-om/src/main/java/org/apache/asterix/formats/nontagged/AqlCleanJSONPrinterFactoryProvider.java b/asterixdb/asterix-om/src/main/java/org/apache/asterix/formats/nontagged/AqlCleanJSONPrinterFactoryProvider.java
index 9cf9f8e..a69adc6 100644
--- a/asterixdb/asterix-om/src/main/java/org/apache/asterix/formats/nontagged/AqlCleanJSONPrinterFactoryProvider.java
+++ b/asterixdb/asterix-om/src/main/java/org/apache/asterix/formats/nontagged/AqlCleanJSONPrinterFactoryProvider.java
@@ -36,7 +36,7 @@
import org.apache.asterix.dataflow.data.nontagged.printers.json.clean.AIntervalPrinterFactory;
import org.apache.asterix.dataflow.data.nontagged.printers.json.clean.ALinePrinterFactory;
import org.apache.asterix.dataflow.data.nontagged.printers.json.clean.ANullPrinterFactory;
-import org.apache.asterix.dataflow.data.nontagged.printers.json.clean.ANullableFieldPrinterFactory;
+import org.apache.asterix.dataflow.data.nontagged.printers.json.clean.AOptionalFieldPrinterFactory;
import org.apache.asterix.dataflow.data.nontagged.printers.json.clean.AObjectPrinterFactory;
import org.apache.asterix.dataflow.data.nontagged.printers.json.clean.AOrderedlistPrinterFactory;
import org.apache.asterix.dataflow.data.nontagged.printers.json.clean.APoint3DPrinterFactory;
@@ -125,7 +125,7 @@
return new AUnorderedlistPrinterFactory((AUnorderedListType) aqlType);
case UNION: {
if (((AUnionType) aqlType).isUnknownableType()) {
- return new ANullableFieldPrinterFactory((AUnionType) aqlType);
+ return new AOptionalFieldPrinterFactory((AUnionType) aqlType);
} else {
return new AUnionPrinterFactory((AUnionType) aqlType);
}
diff --git a/asterixdb/asterix-om/src/main/java/org/apache/asterix/formats/nontagged/AqlLosslessJSONPrinterFactoryProvider.java b/asterixdb/asterix-om/src/main/java/org/apache/asterix/formats/nontagged/AqlLosslessJSONPrinterFactoryProvider.java
index 370a47b..eeb812b 100644
--- a/asterixdb/asterix-om/src/main/java/org/apache/asterix/formats/nontagged/AqlLosslessJSONPrinterFactoryProvider.java
+++ b/asterixdb/asterix-om/src/main/java/org/apache/asterix/formats/nontagged/AqlLosslessJSONPrinterFactoryProvider.java
@@ -36,7 +36,7 @@
import org.apache.asterix.dataflow.data.nontagged.printers.json.lossless.AIntervalPrinterFactory;
import org.apache.asterix.dataflow.data.nontagged.printers.json.lossless.ALinePrinterFactory;
import org.apache.asterix.dataflow.data.nontagged.printers.json.lossless.ANullPrinterFactory;
-import org.apache.asterix.dataflow.data.nontagged.printers.json.lossless.ANullableFieldPrinterFactory;
+import org.apache.asterix.dataflow.data.nontagged.printers.json.lossless.AOptionalFieldPrinterFactory;
import org.apache.asterix.dataflow.data.nontagged.printers.json.lossless.AObjectPrinterFactory;
import org.apache.asterix.dataflow.data.nontagged.printers.json.lossless.AOrderedlistPrinterFactory;
import org.apache.asterix.dataflow.data.nontagged.printers.json.lossless.APoint3DPrinterFactory;
@@ -125,7 +125,7 @@
return new AUnorderedlistPrinterFactory((AUnorderedListType) aqlType);
case UNION: {
if (((AUnionType) aqlType).isUnknownableType()) {
- return new ANullableFieldPrinterFactory((AUnionType) aqlType);
+ return new AOptionalFieldPrinterFactory((AUnionType) aqlType);
} else {
return new AUnionPrinterFactory((AUnionType) aqlType);
}