Closed cole-miller closed 3 months ago
Looking into the assertion failures in CI---seems like I didn't account for what happens in the case of a transaction that's split across several EXEC
/EXEC_SQL
requests.
Attention: Patch coverage is 89.70588%
with 7 lines
in your changes missing coverage. Please review.
Project coverage is 77.96%. Comparing base (
2d0d71b
) to head (4236cd3
). Report is 10 commits behind head on master.
Files | Patch % | Lines |
---|---|---|
src/conn.c | 88.23% | 0 Missing and 4 partials :warning: |
src/gateway.c | 84.61% | 0 Missing and 2 partials :warning: |
test/unit/test_concurrency.c | 0.00% | 1 Missing :warning: |
:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.
Assertions fixed, it was a silly error. This should be good to go now.
Revised version of the reverted #681, fixing the regression #684. The bug in that PR was of the same type as that fixed in #686: passing a
NULL
callback whenuv_close
-ing a handle and then freeing the allocation containing the handle immediately.To fix this instance of the bug, I put the
uv_timer_t
in theconn
object instead of the gateway, sinceconn
already has an asynchronous closing sequence. This means the gateway goes back to not knowing that it's running on an event loop, which is convenient for the tests.It's probably most efficient to review this by looking at the diff against the previous PR, as merged: