-
Notifications
You must be signed in to change notification settings - Fork 480
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
Fix row::move_as
behavior breaking reusability
#1145
Conversation
@avpalienko could you debug where the SegFault for Oracle is coming from? You seem to have good access to an Oracle installation, whereas for me it is always super tedious to get something to work. |
I've debugged on windows and have no segfault. But test fails: BLOB
|
21b433d
to
6c35d77
Compare
Previously, the into-type would take the blob object's LOB locator object and bind that in the query. That works as long as there is only a single Blob object being fetched from the database. However, if multiple values are fetched consecutively, there would only be a single locator object involved. In the best case, this leads to every new fetch overriding the previous result and in the worst case, that previous result has been turned into an independent blob object that has gone out of scope, which leads to freeing of this shared locator. With this commit, the into-type object will create its own locator object and use that. When assigning the fetched result to a blob object, the locator is copied such that the into-type and the blob keep independent locator objects, i.e. the locator is no longer shared.
Finally! I think with my latest commit I have found a way to fix the underlying issue 🚀 @avpalienko sorry that I took so long to look into this again. Your debug insights were still very valuable though, so thanks for having taken the time 🙏 |
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.
Looks good to me, thanks for fixing this!
Will merge soon.
For the time being, this is merely a sketch of how I think the fix has to work. The current implementation fails at the unavailability of a
session
object at therow
scope...Once this is finished, this PR fixes #1144