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