@Test public void bindInt64ArrayEmpty() { Struct row = execute( Statement.newBuilder("SELECT @v").bind("v").toInt64Array(Arrays.<Long>asList()), Type.array(Type.int64())); assertThat(row.isNull(0)).isFalse(); assertThat(row.getLongList(0)).containsExactly(); }
@Test public void writeInt64ArrayNoNulls() { write(baseInsert().set("Int64ArrayValue").toInt64Array(Arrays.asList(1L, 2L)).build()); Struct row = readLastRow("Int64ArrayValue"); assertThat(row.isNull(0)).isFalse(); assertThat(row.getLongArray(0)).isEqualTo(new long[] {1, 2}); }
@Test public void bindInt64Array() { Struct row = execute( Statement.newBuilder("SELECT @v").bind("v").toInt64Array(asList(null, 1L, 2L)), Type.array(Type.int64())); assertThat(row.isNull(0)).isFalse(); assertThat(row.getLongList(0)).containsExactly(null, 1L, 2L).inOrder(); }
@Test public void writeInt64ArrayNull() { write(baseInsert().set("Int64ArrayValue").toInt64Array((long[]) null).build()); Struct row = readLastRow("Int64ArrayValue"); assertThat(row.isNull(0)).isTrue(); }
@Test public void writeInt64ArrayEmpty() { write(baseInsert().set("Int64ArrayValue").toInt64Array(new long[] {}).build()); Struct row = readLastRow("Int64ArrayValue"); assertThat(row.isNull(0)).isFalse(); assertThat(row.getLongList(0)).containsExactly(); }
@Test public void bindInt64ArrayNull() { Struct row = execute( Statement.newBuilder("SELECT @v").bind("v").toInt64Array((long[]) null), Type.array(Type.int64())); assertThat(row.isNull(0)).isTrue(); }
@Test public void writeInt64Array() { write(baseInsert().set("Int64ArrayValue").toInt64Array(Arrays.asList(1L, 2L, null)).build()); Struct row = readLastRow("Int64ArrayValue"); assertThat(row.isNull(0)).isFalse(); assertThat(row.getLongList(0)).containsExactly(1L, 2L, null).inOrder(); expectedException.expect(NullPointerException.class); row.getLongArray(0); }
break; case INT64: builder.set(fieldName).toInt64Array((Iterable<Long>) value); break; case FLOAT64:
.toBoolArray((boolean[]) null) .set("intArr") .toInt64Array(new long[] {1, 2, 3}) .set("intArrNull") .toInt64Array((long[]) null) .set("floatArr") .toFloat64Array(new double[] {1.1, 2.2, 3.3})
builder .set(column.name()) .toInt64Array(readInt64Array(record, arrayType, fieldName).orElse(null)); break; case FLOAT64:
@Test public void nullPrimitiveArrays() throws Exception { Mutation int64 = Mutation.newInsertOrUpdateBuilder("test").set("one").toInt64Array((long[]) null).build(); Mutation float64 = Mutation.newInsertOrUpdateBuilder("test") .set("one") .toFloat64Array((double[]) null) .build(); Mutation bool = Mutation.newInsertOrUpdateBuilder("test").set("one").toBoolArray((boolean[]) null).build(); assertThat(MutationSizeEstimator.sizeOf(int64), is(0L)); assertThat(MutationSizeEstimator.sizeOf(float64), is(0L)); assertThat(MutationSizeEstimator.sizeOf(bool), is(0L)); }
@Test public void primitiveArrays() throws Exception { Mutation int64 = Mutation.newInsertOrUpdateBuilder("test") .set("one") .toInt64Array(new long[] {1L, 2L, 3L}) .build(); Mutation float64 = Mutation.newInsertOrUpdateBuilder("test") .set("one") .toFloat64Array(new double[] {1., 2.}) .build(); Mutation bool = Mutation.newInsertOrUpdateBuilder("test") .set("one") .toBoolArray(new boolean[] {true, true, false, true}) .build(); assertThat(MutationSizeEstimator.sizeOf(int64), is(24L)); assertThat(MutationSizeEstimator.sizeOf(float64), is(16L)); assertThat(MutationSizeEstimator.sizeOf(bool), is(4L)); }
break; case INT64: builder.set(fieldName).toInt64Array((Iterable<Long>) value); break; case FLOAT64: