-
Notifications
You must be signed in to change notification settings - Fork 0
Upgrade from 8.0.0 to 8.0.1 #9
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
base: master
Are you sure you want to change the base?
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.
Pull request overview
This pull request upgrades the Entity Framework Core SingleStore provider from version 8.0.0 to 8.0.1. This is a servicing release containing bug fixes, test improvements, and infrastructure updates.
Changes:
- Updated EF Core dependencies from 8.0.0 to 8.0.1
- Fixed a MySQL bug related to
ORDER BY (SELECT 1)that caused incorrect query results - Improved AUTO_INCREMENT column handling in migrations to prevent SQL errors
- Enhanced test infrastructure with custom test ordering and discovery capabilities
Reviewed changes
Copilot reviewed 53 out of 53 changed files in this pull request and generated 4 comments.
Show a summary per file
| File | Description |
|---|---|
| Version.props | Updated version from 8.0.0 to 8.0.1 and set pre-release label to "servicing" |
| Dependencies.targets | Updated EF Core and Microsoft.* package dependencies to 8.0.1 |
| dotnet-tools.json | Updated dotnet-ef tool to 8.0.1 |
| README.md | Added 8.0.1 release to schedule with February 2026 date |
| src/EFCore.SingleStore/Query/ExpressionVisitors/Internal/SingleStoreQuerySqlGenerator.cs | Fixed MySQL bug by outputting 1 instead of (SELECT 1) in ORDER BY clauses |
| src/EFCore.SingleStore/Migrations/SingleStoreMigrationsSqlGenerator.cs | Fixed AUTO_INCREMENT migration issue by merging column and primary key operations |
| src/EFCore.SingleStore/Metadata/Conventions/* | Added new conventions for value generation strategy and runtime model optimization |
| src/EFCore.SingleStore/Extensions/* | Improved value generation strategy handling and added runtime model guards |
| src/EFCore.SingleStore/Infrastructure/SingleStoreServerVersion.cs | Updated latest supported server version to 9.0.0 |
| src/EFCore.SingleStore/Infrastructure/ServerVersionSupport.cs | Enabled ExceptIntercept and ExceptInterceptPrecedence support |
| test/EFCore.SingleStore.FunctionalTests/* | Enhanced test framework with custom ordering, discovery, and debug services |
| tools/QueryBaselineUpdater/Program.cs | Refactored to support multiple test files and partial test classes |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
|
|
||
| if (notFound.Any()) | ||
| { | ||
| Console.WriteLine("The following chunks where not found:"); |
Copilot
AI
Jan 15, 2026
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.
Corrected spelling of 'where' to 'were'.
| // Used to generate a compiled model. The compiled model is only used at app runtime and not for design-time purposes. | ||
| // Therefore, all annotations that are related to design-time concerns (i.e. databases, tables or columns) are superfluous and should be | ||
| // removed. | ||
| // TOOD: Check behavior for `ValueGenerationStrategy`, `LegacyValueGeneratedOnAdd` and `LegacyValueGeneratedOnAddOrUpdate`. |
Copilot
AI
Jan 15, 2026
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.
Corrected spelling of 'TOOD' to 'TODO'.
| // TOOD: Check behavior for `ValueGenerationStrategy`, `LegacyValueGeneratedOnAdd` and `LegacyValueGeneratedOnAddOrUpdate`. | |
| // TODO: Check behavior for `ValueGenerationStrategy`, `LegacyValueGeneratedOnAdd` and `LegacyValueGeneratedOnAddOrUpdate`. |
| { | ||
| SingleStoreValueGenerationStrategy? strategy = null; | ||
| var declaringTable = property.GetMappedStoreObjects(StoreObjectType.Table).FirstOrDefault(); | ||
| if (declaringTable.Name != null!) |
Copilot
AI
Jan 15, 2026
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.
The null-forgiving operator ! is used after a null check, which creates confusing logic. This line checks if declaringTable.Name is not null, but then immediately uses the null-forgiving operator. Either remove the ! or restructure the condition for clarity.
| foreach (var annotation in filteredOperation.GetAnnotations().ToList()) | ||
| { | ||
| if (IsFullText(operation)) | ||
| if (annotation.Name.StartsWith(InternalAnnotationPrefix)) | ||
| { | ||
| var createTableOperation = (CreateTableOperation)operations.Single(o => | ||
| (o is CreateTableOperation createTableOperation && createTableOperation.Name == createIndexOperation.Table)); | ||
|
|
||
| try | ||
| { | ||
| createTableOperation.AddAnnotation(SingleStoreAnnotationNames.FullTextIndex, createIndexOperation.Columns); | ||
| } | ||
| catch (InvalidOperationException) | ||
| { | ||
| throw new InvalidOperationException("Feature 'more than one FULLTEXT KEY' is not supported by SingleStore Distributed."); | ||
| } | ||
| filteredOperation.RemoveAnnotation(annotation.Name); | ||
| } | ||
| } |
Copilot
AI
Jan 15, 2026
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.
This foreach loop implicitly filters its target sequence - consider filtering the sequence explicitly using '.Where(...)'.
No description provided.