You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@shardingsphere.apache.org by tu...@apache.org on 2022/11/04 03:29:11 UTC
[shardingsphere] branch master updated: Rename JDBCRowsLoader to DialectQueryResultDataRowLoader and add PostgreSQL, openGauss implement (#21945)
This is an automated email from the ASF dual-hosted git repository.
tuichenchuxin pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/shardingsphere.git
The following commit(s) were added to refs/heads/master by this push:
new 8dbf3a5395d Rename JDBCRowsLoader to DialectQueryResultDataRowLoader and add PostgreSQL, openGauss implement (#21945)
8dbf3a5395d is described below
commit 8dbf3a5395d41fd26116cb4920b742e9de20617a
Author: Zhengqiang Duan <du...@apache.org>
AuthorDate: Fri Nov 4 11:29:05 2022 +0800
Rename JDBCRowsLoader to DialectQueryResultDataRowLoader and add PostgreSQL, openGauss implement (#21945)
---
.../jdbc/type/memory/JDBCMemoryQueryResult.java | 4 ++--
....java => AbstractQueryResultDataRowLoader.java} | 24 +++++++++++++++-------
...r.java => DialectQueryResultDataRowLoader.java} | 6 +++---
...=> DialectQueryResultDataRowLoaderFactory.java} | 13 ++++++------
.../DefaultQueryResultDataRowLoader.java} | 15 ++++++++++----
.../MySQLQueryResultDataRowLoader.java} | 15 ++++++++++----
.../OpenGuassQueryResultDataRowLoader.java} | 20 ++++++++++--------
.../PostgreSQLQueryResultDataRowLoader.java} | 20 ++++++++++--------
....memory.loader.DialectQueryResultDataRowLoader} | 6 ++++--
9 files changed, 77 insertions(+), 46 deletions(-)
diff --git a/infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/execute/result/query/impl/driver/jdbc/type/memory/JDBCMemoryQueryResult.java b/infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/execute/result/query/impl/driver/jdbc/type/memory/JDBCMemoryQueryResult.java
index 043b6c79ce3..cc38648196b 100644
--- a/infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/execute/result/query/impl/driver/jdbc/type/memory/JDBCMemoryQueryResult.java
+++ b/infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/execute/result/query/impl/driver/jdbc/type/memory/JDBCMemoryQueryResult.java
@@ -19,7 +19,7 @@ package org.apache.shardingsphere.infra.executor.sql.execute.result.query.impl.d
import org.apache.shardingsphere.infra.database.type.DatabaseType;
import org.apache.shardingsphere.infra.executor.sql.execute.result.query.impl.driver.jdbc.metadata.JDBCQueryResultMetaData;
-import org.apache.shardingsphere.infra.executor.sql.execute.result.query.impl.driver.jdbc.type.memory.loader.DialectJDBCRowsLoaderFactory;
+import org.apache.shardingsphere.infra.executor.sql.execute.result.query.impl.driver.jdbc.type.memory.loader.DialectQueryResultDataRowLoaderFactory;
import org.apache.shardingsphere.infra.executor.sql.execute.result.query.type.memory.AbstractMemoryQueryResult;
import java.sql.ResultSet;
@@ -31,6 +31,6 @@ import java.sql.SQLException;
public final class JDBCMemoryQueryResult extends AbstractMemoryQueryResult {
public JDBCMemoryQueryResult(final ResultSet resultSet, final DatabaseType databaseType) throws SQLException {
- super(new JDBCQueryResultMetaData(resultSet.getMetaData()), DialectJDBCRowsLoaderFactory.getInstance(databaseType).load(resultSet.getMetaData().getColumnCount(), resultSet));
+ super(new JDBCQueryResultMetaData(resultSet.getMetaData()), DialectQueryResultDataRowLoaderFactory.getInstance(databaseType).load(resultSet.getMetaData().getColumnCount(), resultSet));
}
}
diff --git a/infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/execute/result/query/impl/driver/jdbc/type/memory/loader/AbstractJDBCRowsLoader.java b/infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/execute/result/query/impl/driver/jdbc/type/memory/loader/AbstractQueryResultDataRowLoader.java
similarity index 84%
rename from infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/execute/result/query/impl/driver/jdbc/type/memory/loader/AbstractJDBCRowsLoader.java
rename to infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/execute/result/query/impl/driver/jdbc/type/memory/loader/AbstractQueryResultDataRowLoader.java
index e3d4c996f7d..8f7c31d75d5 100644
--- a/infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/execute/result/query/impl/driver/jdbc/type/memory/loader/AbstractJDBCRowsLoader.java
+++ b/infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/execute/result/query/impl/driver/jdbc/type/memory/loader/AbstractQueryResultDataRowLoader.java
@@ -30,9 +30,9 @@ import java.util.LinkedList;
import java.util.List;
/**
- * Abstract JDBC rows loader.
+ * Abstract dialect query result data row loader.
*/
-public abstract class AbstractJDBCRowsLoader implements JDBCRowsLoader {
+public abstract class AbstractQueryResultDataRowLoader implements DialectQueryResultDataRowLoader {
@Override
public Collection<MemoryQueryResultDataRow> load(final int columnCount, final ResultSet resultSet) throws SQLException {
@@ -56,7 +56,7 @@ public abstract class AbstractJDBCRowsLoader implements JDBCRowsLoader {
return resultSet.getBoolean(columnIndex);
case Types.TINYINT:
case Types.SMALLINT:
- return resultSet.getInt(columnIndex);
+ return getSmallintValue(resultSet, columnIndex);
case Types.INTEGER:
if (metaData.isSigned(columnIndex)) {
return resultSet.getInt(columnIndex);
@@ -79,7 +79,7 @@ public abstract class AbstractJDBCRowsLoader implements JDBCRowsLoader {
case Types.LONGVARCHAR:
return resultSet.getString(columnIndex);
case Types.DATE:
- return getDate(resultSet, columnIndex);
+ return getDateValue(resultSet, columnIndex);
case Types.TIME:
return resultSet.getTime(columnIndex);
case Types.TIMESTAMP:
@@ -100,12 +100,22 @@ public abstract class AbstractJDBCRowsLoader implements JDBCRowsLoader {
}
/**
- * Get date from result set.
+ * Get smallint value from result set.
+ *
+ * @param resultSet result set
+ * @param columnIndex column index
+ * @return smallint value
+ * @throws SQLException sql exception
+ */
+ protected abstract Object getSmallintValue(ResultSet resultSet, int columnIndex) throws SQLException;
+
+ /**
+ * Get date value from result set.
*
* @param resultSet result set
* @param columnIndex column index
- * @return date
+ * @return date value
* @throws SQLException sql exception
*/
- protected abstract Object getDate(ResultSet resultSet, int columnIndex) throws SQLException;
+ protected abstract Object getDateValue(ResultSet resultSet, int columnIndex) throws SQLException;
}
diff --git a/infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/execute/result/query/impl/driver/jdbc/type/memory/loader/JDBCRowsLoader.java b/infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/execute/result/query/impl/driver/jdbc/type/memory/loader/DialectQueryResultDataRowLoader.java
similarity index 91%
rename from infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/execute/result/query/impl/driver/jdbc/type/memory/loader/JDBCRowsLoader.java
rename to infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/execute/result/query/impl/driver/jdbc/type/memory/loader/DialectQueryResultDataRowLoader.java
index b3d25d1f762..1387ee3ec60 100644
--- a/infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/execute/result/query/impl/driver/jdbc/type/memory/loader/JDBCRowsLoader.java
+++ b/infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/execute/result/query/impl/driver/jdbc/type/memory/loader/DialectQueryResultDataRowLoader.java
@@ -27,17 +27,17 @@ import java.sql.SQLException;
import java.util.Collection;
/**
- * JDBC rows loader.
+ * Dialect query result data row loader.
*/
@SingletonSPI
-public interface JDBCRowsLoader extends TypedSPI, RequiredSPI {
+public interface DialectQueryResultDataRowLoader extends TypedSPI, RequiredSPI {
/**
* Load rows.
*
* @param columnCount column count
* @param resultSet result set of JDBC
- * @return Query result data rows
+ * @return query result data rows
* @throws SQLException SQL exception
*/
Collection<MemoryQueryResultDataRow> load(int columnCount, ResultSet resultSet) throws SQLException;
diff --git a/infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/execute/result/query/impl/driver/jdbc/type/memory/loader/DialectJDBCRowsLoaderFactory.java b/infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/execute/result/query/impl/driver/jdbc/type/memory/loader/DialectQueryResultDataRowLoaderFactory.java
similarity index 71%
rename from infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/execute/result/query/impl/driver/jdbc/type/memory/loader/DialectJDBCRowsLoaderFactory.java
rename to infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/execute/result/query/impl/driver/jdbc/type/memory/loader/DialectQueryResultDataRowLoaderFactory.java
index acb9a9155c9..2ac8ed420b4 100644
--- a/infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/execute/result/query/impl/driver/jdbc/type/memory/loader/DialectJDBCRowsLoaderFactory.java
+++ b/infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/execute/result/query/impl/driver/jdbc/type/memory/loader/DialectQueryResultDataRowLoaderFactory.java
@@ -25,22 +25,23 @@ import org.apache.shardingsphere.infra.util.spi.type.required.RequiredSPIRegistr
import org.apache.shardingsphere.infra.util.spi.type.typed.TypedSPIRegistry;
/**
- * Dialect JDBC rows loader factory.
+ * Dialect query result data row loader factory.
*/
@NoArgsConstructor(access = AccessLevel.PRIVATE)
-public final class DialectJDBCRowsLoaderFactory {
+public final class DialectQueryResultDataRowLoaderFactory {
static {
- ShardingSphereServiceLoader.register(JDBCRowsLoader.class);
+ ShardingSphereServiceLoader.register(DialectQueryResultDataRowLoader.class);
}
/**
- * Find instance of dialect JDBC rows loader factory.
+ * Find instance of dialect query result data row loader factory.
*
* @param databaseType database type
* @return found instance
*/
- public static JDBCRowsLoader getInstance(final DatabaseType databaseType) {
- return TypedSPIRegistry.findRegisteredService(JDBCRowsLoader.class, databaseType.getType()).orElseGet(() -> RequiredSPIRegistry.getRegisteredService(JDBCRowsLoader.class));
+ public static DialectQueryResultDataRowLoader getInstance(final DatabaseType databaseType) {
+ return TypedSPIRegistry.findRegisteredService(DialectQueryResultDataRowLoader.class, databaseType.getType())
+ .orElseGet(() -> RequiredSPIRegistry.getRegisteredService(DialectQueryResultDataRowLoader.class));
}
}
diff --git a/infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/execute/result/query/impl/driver/jdbc/type/memory/loader/DefaultRowsLoader.java b/infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/execute/result/query/impl/driver/jdbc/type/memory/loader/dialect/DefaultQueryResultDataRowLoader.java
similarity index 65%
copy from infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/execute/result/query/impl/driver/jdbc/type/memory/loader/DefaultRowsLoader.java
copy to infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/execute/result/query/impl/driver/jdbc/type/memory/loader/dialect/DefaultQueryResultDataRowLoader.java
index 1204c3d8c80..7f1c263adb7 100644
--- a/infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/execute/result/query/impl/driver/jdbc/type/memory/loader/DefaultRowsLoader.java
+++ b/infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/execute/result/query/impl/driver/jdbc/type/memory/loader/dialect/DefaultQueryResultDataRowLoader.java
@@ -15,18 +15,25 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.infra.executor.sql.execute.result.query.impl.driver.jdbc.type.memory.loader;
+package org.apache.shardingsphere.infra.executor.sql.execute.result.query.impl.driver.jdbc.type.memory.loader.dialect;
+
+import org.apache.shardingsphere.infra.executor.sql.execute.result.query.impl.driver.jdbc.type.memory.loader.AbstractQueryResultDataRowLoader;
import java.sql.ResultSet;
import java.sql.SQLException;
/**
- * Default rows loader.
+ * Default query result data row loader.
*/
-public final class DefaultRowsLoader extends AbstractJDBCRowsLoader {
+public final class DefaultQueryResultDataRowLoader extends AbstractQueryResultDataRowLoader {
+
+ @Override
+ protected Object getSmallintValue(final ResultSet resultSet, final int columnIndex) throws SQLException {
+ return resultSet.getInt(columnIndex);
+ }
@Override
- protected Object getDate(final ResultSet resultSet, final int columnIndex) throws SQLException {
+ protected Object getDateValue(final ResultSet resultSet, final int columnIndex) throws SQLException {
return resultSet.getDate(columnIndex);
}
diff --git a/infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/execute/result/query/impl/driver/jdbc/type/memory/loader/MySQLRowsLoader.java b/infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/execute/result/query/impl/driver/jdbc/type/memory/loader/dialect/MySQLQueryResultDataRowLoader.java
similarity index 71%
rename from infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/execute/result/query/impl/driver/jdbc/type/memory/loader/MySQLRowsLoader.java
rename to infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/execute/result/query/impl/driver/jdbc/type/memory/loader/dialect/MySQLQueryResultDataRowLoader.java
index 540ce836352..5d0b0d4b26c 100644
--- a/infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/execute/result/query/impl/driver/jdbc/type/memory/loader/MySQLRowsLoader.java
+++ b/infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/execute/result/query/impl/driver/jdbc/type/memory/loader/dialect/MySQLQueryResultDataRowLoader.java
@@ -15,20 +15,27 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.infra.executor.sql.execute.result.query.impl.driver.jdbc.type.memory.loader;
+package org.apache.shardingsphere.infra.executor.sql.execute.result.query.impl.driver.jdbc.type.memory.loader.dialect;
+
+import org.apache.shardingsphere.infra.executor.sql.execute.result.query.impl.driver.jdbc.type.memory.loader.AbstractQueryResultDataRowLoader;
import java.sql.ResultSet;
import java.sql.SQLException;
/**
- * MySQL rows loader.
+ * MySQL query result data row loader.
*/
-public final class MySQLRowsLoader extends AbstractJDBCRowsLoader {
+public final class MySQLQueryResultDataRowLoader extends AbstractQueryResultDataRowLoader {
private static final String YEAR_DATA_TYPE = "YEAR";
@Override
- protected Object getDate(final ResultSet resultSet, final int columnIndex) throws SQLException {
+ protected Object getSmallintValue(final ResultSet resultSet, final int columnIndex) throws SQLException {
+ return resultSet.getInt(columnIndex);
+ }
+
+ @Override
+ protected Object getDateValue(final ResultSet resultSet, final int columnIndex) throws SQLException {
if (isYearDataType(resultSet.getMetaData().getColumnTypeName(columnIndex))) {
Object result = resultSet.getObject(columnIndex);
return resultSet.wasNull() ? null : result;
diff --git a/infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/execute/result/query/impl/driver/jdbc/type/memory/loader/DefaultRowsLoader.java b/infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/execute/result/query/impl/driver/jdbc/type/memory/loader/dialect/OpenGuassQueryResultDataRowLoader.java
similarity index 63%
copy from infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/execute/result/query/impl/driver/jdbc/type/memory/loader/DefaultRowsLoader.java
copy to infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/execute/result/query/impl/driver/jdbc/type/memory/loader/dialect/OpenGuassQueryResultDataRowLoader.java
index 1204c3d8c80..37aebdffc32 100644
--- a/infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/execute/result/query/impl/driver/jdbc/type/memory/loader/DefaultRowsLoader.java
+++ b/infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/execute/result/query/impl/driver/jdbc/type/memory/loader/dialect/OpenGuassQueryResultDataRowLoader.java
@@ -15,28 +15,30 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.infra.executor.sql.execute.result.query.impl.driver.jdbc.type.memory.loader;
+package org.apache.shardingsphere.infra.executor.sql.execute.result.query.impl.driver.jdbc.type.memory.loader.dialect;
+
+import org.apache.shardingsphere.infra.executor.sql.execute.result.query.impl.driver.jdbc.type.memory.loader.AbstractQueryResultDataRowLoader;
import java.sql.ResultSet;
import java.sql.SQLException;
/**
- * Default rows loader.
+ * OpenGauss query result data row loader.
*/
-public final class DefaultRowsLoader extends AbstractJDBCRowsLoader {
+public final class OpenGuassQueryResultDataRowLoader extends AbstractQueryResultDataRowLoader {
@Override
- protected Object getDate(final ResultSet resultSet, final int columnIndex) throws SQLException {
- return resultSet.getDate(columnIndex);
+ protected Object getSmallintValue(final ResultSet resultSet, final int columnIndex) throws SQLException {
+ return resultSet.getShort(columnIndex);
}
@Override
- public String getType() {
- return "Default";
+ protected Object getDateValue(final ResultSet resultSet, final int columnIndex) throws SQLException {
+ return resultSet.getDate(columnIndex);
}
@Override
- public boolean isDefault() {
- return true;
+ public String getType() {
+ return "openGauss";
}
}
diff --git a/infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/execute/result/query/impl/driver/jdbc/type/memory/loader/DefaultRowsLoader.java b/infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/execute/result/query/impl/driver/jdbc/type/memory/loader/dialect/PostgreSQLQueryResultDataRowLoader.java
similarity index 63%
rename from infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/execute/result/query/impl/driver/jdbc/type/memory/loader/DefaultRowsLoader.java
rename to infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/execute/result/query/impl/driver/jdbc/type/memory/loader/dialect/PostgreSQLQueryResultDataRowLoader.java
index 1204c3d8c80..80df55becd6 100644
--- a/infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/execute/result/query/impl/driver/jdbc/type/memory/loader/DefaultRowsLoader.java
+++ b/infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/execute/result/query/impl/driver/jdbc/type/memory/loader/dialect/PostgreSQLQueryResultDataRowLoader.java
@@ -15,28 +15,30 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.infra.executor.sql.execute.result.query.impl.driver.jdbc.type.memory.loader;
+package org.apache.shardingsphere.infra.executor.sql.execute.result.query.impl.driver.jdbc.type.memory.loader.dialect;
+
+import org.apache.shardingsphere.infra.executor.sql.execute.result.query.impl.driver.jdbc.type.memory.loader.AbstractQueryResultDataRowLoader;
import java.sql.ResultSet;
import java.sql.SQLException;
/**
- * Default rows loader.
+ * PostgreSQL query result data row loader.
*/
-public final class DefaultRowsLoader extends AbstractJDBCRowsLoader {
+public final class PostgreSQLQueryResultDataRowLoader extends AbstractQueryResultDataRowLoader {
@Override
- protected Object getDate(final ResultSet resultSet, final int columnIndex) throws SQLException {
- return resultSet.getDate(columnIndex);
+ protected Object getSmallintValue(final ResultSet resultSet, final int columnIndex) throws SQLException {
+ return resultSet.getShort(columnIndex);
}
@Override
- public String getType() {
- return "Default";
+ protected Object getDateValue(final ResultSet resultSet, final int columnIndex) throws SQLException {
+ return resultSet.getDate(columnIndex);
}
@Override
- public boolean isDefault() {
- return true;
+ public String getType() {
+ return "PostgreSQL";
}
}
diff --git a/infra/executor/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.executor.sql.execute.result.query.impl.driver.jdbc.type.memory.loader.JDBCRowsLoader b/infra/executor/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.executor.sql.execute.result.query.impl.driver.jdbc.type.memory.loader.DialectQueryResultDataRowLoader
similarity index 67%
rename from infra/executor/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.executor.sql.execute.result.query.impl.driver.jdbc.type.memory.loader.JDBCRowsLoader
rename to infra/executor/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.executor.sql.execute.result.query.impl.driver.jdbc.type.memory.loader.DialectQueryResultDataRowLoader
index 9b791effc34..ba3cb4f780f 100644
--- a/infra/executor/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.executor.sql.execute.result.query.impl.driver.jdbc.type.memory.loader.JDBCRowsLoader
+++ b/infra/executor/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.executor.sql.execute.result.query.impl.driver.jdbc.type.memory.loader.DialectQueryResultDataRowLoader
@@ -15,5 +15,7 @@
# limitations under the License.
#
-org.apache.shardingsphere.infra.executor.sql.execute.result.query.impl.driver.jdbc.type.memory.loader.DefaultRowsLoader
-org.apache.shardingsphere.infra.executor.sql.execute.result.query.impl.driver.jdbc.type.memory.loader.MySQLRowsLoader
+org.apache.shardingsphere.infra.executor.sql.execute.result.query.impl.driver.jdbc.type.memory.loader.dialect.DefaultQueryResultDataRowLoader
+org.apache.shardingsphere.infra.executor.sql.execute.result.query.impl.driver.jdbc.type.memory.loader.dialect.MySQLQueryResultDataRowLoader
+org.apache.shardingsphere.infra.executor.sql.execute.result.query.impl.driver.jdbc.type.memory.loader.dialect.OpenGuassQueryResultDataRowLoader
+org.apache.shardingsphere.infra.executor.sql.execute.result.query.impl.driver.jdbc.type.memory.loader.dialect.PostgreSQLQueryResultDataRowLoader