-
-
Notifications
You must be signed in to change notification settings - Fork 154
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
[BUG]: 4.25 breaks binary compatibility with files serialized using 4.24 and De/Serialize<T> #555
Comments
My bad, this is caused by #537 which I'm trying to revert now. |
No worries - really great library by the way :-) |
Please try 5.0.0-pre.2 |
Imo there is no reason this fails with an exception, this should be a warning (you can technically put a null into a string when it it is not marked as nullable) but removing nullable support makes it very unintuitive to load external files. Parquet. Net doesn't let you map a non nullable string column otherwise. |
I'd like to integrate it back from the #537 PR manually asap, but I'll have to write some test cases covering edge case scenarios first. Rest assured this is not boing to be lost. |
Library Version
4.25.0
OS
windows
OS Architecture
64 bit
How to reproduce?
Repro:
vcheck.exe w test_424.parquet
vcheck.exe w test_425.parquet
vcheck.exe r test_424.parquet
Note that the following exception is thrown...
Unhandled exception. System.IO.InvalidDataException: property 'TestProperty' is declared as 'TestProperty (System.String?)' but source data has it as 'TestProperty (System.String)'
This appears to because the default for "IsNullable" has changed between versions...
It may be that the new behaviour is more "correct" but it's unfortunate that we have a whole load of files which are suddenly unreadable without dto/code changes :-( It would be desirable if there was a ParquetOptions property that could be set to revert to the old behaviour and allow 'nullable' columns to be mapped to non-nullable properties with an exception being thrown at runtime if a null were ever encountered. (Or even to allow some null-to-value function to be supplied)
Code
Failing test
No response
The text was updated successfully, but these errors were encountered: