Browse Source

Use the new Exposed SELECT DSL in the "ktor-exposed" benchmarks, and bump the Exposed version to the latest (#9375)

Add `--no-daemon` to the Dockerfile Gradle commands BTW.
Shreck Ye 9 tháng trước cách đây
mục cha
commit
de4bda3ab7

+ 1 - 1
frameworks/Kotlin/ktor/ktor-exposed-dao.dockerfile

@@ -3,7 +3,7 @@ FROM gradle:jdk17
 WORKDIR /ktor-exposed
 COPY ktor-exposed/settings.gradle.kts settings.gradle.kts
 COPY ktor-exposed/app app
-RUN gradle shadowJar
+RUN gradle --no-daemon shadowJar
 
 EXPOSE 8080
 

+ 1 - 1
frameworks/Kotlin/ktor/ktor-exposed-dsl.dockerfile

@@ -3,7 +3,7 @@ FROM gradle:jdk17
 WORKDIR /ktor-exposed
 COPY ktor-exposed/settings.gradle.kts settings.gradle.kts
 COPY ktor-exposed/app app
-RUN gradle shadowJar
+RUN gradle --no-daemon shadowJar
 
 EXPOSE 8080
 

+ 1 - 1
frameworks/Kotlin/ktor/ktor-exposed/app/build.gradle.kts

@@ -11,7 +11,7 @@ repositories {
 
 val ktorVersion = "2.3.12"
 val kotlinxSerializationVersion = "1.6.3"
-val exposedVersion = "0.52.0"
+val exposedVersion = "0.56.0"
 
 dependencies {
     implementation("io.ktor:ktor-server-core:$ktorVersion")

+ 6 - 3
frameworks/Kotlin/ktor/ktor-exposed/app/src/main/kotlin/App.kt

@@ -19,9 +19,12 @@ import org.jetbrains.exposed.dao.IntEntity
 import org.jetbrains.exposed.dao.IntEntityClass
 import org.jetbrains.exposed.dao.id.EntityID
 import org.jetbrains.exposed.dao.id.IdTable
-import org.jetbrains.exposed.sql.*
+import org.jetbrains.exposed.sql.Database
+import org.jetbrains.exposed.sql.ResultRow
 import org.jetbrains.exposed.sql.SqlExpressionBuilder.eq
+import org.jetbrains.exposed.sql.Transaction
 import org.jetbrains.exposed.sql.transactions.transaction
+import org.jetbrains.exposed.sql.update
 import java.util.concurrent.ThreadLocalRandom
 
 @Serializable
@@ -82,7 +85,7 @@ fun Application.module(exposedMode: ExposedMode) {
 
     routing {
         fun selectWorldsWithIdQuery(id: Int) =
-            WorldTable.slice(WorldTable.id, WorldTable.randomNumber).select(WorldTable.id eq id)
+            WorldTable.select(WorldTable.id, WorldTable.randomNumber).where(WorldTable.id eq id)
 
         fun ResultRow.toWorld() =
             World(this[WorldTable.id].value, this[WorldTable.randomNumber])
@@ -129,7 +132,7 @@ fun Application.module(exposedMode: ExposedMode) {
         get("/fortunes") {
             val result = withDatabaseContextAndTransaction {
                 when (exposedMode) {
-                    Dsl -> FortuneTable.slice(FortuneTable.id, FortuneTable.message).selectAll()
+                    Dsl -> FortuneTable.select(FortuneTable.id, FortuneTable.message)
                         .asSequence().map { it.toFortune() }
 
                     Dao -> FortuneDao.all().asSequence().map { it.toFortune() }