Fix crash in ArrowTableFunction::GetArrowLogicalType
on Linux
#7718
+24
−2
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.
This PR fixes #7699
We were relying on undefined behavior in order of operations, this behavior was different in linux, which caused a crash.
I explain the issue in more detail in a reaction to the issue.
I'm not entirely sold on this solution, because this creates an instance of ArrowConvertData within
GetArrowLogicalType
and populates it with type-specific data.But then once we get out of this method, we override it with a new instance of ArrowConvertData.
I believe this is the current behavior on Mac.
The instances are created with different constructors so I couldn't quickly figure out if this behavior is expected or not, maybe Pedro can have a look to let me know if this is in fact the right behavior or not.