优化DataNativeJsqlParser
This commit is contained in:
@@ -651,11 +651,11 @@ public abstract class AbstractDataSqlSource extends AbstractDataSource implement
|
||||
return getSQLAttrValue(info, attr, val);
|
||||
}
|
||||
|
||||
protected DataNativeSqlStatement nativeParse(String nativeSql, Map<String, Object> params) {
|
||||
protected DataNativeSqlStatement nativeParse(String nativeSql, boolean countable, Map<String, Object> 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 <T> CompletableFuture<Integer> insertDBAsync(final EntityInfo<T> info, T... entitys);
|
||||
|
||||
//删除记录
|
||||
protected abstract <T> CompletableFuture<Integer> deleteDBAsync(final EntityInfo<T> info, String[] tables, Flipper flipper, FilterNode node, Map<String, List<Serializable>> pkmap, final String... sqls);
|
||||
protected abstract <T> CompletableFuture<Integer> deleteDBAsync(final EntityInfo<T> info,
|
||||
String[] tables, Flipper flipper, FilterNode node, Map<String, List<Serializable>> pkmap, final String... sqls);
|
||||
|
||||
//清空表
|
||||
protected abstract <T> CompletableFuture<Integer> clearTableDBAsync(final EntityInfo<T> info, String[] tables, FilterNode node, final String... sqls);
|
||||
|
||||
@@ -2502,7 +2502,7 @@ public class DataJdbcSource extends AbstractDataSqlSource {
|
||||
@Local
|
||||
@Override
|
||||
public int nativeUpdate(String sql, Map<String, Object> 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> V nativeQuery(String sql, BiConsumer<Object, Object> consumer, Function<DataResultSet, V> handler, Map<String, Object> 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 <V> Sheet<V> nativeQuerySheet(Class<V> type, String sql, Flipper flipper, Map<String, Object> 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 {
|
||||
|
||||
@@ -24,9 +24,10 @@ import org.redkale.util.RedkaleClassLoader;
|
||||
*/
|
||||
public interface DataNativeSqlParser {
|
||||
|
||||
public DataNativeSqlInfo parse(IntFunction<String> signFunc, String dbtype, String rawSql);
|
||||
public DataNativeSqlInfo parse(IntFunction<String> signFunc, String dbType, String rawSql);
|
||||
|
||||
public DataNativeSqlStatement parse(IntFunction<String> signFunc, String dbtype, String rawSql, Map<String, Object> params);
|
||||
public DataNativeSqlStatement parse(IntFunction<String> signFunc, String dbType,
|
||||
String rawSql, boolean countable, Map<String, Object> params);
|
||||
|
||||
public static DataNativeSqlParser loadFirst() {
|
||||
if (DataNativeSqlStatement._first_parser != DataNativeSqlStatement.PARSER_NIL) {
|
||||
|
||||
@@ -24,12 +24,13 @@ public class DataNativeSqlStatement {
|
||||
|
||||
static final DataNativeSqlParser PARSER_NIL = new DataNativeSqlParser() {
|
||||
@Override
|
||||
public DataNativeSqlInfo parse(IntFunction<String> signFunc, String dbtype, String rawSql) {
|
||||
public DataNativeSqlInfo parse(IntFunction<String> signFunc, String dbType, String rawSql) {
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public DataNativeSqlStatement parse(IntFunction<String> signFunc, String dbtype, String rawSql, Map<String, Object> params) {
|
||||
public DataNativeSqlStatement parse(IntFunction<String> signFunc, String dbType,
|
||||
String rawSql, boolean countable, Map<String, Object> params) {
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user