Skip to content
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

v0.5.0 release #20

Merged
merged 75 commits into from
Nov 30, 2024
Merged

v0.5.0 release #20

merged 75 commits into from
Nov 30, 2024

Conversation

ShreckYe
Copy link
Member

No description provided.

…workflow, with code copied and adapted from "exposed-adt-mapping"

A source commit: huanshankeji/exposed-gadt-mapping@18800b7
Deploy the API documentation to GitHub Pages with Dokka
…er` and see if there is a need to replace some `UpdateBuilder<*>` with `UpdateBuilder<Int>`

`T` seems to mean the update count. Currently, there are only `Int` type arguments passed, but it seems reserved for `Long`.
Resolve #8

Some functions' signatures are changed so binary compatibility is not maintained. The project version is bumped BTW.
…pper" prefixes

Resolve #6

Two "delete" functions were mistakenly added in this file and its `com.huanshankeji.exposedvertxsqlclient.sql.mapping` package, and are now moved out into `com.huanshankeji.exposedvertxsqlclient.sql`. A TODO is removed with its content moved into README.md.
…nd benchmark code into the module "integrated"

IntelliJ IDEA Code Analysis shows there are 5 errors.
…gConnection` for different DBs, replacing them with `Pool` and `Connection`

A new `withTypedTransaction` function is added and `withPgTransaction` is moved into the `postgresql` package.
Major changes:

1. move some code to finer-grained subpackages
1. initially overhaul the APIs related to the creation of Vert.x SQL clients and `DatabaseClient`s

   The `create...andSetRole` functions are removed, and their functionalities are merged into the `create...` functions.

1. add TODOs as guidance for the remaining work
Split modules, completely overhaul the client creation APIs, and decouple PostgreSQL, our SQL DSL APIs, and our mapper SQL DSL APIs
…d v0.56.0 to resolve some binary incompatibilities as found out in internal projects, and update README.md to remind people about the Exposed version
…y` because the following error occurs probably when calling `withTransaction` in an internal project:

```
Cannot acquire a connection on a pipelined pool
io.vertx.core.impl.NoStackTraceThrowable: Cannot acquire a connection on a pipelined pool
```
…nBlocking` as a comparison for `TransactionBenchmark`
…nd an Ubuntu PC with AMD Ryzen™ 3900X, add more warmup and measurement iterations because the results are unstable, and rerun

The benchmark results of both show that with `runBlocking`: no dispatcher argument > `Dispatchers.Default` > `newSingleThreadContext` > `Dispatchers.IO`. The Mac with a lower Geekbench multi-core score generally outperforms the Ubuntu PC, except for the one with `Dispatchers.IO`, which is interesting.
…update the example code with 3 different kinds of `SqlClient`s
Some conclusions:
1. Calling `runBlocking` without a `CoroutineContext` should be equivalent to calling it with `Dispatchers.Unconfined`, both of which run on the original single thread of the caller.
1. Awaiting empty `async`s is dependent on single-core performance.
1. Both `Dispatchers.Default` and `Dispatchers.IO` utilize all the cores for computation.
1. `await` is much heavier on `Dispatchers.IO`.
1. `await` is lightest when calling `runBlocking` without a `CoroutineContext` or on `Dispatchers.Unconfined`.
Depend on snapshots, adapt to the new Exposed DSL, split modules, and completely overhaul the client creation APIs
@ShreckYe ShreckYe merged commit 0ee7a21 into release Nov 30, 2024
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant