Open
Description
Given such a query built with QueryBuilder:
QueryBuilder.update(KEYSPACE, TABLE)
.decrement(COLUMN_SCORE, QueryBuilder.literal(beforeScore.score))
.whereColumn(COLUMN_KEY).isEqualTo(QueryBuilder.literal(key.key))
.whereColumn(COLUMN_MEMBER).isEqualTo(QueryBuilder.literal(member.member))
.build()
if decrement value is negative (for example beforeScore.score
equal to -13), the generated query will have double negation:
UPDATE tabletest.tablename SET score=score--13 WHERE key='key' AND member='member'
which is an invalid Scylla query. QueryBuilder
should avoid generating such a query (it should change -(-13)
to +13
in this case).