From 60a57b6b156a8a6ddaa8fc6b7fa5420c76c3a4da Mon Sep 17 00:00:00 2001 From: Lukas Eder Date: Thu, 17 Oct 2024 12:47:55 +0200 Subject: [PATCH] [jOOQ/jOOQ#7539] Improved GENERATE_SERIES() / NUMBERS() support - Step is now supported by ClickHouse - Fix off-by-1 errors - Fix data types --- jOOQ/src/main/java/org/jooq/impl/GenerateSeries.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/jOOQ/src/main/java/org/jooq/impl/GenerateSeries.java b/jOOQ/src/main/java/org/jooq/impl/GenerateSeries.java index 5dc7131475..4fb006200f 100644 --- a/jOOQ/src/main/java/org/jooq/impl/GenerateSeries.java +++ b/jOOQ/src/main/java/org/jooq/impl/GenerateSeries.java @@ -184,10 +184,10 @@ implements visitSubquery( ctx, step == null - ? select(DSL.field(unquotedName("number"), INTEGER).as(name)) - .from(table("{0}({1}, {2})", N_NUMBERS, from, iadd(isub(to, from), one()))) - : select(iadd(imul(isub(DSL.field(unquotedName("number"), INTEGER), one()), step), from).as(name)) - .from(table("{0}({1}, {2})", N_NUMBERS, one(), idiv(to, step).cast(BIGINT))), + ? select(DSL.field(unquotedName("number"), INTEGER).cast(INTEGER).as(name)) + .from(table("{0}({1}, {2})", N_NUMBERS, from, iadd(to, one()))) + : select(DSL.field(unquotedName("number"), INTEGER).cast(INTEGER).as(name)) + .from(table("{0}({1}, {2}, {3})", N_NUMBERS, from, iadd(to, one()), step)), DERIVED_TABLE ); }