You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by qi...@apache.org on 2020/03/05 02:19:14 UTC

[incubator-iotdb] branch master updated: let newField(null) to null (#882)

This is an automated email from the ASF dual-hosted git repository.

qiaojialin pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-iotdb.git


The following commit(s) were added to refs/heads/master by this push:
     new 92e192f  let newField(null) to null (#882)
92e192f is described below

commit 92e192ff6ca29619bbd7a4bf2af1eb877b2575b0
Author: Jialin Qiao <qj...@mails.tsinghua.edu.cn>
AuthorDate: Thu Mar 5 10:19:04 2020 +0800

    let newField(null) to null (#882)
    
    * change new Field(null) to null
---
 .../SystemDesign/5-DataQuery/3-RawDataQuery.md     |  2 +-
 .../apache/iotdb/db/qp/executor/PlanExecutor.java  |  2 +-
 .../db/query/dataset/AlignByDeviceDataSet.java     |  6 +++---
 .../dataset/RawQueryDataSetWithValueFilter.java    |  2 +-
 .../dataset/RawQueryDataSetWithoutValueFilter.java | 11 +++++++----
 .../iotdb/db/query/executor/FillQueryExecutor.java |  2 +-
 .../iotdb/db/engine/storagegroup/TTLTest.java      |  3 ++-
 .../org/apache/iotdb/session/SessionDataSet.java   | 23 +++++++++++-----------
 .../org/apache/iotdb/tsfile/read/common/Field.java |  2 +-
 .../query/dataset/DataSetWithoutTimeGenerator.java |  8 ++++----
 10 files changed, 33 insertions(+), 28 deletions(-)

diff --git a/docs/Documentation-CHN/SystemDesign/5-DataQuery/3-RawDataQuery.md b/docs/Documentation-CHN/SystemDesign/5-DataQuery/3-RawDataQuery.md
index 1ea2e95..95c5a0d 100644
--- a/docs/Documentation-CHN/SystemDesign/5-DataQuery/3-RawDataQuery.md
+++ b/docs/Documentation-CHN/SystemDesign/5-DataQuery/3-RawDataQuery.md
@@ -281,7 +281,7 @@ private boolean cacheRowRecord() throws IOException {
 	    Object value = reader.getValueInTimestamp(timestamp);
 	    // 如果该时间序列在当前时间戳下没有值,则置null
 	    if (value == null) {
-	      rowRecord.addField(new Field(null));
+	      rowRecord.addField(null);
 	    } 
 	    // 否则将hasField置为true
 	    else {
diff --git a/server/src/main/java/org/apache/iotdb/db/qp/executor/PlanExecutor.java b/server/src/main/java/org/apache/iotdb/db/qp/executor/PlanExecutor.java
index 6da6a00..56047dc 100644
--- a/server/src/main/java/org/apache/iotdb/db/qp/executor/PlanExecutor.java
+++ b/server/src/main/java/org/apache/iotdb/db/qp/executor/PlanExecutor.java
@@ -428,7 +428,7 @@ public class PlanExecutor implements IPlanExecutor {
         ttl = new Field(TSDataType.INT64);
         ttl.setLongV(mNode.getDataTTL());
       } else {
-        ttl = new Field(null);
+        ttl = null;
       }
       rowRecord.addField(sg);
       rowRecord.addField(ttl);
diff --git a/server/src/main/java/org/apache/iotdb/db/query/dataset/AlignByDeviceDataSet.java b/server/src/main/java/org/apache/iotdb/db/query/dataset/AlignByDeviceDataSet.java
index 20abcd9..32d489f 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/dataset/AlignByDeviceDataSet.java
+++ b/server/src/main/java/org/apache/iotdb/db/query/dataset/AlignByDeviceDataSet.java
@@ -94,7 +94,7 @@ public class AlignByDeviceDataSet extends QueryDataSet {
     this.positionOfNotExistMeasurements = alignByDevicePlan.getPositionOfNotExistMeasurements();
     this.positionOfConstMeasurements = alignByDevicePlan.getPositionOfConstMeasurements();
 
-    switch (alignByDevicePlan.getOperatorType()){
+    switch (alignByDevicePlan.getOperatorType()) {
       case GROUPBY:
         this.dataSetType = DataSetType.GROUPBY;
         this.groupByPlan = alignByDevicePlan.getGroupByPlan();
@@ -225,7 +225,7 @@ public class AlignByDeviceDataSet extends QueryDataSet {
     List<Field> measurementFields = originRowRecord.getFields();
     for (int mapPos : currentColumnMapRelation) {
       if (mapPos == -1) {
-        rowRecord.addField(new Field(null));
+        rowRecord.addField(null);
       } else {
         rowRecord.addField(measurementFields.get(mapPos));
       }
@@ -243,7 +243,7 @@ public class AlignByDeviceDataSet extends QueryDataSet {
     while (loc < totalSize) {
       if (notExistMeasurementsLoc < notExistMeasurements.size()
           && loc - 1 == positionOfNotExistMeasurements.get(notExistMeasurementsLoc)) {
-        outRecord.addField(new Field(null));
+        outRecord.addField(null);
         notExistMeasurementsLoc++;
       } else if (constMeasurementsLoc < constMeasurements.size()
           && loc - 1 == positionOfConstMeasurements.get(constMeasurementsLoc)) {
diff --git a/server/src/main/java/org/apache/iotdb/db/query/dataset/RawQueryDataSetWithValueFilter.java b/server/src/main/java/org/apache/iotdb/db/query/dataset/RawQueryDataSetWithValueFilter.java
index 9e94262..cd6a0b5 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/dataset/RawQueryDataSetWithValueFilter.java
+++ b/server/src/main/java/org/apache/iotdb/db/query/dataset/RawQueryDataSetWithValueFilter.java
@@ -81,7 +81,7 @@ public class RawQueryDataSetWithValueFilter extends QueryDataSet {
         IReaderByTimestamp reader = seriesReaderByTimestampList.get(i);
         Object value = reader.getValueInTimestamp(timestamp);
         if (value == null) {
-          rowRecord.addField(new Field(null));
+          rowRecord.addField(null);
         } else {
           hasField = true;
           rowRecord.addField(value, dataTypes.get(i));
diff --git a/server/src/main/java/org/apache/iotdb/db/query/dataset/RawQueryDataSetWithoutValueFilter.java b/server/src/main/java/org/apache/iotdb/db/query/dataset/RawQueryDataSetWithoutValueFilter.java
index 233b008..1d5734a 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/dataset/RawQueryDataSetWithoutValueFilter.java
+++ b/server/src/main/java/org/apache/iotdb/db/query/dataset/RawQueryDataSetWithoutValueFilter.java
@@ -95,7 +95,8 @@ public class RawQueryDataSetWithoutValueFilter extends QueryDataSet {
         Thread.currentThread().interrupt();
         reader.setHasRemaining(false);
       } catch (IOException e) {
-        LOGGER.error(String.format("Something gets wrong while reading from the series reader %s: ", pathName), e);
+        LOGGER.error(String
+            .format("Something gets wrong while reading from the series reader %s: ", pathName), e);
         reader.setHasRemaining(false);
       } catch (Exception e) {
         LOGGER.error("Something gets wrong: ", e);
@@ -158,7 +159,8 @@ public class RawQueryDataSetWithoutValueFilter extends QueryDataSet {
       ManagedSeriesReader reader = seriesReaderList.get(i);
       reader.setHasRemaining(true);
       reader.setManagedByQueryManager(true);
-      TASK_POOL_MANAGER.submit(new ReadTask(reader, blockingQueueArray[i], paths.get(i).getFullPath()));
+      TASK_POOL_MANAGER
+          .submit(new ReadTask(reader, blockingQueueArray[i], paths.get(i).getFullPath()));
     }
     for (int i = 0; i < seriesReaderList.size(); i++) {
       fillCache(i);
@@ -356,7 +358,8 @@ public class RawQueryDataSetWithoutValueFilter extends QueryDataSet {
           // now we should submit it again
           if (!reader.isManagedByQueryManager() && reader.hasRemaining()) {
             reader.setManagedByQueryManager(true);
-            TASK_POOL_MANAGER.submit(new ReadTask(reader, blockingQueueArray[seriesIndex], paths.get(seriesIndex).getFullPath()));
+            TASK_POOL_MANAGER.submit(new ReadTask(reader, blockingQueueArray[seriesIndex],
+                paths.get(seriesIndex).getFullPath()));
           }
         }
       }
@@ -395,7 +398,7 @@ public class RawQueryDataSetWithoutValueFilter extends QueryDataSet {
       if (cachedBatchDataArray[seriesIndex] == null
           || !cachedBatchDataArray[seriesIndex].hasCurrent()
           || cachedBatchDataArray[seriesIndex].currentTime() != minTime) {
-        record.addField(new Field(null));
+        record.addField(null);
       } else {
         TSDataType dataType = dataTypes.get(seriesIndex);
         record.addField(cachedBatchDataArray[seriesIndex].currentValue(), dataType);
diff --git a/server/src/main/java/org/apache/iotdb/db/query/executor/FillQueryExecutor.java b/server/src/main/java/org/apache/iotdb/db/query/executor/FillQueryExecutor.java
index d17f7b8..a14742d 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/executor/FillQueryExecutor.java
+++ b/server/src/main/java/org/apache/iotdb/db/query/executor/FillQueryExecutor.java
@@ -94,7 +94,7 @@ public class FillQueryExecutor {
 
       TimeValuePair timeValuePair = fill.getFillResult();
       if (timeValuePair == null || timeValuePair.getValue() == null) {
-        record.addField(new Field(null));
+        record.addField(null);
       } else {
         record.addField(timeValuePair.getValue().getValue(), dataType);
       }
diff --git a/server/src/test/java/org/apache/iotdb/db/engine/storagegroup/TTLTest.java b/server/src/test/java/org/apache/iotdb/db/engine/storagegroup/TTLTest.java
index 15ce293..832bde4 100644
--- a/server/src/test/java/org/apache/iotdb/db/engine/storagegroup/TTLTest.java
+++ b/server/src/test/java/org/apache/iotdb/db/engine/storagegroup/TTLTest.java
@@ -21,6 +21,7 @@
 package org.apache.iotdb.db.engine.storagegroup;
 
 import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNull;
 import static org.junit.Assert.assertTrue;
 
 import java.io.File;
@@ -330,7 +331,7 @@ public class TTLTest {
 
     rowRecord = queryDataSet.next();
     assertEquals(sg2, rowRecord.getFields().get(0).getStringValue());
-    assertEquals("null", rowRecord.getFields().get(1).getStringValue());
+    assertNull(rowRecord.getFields().get(1));
   }
 
   @Test
diff --git a/session/src/main/java/org/apache/iotdb/session/SessionDataSet.java b/session/src/main/java/org/apache/iotdb/session/SessionDataSet.java
index aeee91e..6097eb5 100644
--- a/session/src/main/java/org/apache/iotdb/session/SessionDataSet.java
+++ b/session/src/main/java/org/apache/iotdb/session/SessionDataSet.java
@@ -83,8 +83,7 @@ public class SessionDataSet {
       String name = columnNameList.get(i);
       if (columnMap.containsKey(name)) {
         duplicateLocation.put(i, columnMap.get(name));
-      }
-      else{
+      } else {
         columnMap.put(name, i);
         columnTypeDeduplicatedList.add(columnTypeList.get(i));
       }
@@ -102,8 +101,9 @@ public class SessionDataSet {
   }
 
   public boolean hasNext() throws SQLException, IoTDBRPCException {
-    if (hasCachedRecord)
+    if (hasCachedRecord) {
       return true;
+    }
     if (tsQueryDataSet == null || !tsQueryDataSet.time.hasRemaining()) {
       TSFetchResultsReq req = new TSFetchResultsReq(sessionId, sql, batchSize, queryId, true);
       try {
@@ -118,7 +118,7 @@ public class SessionDataSet {
         }
       } catch (TException e) {
         throw new SQLException(
-                "Cannot fetch result from server, because of network connection: {} ", e);
+            "Cannot fetch result from server, because of network connection: {} ", e);
       }
 
     }
@@ -134,7 +134,7 @@ public class SessionDataSet {
     for (int i = 0; i < columnSize; i++) {
       Field field;
 
-      if(duplicateLocation.containsKey(i)){
+      if (duplicateLocation.containsKey(i)) {
         field = Field.copy(outFields.get(duplicateLocation.get(i)));
       } else {
         ByteBuffer bitmapBuffer = tsQueryDataSet.bitmapList.get(loc);
@@ -143,7 +143,7 @@ public class SessionDataSet {
           currentBitmap[loc] = bitmapBuffer.get();
         }
 
-        if(!isNull(loc, rowsIndex)){
+        if (!isNull(loc, rowsIndex)) {
           ByteBuffer valueBuffer = tsQueryDataSet.valueList.get(loc);
           TSDataType dataType = TSDataType.valueOf(columnTypeDeduplicatedList.get(loc));
           field = new Field(dataType);
@@ -175,11 +175,10 @@ public class SessionDataSet {
               field.setBinaryV(new Binary(binaryValue));
               break;
             default:
-              throw new UnSupportedDataTypeException(
-                  String.format("Data type %s is not supported.", columnTypeDeduplicatedList.get(i)));
+              throw new UnSupportedDataTypeException(String
+                  .format("Data type %s is not supported.", columnTypeDeduplicatedList.get(i)));
           }
-        }
-        else {
+        } else {
           field = new Field(null);
         }
         loc++;
@@ -193,6 +192,7 @@ public class SessionDataSet {
 
   /**
    * judge whether the specified column value is null in the current position
+   *
    * @param index column index
    * @return
    */
@@ -204,8 +204,9 @@ public class SessionDataSet {
 
   public RowRecord next() throws SQLException, IoTDBRPCException {
     if (!hasCachedRecord) {
-      if (!hasNext())
+      if (!hasNext()) {
         return null;
+      }
     }
 
     hasCachedRecord = false;
diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/Field.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/Field.java
index 93f0203..163c6ce 100644
--- a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/Field.java
+++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/Field.java
@@ -178,7 +178,7 @@ public class Field {
 
   public static Field getField(Object value, TSDataType dataType) {
     if (value == null) {
-      return new Field(null);
+      return null;
     }
     Field field = new Field(dataType);
     switch (dataType) {
diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/query/dataset/DataSetWithoutTimeGenerator.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/query/dataset/DataSetWithoutTimeGenerator.java
index 948bc6d..8771781 100644
--- a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/query/dataset/DataSetWithoutTimeGenerator.java
+++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/query/dataset/DataSetWithoutTimeGenerator.java
@@ -53,9 +53,9 @@ public class DataSetWithoutTimeGenerator extends QueryDataSet {
   /**
    * constructor of DataSetWithoutTimeGenerator.
    *
-   * @param paths paths in List structure
+   * @param paths     paths in List structure
    * @param dataTypes TSDataTypes in List structure
-   * @param readers readers in List(FileSeriesReaderByTimestamp) structure
+   * @param readers   readers in List(FileSeriesReaderByTimestamp) structure
    * @throws IOException IOException
    */
   public DataSetWithoutTimeGenerator(List<Path> paths, List<TSDataType> dataTypes,
@@ -106,7 +106,7 @@ public class DataSetWithoutTimeGenerator extends QueryDataSet {
       Field field = new Field(dataTypes.get(i));
 
       if (!hasDataRemaining.get(i)) {
-        record.addField(new Field(null));
+        record.addField(null);
         continue;
       }
 
@@ -134,7 +134,7 @@ public class DataSetWithoutTimeGenerator extends QueryDataSet {
         }
         record.addField(field);
       } else {
-        record.addField(new Field(null));
+        record.addField(null);
       }
     }
     return record;