-
Notifications
You must be signed in to change notification settings - Fork 286
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
Add IDBColumnSchemaGenerator interface to netfx SqlDataReader #2967
base: main
Are you sure you want to change the base?
Add IDBColumnSchemaGenerator interface to netfx SqlDataReader #2967
Conversation
/azp run |
Commenter does not have sufficient privileges for PR 2967 in repo dotnet/SqlClient |
@edwardneal Would you mind running the pipeline for me on this one? :) |
…//github.com/MichelZ/SqlClient into merge-sqldatareader-IDbColumnSchemaGenerator
Thanks for this MichelZ. The changes look good to me; would you mind feeding the extra package reference through to the nuspec file and the .NET Framework reference csproj please? I don't have access to the pipelines, but hopefully the SqlClient team will be able to look at it in a few days. Something's definitely odd there - your PRs didn't run the CI builds, and my commit ran the CI build but encountered a lot more timeouts than normal in the tests. |
Will do. I'm not a contributor, that's probably why the pipelines don't run for me (yet) |
dbColumnSchema = original.dbColumnSchema; | ||
#else | ||
schemaTable = original.schemaTable; |
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.
Not 100% sure about this one. Was the intention here to exclude schemaTable for netcore?
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.
Yeah, this kind of code doesn't make a ton of sense to me (the original, that is). It'd be nice if it came with a comment that explains what's the rationale for whats going on but ... whatever.
As for your change, I'm also not 100% about it either. It basically says we assign the dbColumnSchema in netcore, and assign the schemaTable in netfx. So, I wonder if assigning both in both cases is the right behavior...
/azp run |
Commenter does not have sufficient privileges for PR 2967 in repo dotnet/SqlClient |
Thanks for trying :) |
/azp run |
Commenter does not have sufficient privileges for PR 2967 in repo dotnet/SqlClient |
@ErikEJ @edwardneal @MichelZ We have changed security rules recently such that only contributors can kick off pipeline runs. This is due to the potential for contributors to run code in PRs that could be hazardous to our build agents or cause a DoS. |
/azp run |
Azure Pipelines successfully started running 2 pipeline(s). |
This package needs to be added to the sqlclientdriver nuget feed for this build to succeed: |
@MichelZ I might've mentioned it before but yep, we've got security on the internal nuget feed such that only contributors can pull upstream packages from the feed. I've gone ahead and added System.Data.Common 4.3.0 to the feed, so it should be good to go. |
/azp run |
Azure Pipelines successfully started running 2 pipeline(s). |
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.
I'd need to see @cheenamalhotra 's opinion regarding the System.Data.Common inclusion before I explicitly approve.
dbColumnSchema = original.dbColumnSchema; | ||
#else | ||
schemaTable = original.schemaTable; |
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.
Yeah, this kind of code doesn't make a ton of sense to me (the original, that is). It'd be nice if it came with a comment that explains what's the rationale for whats going on but ... whatever.
As for your change, I'm also not 100% about it either. It basically says we assign the dbColumnSchema in netcore, and assign the schemaTable in netfx. So, I wonder if assigning both in both cases is the right behavior...
@@ -10,6 +10,7 @@ | |||
<ItemGroup> | |||
<PackageReference Include="System.Buffers" Version="$(SystemBuffersVersion)" /> | |||
<PackageReference Include="System.Memory" Version="$(SystemMemoryVersion)" /> | |||
<PackageReference Include="System.Data.Common" Version="$(SystemDataCommonVersion)" Condition="'$(TargetFramework)' == 'net462'" /> |
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.
Is this package not compatible with netcore? I know a lot of packages are still compatible with netcore but just don't do anything in scenarios where they're not needed (eg, System.Memory being part of the netcore).
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 a netstandard1.2 package, there are no explicit .NET Core versions of it, so I thought better not mess with the .NET Core side
@@ -27,5 +27,6 @@ | |||
<ItemGroup> | |||
<PackageReference Include="Azure.Identity" Version="$(AzureIdentityVersion)" /> | |||
<PackageReference Include="System.Text.Json" Version="$(SystemTextJsonVersion)" /> | |||
<PackageReference Include="System.Data.Common" Version="$(SystemDataCommonVersion)" /> |
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.
I'm kinda confused about this one - it seems like we've needed to build against System.Data.Common for a long time. So I'm concerned why we're only just now adding it. @cheenamalhotra do you know the history behind how we relate to System.Data.Common?
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 looks like System.Data.Common is packaged in-box with .NET Framework 4.7.1 and upwards, but since we're targeting .NET Framework 4.6.2 we need the package reference. .NET Core doesn't have this problem - all the versions we target package it in-box.
283d72a
to
7fc9351
Compare
Bring IDBColumnSchemaGenerator to netfx for later code base merging
I made sure to enable the respective test for netfx
Part of #2965