public static UnsafeArrayData fromPrimitiveArray(double[] arr) { return fromPrimitiveArray(arr, Platform.DOUBLE_ARRAY_OFFSET, arr.length, 8); } }
public static UnsafeArrayData fromPrimitiveArray(double[] arr) { return fromPrimitiveArray(arr, Platform.DOUBLE_ARRAY_OFFSET, arr.length, 8); } }
public static UnsafeArrayData fromPrimitiveArray(short[] arr) { return fromPrimitiveArray(arr, Platform.SHORT_ARRAY_OFFSET, arr.length, 2); }
public static UnsafeArrayData fromPrimitiveArray(short[] arr) { return fromPrimitiveArray(arr, Platform.SHORT_ARRAY_OFFSET, arr.length, 2); }
public static UnsafeArrayData fromPrimitiveArray(boolean[] arr) { return fromPrimitiveArray(arr, Platform.BOOLEAN_ARRAY_OFFSET, arr.length, 1); }
public static UnsafeArrayData fromPrimitiveArray(float[] arr) { return fromPrimitiveArray(arr, Platform.FLOAT_ARRAY_OFFSET, arr.length, 4); }
public static UnsafeArrayData fromPrimitiveArray(boolean[] arr) { return fromPrimitiveArray(arr, Platform.BOOLEAN_ARRAY_OFFSET, arr.length, 1); }
public static UnsafeArrayData fromPrimitiveArray(float[] arr) { return fromPrimitiveArray(arr, Platform.FLOAT_ARRAY_OFFSET, arr.length, 4); }
public static UnsafeArrayData fromPrimitiveArray(byte[] arr) { return fromPrimitiveArray(arr, Platform.BYTE_ARRAY_OFFSET, arr.length, 1); }
public static UnsafeArrayData fromPrimitiveArray(short[] arr) { return fromPrimitiveArray(arr, Platform.SHORT_ARRAY_OFFSET, arr.length, 2); }
public static UnsafeArrayData fromPrimitiveArray(float[] arr) { return fromPrimitiveArray(arr, Platform.FLOAT_ARRAY_OFFSET, arr.length, 4); }
public static UnsafeArrayData fromPrimitiveArray(long[] arr) { return fromPrimitiveArray(arr, Platform.LONG_ARRAY_OFFSET, arr.length, 8); }
public static UnsafeArrayData fromPrimitiveArray(byte[] arr) { return fromPrimitiveArray(arr, Platform.BYTE_ARRAY_OFFSET, arr.length, 1); }
public static UnsafeArrayData fromPrimitiveArray(long[] arr) { return fromPrimitiveArray(arr, Platform.LONG_ARRAY_OFFSET, arr.length, 8); }
public static UnsafeArrayData fromPrimitiveArray(long[] arr) { return fromPrimitiveArray(arr, Platform.LONG_ARRAY_OFFSET, arr.length, 8); }
public static UnsafeArrayData fromPrimitiveArray(double[] arr) { return fromPrimitiveArray(arr, Platform.DOUBLE_ARRAY_OFFSET, arr.length, 8); } }
public static UnsafeArrayData fromPrimitiveArray(int[] arr) { return fromPrimitiveArray(arr, Platform.INT_ARRAY_OFFSET, arr.length, 4); }
@Test public void testBinaryComparatorForArrayColumn() throws Exception { int numFields = 1; UnsafeRow row1 = new UnsafeRow(numFields); byte[] data1 = new byte[100]; UnsafeArrayData arrayData1 = UnsafeArrayData.fromPrimitiveArray(new int[]{11, 42, -1}); row1.pointTo(data1, computeSizeInBytes(numFields * 8 + arrayData1.getSizeInBytes())); row1.setLong(0, (relativeOffset(numFields) << 32) | (long) arrayData1.getSizeInBytes()); Platform.copyMemory(arrayData1.getBaseObject(), arrayData1.getBaseOffset(), data1, row1.getBaseOffset() + relativeOffset(numFields), arrayData1.getSizeInBytes()); UnsafeRow row2 = new UnsafeRow(numFields); byte[] data2 = new byte[100]; UnsafeArrayData arrayData2 = UnsafeArrayData.fromPrimitiveArray(new int[]{22}); row2.pointTo(data2, computeSizeInBytes(numFields * 8 + arrayData2.getSizeInBytes())); row2.setLong(0, (relativeOffset(numFields) << 32) | (long) arrayData2.getSizeInBytes()); Platform.copyMemory(arrayData2.getBaseObject(), arrayData2.getBaseOffset(), data2, row2.getBaseOffset() + relativeOffset(numFields), arrayData2.getSizeInBytes()); insertRow(row1); insertRow(row2); assert(compare(0, 0) == 0); assert(compare(0, 1) > 0); }
@Test public void testBinaryComparatorForArrayColumn() throws Exception { int numFields = 1; UnsafeRow row1 = new UnsafeRow(numFields); byte[] data1 = new byte[100]; UnsafeArrayData arrayData1 = UnsafeArrayData.fromPrimitiveArray(new int[]{11, 42, -1}); row1.pointTo(data1, computeSizeInBytes(numFields * 8 + arrayData1.getSizeInBytes())); row1.setLong(0, (relativeOffset(numFields) << 32) | (long) arrayData1.getSizeInBytes()); Platform.copyMemory(arrayData1.getBaseObject(), arrayData1.getBaseOffset(), data1, row1.getBaseOffset() + relativeOffset(numFields), arrayData1.getSizeInBytes()); UnsafeRow row2 = new UnsafeRow(numFields); byte[] data2 = new byte[100]; UnsafeArrayData arrayData2 = UnsafeArrayData.fromPrimitiveArray(new int[]{22}); row2.pointTo(data2, computeSizeInBytes(numFields * 8 + arrayData2.getSizeInBytes())); row2.setLong(0, (relativeOffset(numFields) << 32) | (long) arrayData2.getSizeInBytes()); Platform.copyMemory(arrayData2.getBaseObject(), arrayData2.getBaseOffset(), data2, row2.getBaseOffset() + relativeOffset(numFields), arrayData2.getSizeInBytes()); insertRow(row1); insertRow(row2); assert(compare(0, 0) == 0); assert(compare(0, 1) > 0); }
@Test public void testBinaryComparatorForArrayColumn() throws Exception { int numFields = 1; UnsafeRow row1 = new UnsafeRow(numFields); byte[] data1 = new byte[100]; UnsafeArrayData arrayData1 = UnsafeArrayData.fromPrimitiveArray(new int[]{11, 42, -1}); row1.pointTo(data1, computeSizeInBytes(numFields * 8 + arrayData1.getSizeInBytes())); row1.setLong(0, (relativeOffset(numFields) << 32) | (long) arrayData1.getSizeInBytes()); Platform.copyMemory(arrayData1.getBaseObject(), arrayData1.getBaseOffset(), data1, row1.getBaseOffset() + relativeOffset(numFields), arrayData1.getSizeInBytes()); UnsafeRow row2 = new UnsafeRow(numFields); byte[] data2 = new byte[100]; UnsafeArrayData arrayData2 = UnsafeArrayData.fromPrimitiveArray(new int[]{22}); row2.pointTo(data2, computeSizeInBytes(numFields * 8 + arrayData2.getSizeInBytes())); row2.setLong(0, (relativeOffset(numFields) << 32) | (long) arrayData2.getSizeInBytes()); Platform.copyMemory(arrayData2.getBaseObject(), arrayData2.getBaseOffset(), data2, row2.getBaseOffset() + relativeOffset(numFields), arrayData2.getSizeInBytes()); insertRow(row1); insertRow(row2); assert(compare(0, 0) == 0); assert(compare(0, 1) > 0); }