-
Notifications
You must be signed in to change notification settings - Fork 3.2k
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
Use Shadow property index when generating Shadow values buffer #18371
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
smitpatel
commented
Oct 15, 2019
@@ -7948,6 +7948,150 @@ public void Create_table_handles_same_name_but_different_schemas_and_identifying | |||
}); | |||
} | |||
|
|||
[ConditionalFact] | |||
public void Construction_of_shadow_values_buffer_account_for_shadow_navigations_1() |
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 one throws NRE because null is found when reading int.
smitpatel
commented
Oct 15, 2019
} | ||
|
||
[ConditionalFact] | ||
public void Construction_of_shadow_values_buffer_account_for_shadow_navigations_2() |
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 one throws ICE because double is found when reading int.
Shadow Values factory expects a value buffer which also has slots for shadow navigations. But when populating we did not consider them. So we got a value buffer with values in wrong slots. It happens only for ModelSnapshot (the shadow model phase) when seeding derived type when base type has a navigation. It throws NRE if encounter null value for non-null field or ICE if encounter different type then expected. Resolves #17851
smitpatel
force-pushed
the
smit/issue17851
branch
from
October 15, 2019 01:02
a781e2f
to
1bb4315
Compare
smitpatel
commented
Oct 15, 2019
test/EFCore.Relational.Tests/Migrations/Internal/MigrationsModelDifferTest.cs
Outdated
Show resolved
Hide resolved
AndriySvyryd
approved these changes
Oct 15, 2019
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Shadow Values factory expects a value buffer which also has slots for shadow navigations. But when populating we did not consider them. So we got a value buffer with values in wrong slots.
It happens only for ModelSnapshot (the shadow model phase) when seeding derived type when base type has a navigation.
It throws NRE if encounter null value for non-null field
or ICE if encounter different type then expected.
Resolves #17851