Commit 64da2024cb88c4775ca9179524f23165ce3e7686

Authored by Andrew Shvayka
2 parents 407f7cfd 7e6a556d

Merge branch 'master' of github.com:thingsboard/thingsboard

... ... @@ -317,7 +317,7 @@ spring:
317 317 enabled: "true"
318 318 jpa:
319 319 hibernate:
320   - ddl-auto: "validate"
  320 + ddl-auto: "none"
321 321 database-platform: "${SPRING_JPA_DATABASE_PLATFORM:org.hibernate.dialect.HSQLDialect}"
322 322 datasource:
323 323 driverClassName: "${SPRING_DRIVER_CLASS_NAME:org.hsqldb.jdbc.JDBCDriver}"
... ... @@ -333,7 +333,7 @@ spring:
333 333 # enabled: "true"
334 334 # sql:
335 335 # hibernate:
336   -# ddl-auto: "validate"
  336 +# ddl-auto: "none"
337 337 # database-platform: "${SPRING_JPA_DATABASE_PLATFORM:org.hibernate.dialect.PostgreSQLDialect}"
338 338 # datasource:
339 339 # driverClassName: "${SPRING_DRIVER_CLASS_NAME:org.postgresql.Driver}"
... ...
... ... @@ -29,6 +29,7 @@ import javax.annotation.Nullable;
29 29 import java.util.UUID;
30 30 import java.util.concurrent.*;
31 31 import java.util.concurrent.atomic.AtomicInteger;
  32 +import java.util.regex.Matcher;
32 33
33 34 /**
34 35 * Created by ashvayka on 24.10.18.
... ... @@ -189,7 +190,12 @@ public abstract class AbstractBufferedRateExecutor<T extends AsyncTask, F extend
189 190 CassandraStatementTask cassStmtTask = (CassandraStatementTask) taskCtx.getTask();
190 191 if (cassStmtTask.getStatement() instanceof BoundStatement) {
191 192 BoundStatement stmt = (BoundStatement) cassStmtTask.getStatement();
192   - String query = toStringWithValues(stmt, ProtocolVersion.V5);
  193 + String query = stmt.preparedStatement().getQueryString();
  194 + try {
  195 + query = toStringWithValues(stmt, ProtocolVersion.V5);
  196 + } catch (Exception e) {
  197 + log.warn("Can't convert to query with values", e);
  198 + }
193 199 log.trace("[{}] {} task: {}, BoundStatement query: {}", taskCtx.getId(), action, taskCtx, query);
194 200 }
195 201 } else {
... ... @@ -211,7 +217,8 @@ public abstract class AbstractBufferedRateExecutor<T extends AsyncTask, F extend
211 217 TypeCodec<Object> codec = codecRegistry.codecFor(type);
212 218 if (boundStatement.getBytesUnsafe(index) != null) {
213 219 Object value = codec.deserialize(boundStatement.getBytesUnsafe(index), protocolVersion);
214   - query = query.replaceFirst("\\?", codec.format(value));
  220 + String replacement = Matcher.quoteReplacement(codec.format(value));
  221 + query = query.replaceFirst("\\?", replacement);
215 222 }
216 223 index++;
217 224 }
... ...