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 <andrey.mashen...@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);