-
Notifications
You must be signed in to change notification settings - Fork 288
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merge | Align BitConverter/BinaryPrimitives usage netfx/netcore #2963
base: main
Are you sure you want to change the base?
Merge | Align BitConverter/BinaryPrimitives usage netfx/netcore #2963
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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