* fix wrapIdentifier not being called in postgres alter column
* add test for wrapIdentifier call in postgres alter column
* add comment regarding issue
* add issue & PR #'s in comment
While in theory, this may reduce the bundle size,
in practice it adds a ton of overhead during startup
due to the number of additional requires. Bundle
size also shouldn't matter for server side modules.
* Add test for precise timestamps schema building
* Create precise timestamp columns on MySQL 5.6+
* Increase precision of timestamps to microsecond
- Six is the maximum that it supports and there's no reason not to use
the maximum available precision.
* Add warning when version is not specified in MySQL
* Update warning message when missing mysql version
* Add a Redshift dialect that inherits from Postgres.
* Turn .index() and .dropIndex() into no-ops with warnings in the Redshift dialect.
* Update the Redshift dialect to be compatible with master.
* Update package.json
* Disable liftoff cli
* Remove the CLI
* Add lib to the repo
* Allow the escaping of named bindings.
* Update dist
* Update the Redshift dialect’s instantiation of the query and column compilers.
* Update the distribution
* Fix a merge conflict
* Take lib back out
* Trying to bring back in line with tgreisser/knex
* Add npm 5 package-lock
* Bring cli.js back in line
* Bring cli.js back in line
* Progress commit on redshift integration tests
* Revert "Progress commit on redshift integration tests"
This reverts commit 207e31635c638853dec54ce0580d34559ba5a54c.
* Progress commit
* Working not null on primary columns in createTable
* Working redshift unit tests
* Working unit and integration tests, still need to fix migration tests
* Brought datatypes more in line with what redshift actually supports
* Added query compiler unit tests
* Add a hacky returning clause for redshift ugh
* Working migration integration tests
* Working insert integration tests
* Allow multiple insert returning values
* Working select integration tests
* Working join integration tests
* Working aggregate integration tests
* All integration suite tests working
* Put docker index for reconnect tests back
* Redshift does not support insert...returning, there does not seem to be a way around that, therefore accept it and test accordingly
* Leave redshift integration tests in place, but do not run them by default
* Fix mysql order by test
* Fix more tests
* Change test db name to knex_test for consistency
* Address PR comments
* Sublime Text gitignore
* Redshift does not support adding more than one column in alter table
* Fix integration tests for redshift
* Linter
* Combine dialect test skip if clause
* GH-2550 Add support to wrap returning column
- utilize `this.formatter.wrap` for every columnName in returningClause
* #2550 Add unit test
* Fix unit test
* test(QueryBuilder): add test for countDistinct with multiple columns
* test: add integration test for countDistinct with multiple columns
* feat(QueryBuilder): support multiple columns for countDistinct
* feat(QueryBuilder): support object alias notation for aggregate methods
i.e. `count`, `countDistinct`, `max`, `min`, `avg`, `avgDistinct`, `sum`, `sumDistinct`
* test: fix integration tests for countDistinct
* fix(QueryBuilder): fix countDistinct formatting with multiple columns
* refactor(QueryBuilder): add _aggregate from helpers
* fix(QueryCompiler): only use parens for distinct with postgres
* test(QueryBuilder): remove unsupported tests
for count with multiple distinct columns in databases where this is
not supported
* refactor(QueryBuilder): improve readability
* Support multi-column `whereIn` with query
Add support for supplying a subquery for a `whereIn` statment on multiple columns.
Fixes#1384.
* Fixed method
* Removed duplicate import
* Fixed isArray calls and linter warnings
* Fixed isArray call
* Fixed tests and added assertions for all dialects
* Run SQL Server tests locally running SQL server in docker
* Made oracledb test script naming consistent with mssql
* Updated documentation with more info about oracledb and mssql testing
* Checks for an empty, undefined or null object on transacting
Fixes https://github.com/tgriesser/knex/issues/2079
Those values indicates that the developer probably made a mistake.
* Fix message assertions
Currently stress tests are run locally manually, but CI could be set up to run them for a few minutes and record request counts and memory usage during tests.
* Added stress test, which uses TCP proxy to simulate flaky connections
* Added test code for mysql and mariadb drivers
* Dropped trying to figure out support for mariasql driver
* Bunch of tests to make knex fail if connections are breaking randomly
* Added marker to printout logs before app crash
* Fixed mysql acquire connection and destroy conneciton code
Acquire connection did bind error handler too late and didn't free it on success. Destroy did free event listeners before connection end was called, so error during connection end leaked out.