16 Commits

Author SHA1 Message Date
Alex Anderson
91de4b9453
Cursor: avoid closing connection twice if error received after destroy() (#2836)
* Cursor: avoid closing connection twice if error received after destroy()

Includes test case from @nathanjcochran

* Resolve lint violations

* revert fix to check tests fail without it

* Re-introdce fix

This reverts commit 5f5d42a071e40f8851035dba182642937dd35664.

---------

Co-authored-by: alxndrsn <alxndrsn>
2024-03-15 12:26:25 -05:00
Charmander
c7dc621d3f
pg-cursor: Fix errors only being sent to half the queue (#2831)
* pg-cursor: Add failing test for errors on queued reads

* pg-cursor: Fix errors being sent to only half the queue
2022-11-21 11:57:30 -06:00
Matthieu
5508c0ee6b
fix: Prevent closing the portal twice (#2609)
Fixes brianc/node-postgres#2119
2022-01-28 12:59:45 -06:00
Brian C
98cd59e3e7
Return promise on cursor end (#2589)
* Return promise on cursor end

* Remove redudant if
2021-07-29 17:17:15 -05:00
Bluenix
aedaa59afe
Add support for using promises in Cursor methods (#2554)
* Add similar promise variables to read() and close() as seen in query()

* Add testing for promise specific usage

* Simplify tests as no real callbacks are involved

Removes usage of `done()` since we can end the test when we exit the function

Co-Authored-By: Charmander <~@charmander.me>

* Switch to let over var

Co-authored-by: Charmander <~@charmander.me>
2021-07-27 09:40:32 -05:00
Bluenix
a04003164b
Turn Cursor into an ES6 class (#2553)
* Turn Cursor into an ES6 class

* Fix incorrect syntax in Cursor.end()

* Remove extraneous empty line

* Revert es6 change for end()

* Revert back to defining the end() method inside the class

* Use hanging indent to satisfy Prettier
2021-06-22 09:52:10 -05:00
Erona
8faf8a0937
fix(pg-cursor): EventEmitter memory leak (#2501) 2021-04-13 10:57:37 -05:00
Brian C
4fde8b78f1
Fix double readyForQuery (#2420)
This is fixing a double readyForQuery message being sent from the backend (because we were calling sync after an error, which I already fixed in the main driver).  Also closes #2333
2020-11-30 09:25:01 -06:00
Brian M. Carlson
8591d94fcc Re-upgrade to prettier@2.x 2020-04-10 11:31:03 -05:00
Brian M. Carlson
6353affeca Downgrade to prettier@1.x to support node@8.x 2020-04-10 11:15:42 -05:00
Brian M. Carlson
c13cf81ee8 Lint pg & turn off semicolons 2020-04-10 10:47:57 -05:00
Brian M. Carlson
3002d5cbdd Auto-fix pg-cursor 2020-04-10 10:29:54 -05:00
Brian C
8eca181d20
Fix pg-query-stream implementation (#2051)
* Fix pg-query-stream

There were some subtle behaviors with the stream being implemented incorrectly & not working as expected with async iteration.  I've modified the code based on #2050 and comments in #2035 to have better test coverage of async iterables and update the internals significantly to more closely match the readable stream interface.

Note: this is a __breaking__ (semver major) change to this package as the close event behavior is changed slightly, and `highWaterMark` is no longer supported.  It shouldn't impact most usage, but breaking regardless.

* Remove a bunch of additional code

* Add test for destroy + error propagation

* Add failing test for destroying unsubmitted stream

* Do not throw an uncatchable error when closing an unused cursor
2019-12-29 23:08:09 -06:00
Brian M. Carlson
5a6166d0ae Fire close callback when ready for next query
Working on fixing some timing issues in pg-query-stream it uncovered an issue where the cursor is firing its 'close' callback before it's actually entirely ready to dispatch another query.  This change makes the close callback trigger when the connection re-enters `readyForQuery` state.
2019-12-26 18:36:29 +00:00
Brian M. Carlson
423baa644a Update lint rules for pg-cursor 2019-12-18 13:42:47 -06:00
Brian M. Carlson
37d15740ed Add 'packages/pg-cursor/' from commit '492fbdbb65f6f33396d1017fa4cdbbb247dd3895'
git-subtree-dir: packages/pg-cursor
git-subtree-mainline: ebb81dbfa635eca73d16d54b501f04c8d843bac5
git-subtree-split: 492fbdbb65f6f33396d1017fa4cdbbb247dd3895
2019-12-18 13:20:51 -06:00