diff --git a/src/Microsoft.SqlTools.ServiceLayer/QueryExecution/DataStorage/IFileStreamWriter.cs b/src/Microsoft.SqlTools.ServiceLayer/QueryExecution/DataStorage/IFileStreamWriter.cs
index 951bd89c..7cfffee8 100644
--- a/src/Microsoft.SqlTools.ServiceLayer/QueryExecution/DataStorage/IFileStreamWriter.cs
+++ b/src/Microsoft.SqlTools.ServiceLayer/QueryExecution/DataStorage/IFileStreamWriter.cs
@@ -5,7 +5,6 @@
using System;
using System.Data.SqlTypes;
-using Microsoft.SqlTools.ServiceLayer.QueryExecution.Contracts;
namespace Microsoft.SqlTools.ServiceLayer.QueryExecution.DataStorage
{
@@ -26,7 +25,7 @@ namespace Microsoft.SqlTools.ServiceLayer.QueryExecution.DataStorage
int WriteDouble(double val);
int WriteDecimal(decimal val);
int WriteSqlDecimal(SqlDecimal val);
- int WriteDateTime(DbColumnWrapper column, DateTime val);
+ int WriteDateTime(DateTime val);
int WriteDateTimeOffset(DateTimeOffset dtoVal);
int WriteTimeSpan(TimeSpan val);
int WriteString(string val);
diff --git a/src/Microsoft.SqlTools.ServiceLayer/QueryExecution/DataStorage/ServiceBufferFileStreamReader.cs b/src/Microsoft.SqlTools.ServiceLayer/QueryExecution/DataStorage/ServiceBufferFileStreamReader.cs
index 487f827b..5df33596 100644
--- a/src/Microsoft.SqlTools.ServiceLayer/QueryExecution/DataStorage/ServiceBufferFileStreamReader.cs
+++ b/src/Microsoft.SqlTools.ServiceLayer/QueryExecution/DataStorage/ServiceBufferFileStreamReader.cs
@@ -260,26 +260,11 @@ namespace Microsoft.SqlTools.ServiceLayer.QueryExecution.DataStorage
/// A DateTime
public FileStreamReadResult ReadDateTime(long offset)
{
- int precision = 0;
-
- return ReadCellHelper(offset,
- length =>
- {
- precision = BitConverter.ToInt32(buffer, 0);
- long ticks = BitConverter.ToInt64(buffer, 4);
- return new DateTime(ticks);
- }, null,
- time =>
- {
- string format = "yyyy-MM-dd HH:mm:ss";
- if (precision > 0)
- {
- // Output the number milliseconds equivalent to the precision
- // NOTE: string('f', precision) will output ffff for precision=4
- format += "." + new string('f', precision);
- }
- return time.ToString(format);
- });
+ return ReadCellHelper(offset, length =>
+ {
+ long ticks = BitConverter.ToInt64(buffer, 0);
+ return new DateTime(ticks);
+ });
}
///
diff --git a/src/Microsoft.SqlTools.ServiceLayer/QueryExecution/DataStorage/ServiceBufferFileStreamWriter.cs b/src/Microsoft.SqlTools.ServiceLayer/QueryExecution/DataStorage/ServiceBufferFileStreamWriter.cs
index 75045aff..bb7167e9 100644
--- a/src/Microsoft.SqlTools.ServiceLayer/QueryExecution/DataStorage/ServiceBufferFileStreamWriter.cs
+++ b/src/Microsoft.SqlTools.ServiceLayer/QueryExecution/DataStorage/ServiceBufferFileStreamWriter.cs
@@ -38,7 +38,7 @@ namespace Microsoft.SqlTools.ServiceLayer.QueryExecution.DataStorage
///
/// Functions to use for writing various types to a file
///
- private readonly Dictionary> writeMethods;
+ private readonly Dictionary> writeMethods;
#endregion
@@ -74,78 +74,37 @@ namespace Microsoft.SqlTools.ServiceLayer.QueryExecution.DataStorage
this.maxXmlCharsToStore = maxXmlCharsToStore;
// Define what methods to use to write a type to the file
- writeMethods = new Dictionary>
+ writeMethods = new Dictionary>
{
- {typeof(string), (val, col) => WriteString((string) val)},
- {typeof(short), (val, col) => WriteInt16((short) val)},
- {typeof(int), (val, col) => WriteInt32((int) val)},
- {typeof(long), (val, col) => WriteInt64((long) val)},
- {typeof(byte), (val, col) => WriteByte((byte) val)},
- {typeof(char), (val, col) => WriteChar((char) val)},
- {typeof(bool), (val, col) => WriteBoolean((bool) val)},
- {typeof(double), (val, col) => WriteDouble((double) val) },
- {typeof(float), (val, col) => WriteSingle((float) val) },
- {typeof(decimal), (val, col) => WriteDecimal((decimal) val) },
- {typeof(DateTime), (val, col) => WriteDateTime(col, (DateTime) val) },
- {typeof(DateTimeOffset), (val, col) => WriteDateTimeOffset((DateTimeOffset) val) },
- {typeof(TimeSpan), (val, col) => WriteTimeSpan((TimeSpan) val) },
- {typeof(byte[]), (val, col) => WriteBytes((byte[]) val)},
+ {typeof(string), val => WriteString((string) val)},
+ {typeof(short), val => WriteInt16((short) val)},
+ {typeof(int), val => WriteInt32((int) val)},
+ {typeof(long), val => WriteInt64((long) val)},
+ {typeof(byte), val => WriteByte((byte) val)},
+ {typeof(char), val => WriteChar((char) val)},
+ {typeof(bool), val => WriteBoolean((bool) val)},
+ {typeof(double), val => WriteDouble((double) val) },
+ {typeof(float), val => WriteSingle((float) val) },
+ {typeof(decimal), val => WriteDecimal((decimal) val) },
+ {typeof(DateTime), val => WriteDateTime((DateTime) val) },
+ {typeof(DateTimeOffset), val => WriteDateTimeOffset((DateTimeOffset) val) },
+ {typeof(TimeSpan), val => WriteTimeSpan((TimeSpan) val) },
+ {typeof(byte[]), val => WriteBytes((byte[]) val)},
- {
- typeof(SqlString),
- (val, col) => WriteNullable((SqlString) val, obj => WriteString((string) obj))
- },
- {
- typeof(SqlInt16),
- (val, col) => WriteNullable((SqlInt16) val, obj => WriteInt16((short) obj))
- },
- {
- typeof(SqlInt32),
- (val, col) => WriteNullable((SqlInt32) val, obj => WriteInt32((int) obj))
- },
- {
- typeof(SqlInt64),
- (val, col) => WriteNullable((SqlInt64) val, obj => WriteInt64((long) obj))
- },
- {
- typeof(SqlByte),
- (val, col) => WriteNullable((SqlByte) val, obj => WriteByte((byte) obj))
- },
- {
- typeof(SqlBoolean),
- (val, col) => WriteNullable((SqlBoolean) val, obj => WriteBoolean((bool) obj)) },
- {
- typeof(SqlDouble),
- (val, col) => WriteNullable((SqlDouble) val, obj => WriteDouble((double) obj))
- },
- {
- typeof(SqlSingle),
- (val, col) => WriteNullable((SqlSingle) val, obj => WriteSingle((float) obj))
- },
- {
- typeof(SqlDecimal),
- (val, col) => WriteNullable((SqlDecimal) val, obj => WriteSqlDecimal((SqlDecimal) obj))
- },
- {
- typeof(SqlDateTime),
- (val, col) => WriteNullable((SqlDateTime) val, obj => WriteDateTime(col, (DateTime) obj))
- },
- {
- typeof(SqlBytes),
- (val, col) => WriteNullable((SqlBytes) val, obj => WriteBytes((byte[]) obj))
- },
- {
- typeof(SqlBinary),
- (val, col) => WriteNullable((SqlBinary) val, obj => WriteBytes((byte[]) obj))
- },
- {
- typeof(SqlGuid),
- (val, col) => WriteNullable((SqlGuid) val, obj => WriteGuid((Guid) obj))
- },
- {
- typeof(SqlMoney),
- (val, col) => WriteNullable((SqlMoney) val, obj => WriteMoney((SqlMoney) obj))
- }
+ {typeof(SqlString), val => WriteNullable((SqlString) val, obj => WriteString((string) obj))},
+ {typeof(SqlInt16), val => WriteNullable((SqlInt16) val, obj => WriteInt16((short) obj))},
+ {typeof(SqlInt32), val => WriteNullable((SqlInt32) val, obj => WriteInt32((int) obj))},
+ {typeof(SqlInt64), val => WriteNullable((SqlInt64) val, obj => WriteInt64((long) obj)) },
+ {typeof(SqlByte), val => WriteNullable((SqlByte) val, obj => WriteByte((byte) obj)) },
+ {typeof(SqlBoolean), val => WriteNullable((SqlBoolean) val, obj => WriteBoolean((bool) obj)) },
+ {typeof(SqlDouble), val => WriteNullable((SqlDouble) val, obj => WriteDouble((double) obj)) },
+ {typeof(SqlSingle), val => WriteNullable((SqlSingle) val, obj => WriteSingle((float) obj)) },
+ {typeof(SqlDecimal), val => WriteNullable((SqlDecimal) val, obj => WriteSqlDecimal((SqlDecimal) obj)) },
+ {typeof(SqlDateTime), val => WriteNullable((SqlDateTime) val, obj => WriteDateTime((DateTime) obj)) },
+ {typeof(SqlBytes), val => WriteNullable((SqlBytes) val, obj => WriteBytes((byte[]) obj)) },
+ {typeof(SqlBinary), val => WriteNullable((SqlBinary) val, obj => WriteBytes((byte[]) obj)) },
+ {typeof(SqlGuid), val => WriteNullable((SqlGuid) val, obj => WriteGuid((Guid) obj)) },
+ {typeof(SqlMoney), val => WriteNullable((SqlMoney) val, obj => WriteMoney((SqlMoney) obj)) }
};
}
@@ -231,10 +190,10 @@ namespace Microsoft.SqlTools.ServiceLayer.QueryExecution.DataStorage
}
// Use the appropriate writing method for the type
- Func