From bd9b7543567cfcc2895d8bb3e1b2d8bdfae8c55d Mon Sep 17 00:00:00 2001 From: MohamedSabthar Date: Tue, 29 Oct 2024 11:05:12 +0530 Subject: [PATCH 1/8] Improve query performance --- .../sql/datasource/SQLWorkerThreadPool.java | 32 ++++++++++++++++++- 1 file changed, 31 insertions(+), 1 deletion(-) diff --git a/native/src/main/java/io/ballerina/stdlib/sql/datasource/SQLWorkerThreadPool.java b/native/src/main/java/io/ballerina/stdlib/sql/datasource/SQLWorkerThreadPool.java index e1443075..4eb40c84 100644 --- a/native/src/main/java/io/ballerina/stdlib/sql/datasource/SQLWorkerThreadPool.java +++ b/native/src/main/java/io/ballerina/stdlib/sql/datasource/SQLWorkerThreadPool.java @@ -20,6 +20,7 @@ import java.util.concurrent.ExecutorService; import java.util.concurrent.LinkedBlockingQueue; +import java.util.concurrent.RejectedExecutionHandler; import java.util.concurrent.ThreadFactory; import java.util.concurrent.ThreadPoolExecutor; import java.util.concurrent.TimeUnit; @@ -41,7 +42,8 @@ private SQLWorkerThreadPool() { // This is similar to cachedThreadPool util from Executors.newCachedThreadPool(..); but with upper cap on threads public static final ExecutorService SQL_EXECUTOR_SERVICE = new ThreadPoolExecutor(0, MAX_POOL_SIZE, - 60L, TimeUnit.SECONDS, new LinkedBlockingQueue<>(), new SQLThreadFactory()); + 60L, TimeUnit.SECONDS, new BlockingTaskQueue(), new SQLThreadFactory(), + new RetryTaskRejectionPolicy()); static class SQLThreadFactory implements ThreadFactory { @Override @@ -51,4 +53,32 @@ public Thread newThread(Runnable r) { return ballerinaSql; } } + + + static class BlockingTaskQueue extends LinkedBlockingQueue { + private static final long serialVersionUID = 1L; + + @Override + public boolean offer(Runnable task) { + // By returning false, we signal the ThreadPoolExecutor to bypass this queue and attempt to + // spawn a new thread if it hasn't reached the maximum pool size. This approach favors creating + // new threads over queuing tasks, thereby enabling more aggressive parallelism. + return false; + } + + public void retryTask(Runnable task) { + if (!super.offer(task)) { + throw new IllegalStateException("Failed to requeue task: " + task); + } + } + } + + static class RetryTaskRejectionPolicy implements RejectedExecutionHandler { + @Override + public void rejectedExecution(Runnable task, ThreadPoolExecutor executor) { + if (executor.getQueue() instanceof BlockingTaskQueue cbq) { + cbq.retryTask(task); + } + } + } } From 16c56c677abb5f2827d21bd2b75fddc3c09168f8 Mon Sep 17 00:00:00 2001 From: Sumudu Nissanka Date: Wed, 6 Nov 2024 19:35:24 +0530 Subject: [PATCH 2/8] Update gradle.properties --- gradle.properties | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/gradle.properties b/gradle.properties index 8d15e091..80bbc762 100644 --- a/gradle.properties +++ b/gradle.properties @@ -14,7 +14,7 @@ researchgateReleaseVersion=2.8.0 testngVersion=7.6.1 ballerinaGradlePluginVersion=2.0.1 -ballerinaLangVersion=2201.10.0 +ballerinaLangVersion=2201.11.0-20241008-112400-81975006 # Direct Dependencies # Level 01 @@ -48,11 +48,12 @@ stdlibUuidVersion=1.8.0 # Level 04 stdlibAuthVersion=2.12.0 +stdlibDataJsonDataVersion=0.3.0-20241105-101100-661d11f stdlibJwtVersion=2.13.0 stdlibOAuth2Version=2.12.0 # Level 05 -stdlibHttpVersion=2.12.0 +stdlibHttpVersion=2.13.0-20241106-120000-d375c3b # Level 06 stdlibTransactionVersion=1.10.0 From ac57af457d5a92a2982bd44b2bc3d8f05fcc75eb Mon Sep 17 00:00:00 2001 From: Sumudu Nissanka Date: Wed, 6 Nov 2024 19:35:55 +0530 Subject: [PATCH 3/8] Update Ballerina.toml --- build-config/resources/Ballerina.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build-config/resources/Ballerina.toml b/build-config/resources/Ballerina.toml index 63cfb32d..69dcaee3 100644 --- a/build-config/resources/Ballerina.toml +++ b/build-config/resources/Ballerina.toml @@ -7,7 +7,7 @@ keywords = ["database", "client", "network", "SQL", "RDBMS"] repository = "https://github.com/ballerina-platform/module-ballerina-sql" icon = "icon.png" license = ["Apache-2.0"] -distribution = "2201.10.0" +distribution = "2201.11.0" [platform.java17] graalvmCompatible = true From 558020e53141cf7552013a525ff3ebe769cd0b98 Mon Sep 17 00:00:00 2001 From: Sumudu Nissanka Date: Wed, 6 Nov 2024 19:36:35 +0530 Subject: [PATCH 4/8] Update build.gradle --- build.gradle | 1 + 1 file changed, 1 insertion(+) diff --git a/build.gradle b/build.gradle index 463fef58..e8e20c07 100644 --- a/build.gradle +++ b/build.gradle @@ -87,6 +87,7 @@ subprojects { ballerinaStdLibs "io.ballerina.stdlib:http-ballerina:${stdlibHttpVersion}" ballerinaStdLibs "io.ballerina.stdlib:observe-ballerina:${observeVersion}" ballerinaStdLibs "io.ballerina:observe-ballerina:${observeInternalVersion}" + ballerinaStdLibs "io.ballerina.lib:data.jsondata-ballerina:${stdlibDataJsonDataVersion}" externalJars (group: 'com.zaxxer', name: 'HikariCP', version: "${hikkariLibVersion}") { transitive = false From 460faf8bb029bf7d2955edb03775fa97a8deea07 Mon Sep 17 00:00:00 2001 From: Sumudu Nissanka Date: Thu, 7 Nov 2024 13:47:22 +0530 Subject: [PATCH 5/8] Update gradle.properties with next minor version --- gradle.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle.properties b/gradle.properties index 80bbc762..04407c58 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,5 +1,5 @@ group=io.ballerina.stdlib -version=1.14.2-SNAPSHOT +version=1.15.0-SNAPSHOT puppycrawlCheckstyleVersion=10.12.1 hikkariLibVersion=3.3.1 From 100d3d9f17a6afd6c1b2a34b6befb20dd5df6ec4 Mon Sep 17 00:00:00 2001 From: Gimantha Bandara Date: Tue, 12 Nov 2024 17:34:38 +0530 Subject: [PATCH 6/8] Update gradle.properties --- gradle.properties | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gradle.properties b/gradle.properties index 04407c58..af4c9e7b 100644 --- a/gradle.properties +++ b/gradle.properties @@ -14,7 +14,7 @@ researchgateReleaseVersion=2.8.0 testngVersion=7.6.1 ballerinaGradlePluginVersion=2.0.1 -ballerinaLangVersion=2201.11.0-20241008-112400-81975006 +ballerinaLangVersion=2201.11.0-20241112-150200-c9ee85f3 # Direct Dependencies # Level 01 @@ -56,4 +56,4 @@ stdlibOAuth2Version=2.12.0 stdlibHttpVersion=2.13.0-20241106-120000-d375c3b # Level 06 -stdlibTransactionVersion=1.10.0 +stdlibTransactionVersion=1.10.1-20241111-173000-7b2f40c From 625d1acaa9d1bf17e0b7d04f8d74ddcc8064311b Mon Sep 17 00:00:00 2001 From: Gimantha Bandara Date: Wed, 13 Nov 2024 09:45:48 +0530 Subject: [PATCH 7/8] Revert "Update gradle.properties" --- gradle.properties | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gradle.properties b/gradle.properties index af4c9e7b..04407c58 100644 --- a/gradle.properties +++ b/gradle.properties @@ -14,7 +14,7 @@ researchgateReleaseVersion=2.8.0 testngVersion=7.6.1 ballerinaGradlePluginVersion=2.0.1 -ballerinaLangVersion=2201.11.0-20241112-150200-c9ee85f3 +ballerinaLangVersion=2201.11.0-20241008-112400-81975006 # Direct Dependencies # Level 01 @@ -56,4 +56,4 @@ stdlibOAuth2Version=2.12.0 stdlibHttpVersion=2.13.0-20241106-120000-d375c3b # Level 06 -stdlibTransactionVersion=1.10.1-20241111-173000-7b2f40c +stdlibTransactionVersion=1.10.0 From c967a90806e7517348e74ad7cec1aba13545e94c Mon Sep 17 00:00:00 2001 From: warunalakshitha Date: Sat, 16 Nov 2024 12:10:07 +0530 Subject: [PATCH 8/8] Migrate to new runtime APIs --- gradle.properties | 42 +++++++++---------- .../stdlib/sql/datasource/PoolKey.java | 2 +- .../stdlib/sql/nativeimpl/CallProcessor.java | 4 +- .../sql/nativeimpl/OutParameterProcessor.java | 2 +- .../stdlib/sql/nativeimpl/QueryProcessor.java | 4 +- .../AbstractStatementParameterProcessor.java | 2 +- .../DefaultResultParameterProcessor.java | 4 +- .../DefaultStatementParameterProcessor.java | 2 +- .../sql/utils/ProcedureCallResultUtils.java | 2 +- .../io/ballerina/stdlib/sql/utils/Utils.java | 4 +- .../io/ballerina/stdlib/sql/TestUtils.java | 4 +- .../nativeimpl/OutParameterProcessorTest.java | 2 +- .../DefaultResultParameterProcessorTest.java | 2 +- ...efaultStatementParameterProcessorTest.java | 2 +- 14 files changed, 39 insertions(+), 39 deletions(-) diff --git a/gradle.properties b/gradle.properties index 096416d6..07db3715 100644 --- a/gradle.properties +++ b/gradle.properties @@ -14,47 +14,47 @@ researchgateReleaseVersion=2.8.0 testngVersion=7.6.1 ballerinaGradlePluginVersion=2.0.1 -ballerinaLangVersion=2201.11.0-20241008-112400-81975006 +ballerinaLangVersion=2201.11.0-20241112-214900-6b80ab87 # Direct Dependencies # Level 01 -stdlibIoVersion=1.6.2-20240928-084100-656404f -stdlibTimeVersion=2.5.1-20240930-120200-e59222b +stdlibIoVersion=1.6.2-20241112-233100-995cf5f +stdlibTimeVersion=2.6.0-20241113-073800-201b904 # Level 02 -stdlibLogVersion=2.10.1-20240930-154200-5ab2aa4 -stdlibOsVersion=1.8.1-20241001-120600-dd1626e +stdlibLogVersion=2.10.1-20241113-120000-4577868 +stdlibOsVersion=1.8.1-20241113-122000-cca973b # Level 03 -stdlibFileVersion=1.10.1-20241007-160900-03f7b64 +stdlibFileVersion=1.10.1-20241113-151700-e1a2e38 # Ballerinax Observer -observeVersion=1.3.1-20241007-161000-645452d -observeInternalVersion=1.3.1-20241015-172900-cdc3cb3 +observeVersion=1.4.0-20241113-092000-b83ae74 +observeInternalVersion=1.3.1-20241113-101700-265054d # Transitive Dependencies # Level 01 -stdlibConstraintVersion=1.5.1-20240930-123400-5ecd396 -stdlibUrlVersion=2.4.1-20240930-120200-b7fb9e1 +stdlibConstraintVersion=1.6.0-20241113-090900-d276ad5 +stdlibUrlVersion=2.4.1-20241113-073900-335ff51 # Level 02 -stdlibCryptoVersion=2.7.3-20240930-132000-5ecc9ab -stdlibTaskVersion=2.5.1-20241002-145700-5bdb843 +stdlibCryptoVersion=2.7.3-20241113-081400-d015a39 +stdlibTaskVersion=2.5.1-20241113-123500-f905281 # Level 03 -stdlibCacheVersion=3.8.1-20241007-154900-63f4403 -stdlibMimeVersion=2.10.1-20241009-141200-8b6c9f0 -stdlibUuidVersion=1.8.1-20241009-134600-a05012b +stdlibCacheVersion=3.8.1-20241113-125700-b75a1bf +stdlibMimeVersion=2.10.2-20241113-154200-d953747 +stdlibUuidVersion=1.8.1-20241113-154400-443c67b # Level 04 -stdlibAuthVersion=2.12.0 -stdlibDataJsonDataVersion=0.3.0-20241105-101100-661d11f -stdlibJwtVersion=2.13.0 -stdlibOAuth2Version=2.12.0 +stdlibAuthVersion=2.12.1-20241113-162300-ded40eb +stdlibDataJsonDataVersion=0.3.0-20241114-143900-285d739 +stdlibJwtVersion=2.13.1-20241113-162400-b59ccfa +stdlibOAuth2Version=2.12.1-20241113-162400-4c6ddfe # Level 05 -stdlibHttpVersion=2.13.0-20241106-120000-d375c3b +stdlibHttpVersion=2.13.0-20241114-182900-7e9f66a # Level 06 -stdlibTransactionVersion=1.10.1-20241021-105400-f7e16a8 +stdlibTransactionVersion=1.10.1-20241116-112500-189a4e5 diff --git a/native/src/main/java/io/ballerina/stdlib/sql/datasource/PoolKey.java b/native/src/main/java/io/ballerina/stdlib/sql/datasource/PoolKey.java index fee758bd..8e9398c5 100644 --- a/native/src/main/java/io/ballerina/stdlib/sql/datasource/PoolKey.java +++ b/native/src/main/java/io/ballerina/stdlib/sql/datasource/PoolKey.java @@ -17,8 +17,8 @@ */ package io.ballerina.stdlib.sql.datasource; -import io.ballerina.runtime.api.TypeTags; import io.ballerina.runtime.api.types.Type; +import io.ballerina.runtime.api.types.TypeTags; import io.ballerina.runtime.api.utils.TypeUtils; import io.ballerina.runtime.api.values.BMap; import io.ballerina.runtime.api.values.BString; diff --git a/native/src/main/java/io/ballerina/stdlib/sql/nativeimpl/CallProcessor.java b/native/src/main/java/io/ballerina/stdlib/sql/nativeimpl/CallProcessor.java index 9bc7baeb..ce0bd150 100644 --- a/native/src/main/java/io/ballerina/stdlib/sql/nativeimpl/CallProcessor.java +++ b/native/src/main/java/io/ballerina/stdlib/sql/nativeimpl/CallProcessor.java @@ -19,9 +19,9 @@ package io.ballerina.stdlib.sql.nativeimpl; import io.ballerina.runtime.api.Environment; -import io.ballerina.runtime.api.PredefinedTypes; import io.ballerina.runtime.api.creators.TypeCreator; import io.ballerina.runtime.api.creators.ValueCreator; +import io.ballerina.runtime.api.types.PredefinedTypes; import io.ballerina.runtime.api.types.StructureType; import io.ballerina.runtime.api.utils.TypeUtils; import io.ballerina.runtime.api.values.BArray; @@ -60,11 +60,11 @@ import static io.ballerina.stdlib.sql.Constants.RESULT_SET_TOTAL_NATIVE_DATA_FIELD; import static io.ballerina.stdlib.sql.Constants.STATEMENT_NATIVE_DATA_FIELD; import static io.ballerina.stdlib.sql.Constants.TYPE_DESCRIPTIONS_NATIVE_DATA_FIELD; +import static io.ballerina.stdlib.sql.utils.Utils.closeResources; import static io.ballerina.stdlib.sql.utils.Utils.getColumnDefinitions; import static io.ballerina.stdlib.sql.utils.Utils.getDefaultStreamConstraint; import static io.ballerina.stdlib.sql.utils.Utils.getSqlQuery; import static io.ballerina.stdlib.sql.utils.Utils.updateProcedureCallExecutionResult; -import static io.ballerina.stdlib.sql.utils.Utils.closeResources; /** * This class holds the utility methods involved with executing the call statements. diff --git a/native/src/main/java/io/ballerina/stdlib/sql/nativeimpl/OutParameterProcessor.java b/native/src/main/java/io/ballerina/stdlib/sql/nativeimpl/OutParameterProcessor.java index b3564d90..c4e1f839 100644 --- a/native/src/main/java/io/ballerina/stdlib/sql/nativeimpl/OutParameterProcessor.java +++ b/native/src/main/java/io/ballerina/stdlib/sql/nativeimpl/OutParameterProcessor.java @@ -18,9 +18,9 @@ package io.ballerina.stdlib.sql.nativeimpl; -import io.ballerina.runtime.api.TypeTags; import io.ballerina.runtime.api.types.RecordType; import io.ballerina.runtime.api.types.Type; +import io.ballerina.runtime.api.types.TypeTags; import io.ballerina.runtime.api.utils.TypeUtils; import io.ballerina.runtime.api.values.BObject; import io.ballerina.runtime.api.values.BStream; diff --git a/native/src/main/java/io/ballerina/stdlib/sql/nativeimpl/QueryProcessor.java b/native/src/main/java/io/ballerina/stdlib/sql/nativeimpl/QueryProcessor.java index c2e2af0c..11e0fdad 100644 --- a/native/src/main/java/io/ballerina/stdlib/sql/nativeimpl/QueryProcessor.java +++ b/native/src/main/java/io/ballerina/stdlib/sql/nativeimpl/QueryProcessor.java @@ -19,12 +19,12 @@ package io.ballerina.stdlib.sql.nativeimpl; import io.ballerina.runtime.api.Environment; -import io.ballerina.runtime.api.PredefinedTypes; -import io.ballerina.runtime.api.TypeTags; import io.ballerina.runtime.api.creators.TypeCreator; import io.ballerina.runtime.api.creators.ValueCreator; +import io.ballerina.runtime.api.types.PredefinedTypes; import io.ballerina.runtime.api.types.RecordType; import io.ballerina.runtime.api.types.Type; +import io.ballerina.runtime.api.types.TypeTags; import io.ballerina.runtime.api.types.UnionType; import io.ballerina.runtime.api.utils.TypeUtils; import io.ballerina.runtime.api.values.BError; diff --git a/native/src/main/java/io/ballerina/stdlib/sql/parameterprocessor/AbstractStatementParameterProcessor.java b/native/src/main/java/io/ballerina/stdlib/sql/parameterprocessor/AbstractStatementParameterProcessor.java index e4332f22..e90175f9 100644 --- a/native/src/main/java/io/ballerina/stdlib/sql/parameterprocessor/AbstractStatementParameterProcessor.java +++ b/native/src/main/java/io/ballerina/stdlib/sql/parameterprocessor/AbstractStatementParameterProcessor.java @@ -18,7 +18,7 @@ package io.ballerina.stdlib.sql.parameterprocessor; -import io.ballerina.runtime.api.TypeTags; +import io.ballerina.runtime.api.types.TypeTags; import io.ballerina.runtime.api.utils.TypeUtils; import io.ballerina.runtime.api.values.BArray; import io.ballerina.runtime.api.values.BDecimal; diff --git a/native/src/main/java/io/ballerina/stdlib/sql/parameterprocessor/DefaultResultParameterProcessor.java b/native/src/main/java/io/ballerina/stdlib/sql/parameterprocessor/DefaultResultParameterProcessor.java index 0220dd30..0a1686f6 100644 --- a/native/src/main/java/io/ballerina/stdlib/sql/parameterprocessor/DefaultResultParameterProcessor.java +++ b/native/src/main/java/io/ballerina/stdlib/sql/parameterprocessor/DefaultResultParameterProcessor.java @@ -17,15 +17,15 @@ */ package io.ballerina.stdlib.sql.parameterprocessor; -import io.ballerina.runtime.api.PredefinedTypes; -import io.ballerina.runtime.api.TypeTags; import io.ballerina.runtime.api.creators.TypeCreator; import io.ballerina.runtime.api.creators.ValueCreator; import io.ballerina.runtime.api.types.ArrayType; import io.ballerina.runtime.api.types.Field; +import io.ballerina.runtime.api.types.PredefinedTypes; import io.ballerina.runtime.api.types.RecordType; import io.ballerina.runtime.api.types.StructureType; import io.ballerina.runtime.api.types.Type; +import io.ballerina.runtime.api.types.TypeTags; import io.ballerina.runtime.api.types.UnionType; import io.ballerina.runtime.api.utils.TypeUtils; import io.ballerina.runtime.api.utils.XmlUtils; diff --git a/native/src/main/java/io/ballerina/stdlib/sql/parameterprocessor/DefaultStatementParameterProcessor.java b/native/src/main/java/io/ballerina/stdlib/sql/parameterprocessor/DefaultStatementParameterProcessor.java index 11dede7f..24184e5a 100644 --- a/native/src/main/java/io/ballerina/stdlib/sql/parameterprocessor/DefaultStatementParameterProcessor.java +++ b/native/src/main/java/io/ballerina/stdlib/sql/parameterprocessor/DefaultStatementParameterProcessor.java @@ -18,12 +18,12 @@ package io.ballerina.stdlib.sql.parameterprocessor; -import io.ballerina.runtime.api.TypeTags; import io.ballerina.runtime.api.types.ArrayType; import io.ballerina.runtime.api.types.Field; import io.ballerina.runtime.api.types.ObjectType; import io.ballerina.runtime.api.types.StructureType; import io.ballerina.runtime.api.types.Type; +import io.ballerina.runtime.api.types.TypeTags; import io.ballerina.runtime.api.utils.StringUtils; import io.ballerina.runtime.api.utils.TypeUtils; import io.ballerina.runtime.api.values.BArray; diff --git a/native/src/main/java/io/ballerina/stdlib/sql/utils/ProcedureCallResultUtils.java b/native/src/main/java/io/ballerina/stdlib/sql/utils/ProcedureCallResultUtils.java index 69255e93..2d0f9963 100644 --- a/native/src/main/java/io/ballerina/stdlib/sql/utils/ProcedureCallResultUtils.java +++ b/native/src/main/java/io/ballerina/stdlib/sql/utils/ProcedureCallResultUtils.java @@ -18,9 +18,9 @@ package io.ballerina.stdlib.sql.utils; -import io.ballerina.runtime.api.PredefinedTypes; import io.ballerina.runtime.api.creators.TypeCreator; import io.ballerina.runtime.api.creators.ValueCreator; +import io.ballerina.runtime.api.types.PredefinedTypes; import io.ballerina.runtime.api.types.StructureType; import io.ballerina.runtime.api.utils.TypeUtils; import io.ballerina.runtime.api.values.BObject; diff --git a/native/src/main/java/io/ballerina/stdlib/sql/utils/Utils.java b/native/src/main/java/io/ballerina/stdlib/sql/utils/Utils.java index 019ce43c..f54dcbc9 100644 --- a/native/src/main/java/io/ballerina/stdlib/sql/utils/Utils.java +++ b/native/src/main/java/io/ballerina/stdlib/sql/utils/Utils.java @@ -19,17 +19,17 @@ package io.ballerina.stdlib.sql.utils; import io.ballerina.runtime.api.Module; -import io.ballerina.runtime.api.PredefinedTypes; -import io.ballerina.runtime.api.TypeTags; import io.ballerina.runtime.api.creators.TypeCreator; import io.ballerina.runtime.api.creators.ValueCreator; import io.ballerina.runtime.api.flags.SymbolFlags; import io.ballerina.runtime.api.flags.TypeFlags; import io.ballerina.runtime.api.types.ArrayType; import io.ballerina.runtime.api.types.Field; +import io.ballerina.runtime.api.types.PredefinedTypes; import io.ballerina.runtime.api.types.RecordType; import io.ballerina.runtime.api.types.StructureType; import io.ballerina.runtime.api.types.Type; +import io.ballerina.runtime.api.types.TypeTags; import io.ballerina.runtime.api.types.UnionType; import io.ballerina.runtime.api.utils.TypeUtils; import io.ballerina.runtime.api.values.BArray; diff --git a/native/src/test/java/io/ballerina/stdlib/sql/TestUtils.java b/native/src/test/java/io/ballerina/stdlib/sql/TestUtils.java index b3d479e7..a8db8e85 100644 --- a/native/src/test/java/io/ballerina/stdlib/sql/TestUtils.java +++ b/native/src/test/java/io/ballerina/stdlib/sql/TestUtils.java @@ -19,11 +19,11 @@ package io.ballerina.stdlib.sql; import io.ballerina.runtime.api.Module; -import io.ballerina.runtime.api.PredefinedTypes; import io.ballerina.runtime.api.creators.TypeCreator; import io.ballerina.runtime.api.types.Field; import io.ballerina.runtime.api.types.IntersectionType; import io.ballerina.runtime.api.types.ObjectType; +import io.ballerina.runtime.api.types.PredefinedTypes; import io.ballerina.runtime.api.types.RecordType; import io.ballerina.runtime.api.types.Type; import io.ballerina.runtime.api.values.BArray; @@ -36,10 +36,10 @@ import io.ballerina.runtime.api.values.BString; import io.ballerina.runtime.api.values.BTypedesc; import io.ballerina.runtime.api.values.BValue; -import io.ballerina.runtime.internal.IteratorUtils; import io.ballerina.runtime.internal.scheduling.Strand; import io.ballerina.runtime.internal.types.BField; import io.ballerina.runtime.internal.types.BRecordType; +import io.ballerina.runtime.internal.utils.IteratorUtils; import io.ballerina.runtime.internal.values.BmpStringValue; import io.ballerina.stdlib.sql.utils.PrimitiveTypeColumnDefinition; diff --git a/native/src/test/java/io/ballerina/stdlib/sql/nativeimpl/OutParameterProcessorTest.java b/native/src/test/java/io/ballerina/stdlib/sql/nativeimpl/OutParameterProcessorTest.java index fd82dba4..a70c1f13 100644 --- a/native/src/test/java/io/ballerina/stdlib/sql/nativeimpl/OutParameterProcessorTest.java +++ b/native/src/test/java/io/ballerina/stdlib/sql/nativeimpl/OutParameterProcessorTest.java @@ -18,7 +18,7 @@ package io.ballerina.stdlib.sql.nativeimpl; -import io.ballerina.runtime.api.PredefinedTypes; +import io.ballerina.runtime.api.types.PredefinedTypes; import io.ballerina.runtime.api.values.BMap; import io.ballerina.runtime.api.values.BObject; import io.ballerina.runtime.api.values.BString; diff --git a/native/src/test/java/io/ballerina/stdlib/sql/parameterprocessor/DefaultResultParameterProcessorTest.java b/native/src/test/java/io/ballerina/stdlib/sql/parameterprocessor/DefaultResultParameterProcessorTest.java index b6b504d5..6fedcade 100644 --- a/native/src/test/java/io/ballerina/stdlib/sql/parameterprocessor/DefaultResultParameterProcessorTest.java +++ b/native/src/test/java/io/ballerina/stdlib/sql/parameterprocessor/DefaultResultParameterProcessorTest.java @@ -18,7 +18,7 @@ package io.ballerina.stdlib.sql.parameterprocessor; -import io.ballerina.runtime.api.PredefinedTypes; +import io.ballerina.runtime.api.types.PredefinedTypes; import io.ballerina.runtime.api.utils.TypeUtils; import io.ballerina.runtime.api.values.BArray; import io.ballerina.runtime.api.values.BMap; diff --git a/native/src/test/java/io/ballerina/stdlib/sql/parameterprocessor/DefaultStatementParameterProcessorTest.java b/native/src/test/java/io/ballerina/stdlib/sql/parameterprocessor/DefaultStatementParameterProcessorTest.java index ea74729a..d278fec4 100644 --- a/native/src/test/java/io/ballerina/stdlib/sql/parameterprocessor/DefaultStatementParameterProcessorTest.java +++ b/native/src/test/java/io/ballerina/stdlib/sql/parameterprocessor/DefaultStatementParameterProcessorTest.java @@ -17,7 +17,7 @@ */ package io.ballerina.stdlib.sql.parameterprocessor; -import io.ballerina.runtime.api.PredefinedTypes; +import io.ballerina.runtime.api.types.PredefinedTypes; import io.ballerina.runtime.api.values.BString; import io.ballerina.stdlib.sql.TestUtils; import io.ballerina.stdlib.sql.exception.ApplicationError;