Skip to content

Commit c4e970d

Browse files
committed
Barrage: Refactor Read/Write Chunk Factories
1 parent 564b146 commit c4e970d

File tree

116 files changed

+6757
-4334
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

116 files changed

+6757
-4334
lines changed

engine/chunk/src/main/java/io/deephaven/chunk/BooleanChunk.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
// @formatter:off
88
package io.deephaven.chunk;
99

10+
import io.deephaven.util.QueryConstants;
1011
import io.deephaven.util.type.ArrayTypeUtils;
1112
import io.deephaven.chunk.attributes.Any;
1213

@@ -74,6 +75,10 @@ public final boolean get(int index) {
7475
return data[offset + index];
7576
}
7677

78+
public final boolean isNullAt(int index) {
79+
return data[offset + index] == QueryConstants.NULL_BOOLEAN;
80+
}
81+
7782
@Override
7883
public BooleanChunk<ATTR> slice(int offset, int capacity) {
7984
ChunkHelpers.checkSliceArgs(size, offset, capacity);

engine/chunk/src/main/java/io/deephaven/chunk/ByteChunk.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
// @formatter:off
88
package io.deephaven.chunk;
99

10+
import io.deephaven.util.QueryConstants;
1011
import io.deephaven.util.type.ArrayTypeUtils;
1112
import io.deephaven.chunk.attributes.Any;
1213

@@ -78,6 +79,10 @@ public final byte get(int index) {
7879
return data[offset + index];
7980
}
8081

82+
public final boolean isNullAt(int index) {
83+
return data[offset + index] == QueryConstants.NULL_BYTE;
84+
}
85+
8186
@Override
8287
public ByteChunk<ATTR> slice(int offset, int capacity) {
8388
ChunkHelpers.checkSliceArgs(size, offset, capacity);

engine/chunk/src/main/java/io/deephaven/chunk/CharChunk.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
//
44
package io.deephaven.chunk;
55

6+
import io.deephaven.util.QueryConstants;
67
import io.deephaven.util.type.ArrayTypeUtils;
78
import io.deephaven.chunk.attributes.Any;
89

@@ -73,6 +74,10 @@ public final char get(int index) {
7374
return data[offset + index];
7475
}
7576

77+
public final boolean isNullAt(int index) {
78+
return data[offset + index] == QueryConstants.NULL_CHAR;
79+
}
80+
7681
@Override
7782
public CharChunk<ATTR> slice(int offset, int capacity) {
7883
ChunkHelpers.checkSliceArgs(size, offset, capacity);

engine/chunk/src/main/java/io/deephaven/chunk/Chunk.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -109,6 +109,12 @@ default void copyToBuffer(int srcOffset, @NotNull Buffer destBuffer, int destOff
109109
*/
110110
int size();
111111

112+
/**
113+
* @return whether The value offset is null
114+
* @param index The index to check
115+
*/
116+
boolean isNullAt(int index);
117+
112118
/**
113119
* @return The underlying chunk type
114120
*/

engine/chunk/src/main/java/io/deephaven/chunk/DoubleChunk.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
// @formatter:off
88
package io.deephaven.chunk;
99

10+
import io.deephaven.util.QueryConstants;
1011
import io.deephaven.util.type.ArrayTypeUtils;
1112
import io.deephaven.chunk.attributes.Any;
1213

@@ -77,6 +78,10 @@ public final double get(int index) {
7778
return data[offset + index];
7879
}
7980

81+
public final boolean isNullAt(int index) {
82+
return data[offset + index] == QueryConstants.NULL_DOUBLE;
83+
}
84+
8085
@Override
8186
public DoubleChunk<ATTR> slice(int offset, int capacity) {
8287
ChunkHelpers.checkSliceArgs(size, offset, capacity);

engine/chunk/src/main/java/io/deephaven/chunk/FloatChunk.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
// @formatter:off
88
package io.deephaven.chunk;
99

10+
import io.deephaven.util.QueryConstants;
1011
import io.deephaven.util.type.ArrayTypeUtils;
1112
import io.deephaven.chunk.attributes.Any;
1213

@@ -77,6 +78,10 @@ public final float get(int index) {
7778
return data[offset + index];
7879
}
7980

81+
public final boolean isNullAt(int index) {
82+
return data[offset + index] == QueryConstants.NULL_FLOAT;
83+
}
84+
8085
@Override
8186
public FloatChunk<ATTR> slice(int offset, int capacity) {
8287
ChunkHelpers.checkSliceArgs(size, offset, capacity);

engine/chunk/src/main/java/io/deephaven/chunk/IntChunk.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
// @formatter:off
88
package io.deephaven.chunk;
99

10+
import io.deephaven.util.QueryConstants;
1011
import io.deephaven.util.type.ArrayTypeUtils;
1112
import io.deephaven.chunk.attributes.Any;
1213

@@ -77,6 +78,10 @@ public final int get(int index) {
7778
return data[offset + index];
7879
}
7980

81+
public final boolean isNullAt(int index) {
82+
return data[offset + index] == QueryConstants.NULL_INT;
83+
}
84+
8085
@Override
8186
public IntChunk<ATTR> slice(int offset, int capacity) {
8287
ChunkHelpers.checkSliceArgs(size, offset, capacity);

engine/chunk/src/main/java/io/deephaven/chunk/LongChunk.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
// @formatter:off
88
package io.deephaven.chunk;
99

10+
import io.deephaven.util.QueryConstants;
1011
import io.deephaven.util.type.ArrayTypeUtils;
1112
import io.deephaven.chunk.attributes.Any;
1213

@@ -77,6 +78,10 @@ public final long get(int index) {
7778
return data[offset + index];
7879
}
7980

81+
public final boolean isNullAt(int index) {
82+
return data[offset + index] == QueryConstants.NULL_LONG;
83+
}
84+
8085
@Override
8186
public LongChunk<ATTR> slice(int offset, int capacity) {
8287
ChunkHelpers.checkSliceArgs(size, offset, capacity);

engine/chunk/src/main/java/io/deephaven/chunk/ObjectChunk.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
// @formatter:off
88
package io.deephaven.chunk;
99

10+
import io.deephaven.util.QueryConstants;
1011
import io.deephaven.util.type.ArrayTypeUtils;
1112
import io.deephaven.chunk.attributes.Any;
1213

@@ -77,6 +78,10 @@ public final T get(int index) {
7778
return data[offset + index];
7879
}
7980

81+
public final boolean isNullAt(int index) {
82+
return data[offset + index] == null;
83+
}
84+
8085
@Override
8186
public ObjectChunk<T, ATTR> slice(int offset, int capacity) {
8287
ChunkHelpers.checkSliceArgs(size, offset, capacity);

engine/chunk/src/main/java/io/deephaven/chunk/ShortChunk.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
// @formatter:off
88
package io.deephaven.chunk;
99

10+
import io.deephaven.util.QueryConstants;
1011
import io.deephaven.util.type.ArrayTypeUtils;
1112
import io.deephaven.chunk.attributes.Any;
1213

@@ -77,6 +78,10 @@ public final short get(int index) {
7778
return data[offset + index];
7879
}
7980

81+
public final boolean isNullAt(int index) {
82+
return data[offset + index] == QueryConstants.NULL_SHORT;
83+
}
84+
8085
@Override
8186
public ShortChunk<ATTR> slice(int offset, int capacity) {
8287
ChunkHelpers.checkSliceArgs(size, offset, capacity);

0 commit comments

Comments
 (0)