-
-
Notifications
You must be signed in to change notification settings - Fork 1.2k
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: use existing Result types for new Result #3310
fix: use existing Result types for new Result #3310
Conversation
Thanks for proposing a fix.
(Either way, it should also have a test.) |
Got it, I'll add a test. I'll try to find some time to work on it over the next couple of days. |
@charmander I added a test for this case in 3c1a7d1 |
Just checking, are there any further changes I should make? No rush, just wondering if there's anything I can do to help! |
Not a huge fan of reaching into the client like that, but also I think I went a bit overboard with what was "private" in the past (particularly since not a lot is really actually private in JS). I'm okay w/ this as a quick fix for now, and since there are tests covering it it will be resilient to refactoring when that time comes. :) |
Seems like tests are failing for Happy to debug further if you think the changes caused the test to fail. |
Hey @brianc @charmander! The tests are passing for me locally on both Node 20 and 22 (see screenshots). Do you think it might be worth rerunning the actions to see if the test failures might be due flaky tests? Alternatively let me know if you think I need to debug further. |
I'll re-run! Once tests pass I'll merge this. sorry for the delay, this looks good. :) |
This has to do w/ randomly segfaulting (sometimes, but not regularly) in the native bindings, which is quite annoying. I'm unable to re-run the job? I don't see the button anywhere anyway. Mind pushing an empty or just whitespace commit & hopefully that'll trigger a re-run? |
@brianc Done! |
Thanks! Got it merged! Will do a release tomorrow! :) |
Context
Closes #3309
Related to sequelize/sequelize#17479
Approach
The issue seems to be that the
_types
member ofResult
is directly overwritten byClient.query
:node-postgres/packages/pg/lib/client.js
Line 567 in 54eb0fa
However, in
_checkForMultiRow
, we then create newResult
s, but without the overridden types:node-postgres/packages/pg/lib/query.js
Line 68 in 54eb0fa
The approach is to reuse the types of the original
Result
when creating a new one.