【FIX】Fix the issue where conversion fails when converting from sql.NullXXX types to basic types when selecting deepCopy option. #177
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.
Problem Description
output
The value of a.Phone was not copied to user.Phone, which is obviously not expected.
Solution
After verification, this is because the deepCopy option was added. Because when deepCopy is added, the following code is executed first. Since sql.NullXXX types are structures, the code returns directly. Although custom conversion can be used to solve this problem, it is not very elegant.
Therefore, when judging whether it is a structure, exclude sql.NullXXX types first.
After the modification, the output of the above code is as follows. I have also added a unit test to ensure the correctness of other types.