public override void Write(Thrift.SchemaElement tse, BinaryWriter writer, IList values, DataColumnStatistics statistics) { foreach (Interval interval in values) { writer.Write(interval.Months); writer.Write(interval.Days); writer.Write(interval.Millis); } }
public override void Write(Thrift.SchemaElement tse, BinaryWriter writer, ArrayView values, DataColumnStatistics statistics) { int n = 0; byte b = 0; byte[] buffer = new byte[values.Count / 8 + 1]; int ib = 0; foreach (bool flag in values.GetValuesAndReturnArray <bool>()) { if (flag) { b |= (byte)(1 << n); } n++; if (n == 8) { buffer[ib++] = b; n = 0; b = 0; } } if (n != 0) { buffer[ib] = b; } writer.Write(buffer); }
public override void Write(Thrift.SchemaElement tse, BinaryWriter writer, ArrayView values, DataColumnStatistics statistics) { foreach (Interval interval in values.GetValuesAndReturnArray <Interval>()) { writer.Write(interval.Months); writer.Write(interval.Days); writer.Write(interval.Millis); } }
public override void Write(Thrift.SchemaElement tse, BinaryWriter writer, ArrayView values, DataColumnStatistics statistics) { switch (tse.Type) { case Thrift.Type.INT32: WriteAsInt32(tse, writer, values); break; case Thrift.Type.INT64: WriteAsInt64(tse, writer, values); break; case Thrift.Type.FIXED_LEN_BYTE_ARRAY: WriteAsFixedLengthByteArray(tse, writer, values); break; default: throw new InvalidDataException($"data type '{tse.Type}' does not represent a decimal"); } }