Commit 64da2024cb88c4775ca9179524f23165ce3e7686
Merge branch 'master' of github.com:thingsboard/thingsboard
Showing
2 changed files
with
11 additions
and
4 deletions
... | ... | @@ -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 | } | ... | ... |