-
Notifications
You must be signed in to change notification settings - Fork 381
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
Upgrade to 3.0.0 #822
Upgrade to 3.0.0 #822
Conversation
… shadow copying).
…e previous default setting of 30 seconds. Use 600 seconds (SQL Server provider default) instead. This will also be applied to queries setting up the database test environment.
…nds for unsupported casts.
Fix many issues responsible for previously failed tests. Reactivate previously skipped tests, that work fine now.
…hods calls), with improved CAST() support.
…pressionVisitorFactory to 3.0.
Remove obsolete classes.
Disable VisitSqlParameter NO_BACKSLASH_ESCAPES for the moment and update later, if necessary.
Update MySqlRelationalConnection to 3.0.
Versions need to be refactored into build variables before PR.
… have been moved.
Implement DateTime.Millisecond support.
…pported by the database server version used at the time.
…s of MySQL 8.0.0.
…on is lower than the one specified.
…the database server.
Thanks for all of your work I'd like to get this merged into I changed CI to use Azure DevOps in #823. Can you merge master into your branch and update CI? I was hoping we could move to full test coverage on Azure DevOps, but if you want to make it test a subset as Once this is in the WIP branch I can setup Azure Devops to deploy nightlies off the WIP branch so people can start testing it out |
I will be merging this in 6 to 10 hours. |
Would this fix my issue I have here? |
@lsvMoretti Probably. Using a 2.2.x provider with EF Core 3.0 will not work. Your error seems to be related to some dependency mismatches between EF Core 3.0 and the provider. |
@caleblloyd Do you want me to squash all commits during the merge, squash them manually into a reasonable chunks (~10) before merging, or leave them as is and merge without squashing at all? |
Just hit the squash and merge button on the PR |
# Conflicts: # .travis.yml # appveyor.yml
… 3.0). Skip test for now to merge as WIP.
4460e83
to
4291b53
Compare
I updated the Azure DevOps yaml to use .NET Core 3.0 and skip all tests for now, to merge this quickly as a WIP. At this point in time, the test metrics look like this:
The difference comes mainly from Careful with migrations. They might not work fully yet. |
This PR updates the provider and most tests to EF Core 3.0.
It is based on #820 and @twsl's extensive work from #818 and was also discussed on #797.
It should be noted for major updates in the future, that directly merging the SQL Server files (or parts of it) in this repository, is not the optimal way to proceed here, because it leads to many subtle changes in
SqlFunctionExpression
parameter orders and small behavior differences, that are hard to track down.Instead, the updates should be triggered by failing tests, checking the providers log, comparing changes between different versions of the Sqlite and NpSql providers and applying the necessary changes manually.
On the plus side, having done this now once, the file and code structure is now much closer to those of other providers and should be easier to maintain in the future. I suggest keeping it this way.
The following table shows the current test metrics:
Some tests that passed in the previous releases fail now by design/default, due to missing native support in MySQL for an underlying feature, that would implicitly trigger client eval in previous versions (see #821 for further discussion).
These include all
EXCEPT
,INTERSECT
andOUTER APPLY
queries.Some test queries reference columns from an outer table and fail.
It might be possible to implement the latter and the
OUTER APPLY
functionality (at least for some cases) with the newLATERAL
keyword (MySQL 8.0.14). This needs further research.NO_BACKSLASH_ESCAPES is still disabled.
I haven't checked yet, if there are additional test classes to implement for 3.0.
The dependency versions should be updated shortly to public and stable releases.
I kept the original commit structure intact, to make it easier to review. All or most commits should be squashed when merging.
Everybody should feel encoraged to test/review this PR, so we can get this out there for people to test their own projects against and provide additional feedback.
I will continue fixing tests and isolating those, that depend on not implemented features.
I updated the CI files to support 3.0.