You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@asterixdb.apache.org by AsterixDB Code Review <do...@asterix-gerrit.ics.uci.edu> on 2024/08/09 12:46:13 UTC

Change in asterixdb[goldfish]: [NO ISSUE] Fail when next() indicates no more values

From Wail Alkowaileet <wa...@gmail.com>:

Wail Alkowaileet has uploaded this change for review. ( https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/18635 )


Change subject: [NO ISSUE] Fail when next() indicates no more values
......................................................................

[NO ISSUE] Fail when next() indicates no more values

Ext-ref: MB-63105
Change-Id: I6a11f11c6a64fe60d29988d9fd16bd400d7f704f
---
M asterixdb/asterix-column/src/main/java/org/apache/asterix/column/values/reader/RepeatedPrimitiveColumnValuesReader.java
1 file changed, 23 insertions(+), 14 deletions(-)



  git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb refs/changes/35/18635/1

diff --git a/asterixdb/asterix-column/src/main/java/org/apache/asterix/column/values/reader/RepeatedPrimitiveColumnValuesReader.java b/asterixdb/asterix-column/src/main/java/org/apache/asterix/column/values/reader/RepeatedPrimitiveColumnValuesReader.java
index 4f9fdec..3f90a4b 100644
--- a/asterixdb/asterix-column/src/main/java/org/apache/asterix/column/values/reader/RepeatedPrimitiveColumnValuesReader.java
+++ b/asterixdb/asterix-column/src/main/java/org/apache/asterix/column/values/reader/RepeatedPrimitiveColumnValuesReader.java
@@ -18,7 +18,6 @@
  */
 package org.apache.asterix.column.values.reader;
 
-import java.io.IOException;
 import java.util.Arrays;
 
 import org.apache.asterix.column.values.IColumnValuesWriter;
@@ -96,23 +95,15 @@
     @Override
     public void write(IColumnValuesWriter writer, boolean callNext) throws HyracksDataException {
         //We always call next as repeated values cannot be primary keys
-        if (!next()) {
-            ColumnarValueException e = new ColumnarValueException();
-            appendReaderInformation(e.createNode(getClass().getSimpleName()));
-            throw e;
-        }
+        doNextAndCheck();
 
         if (isRepeatedValue()) {
             while (!isLastDelimiter()) {
                 writer.writeLevel(level);
                 if (isValue()) {
-                    try {
-                        writer.writeValue(this);
-                    } catch (IOException e) {
-                        throw HyracksDataException.create(e);
-                    }
+                    writer.writeValue(this);
                 }
-                next();
+                doNextAndCheck();
             }
         }
         //Add last delimiter, or NULL/MISSING
@@ -132,10 +123,10 @@
     @Override
     public void skip(int count) throws HyracksDataException {
         for (int i = 0; i < count; i++) {
-            next();
+            doNextAndCheck();
             if (isRepeatedValue()) {
                 while (!isLastDelimiter()) {
-                    next();
+                    doNextAndCheck();
                 }
             }
         }
@@ -162,4 +153,12 @@
         node.put("delimiterIndex", delimiterIndex);
         node.put("isDelimiter", isDelimiter());
     }
+
+    private void doNextAndCheck() throws HyracksDataException {
+        if (!next()) {
+            ColumnarValueException e = new ColumnarValueException();
+            appendReaderInformation(e.createNode(getClass().getSimpleName()));
+            throw e;
+        }
+    }
 }

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/18635
To unsubscribe, or for help writing mail filters, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-Project: asterixdb
Gerrit-Branch: goldfish
Gerrit-Change-Id: I6a11f11c6a64fe60d29988d9fd16bd400d7f704f
Gerrit-Change-Number: 18635
Gerrit-PatchSet: 1
Gerrit-Owner: Wail Alkowaileet <wa...@gmail.com>
Gerrit-MessageType: newchange