Yingyi Bu has submitted this change and it was merged.

Change subject: ASTERIXDB-1212: fixes and test cases.
......................................................................


ASTERIXDB-1212: fixes and test cases.

Change-Id: I0b5fc5c09dfffa11ff8debb69e85ead894b4a597
Reviewed-on: https://asterix-gerrit.ics.uci.edu/908
Tested-by: Jenkins <jenk...@fulliautomatix.ics.uci.edu>
Reviewed-by: Jianfeng Jia <jianfeng....@gmail.com>
---
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries/list/query-ASTERIXDB-1212-2-open/query-ASTERIXDB-1212-2-open.1.query.aql
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries/list/query-ASTERIXDB-1212-2/query-ASTERIXDB-1212-2.1.query.aql
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries/list/query-ASTERIXDB-1212-open/query-ASTERIXDB-1212-open.1.query.aql
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries/list/query-ASTERIXDB-1212/query-ASTERIXDB-1212.1.query.aql
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/list/query-ASTERIXDB-1212-2-open/query-ASTERIXDB-1212-2-open.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/list/query-ASTERIXDB-1212-2/query-ASTERIXDB-1212-2.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/list/query-ASTERIXDB-1212-open/query-ASTERIXDB-1212-open.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/list/query-ASTERIXDB-1212/query-ASTERIXDB-1212.1.adm
M asterixdb/asterix-app/src/test/resources/runtimets/testsuite.xml
R 
asterixdb/asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/adm/AOptionalFieldPrinterFactory.java
R 
asterixdb/asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/csv/AOptionalFieldPrinterFactory.java
R 
asterixdb/asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/json/clean/AOptionalFieldPrinterFactory.java
R 
asterixdb/asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/json/lossless/AOptionalFieldPrinterFactory.java
M 
asterixdb/asterix-om/src/main/java/org/apache/asterix/formats/nontagged/AqlADMPrinterFactoryProvider.java
M 
asterixdb/asterix-om/src/main/java/org/apache/asterix/formats/nontagged/AqlCSVPrinterFactoryProvider.java
M 
asterixdb/asterix-om/src/main/java/org/apache/asterix/formats/nontagged/AqlCleanJSONPrinterFactoryProvider.java
M 
asterixdb/asterix-om/src/main/java/org/apache/asterix/formats/nontagged/AqlLosslessJSONPrinterFactoryProvider.java
17 files changed, 140 insertions(+), 20 deletions(-)

Approvals:
  Jianfeng Jia: Looks good to me, approved
  Jenkins: Verified



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);
                     }

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

Gerrit-MessageType: merged
Gerrit-Change-Id: I0b5fc5c09dfffa11ff8debb69e85ead894b4a597
Gerrit-PatchSet: 3
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Yingyi Bu <buyin...@gmail.com>
Gerrit-Reviewer: Jenkins <jenk...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Jianfeng Jia <jianfeng....@gmail.com>
Gerrit-Reviewer: Yingyi Bu <buyin...@gmail.com>

Reply via email to