* `chai` is no longer global
* sinon is no longer globally defined
* expect(..) is no longer defined globally
* Removed obsolete eslint hints about globals
* Removed unused variable ( `expect(..)` )
The underlying issue was that query *always* committed, even during a transaction. The previous fix was to just disable commitAsync in a transaction but then that also disabled explicit commit calls. Instead, this fix disables query's commits during transactions so that explicit commits still work.
* Fixed some of the tests failing with various dialect combinations
* Setup all test databases to run in docker
* Fixed test suite and updated travis to use docker
* Fixed some tests in master and disabled oracle tests while setting everything else to work again
* Changed docker to use latest postgresql alpine image
* Re-enabled all oracledb tests
* Install oracle client libs to oracle server and copy them to travis to make node oracledb package to work
* Disabled random failing oracle tests and added test to show that oracle update in transaction does not seem to work ACID
* Update package.json
* Update package.json
* Fixed linting issues
* Fixed waiting for postgres to use the same DB image that database is using.
* Removed installing oracledb driver in travis if not needed .travis.yml
* Cleaned up package.json more
* Created static name for oracledb container to allow copying files out of it on different docker versions
* Removed webpack from deps
* Implement fail-fast logic for dialect resolution, clean-up code around.
* Remove method that was deprecated long time ago
* Address additional comments
* Try addressing comments
* Set client explicitly
* Fix compatibility with older Node versions
* Normalized and validated driverNames of test db clients and fixed oracle test setup
* Fixed failed queries from old query building tests which hadn't been ran in ages
* Allow selecting node version which is used to run oracledb docker tests
* Improved sql tester error messages
* Fixed rest of the oracledb tests
* Removed invalid flag from docker-compose
* Print mssql logs if initialization fails
* Fixed syntax error + final tests
* Added restart of failure for mssql DB initialization to try again if server was not ready
* Printout always mssql logs after container is started
* Fixed wait time printing after trying to connect
* Use npm run oracledb:test for testing oracle in travis
* Fix knex.initialize() and adds test
* Fix knex.initialize() and adds test
* Added test for reinitializing pool after destroy
* Fixed destroy / reinitialization test
* Fixed the fix
* replace generic-pool with Tarn
* fix bug where mariadb client didn't propagate connection errors to pool
* destroy connection if a query times out (and cancellation is not enabled)
Before this change, when a query timeout happened without { cancel: true }
the connection was immediately released back to the pool. If the query
timed out because of a time consuming query, the released connection would
still execute the query to its end and the connection would be useless until
that time. This commit marks the connection as disposed so that the pool never
again gives that connection to anyone, and destorys it in the near future.
* fix a weird database version dependent casing bug in a tests
* fix an unstable test that failed randomly because the query order was not guaranteed
Beefed up transaction implementation, still needs tests
and cleanup of nested transaction queues.
Left todo:
- Fix commented out tests
- Fix oracle driver's transactions