This commit introduces Coroutines support for `DatabaseClient`
functional API via Kotlin extensions that provide suspendable
functions prefixed by `await` for `Mono` based APIs.
Extensions for `Flux` will be added when Kotlin/kotlinx.coroutines#254
will be fixed.
It also provides `asType<Foo>()` extensions useful for Reactive API
as well.
Original pull request: #63.
We now provide dialect support for H2, PostgreSQL, and Microsoft SQL Server databases, configurable through AbstractR2dbcConfiguration. By default, we obtain the Dialect by inspecting ConnectionFactoryMetadata to identify the database and the most likely dialect to use.
BindableOperation encapsulates statements/queries that can accept parameters. Use BindableOperation for statements through DatabaseClient.
Extract SQL creation.
Split integration test into abstract base class that can be implemented with a database-specific test class.
Original pull request: #24.