-
Notifications
You must be signed in to change notification settings - Fork 26
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Modularised and added Oracle and SQL Server backends #675
Conversation
+ Split sql module into sql-core and sql-pg, the latter containing Postgres specfics shared by doobie-pg and skunk. + Split off doobie-core from doobie-pg removing all Postgres specfics from the former. + Factored out all Postgres specifics from SqlMapping. + Reduced the use of lateral subqueries to a minimum. + Simplified SqlSelect nesting logic. + Avoid nested conditions being captured by predicate subqueries. + SkunkMapping now instantiated with a Session rather than a session Resource to avoid resource lifecycle on every query. + Replaced whale-tail with call outs to docker-compose allowing container to be shared by all suites across multiple test runs.
This is great news! While checking out this PR, I noticed the following: |
Added checks for exit code 0
Agreed ... I'll add a note in the README. |
@tpolecat Skunk changes made ... @phdoerfler docs updated ... |
👍's from @tpolecat, @CamiloMorales and @phdoerfler ... |
sql
module intosql-core
andsql-pg
, the latter containing Postgres specfics shared bydoobie-pg
andskunk
.doobie-core
fromdoobie-pg
removing all Postgres specfics from the former.SqlMapping
.SqlSelect
nesting logic.update: this turned out to be a Bad Idea and has been reverted.SkunkMapping
now instantiated with aSession
rather than a sessionResource
to avoid resource lifecycle on every query.whale-tail
with call outs todocker-compose
allowing container to be shared by all suites across multiple test runs.Running tests (eg.
rootJVM/test
) will automatically spin up the relevant containers, which will stay up and can be reused across multiple tests runs, significantly speeding up the test cycle. I recommend runningallUp
initially, to pull images and initialise databases, before running tests the first time. Note that Oracle in particular takes quite a long time to initialise, so expectallUp
to take several minutes to complete the first time around.There have been some changes in compilation of queries for Postgres, primarily a reduction in the usage of lateral subqueries (partly to simplify the implementation for SQL Server, which has a subtly different mechanism for achieving similar effects). These changes should preserve expected results, and reports of any changes in behaviour, including performance regressions, would be very much appreciated.