mirror of
https://github.com/ebean-orm/ebean.git
synced 2024-04-21 10:51:47 +00:00
#1126 - Regression bug in 10.4.5 with new line character use with SqlQuery, SqlUpdate and CallableSql
This commit is contained in:
@@ -1047,24 +1047,17 @@ public final class DefaultServer implements SpiServer, SpiEbeanServer {
|
||||
|
||||
@Override
|
||||
public SqlQuery createSqlQuery(String sql) {
|
||||
return new DefaultRelationalQuery(this, trimSql(sql));
|
||||
return new DefaultRelationalQuery(this, sql.trim());
|
||||
}
|
||||
|
||||
@Override
|
||||
public SqlUpdate createSqlUpdate(String sql) {
|
||||
return new DefaultSqlUpdate(this, trimSql(sql));
|
||||
return new DefaultSqlUpdate(this, sql.trim());
|
||||
}
|
||||
|
||||
@Override
|
||||
public CallableSql createCallableSql(String sql) {
|
||||
return new DefaultCallableSql(this, trimSql(sql));
|
||||
}
|
||||
|
||||
/**
|
||||
* Trim and remove new line chars for better support in multi-line sql strings (logging etc).
|
||||
*/
|
||||
private String trimSql(String sql) {
|
||||
return sql.trim().replace('\n',' ');
|
||||
return new DefaultCallableSql(this, sql.trim());
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -10,6 +10,7 @@ import io.ebeaninternal.api.SpiSqlQuery;
|
||||
import io.ebeaninternal.api.SpiTransaction;
|
||||
import io.ebeaninternal.server.lib.util.Str;
|
||||
import io.ebeaninternal.server.persist.Binder;
|
||||
import io.ebeaninternal.server.persist.TrimLogSql;
|
||||
import io.ebeaninternal.server.query.DefaultSqlRow;
|
||||
import io.ebeaninternal.server.transaction.TransactionManager;
|
||||
import io.ebeaninternal.server.util.BindParamsParser;
|
||||
@@ -247,7 +248,7 @@ public final class RelationalQueryRequest {
|
||||
}
|
||||
|
||||
if (isLogSql()) {
|
||||
String logSql = sql;
|
||||
String logSql = TrimLogSql.trim(sql);
|
||||
if (TransactionManager.SQL_LOGGER.isTraceEnabled()) {
|
||||
logSql = Str.add(logSql, "; --bind(", bindLog, ")");
|
||||
}
|
||||
|
||||
@@ -84,7 +84,7 @@ public class ExeCallableSql {
|
||||
cstmt = pstmtFactory.getCstmt(t, logSql, sql, request);
|
||||
} else {
|
||||
if (logSql) {
|
||||
t.logSql(sql);
|
||||
t.logSql(TrimLogSql.trim(sql));
|
||||
}
|
||||
cstmt = pstmtFactory.getCstmt(t, sql);
|
||||
}
|
||||
|
||||
@@ -88,7 +88,7 @@ public class ExeUpdateSql {
|
||||
pstmt = pstmtFactory.getPstmt(t, logSql, sql, request);
|
||||
} else {
|
||||
if (logSql) {
|
||||
t.logSql(sql);
|
||||
t.logSql(TrimLogSql.trim(sql));
|
||||
}
|
||||
pstmt = pstmtFactory.getPstmt(t, sql);
|
||||
}
|
||||
|
||||
@@ -0,0 +1,14 @@
|
||||
package io.ebeaninternal.server.persist;
|
||||
|
||||
/**
|
||||
* Utility to improve logging of raw SQL that contains new line characters.
|
||||
*/
|
||||
public class TrimLogSql {
|
||||
|
||||
/**
|
||||
* Replace new line chars for nicer logging of multi-line sql strings.
|
||||
*/
|
||||
public static String trim(String sql) {
|
||||
return sql.replace("\n", "\\n ");
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user