I've recently tested SQLDelight, Jdbi and terpal-s...
# terpal
c
I've recently tested SQLDelight, Jdbi and terpal-sql to pick one for a new project. I found that SQLDelight -- unlike the others -- does not allow me to use all of SQL, but only the subset they support. They also have trouble keeping their IntelliJ plugin up-to-date (their backing company clearly does not devote the resources to it to keep it current). Jdbi and terpal-sql are truly "just SQL" libs, and thus allow me to write any SQL Postgres can handle. terpal-sql was BY FAR the smallest option in terms of added dependency size. Since it builds on kotlinx.serialization I have moved some other code over to use that JSON lib as well, so I could remove all Moshi/Jackson/kotlin-reflect usage, and drop the total stack size dramatically.
Copy code
1683 KB  kotlin-stdlib-2.1.20.jar
  1510 KB  kotlinx-coroutines-core-jvm-1.8.1.jar
  1063 KB  postgresql-42.7.3.jar
   865 KB  kotlinx-html-jvm-0.11.0.jar
   836 KB  http4k-core-6.9.2.0.jar
   771 KB  okhttp-4.12.0.jar
   648 KB  kotlinx-datetime-jvm-0.6.0.jar
   382 KB  kotlinx-serialization-core-jvm-1.8.1.jar
   351 KB  okio-jvm-3.6.0.jar
   288 KB  config-1.4.1.jar
   270 KB  supabase-http4k.jar
   270 KB  kotlinx-serialization-json-jvm-1.8.1.jar
   246 KB  terpal-sql-core-jvm-2.0.0.PL-1.2.0.jar
   225 KB  checker-qual-3.42.0.jar
   198 KB  terpal-sql-jdbc-jvm-2.0.0.PL-1.2.0.jar
   198 KB  http4k-realtime-core-6.9.2.0.jar
   158 KB  HikariCP-5.1.0.jar
   148 KB  konform-jvm-0.11.0.jar
   106 KB  kotlin-logging-jvm-7.0.7.jar
    96 KB  http4k-format-core-6.9.2.0.jar
    68 KB  slf4j-api-2.0.17.jar
    59 KB  http4k-config-6.9.2.0.jar
    56 KB  http4k-format-kotlinx-serialization-6.9.2.0.jar
    35 KB  atomicfu-jvm-0.23.1.jar
    29 KB  annotations-24.1.0.jar
    28 KB  http4k-client-okhttp-6.9.2.0.jar
    27 KB  result4k-2.22.3.0.jar
    22 KB  terpal-runtime-jvm-2.1.0-2.0.0.PL.jar
    15 KB  slf4j-simple-2.0.17.jar
     0 KB  kotlin-stdlib-jdk8-1.9.10.jar
     0 KB  kotlin-stdlib-jdk7-1.9.10.jar
---------------
TOTAL: 11M build/distributions/supabase-http4k.tar