Skip to content
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

Remove unused PInvokes #2828

Open
wants to merge 5 commits into
base: main
Choose a base branch
from

Conversation

edwardneal
Copy link
Contributor

This is the first step of a process to merge PInvokes between the .NET and .NET Framework projects. I've started by removing most of the unused PInvokes from both projects. There shouldn't be any surprises in CI.

I've also changed SqlUtil's SocketDidNotThrow method to throw an Exception rather than an InternalException. This was the only reference to InternalException which for the .NET 8.0 target, so this change means that when .NET 6.0 support is dropped, everything in the netcore/src/Common/src/System folder except for NotImplemented.cs can be removed.

The next step of the PInvoke merge process will be more involved. What's the coding standard for this? dotnet/runtime uses one folder per OS, one subfolder per DLL, one file per method, and there are quite a few files which fit this pattern. Other parts of the .NET project have a single file containing every PInvoke for a single DLL (the SNI DLL.)

Step 2 will be to merge the OS PInvokes which are needed for .NET Framework and .NET 8.0, and step 3 is currently to address the native SNI PInvokes. At the point of step 3, I'd also like to change the .NET Framework project to refer to Microsoft.Data.SqlClient.SNI.runtime, so it matches the .NET project. This might depend on #2671.

* Changed the exception type thrown by SQL.SocketDidNotThrow from InternalException.
* Excluded InternalException and NetEventSource from compilation in .NET 8.0 target.
@JRahnama JRahnama added this to the 6.0-preview2 milestone Sep 1, 2024
@JRahnama JRahnama added the ➕ Code Health Issues/PRs that are targeted to source code quality improvements. label Sep 1, 2024
@cheenamalhotra
Copy link
Member

Please resolve conflicts to help us move forward with reviews.
Thanks!

@edwardneal
Copy link
Contributor Author

Thanks @cheenamalhotra - now resolved, and being CI'd.

@mdaigle
Copy link
Contributor

mdaigle commented Oct 25, 2024

I'm working on dropping net6 support here #2927

Copy link

codecov bot commented Oct 25, 2024

Codecov Report

Attention: Patch coverage is 0% with 1 line in your changes missing coverage. Please review.

Project coverage is 72.30%. Comparing base (39c4604) to head (7e619c1).
Report is 4 commits behind head on main.

Files with missing lines Patch % Lines
....SqlClient/src/Microsoft/Data/SqlClient/SqlUtil.cs 0.00% 1 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #2828      +/-   ##
==========================================
+ Coverage   71.92%   72.30%   +0.38%     
==========================================
  Files         294      288       -6     
  Lines       60342    59723     -619     
==========================================
- Hits        43398    43182     -216     
+ Misses      16944    16541     -403     
Flag Coverage Δ
addons 92.90% <ø> (ø)
netcore 75.81% <0.00%> (-0.02%) ⬇️
netfx 70.68% <ø> (+0.22%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
➕ Code Health Issues/PRs that are targeted to source code quality improvements.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants