Merge | Align BitConverter/BinaryPrimitives usage netfx/netcore#2963
Conversation
benrr101
left a comment
There was a problem hiding this comment.
It's worth explicitly calling out that the the behavior of BitConverter and BinaryPrimitives is not the same (BinaryPrimitives require specifying the endianness while BitConverter uses the system's endianness). For netcore, it makes sense to specify little-endian conversion since netcore can be expected to run on big-endian systems. For netfx, it made sense to use the system endianness since it wasn't expected that netfx would run on big-endian systems (though I'm not sure how accurate that expectation is). Thus, bringing the netcore implementation to the netfx codebase should be safe.
src/Microsoft.Data.SqlClient/netfx/src/Microsoft/Data/SqlClient/TdsParser.cs
Show resolved
Hide resolved
|
/azp run |
|
Azure Pipelines successfully started running 1 pipeline(s). |
|
Grrr AZD |
590cd5f to
a2a39e4
Compare
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #2963 +/- ##
==========================================
+ Coverage 72.31% 72.44% +0.12%
==========================================
Files 288 288
Lines 59660 59529 -131
==========================================
- Hits 43145 43125 -20
+ Misses 16515 16404 -111
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. |
|
Anything I can do to move this along? |
In fact, all integer values in TDS should be represented in little endian unless it's specifically mentioned that they should be big endian. The only fields with special treatment are:
It looks like we only touch the fed auth options packet and row level data field parsing in this PR, so little endian should be correct. |
This uses System.Buffers.Binary types instead of BitConverter to align netfx with netcore
Part of #2953