private DateImpl(boolean isNull, Date value) { super(isNull, Type.date(), value); }
private DateArrayImpl(boolean isNull, @Nullable List<Date> values) { super(isNull, Type.date(), values); }
@Override Type newElementType() { return Type.date(); } }.test();
@Override Type newType() { return Type.date(); } }.test();
@Override public Date getDate() { throw defaultGetter(Type.date()); }
@Override public Date getDate() { checkType(Type.date()); checkNotNull(); return value; }
@Override public Date getDate(int columnIndex) { checkNonNullOfType(columnIndex, Type.date(), columnIndex); return getDateInternal(columnIndex); }
@Override public List<Date> getDateArray() { throw defaultGetter(Type.array(Type.date())); }
@Override public List<Date> getDateList(int columnIndex) { checkNonNullOfType(columnIndex, Type.array(Type.date()), columnIndex); return getDateListInternal(columnIndex); }
@Override public Date getDate(String columnName) { int columnIndex = getColumnIndex(columnName); checkNonNullOfType(columnIndex, Type.date(), columnName); return getDateInternal(columnIndex); }
@Override public List<Date> getDateList(String columnName) { int columnIndex = getColumnIndex(columnName); checkNonNullOfType(columnIndex, Type.array(Type.date()), columnName); return getDateListInternal(columnIndex); }
@Test public void bindEmptyArrayOfStruct() { Type elementType = Type.struct(asList(Type.StructField.of("f1", Type.date()))); List<Struct> p = asList(); assertThat(p).isEmpty(); List<Struct> rows = resultRows( Statement.newBuilder("SELECT * FROM UNNEST(@p)") .bind("p") .toStructArray(elementType, p) .build(), elementType); assertThat(rows).isEmpty(); }
@Test public void date() { String date = "2016-09-15"; Date t = Date.parseDate(date); Value v = Value.date(t); assertThat(v.getType()).isEqualTo(Type.date()); assertThat(v.isNull()).isFalse(); assertThat(v.getDate()).isSameAs(t); assertThat(v.toString()).isEqualTo(date); }
@Test public void bindDateArrayEmpty() { Struct row = execute( Statement.newBuilder("SELECT @v").bind("v").toDateArray(Arrays.<Date>asList()), Type.array(Type.date())); assertThat(row.isNull(0)).isFalse(); assertThat(row.getDateList(0)).containsExactly(); }
@Test public void dateNull() { Value v = Value.date(null); assertThat(v.getType()).isEqualTo(Type.date()); assertThat(v.isNull()).isTrue(); assertThat(v.toString()).isEqualTo(NULL_STRING); expectedException.expect(IllegalStateException.class); expectedException.expectMessage("null value"); v.getDate(); }
@Test public void bindDateNull() { Struct row = execute(Statement.newBuilder("SELECT @v").bind("v").to((Date) null), Type.date()); assertThat(row.isNull(0)).isTrue(); }
@Test public void bindDate() { Date d = Date.parseDate("2016-09-18"); Struct row = execute(Statement.newBuilder("SELECT @v").bind("v").to(d), Type.date()); assertThat(row.isNull(0)).isFalse(); assertThat(row.getDate(0)).isEqualTo(d); }
@Test public void bindDateArray() { Date d1 = Date.parseDate("2016-09-18"); Date d2 = Date.parseDate("2016-09-19"); Struct row = execute( Statement.newBuilder("SELECT @v").bind("v").toDateArray(asList(d1, d2, null)), Type.array(Type.date())); assertThat(row.isNull(0)).isFalse(); assertThat(row.getDateList(0)).containsExactly(d1, d2, null).inOrder(); }
@Test public void bindDateArrayNull() { Struct row = execute( Statement.newBuilder("SELECT @v").bind("v").toDateArray(null), Type.array(Type.date())); assertThat(row.isNull(0)).isTrue(); }
@Test public void getDate() { consumer.onPartialResultSet( PartialResultSet.newBuilder() .setMetadata(makeMetadata(Type.struct(Type.StructField.of("f", Type.date())))) .addValues(Value.date(Date.fromYearMonthDay(2018, 5, 29)).toProto()) .build()); consumer.onCompleted(); assertThat(resultSet.next()).isTrue(); assertThat(resultSet.getDate(0)).isEqualTo(Date.fromYearMonthDay(2018, 5, 29)); }