private BytesImpl(boolean isNull, ByteArray value) { super(isNull, Type.bytes(), value); }
private BytesArrayImpl(boolean isNull, @Nullable List<ByteArray> values) { super(isNull, Type.bytes(), values); }
@Override Type newElementType() { return Type.bytes(); } }.test();
@Override Type newType() { return Type.bytes(); } }.test();
@Override public ByteArray getBytes() { throw defaultGetter(Type.bytes()); }
@Override public ByteArray getBytes() { checkType(Type.bytes()); checkNotNull(); return value; }
@Override public ByteArray getBytes(int columnIndex) { checkNonNullOfType(columnIndex, Type.bytes(), columnIndex); return getBytesInternal(columnIndex); }
@Override public List<ByteArray> getBytesArray() { throw defaultGetter(Type.array(Type.bytes())); }
@Override public ByteArray getBytes(String columnName) { int columnIndex = getColumnIndex(columnName); checkNonNullOfType(columnIndex, Type.bytes(), columnName); return getBytesInternal(columnIndex); }
@Override public List<ByteArray> getBytesList(int columnIndex) { checkNonNullOfType(columnIndex, Type.array(Type.bytes()), columnIndex); return getBytesListInternal(columnIndex); }
@Override public List<ByteArray> getBytesList(String columnName) { int columnIndex = getColumnIndex(columnName); checkNonNullOfType(columnIndex, Type.array(Type.bytes()), columnName); return getBytesListInternal(columnIndex); }
@Test public void bindBytesArrayEmpty() { Struct row = execute( Statement.newBuilder("SELECT @v").bind("v").toBytesArray(Arrays.<ByteArray>asList()), Type.array(Type.bytes())); assertThat(row.isNull(0)).isFalse(); assertThat(row.getBytesList(0)).isEmpty(); }
@Test public void bindBytesNull() { Struct row = execute(Statement.newBuilder("SELECT @v").bind("v").to((ByteArray) null), Type.bytes()); assertThat(row.isNull(0)).isTrue(); }
@Test public void bytesNull() { Value v = Value.bytes(null); assertThat(v.getType()).isEqualTo(Type.bytes()); assertThat(v.isNull()).isTrue(); assertThat(v.toString()).isEqualTo(NULL_STRING); expectedException.expect(IllegalStateException.class); expectedException.expectMessage("null value"); v.getBytes(); }
@Test public void bytes() { ByteArray bytes = newByteArray("abc"); Value v = Value.bytes(bytes); assertThat(v.getType()).isEqualTo(Type.bytes()); assertThat(v.isNull()).isFalse(); assertThat(v.getBytes()).isSameAs(bytes); assertThat(v.toString()).isEqualTo(bytes.toString()); }
@Test public void bindBytesArrayNull() { Struct row = execute( Statement.newBuilder("SELECT @v").bind("v").toBytesArray(null), Type.array(Type.bytes())); assertThat(row.isNull(0)).isTrue(); }
@Test public void bindBytesArray() { ByteArray e1 = ByteArray.copyFrom("x"); ByteArray e2 = ByteArray.copyFrom("y"); ByteArray e3 = null; Struct row = execute( Statement.newBuilder("SELECT @v").bind("v").toBytesArray(asList(e1, e2, e3)), Type.array(Type.bytes())); assertThat(row.isNull(0)).isFalse(); assertThat(row.getBytesList(0)).containsExactly(e1, e2, e3).inOrder(); }
@Test public void multiResponseChunkingBytesArray() { List<ByteArray> beforeValue = Arrays.asList(b("before")); List<ByteArray> chunkedValue = Arrays.asList(b("a"), b("b"), null, b("d"), null, b("f"), null, b("h")); List<ByteArray> afterValue = Arrays.asList(b("after")); doArrayTest( beforeValue, chunkedValue, afterValue, Type.bytes(), new Function<List<ByteArray>, com.google.protobuf.Value>() { @Override public com.google.protobuf.Value apply(List<ByteArray> input) { return Value.bytesArray(input).toProto(); } }, new Function<StructReader, List<ByteArray>>() { @Override public List<ByteArray> apply(StructReader input) { return input.getBytesList(0); } }); }
@Test public void bindBytes() { Struct row = execute( Statement.newBuilder("SELECT @v").bind("v").to(ByteArray.copyFrom("xyz")), Type.bytes()); assertThat(row.isNull(0)).isFalse(); assertThat(row.getBytes(0)).isEqualTo(ByteArray.copyFrom("xyz")); }
consumer.onPartialResultSet( PartialResultSet.newBuilder() .setMetadata(makeMetadata(Type.struct(Type.StructField.of("f", Type.bytes())))) .addValues(Value.bytes(ByteArray.copyFrom("before")).toProto()) .addValues(com.google.protobuf.Value.newBuilder().setStringValue(chunk1))