From 0f0c4eac6edec3673dbe0a5a957e849961a8e926 Mon Sep 17 00:00:00 2001 From: redkale Date: Fri, 24 May 2024 08:00:27 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96DataNativeJsqlParser?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/org/redkale/source/AbstractDataSqlSource.java | 7 ++++--- src/main/java/org/redkale/source/DataJdbcSource.java | 6 +++--- src/main/java/org/redkale/source/DataNativeSqlParser.java | 5 +++-- .../java/org/redkale/source/DataNativeSqlStatement.java | 5 +++-- 4 files changed, 13 insertions(+), 10 deletions(-) diff --git a/src/main/java/org/redkale/source/AbstractDataSqlSource.java b/src/main/java/org/redkale/source/AbstractDataSqlSource.java index 0278d005f..bff23a486 100644 --- a/src/main/java/org/redkale/source/AbstractDataSqlSource.java +++ b/src/main/java/org/redkale/source/AbstractDataSqlSource.java @@ -651,11 +651,11 @@ public abstract class AbstractDataSqlSource extends AbstractDataSource implement return getSQLAttrValue(info, attr, val); } - protected DataNativeSqlStatement nativeParse(String nativeSql, Map params) { + protected DataNativeSqlStatement nativeParse(String nativeSql, boolean countable, Map params) { if (nativeSqlParser == null) { throw new SourceException("not found DataNativeSqlParser instance"); } - return nativeSqlParser.parse(signFunc, dbtype(), nativeSql, params == null ? Collections.emptyMap() : params); + return nativeSqlParser.parse(signFunc, dbtype(), nativeSql, countable, params == null ? Collections.emptyMap() : params); } @ConvertDisabled @@ -695,7 +695,8 @@ public abstract class AbstractDataSqlSource extends AbstractDataSource implement protected abstract CompletableFuture insertDBAsync(final EntityInfo info, T... entitys); //删除记录 - protected abstract CompletableFuture deleteDBAsync(final EntityInfo info, String[] tables, Flipper flipper, FilterNode node, Map> pkmap, final String... sqls); + protected abstract CompletableFuture deleteDBAsync(final EntityInfo info, + String[] tables, Flipper flipper, FilterNode node, Map> pkmap, final String... sqls); //清空表 protected abstract CompletableFuture clearTableDBAsync(final EntityInfo info, String[] tables, FilterNode node, final String... sqls); diff --git a/src/main/java/org/redkale/source/DataJdbcSource.java b/src/main/java/org/redkale/source/DataJdbcSource.java index 0cfd5d4ed..977c6b47b 100644 --- a/src/main/java/org/redkale/source/DataJdbcSource.java +++ b/src/main/java/org/redkale/source/DataJdbcSource.java @@ -2502,7 +2502,7 @@ public class DataJdbcSource extends AbstractDataSqlSource { @Local @Override public int nativeUpdate(String sql, Map params) { - DataNativeSqlStatement sinfo = super.nativeParse(sql, params); + DataNativeSqlStatement sinfo = super.nativeParse(sql, false, params); final long s = System.currentTimeMillis(); JdbcConnection conn = writePool.pollConnection(); Statement stmt = null; @@ -2575,7 +2575,7 @@ public class DataJdbcSource extends AbstractDataSqlSource { @Local @Override public V nativeQuery(String sql, BiConsumer consumer, Function handler, Map params) { - DataNativeSqlStatement sinfo = super.nativeParse(sql, params); + DataNativeSqlStatement sinfo = super.nativeParse(sql, false, params); final long s = System.currentTimeMillis(); final JdbcConnection conn = readPool.pollConnection(); try { @@ -2619,7 +2619,7 @@ public class DataJdbcSource extends AbstractDataSqlSource { public Sheet nativeQuerySheet(Class type, String sql, Flipper flipper, Map params) { final boolean mysqlOrPgsql = "mysql".equals(dbtype()) || "postgresql".equals(dbtype()); - DataNativeSqlStatement sinfo = super.nativeParse(sql, params); + DataNativeSqlStatement sinfo = super.nativeParse(sql, true, params); final long s = System.currentTimeMillis(); final JdbcConnection conn = readPool.pollConnection(); try { diff --git a/src/main/java/org/redkale/source/DataNativeSqlParser.java b/src/main/java/org/redkale/source/DataNativeSqlParser.java index ec253020d..8fb52290a 100644 --- a/src/main/java/org/redkale/source/DataNativeSqlParser.java +++ b/src/main/java/org/redkale/source/DataNativeSqlParser.java @@ -24,9 +24,10 @@ import org.redkale.util.RedkaleClassLoader; */ public interface DataNativeSqlParser { - public DataNativeSqlInfo parse(IntFunction signFunc, String dbtype, String rawSql); + public DataNativeSqlInfo parse(IntFunction signFunc, String dbType, String rawSql); - public DataNativeSqlStatement parse(IntFunction signFunc, String dbtype, String rawSql, Map params); + public DataNativeSqlStatement parse(IntFunction signFunc, String dbType, + String rawSql, boolean countable, Map params); public static DataNativeSqlParser loadFirst() { if (DataNativeSqlStatement._first_parser != DataNativeSqlStatement.PARSER_NIL) { diff --git a/src/main/java/org/redkale/source/DataNativeSqlStatement.java b/src/main/java/org/redkale/source/DataNativeSqlStatement.java index 3cd2d7dc7..7c480541c 100644 --- a/src/main/java/org/redkale/source/DataNativeSqlStatement.java +++ b/src/main/java/org/redkale/source/DataNativeSqlStatement.java @@ -24,12 +24,13 @@ public class DataNativeSqlStatement { static final DataNativeSqlParser PARSER_NIL = new DataNativeSqlParser() { @Override - public DataNativeSqlInfo parse(IntFunction signFunc, String dbtype, String rawSql) { + public DataNativeSqlInfo parse(IntFunction signFunc, String dbType, String rawSql) { throw new UnsupportedOperationException("Not supported yet."); } @Override - public DataNativeSqlStatement parse(IntFunction signFunc, String dbtype, String rawSql, Map params) { + public DataNativeSqlStatement parse(IntFunction signFunc, String dbType, + String rawSql, boolean countable, Map params) { throw new UnsupportedOperationException("Not supported yet."); }