@Test public void writeStringArrayEmpty() { write(baseInsert().set("StringArrayValue").toStringArray(Arrays.<String>asList()).build()); Struct row = readLastRow("StringArrayValue"); assertThat(row.isNull(0)).isFalse(); assertThat(row.getStringList(0)).containsExactly(); }
@Test public void bindStringArrayEmpty() { Struct row = execute( Statement.newBuilder("SELECT @v").bind("v").toStringArray(Arrays.<String>asList()), Type.array(Type.string())); assertThat(row.isNull(0)).isFalse(); assertThat(row.getStringList(0)).containsExactly(); }
@Test public void bindStringArray() { Struct row = execute( Statement.newBuilder("SELECT @v").bind("v").toStringArray(asList("a", "b", null)), Type.array(Type.string())); assertThat(row.isNull(0)).isFalse(); assertThat(row.getStringList(0)).containsExactly("a", "b", null).inOrder(); }
@Test public void writeStringArray() { write( baseInsert().set("StringArrayValue").toStringArray(Arrays.asList("a", null, "b")).build()); Struct row = readLastRow("StringArrayValue"); assertThat(row.isNull(0)).isFalse(); assertThat(row.getStringList(0)).containsExactly("a", null, "b").inOrder(); }
@Test public void bindStringArrayNull() { Struct row = execute( Statement.newBuilder("SELECT @v").bind("v").toStringArray(null), Type.array(Type.string())); assertThat(row.isNull(0)).isTrue(); }
@Test public void writeStringArrayNull() { write(baseInsert().set("StringArrayValue").toStringArray(null).build()); Struct row = readLastRow("StringArrayValue"); assertThat(row.isNull(0)).isTrue(); }
break; case STRING: builder.set(fieldName).toStringArray((Iterable<String>) value); break; case BYTES:
.to((Date) null) .set("stringArr") .toStringArray(ImmutableList.of("one", "two")) .set("stringArrNull") .toStringArray(null) .set("timestampArr") .toTimestampArray(ImmutableList.of(Timestamp.MAX_VALUE, Timestamp.MAX_VALUE))
builder .set(column.name()) .toStringArray(readStringArray(record, arrayType, fieldName).orElse(null)); break; case BYTES:
@Test public void strings() throws Exception { Mutation emptyString = Mutation.newInsertOrUpdateBuilder("test").set("one").to("").build(); Mutation nullString = Mutation.newInsertOrUpdateBuilder("test").set("one").to((String) null).build(); Mutation sampleString = Mutation.newInsertOrUpdateBuilder("test").set("one").to("abc").build(); Mutation sampleArray = Mutation.newInsertOrUpdateBuilder("test") .set("one") .toStringArray(Arrays.asList("one", "two", null)) .build(); Mutation nullArray = Mutation.newInsertOrUpdateBuilder("test").set("one").toStringArray(null).build(); assertThat(MutationSizeEstimator.sizeOf(emptyString), is(0L)); assertThat(MutationSizeEstimator.sizeOf(nullString), is(0L)); assertThat(MutationSizeEstimator.sizeOf(sampleString), is(3L)); assertThat(MutationSizeEstimator.sizeOf(sampleArray), is(6L)); assertThat(MutationSizeEstimator.sizeOf(nullArray), is(0L)); }
break; case STRING: builder.set(fieldName).toStringArray((Iterable<String>) value); break; case BYTES: