1
0
mirror of https://github.com/danog/postgres.git synced 2024-11-26 20:15:02 +01:00
Commit Graph

169 Commits

Author SHA1 Message Date
Aaron Piotrowski
e460f50716
Fix statement storage
Seems I simplified too much and made a circular reference. However, I hope to have found what was causing the issue in #19 — the refCount was being incremented when a promise for a statement was returned, inflating the number of statement references. This takes a similar approach as in 1.0.3, but with anonymous classes instead.
2019-03-26 11:18:39 -05:00
Aaron Piotrowski
9c499e1f5e
Test on 7.3 and 7.4 2019-03-25 12:58:20 -05:00
Aaron Piotrowski
1269216bee
Simplify statement preparing and storage 2019-03-25 12:16:36 -05:00
Aaron Piotrowski
6791ece329
Release if exception is thrown 2019-03-14 16:29:58 -05:00
Aaron Piotrowski
95b3896931
Increment refCount when starting transaction query 2019-03-14 16:02:56 -05:00
Aaron Piotrowski
7159f9d1bc
Quiet style fixer 2018-11-13 14:28:39 -06:00
Aaron Piotrowski
e306c520f2
Fix using common loop identifier
See amphp/sql-common#1.
2018-11-13 14:24:26 -06:00
Aaron Piotrowski
b30d7d8fdf
Add tests for preparing same query in a pool 2018-11-13 14:23:58 -06:00
Aaron Piotrowski
b7fa576952
Fix simultaneous requests to prepare the same query 2018-10-30 11:12:14 -05:00
Aaron Piotrowski
01f9b5c1c6
Update examples and readme 2018-10-15 10:44:40 -05:00
Aaron Piotrowski
6306f4f13e
Update examples 2018-10-14 10:48:07 -05:00
Aaron Piotrowski
9b51bbe181
Cache StatementPool objects in Pool 2018-10-14 10:36:41 -05:00
Aaron Piotrowski
f536d5211a
Update to tagged amphp/sql and amphp/sql-common 2018-10-14 10:25:44 -05:00
Aaron Piotrowski
f6b4f1a991
Use array_combine() instead of manual iteration 2018-10-13 10:22:23 -05:00
Aaron Piotrowski
237fbf413c
Add guard in pgsql tests if ev is being used 2018-10-13 09:56:46 -05:00
Aaron Piotrowski
dcc8435d84
Update for split of amphp/sql 2018-10-13 09:55:31 -05:00
Aaron Piotrowski
964ec8759b
Fix default Pool constructor parameters 2018-10-01 22:58:35 -05:00
Aaron Piotrowski
4e2ca37608
Update for StatementPool::prepare() 2018-09-26 12:47:08 -05:00
Aaron Piotrowski
3fab12f2bd
Fix default pool() params 2018-09-26 12:45:57 -05:00
prolic
90fae70303 further changes 2018-09-26 09:57:10 -05:00
prolic
0cc05aeeea Need fix after amphp/sql update #2
resolves https://github.com/amphp/postgres/issues/15
2018-09-26 09:57:10 -05:00
prolic
0257a9a43a Need fix after amphp/sql update
resolves https://github.com/amphp/postgres/issues/15
2018-09-26 09:57:10 -05:00
Aaron Piotrowski
19d8e4b9ff
Update for amphp/sql changes 2018-09-26 09:26:49 -05:00
Aaron Piotrowski
16e2b56f20
Fix copy/paste oversight
Updated test to catch error.
2018-08-09 12:31:51 -05:00
Aaron Piotrowski
68775d9b38
Update ConnectionConfig
Added getConnectionString() since it was removed from the base class.
2018-08-07 11:49:28 -05:00
Aaron Piotrowski
8441446563
Extend Pooled* classes in amphp/sql; update tests 2018-07-17 11:20:07 -05:00
Aaron Piotrowski
989fdb7def
Remove listen() from Transaction
Created new interface Receiver for the listen() method that Transaction does not implement. Fixed Transaction implementation.
2018-07-11 17:47:30 -05:00
Aaron Piotrowski
fdf1868cc1
Finalize pool classes 2018-07-11 00:20:22 -05:00
Aaron Piotrowski
53d3f8b074
Remove resetConnections
Moved to constructor argument.
2018-07-10 18:50:11 -05:00
Aaron Piotrowski
667a94531c
Use decorators instead of Operation 2018-07-09 00:10:07 -05:00
Aaron Piotrowski
d9f9071e94
Define listen() in Executor
Added isListening() method to Listener. Transaction gained a listen() method as a result of this change.
2018-07-02 18:58:35 -05:00
Aaron Piotrowski
deaab66cbb
Remove unused exception classes 2018-07-02 18:45:09 -05:00
Aaron Piotrowski
2dd4c45b2a
Restore connection reset functionality in Pool 2018-07-02 18:41:33 -05:00
Aaron Piotrowski
af543dba47
Remove lastUsedAt() from Handle
Unnecessary as it is defined in Executor in amphp/sql.
2018-07-02 18:18:49 -05:00
Chris Wright
660209270d
Fix Transaction; Fix tests; Remove extension repo directories after install on travis 2018-07-01 12:40:23 -05:00
prolic
0472d5d560
Use common SQL interface library 2018-07-01 12:33:12 -05:00
Aaron Piotrowski
996b55fd93
Reintroduce Pool interface 2018-06-27 23:48:16 -05:00
Aaron Piotrowski
9135a282f7
Move isAlive() from Handle to Executor 2018-06-16 09:51:45 -05:00
Aaron Piotrowski
d81f88aa53
Discard statement if pool busy
Also reduced the time that idle statements are retained to avoid saturating the pool. This will help avoid temporary deadlocks from idle statements blocking further operations on the pool.
2018-04-22 23:39:15 -05:00
Aaron Piotrowski
8a6c2ec1e4
Define scripts in composer.json; remove Makefile; fix styles 2018-04-08 21:53:10 -05:00
Aaron Piotrowski
9269fe5a96
Move PooledStatement to Internal namespace 2018-04-08 21:40:39 -05:00
Aaron Piotrowski
6e3f1ac40d
Remove cancellation token from Connector interface
Renamed DefaultConnector to TimeoutConnector, adding a default timeout to connection attempts.
2018-04-08 16:04:14 -05:00
Aaron Piotrowski
a2318e52b9
Avoid stacked PooledStatements 2018-03-30 13:33:51 -05:00
Aaron Piotrowski
97022a4889
Refactor PooledStatement
PooledStatement now holds a collection of statements created from the pool, releasing them at the same frequency as connections are released from the pool.

Added a lastUsedAt() method to Statement.
2018-03-30 11:55:23 -05:00
Aaron Piotrowski
2340e03835
Actually remove backpressure 2018-03-30 09:39:36 -05:00
Aaron Piotrowski
d91f8054ba
Enabled unbuffered queries, but remove backpressure 2018-03-29 23:11:28 -05:00
Aaron Piotrowski
61ea8388af
lib → src 2018-03-26 23:02:35 -05:00
Aaron Piotrowski
dbca58507e
Add Connector interface; make most classes final
Connector added so Pool could be final while adding a way to alter how connections are established. connect() and pool() functions now use the global connector defined by a new function connector().

Some tests were refactored to account for final classes. AbstractPoolTest was removed as the other pool tests covered the same code with similar tests.
2018-03-26 22:08:46 -05:00
Aaron Piotrowski
616da4ac4e
Error if pecl-ev is used with ext-pgsql 2018-02-28 19:00:24 -06:00
Aaron Piotrowski
650d464ef8
Support identifiers with numbers and type casts
Named identifiers in prepared statement queries may now contain (but not begin with) numbers, i.e., :column3.

Type casts are now skipped (i.e., column_name::integer).
2018-02-04 23:06:32 -06:00