diff --git a/jooq-dialect/CHANGELOG.md b/jooq-dialect/CHANGELOG.md
index 617da11..4079b1e 100644
--- a/jooq-dialect/CHANGELOG.md
+++ b/jooq-dialect/CHANGELOG.md
@@ -1,8 +1,11 @@
+## 1.1.0 ##
+- Upgrade to new version of JDBC & SDK
+
## 1.0.1 ##
- Fixed bug with `useIndex` - skip the table name (`from view`)
## 1.0.0 ##
-- `REPLACE` / `UPSERT` builders from YDB
+- `REPLACE` / `UPSERT` builders from YDB
- Supported VIEW INDEX from `useIndex("index_name")` HintedTable
- Generated tables from schema
diff --git a/jooq-dialect/README.md b/jooq-dialect/README.md
index 543501d..b72cc14 100644
--- a/jooq-dialect/README.md
+++ b/jooq-dialect/README.md
@@ -1,5 +1,5 @@
[](https://github.com/ydb-platform/ydb-java-dialects/blob/main/LICENSE.md)
-[](https://mvnrepository.com/artifact/tech.ydb.dialects/jooq-ydb-dialect)
+[](https://mvnrepository.com/artifact/tech.ydb.dialects/jooq-ydb-dialect)
[](https://github.com/ydb-platform/ydb-java-dialects/actions/workflows/ci-jooq-dialect.yaml)
# YDB JOOQ Dialect
diff --git a/jooq-dialect/pom.xml b/jooq-dialect/pom.xml
index ae9677f..edf91b3 100644
--- a/jooq-dialect/pom.xml
+++ b/jooq-dialect/pom.xml
@@ -4,7 +4,7 @@
tech.ydb.dialects
jooq-ydb-dialect
- 1.0.1
+ 1.1.0
YDB JOOQ Dialect module
YDB JOOQ Dialect module
@@ -52,8 +52,8 @@
3.19.0
- 2.2.6
- 2.2.3
+ 2.3.8
+ 2.3.7
diff --git a/jooq-dialect/src/main/java/tech/ydb/jooq/codegen/YdbDatabase.java b/jooq-dialect/src/main/java/tech/ydb/jooq/codegen/YdbDatabase.java
index 6c5efd2..2282e02 100644
--- a/jooq-dialect/src/main/java/tech/ydb/jooq/codegen/YdbDatabase.java
+++ b/jooq-dialect/src/main/java/tech/ydb/jooq/codegen/YdbDatabase.java
@@ -1,9 +1,15 @@
package tech.ydb.jooq.codegen;
+import java.math.BigDecimal;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+
import org.jooq.*;
import org.jooq.impl.DSL;
import org.jooq.meta.*;
import org.jooq.tools.JooqLogger;
+
import tech.ydb.jdbc.YdbConnection;
import tech.ydb.jdbc.context.SchemeExecutor;
import tech.ydb.jdbc.context.YdbContext;
@@ -17,11 +23,6 @@
import tech.ydb.table.description.TableIndex;
import tech.ydb.table.settings.DescribeTableSettings;
-import java.math.BigDecimal;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-
public class YdbDatabase extends AbstractDatabase implements ResultQueryDatabase {
private static final JooqLogger log = JooqLogger.getLogger(YdbDatabase.class);
@@ -39,7 +40,7 @@ private YdbContext getContext() {
}
private String getDatabaseName() {
- return getContext().getDatabase().substring(1);
+ return getContext().getPrefixPath().substring(1);
}
@Override
diff --git a/jooq-dialect/src/main/java/tech/ydb/jooq/codegen/YdbTableDefinition.java b/jooq-dialect/src/main/java/tech/ydb/jooq/codegen/YdbTableDefinition.java
index 5672c10..026a611 100644
--- a/jooq-dialect/src/main/java/tech/ydb/jooq/codegen/YdbTableDefinition.java
+++ b/jooq-dialect/src/main/java/tech/ydb/jooq/codegen/YdbTableDefinition.java
@@ -6,6 +6,7 @@
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.List;
+
import org.jooq.Binding;
import org.jooq.JSON;
import org.jooq.JSONB;
@@ -20,7 +21,7 @@
import org.jooq.types.UInteger;
import org.jooq.types.ULong;
import org.jooq.types.UShort;
-import tech.ydb.jdbc.YdbConst;
+
import tech.ydb.jdbc.impl.YdbTypes;
import tech.ydb.jooq.binding.DateBinding;
import tech.ydb.jooq.binding.DatetimeBinding;
@@ -36,6 +37,7 @@
import tech.ydb.jooq.value.YSON;
import tech.ydb.table.description.TableColumn;
import tech.ydb.table.description.TableDescription;
+import tech.ydb.table.values.DecimalType;
import tech.ydb.table.values.Type;
public class YdbTableDefinition extends AbstractTableDefinition {
@@ -71,7 +73,7 @@ protected List getElements0() {
kind = type.getKind();
}
- int decimalDigits = kind == Type.Kind.DECIMAL ? YdbConst.SQL_DECIMAL_DEFAULT_PRECISION : 0;
+ int decimalDigits = kind == Type.Kind.DECIMAL ? ((DecimalType) type).getPrecision(): 0;
String typeName = type.toString();
Class extends Binding, ?>> binding = getBinding(typeName);
diff --git a/jooq-dialect/src/test/java/tech/ydb/jooq/BaseTest.java b/jooq-dialect/src/test/java/tech/ydb/jooq/BaseTest.java
index cf6086f..b1fbc99 100644
--- a/jooq-dialect/src/test/java/tech/ydb/jooq/BaseTest.java
+++ b/jooq-dialect/src/test/java/tech/ydb/jooq/BaseTest.java
@@ -14,6 +14,7 @@
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.extension.RegisterExtension;
+
import tech.ydb.test.junit5.YdbHelperExtension;
public abstract class BaseTest {
@@ -66,7 +67,7 @@ protected static List getExampleDateRecords() {
public static void beforeAll() {
dsl = YDB.using(jdbcUrl());
- dsl.createTable("series")
+ dsl.createTableIfNotExists("series")
.column("series_id", YdbTypes.UINT64)
.column("title", YdbTypes.UTF8)
.column("series_info", YdbTypes.UTF8)
@@ -74,7 +75,7 @@ public static void beforeAll() {
.primaryKey("series_id")
.execute();
- dsl.createTable("seasons")
+ dsl.createTableIfNotExists("seasons")
.column("series_id", YdbTypes.UINT64)
.column("season_id", YdbTypes.UINT64)
.column("title", YdbTypes.UTF8)
@@ -83,7 +84,7 @@ public static void beforeAll() {
.primaryKey("series_id", "season_id")
.execute();
- dsl.createTable("episodes")
+ dsl.createTableIfNotExists("episodes")
.column("series_id", YdbTypes.UINT64)
.column("season_id", YdbTypes.UINT64)
.column("episode_id", YdbTypes.UINT64)
@@ -92,7 +93,7 @@ public static void beforeAll() {
.primaryKey("series_id", "season_id", "episode_id")
.execute();
- dsl.createTable("hard_table")
+ dsl.createTableIfNotExists("hard_table")
.column("id", YdbTypes.STRING)
.column("first", YdbTypes.JSON)
.column("second", YdbTypes.JSONDOCUMENT)
@@ -100,7 +101,7 @@ public static void beforeAll() {
.primaryKey("id")
.execute();
- dsl.createTable("date_table")
+ dsl.createTableIfNotExists("date_table")
.column("id", YdbTypes.UINT64)
.column("int_col", YdbTypes.INT32)
.column("percent", YdbTypes.DOUBLE)
@@ -112,7 +113,7 @@ public static void beforeAll() {
.primaryKey("id")
.execute();
- CreateTableElementListStep createQuery = dsl.createTable("numeric").column("id", YdbTypes.INT32);
+ CreateTableElementListStep createQuery = dsl.createTableIfNotExists("numeric").column("id", YdbTypes.INT32);
for (int i = 1; i <= 23; i++) {
createQuery.column(Integer.toString(i), YdbTypes.INT32);