Skip to content

Commit 9f05c27

Browse files
Add support for Datatype::TILEDB_BLOB
1 parent e54442f commit 9f05c27

File tree

3 files changed

+20
-3
lines changed

3 files changed

+20
-3
lines changed

src/main/java/io/tiledb/java/api/Datatype.java

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,8 @@ public enum Datatype {
4343
TILEDB_TIME_NS,
4444
TILEDB_TIME_PS,
4545
TILEDB_TIME_FS,
46-
TILEDB_TIME_AS;
46+
TILEDB_TIME_AS,
47+
TILEDB_BLOB;
4748

4849
/** @return Returns the TileDB Datatype size in Bytes * */
4950
public int getNativeSize() throws TileDBError {
@@ -154,6 +155,7 @@ public Class javaClass() throws TileDBError {
154155
case TILEDB_CHAR:
155156
return Byte.class;
156157
case TILEDB_INT8:
158+
case TILEDB_BLOB:
157159
return Byte.class;
158160
case TILEDB_UINT8:
159161
return Short.class;
@@ -288,6 +290,8 @@ protected tiledb_datatype_t toSwigEnum() throws TileDBError {
288290
return tiledb_datatype_t.TILEDB_TIME_FS;
289291
case TILEDB_TIME_AS:
290292
return tiledb_datatype_t.TILEDB_TIME_AS;
293+
case TILEDB_BLOB:
294+
return tiledb_datatype_t.TILEDB_BLOB;
291295
default:
292296
throw new TileDBError("No such enum value" + this.name());
293297
}
@@ -375,8 +379,10 @@ protected static Datatype fromSwigEnum(tiledb_datatype_t e) throws TileDBError {
375379
return TILEDB_TIME_FS;
376380
case TILEDB_TIME_AS:
377381
return TILEDB_TIME_AS;
382+
case TILEDB_BLOB:
383+
return TILEDB_BLOB;
378384
default:
379-
throw new TileDBError("No such enum value" + e.name());
385+
throw new TileDBError("No such enum value " + e.name());
380386
}
381387
}
382388
}

src/main/java/io/tiledb/java/api/NativeArray.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -166,6 +166,7 @@ private int getSize(Object buffer) throws TileDBError {
166166
return ((double[]) buffer).length;
167167
}
168168
case TILEDB_INT8:
169+
case TILEDB_BLOB:
169170
{
170171
return ((byte[]) buffer).length;
171172
}
@@ -253,6 +254,7 @@ private void createNativeArrayFromBuffer(Object buffer) throws TileDBError {
253254
break;
254255
}
255256
case TILEDB_INT8:
257+
case TILEDB_BLOB:
256258
{
257259
int8_tArray = Utils.newInt8_tArray((byte[]) buffer);
258260
break;
@@ -351,6 +353,7 @@ private void allocateEmptyArray() throws TileDBError {
351353
break;
352354
}
353355
case TILEDB_INT8:
356+
case TILEDB_BLOB:
354357
{
355358
int8_tArray = new int8_tArray(size);
356359
break;
@@ -450,6 +453,7 @@ public Object getItem(int index) throws ArrayIndexOutOfBoundsException, TileDBEr
450453
return doubleArray.getitem(index);
451454
}
452455
case TILEDB_INT8:
456+
case TILEDB_BLOB:
453457
{
454458
return int8_tArray.getitem(index);
455459
}
@@ -541,6 +545,7 @@ public void setItem(int index, Object value) throws ArrayIndexOutOfBoundsExcepti
541545
break;
542546
}
543547
case TILEDB_INT8:
548+
case TILEDB_BLOB:
544549
{
545550
int8_tArray.setitem(index, (byte) value);
546551
break;
@@ -643,6 +648,7 @@ public SWIGTYPE_p_void toVoidPointer() throws TileDBError {
643648
return PointerUtils.toVoid(doubleArray);
644649
}
645650
case TILEDB_INT8:
651+
case TILEDB_BLOB:
646652
{
647653
return PointerUtils.toVoid(int8_tArray);
648654
}
@@ -722,6 +728,7 @@ public long toCPointer() throws TileDBError {
722728
return PointerUtils.toCPtr(doubleArray);
723729
}
724730
case TILEDB_INT8:
731+
case TILEDB_BLOB:
725732
{
726733
return PointerUtils.toCPtr(int8_tArray);
727734
}
@@ -833,6 +840,7 @@ public Object toJavaArray(int position, int elements) throws TileDBError {
833840
return Utils.doubleArrayGet(doubleArray, position, elements);
834841
}
835842
case TILEDB_INT8:
843+
case TILEDB_BLOB:
836844
{
837845
return Utils.int8ArrayGet(int8_tArray, position, elements);
838846
}
@@ -914,6 +922,7 @@ private void createNativeArrayFromVoidPointer(SWIGTYPE_p_p_void pointer) throws
914922
break;
915923
}
916924
case TILEDB_INT8:
925+
case TILEDB_BLOB:
917926
{
918927
int8_tArray = PointerUtils.int8_tArrayFromVoid(pointer);
919928
break;
@@ -1005,6 +1014,7 @@ private void createNativeArrayFromVoidPointer(SWIGTYPE_p_void pointer) throws Ti
10051014
break;
10061015
}
10071016
case TILEDB_INT8:
1017+
case TILEDB_BLOB:
10081018
{
10091019
int8_tArray = PointerUtils.int8_tArrayFromVoid(pointer);
10101020
break;

src/main/java/io/tiledb/java/api/Types.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ public static Datatype getNativeType(Class atrrType) throws TileDBError {
4040
} else if (atrrType.equals(double[].class)) {
4141
return TILEDB_FLOAT64;
4242
} else if (atrrType.equals(byte[].class)) {
43+
// conflict when byte refers to TILEDB_BLOB
4344
return TILEDB_INT8;
4445
} else if (atrrType.equals(short[].class)) {
4546
return TILEDB_INT16;
@@ -64,7 +65,6 @@ public static Datatype getNativeType(Class atrrType) throws TileDBError {
6465
} else if (atrrType.equals(Boolean.class)) {
6566
return TILEDB_INT8;
6667
} else {
67-
// return TILEDB_INT8;
6868
throw new TileDBError("Not supported getType: " + atrrType);
6969
}
7070
}
@@ -80,6 +80,7 @@ public static Class getJavaType(Datatype type) throws TileDBError {
8080
return Double.class;
8181
}
8282
case TILEDB_INT8:
83+
case TILEDB_BLOB:
8384
{
8485
return Byte.class;
8586
}

0 commit comments

Comments
 (0)