mirror of
https://github.com/ckaczor/sqltoolsservice.git
synced 2026-01-17 01:25:40 -05:00
Date & Time Type Fixes (#196)
This basically is a replacement to the fix for Adding Milliseconds to DateTime fields. I didn't take into consideration that `DATE` columns would report as DateTime type. Date columns have a numeric scale set to 255, leading to the formatting string for the date time to include 255 millisecond places, which is invalid.
This change also reverses the change to store DateTime precision in the buffer file. Instead, the column metadata is now used when deserializing the rows from the db. `DATETIME` and `DATETIME2` columns are differentiated by their numeric scale while `DATE` columns are differentiated by their datatype name field.
More unit tests were added. Additionally, this fixes an unreported bug that `DATE` columns were being displayed with times, which is incorrect.
* Revert "Adding Milliseconds to DateTime fields (#173)"
This reverts commit 431dfa4156.
* Reworking the reader to use the column metadata for date types
* DbColumn -> DbColumnWrapper
* Fina tweaks to support DATETIME2(0)
* Removing the unused arguments
This commit is contained in:
@@ -15,22 +15,5 @@ namespace Microsoft.SqlTools.ServiceLayer.QueryExecution.DataStorage
|
||||
public interface IFileStreamReader : IDisposable
|
||||
{
|
||||
IList<DbCellValue> ReadRow(long offset, IEnumerable<DbColumnWrapper> columns);
|
||||
FileStreamReadResult ReadInt16(long i64Offset);
|
||||
FileStreamReadResult ReadInt32(long i64Offset);
|
||||
FileStreamReadResult ReadInt64(long i64Offset);
|
||||
FileStreamReadResult ReadByte(long i64Offset);
|
||||
FileStreamReadResult ReadChar(long i64Offset);
|
||||
FileStreamReadResult ReadBoolean(long i64Offset);
|
||||
FileStreamReadResult ReadSingle(long i64Offset);
|
||||
FileStreamReadResult ReadDouble(long i64Offset);
|
||||
FileStreamReadResult ReadSqlDecimal(long i64Offset);
|
||||
FileStreamReadResult ReadDecimal(long i64Offset);
|
||||
FileStreamReadResult ReadDateTime(long i64Offset);
|
||||
FileStreamReadResult ReadTimeSpan(long i64Offset);
|
||||
FileStreamReadResult ReadString(long i64Offset);
|
||||
FileStreamReadResult ReadBytes(long i64Offset);
|
||||
FileStreamReadResult ReadDateTimeOffset(long i64Offset);
|
||||
FileStreamReadResult ReadGuid(long offset);
|
||||
FileStreamReadResult ReadMoney(long offset);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user