New
v3.6.0
Infrastructure
- Upgrade Kotlin version to 1.7.22, support latest JDK versions (min 8, max 19)
- Support Java 9 modular #421
Support SQL Window Functions, by @michaelfyc in #460
Ktorm now supports SQL window functions, here is an example:
database
.from(Employees)
.select(
Employees.name,
Employees.salary,
Employees.departmentId,
rank().over { partitionBy(Employees.departmentId).orderBy(Employees.salary.desc()) }
)
Generated SQL:
SELECT
"t_employee"."name" AS "t_employee_name",
"t_employee"."salary" AS "t_employee_salary",
"t_employee"."department_id" AS "t_employee_department_id",
RANK() OVER (PARTITION BY "t_employee"."department_id" ORDER BY "t_employee"."salary" DESC)
FROM "t_employee"
Support Case-When DSL, by @zuisong in #413
Ktorm now supports case-when DSL, for example:
database
.from(Employees)
.select(
Employees.id,
Employees.name,
CASE(Employees.sex).WHEN(1).THEN("male").WHEN(2).THEN("female").ELSE("unknown").END()
)