Skip to content
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

forgetting_assignment should avoid serialization #44914

Closed
wants to merge 1 commit into from

Conversation

akostadinov
Copy link
Contributor

Summary

#forgetting_assignment was introduced with 07723c2, and it
involved deserializing and then serializing current value.

This is an unnecessary extra operation, and also it
is a problem for attribute types where #serialize and
#deserialize are not inverse to each other operations.

This is a problem for example when using oracle-enhanced-adapter.

fixes #44317 and #42738 and rsim/oracle-enhanced#2268

Other Information

@akostadinov akostadinov force-pushed the main branch 5 times, most recently from c154e0a to 4bc32f4 Compare April 18, 2022 14:54
`#forgetting_assignment` was introduced with 07723c2, and it
involved deserializing and then serializing current value.

This is an unnecessary extra operation, and also it
is a problem for custom attribute types where `#serialize` and
`#deserialize` are not inverse to each other operations.

This is a problem for example when using oracle-enhanced-adapter.

fixes rails#44317 and rails#42738 and rsim/oracle-enhanced#2268
@akostadinov
Copy link
Contributor Author

seems like things are more complicated than they appeared. Closing for now but input is welcome.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Model#save! should not update instance attributes that are already set
1 participant