You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by am...@apache.org on 2021/06/24 12:20:15 UTC

[ignite-3] 01/01: Minor.

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

amashenkov pushed a commit to branch ignite-14743-row-formats
in repository https://gitbox.apache.org/repos/asf/ignite-3.git

commit 0b79ebfa289e288ec99d30c136d0955bacc28efa
Author: Andrew Mashenkov <an...@gmail.com>
AuthorDate: Thu Jun 24 15:11:38 2021 +0300

    Minor.
---
 .../internal/schema/marshaller/reflection/JavaSerializer.java  | 10 +++++-----
 .../org/apache/ignite/internal/schema/row/ChunkFormat.java     |  4 +---
 .../org/apache/ignite/internal/schema/row/ChunkWriter.java     |  4 ++--
 3 files changed, 8 insertions(+), 10 deletions(-)

diff --git a/modules/schema/src/main/java/org/apache/ignite/internal/schema/marshaller/reflection/JavaSerializer.java b/modules/schema/src/main/java/org/apache/ignite/internal/schema/marshaller/reflection/JavaSerializer.java
index 57b5bdd..c32f01a 100644
--- a/modules/schema/src/main/java/org/apache/ignite/internal/schema/marshaller/reflection/JavaSerializer.java
+++ b/modules/schema/src/main/java/org/apache/ignite/internal/schema/marshaller/reflection/JavaSerializer.java
@@ -85,7 +85,7 @@ public class JavaSerializer extends AbstractSerializer {
         ObjectStatistic keyStat = collectObjectStats(schema.keyColumns(), keyMarsh, key);
         ObjectStatistic valStat = collectObjectStats(schema.valueColumns(), valMarsh, val);
 
-        return new RowAssembler(schema, keyStat.maxChunkDataSize, keyStat.nonNullCols, valStat.maxChunkDataSize, valStat.nonNullCols);
+        return new RowAssembler(schema, keyStat.nonNullColsSize, keyStat.nonNullCols, valStat.nonNullColsSize, valStat.nonNullCols);
     }
 
     /**
@@ -98,7 +98,7 @@ public class JavaSerializer extends AbstractSerializer {
      */
     private ObjectStatistic collectObjectStats(Columns cols, Marshaller marsh, Object obj) {
         if (obj == null || !cols.hasVarlengthColumns())
-            return new ObjectStatistic(0, 0);
+            return new ObjectStatistic(0,cols.fixsizeMaxLen());
 
         int cnt = 0;
         int size = cols.fixsizeMaxLen();
@@ -142,12 +142,12 @@ public class JavaSerializer extends AbstractSerializer {
         int nonNullCols;
 
         /** Length of all non-null columns of varlen types. */
-        int maxChunkDataSize;
+        int nonNullColsSize;
 
         /** Constructor. */
-        ObjectStatistic(int nonNullCols, int maxRowSize) {
+        ObjectStatistic(int nonNullCols, int nonNullColsSize) {
             this.nonNullCols = nonNullCols;
-            this.maxChunkDataSize = maxRowSize;
+            this.nonNullColsSize = nonNullColsSize;
         }
     }
 }
diff --git a/modules/schema/src/main/java/org/apache/ignite/internal/schema/row/ChunkFormat.java b/modules/schema/src/main/java/org/apache/ignite/internal/schema/row/ChunkFormat.java
index ba2588c..e18156f 100644
--- a/modules/schema/src/main/java/org/apache/ignite/internal/schema/row/ChunkFormat.java
+++ b/modules/schema/src/main/java/org/apache/ignite/internal/schema/row/ChunkFormat.java
@@ -149,9 +149,7 @@ abstract class ChunkFormat {
      * @return Chunk formatter regarding the provided flags.
      */
     private static ChunkFormat fromFlags(byte chunkFlags) {
-        final int mode = chunkFlags & FORMAT_CODE_MASK;
-
-        switch (mode) {
+        switch (chunkFlags & FORMAT_CODE_MASK) {
             case 1:
                 return TINY;
             case 2:
diff --git a/modules/schema/src/main/java/org/apache/ignite/internal/schema/row/ChunkWriter.java b/modules/schema/src/main/java/org/apache/ignite/internal/schema/row/ChunkWriter.java
index 56f1f3c..6249d3d 100644
--- a/modules/schema/src/main/java/org/apache/ignite/internal/schema/row/ChunkWriter.java
+++ b/modules/schema/src/main/java/org/apache/ignite/internal/schema/row/ChunkWriter.java
@@ -262,8 +262,8 @@ class ChunkWriter {
     protected void setNull(int colIdx) {
         assert (flags & ChunkFormat.OMIT_NULL_MAP_FLAG) == 0 : "Null-map is omitted.";
 
-        int byteInMap = colIdx / 8;
-        int bitInByte = colIdx % 8;
+        int byteInMap = colIdx >> 3;
+        int bitInByte = colIdx & 7;
 
         buf.ensureCapacity(nullmapOff() + byteInMap + 1);