Remove SqlCommand code paths for context connections #2996
+20
−2,392
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Contributes to #2838. PR 2/7.
This doesn't need to be merged before 6.0. It removes the core
SqlDataReaderSmi
type, and the code paths inSqlCommand.ExecuteNonQuery
andSqlCommand.ExecuteReader
which reference it. There are also a handful of Stream and TextReader derivatives which are only used in those contexts.One point of note is in SqlDataRecord. InOutOfProcHelper.InProc will always be false, so I've trimmed the dead code in the if condition. As a result,
_recordContext
will always be null, and null will always propagate to thecontext
parameter in ValueUtilsSmi. I plan to clean this up in the next PR.If this is too large to review, I can partially revert some of these removals.