Modularised and added Oracle and SQL Server backends #675
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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.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.