use of com.scalar.db.api.Delete in project scalardb by scalar-labs.
the class MultiStorage method mutate.
@Override
public void mutate(List<? extends Mutation> mutations) throws ExecutionException {
checkArgument(mutations.size() != 0);
if (mutations.size() == 1) {
Mutation mutation = mutations.get(0);
if (mutation instanceof Put) {
put((Put) mutation);
} else if (mutation instanceof Delete) {
delete((Delete) mutation);
}
return;
}
mutations = copyAndSetTargetToIfNot(mutations);
getStorage(mutations.get(0)).mutate(mutations);
}
use of com.scalar.db.api.Delete in project scalardb by scalar-labs.
the class JdbcDatabaseTest method whenDeleteOperationWithConditionExecutedAndJdbcServiceReturnsFalse_shouldThrowNoMutationException.
@Test
public void whenDeleteOperationWithConditionExecutedAndJdbcServiceReturnsFalse_shouldThrowNoMutationException() throws Exception {
// Arrange
when(jdbcService.delete(any(), any())).thenReturn(false);
// Act Assert
assertThatThrownBy(() -> {
Delete delete = new Delete(new Key("p1", "val1")).withCondition(new DeleteIfExists()).forNamespace(NAMESPACE).forTable(TABLE);
jdbcDatabase.delete(delete);
}).isInstanceOf(NoMutationException.class);
verify(connection).close();
}
use of com.scalar.db.api.Delete in project scalardb by scalar-labs.
the class JdbcDatabaseTest method whenMutateOperationExecuted_shouldCallJdbcService.
@Test
public void whenMutateOperationExecuted_shouldCallJdbcService() throws Exception {
// Arrange
when(jdbcService.mutate(any(), any())).thenReturn(true);
// Act
Put put = new Put(new Key("p1", "val1")).withValue("v1", "val2").forNamespace(NAMESPACE).forTable(TABLE);
Delete delete = new Delete(new Key("p1", "val1")).forNamespace(NAMESPACE).forTable(TABLE);
jdbcDatabase.mutate(Arrays.asList(put, delete));
// Assert
verify(jdbcService).mutate(any(), any());
verify(connection).close();
}
use of com.scalar.db.api.Delete in project scalardb by scalar-labs.
the class JdbcDatabaseTest method whenMutateOperationExecutedAndJdbcServiceThrowsSQLException_shouldThrowExecutionException.
@Test
public void whenMutateOperationExecutedAndJdbcServiceThrowsSQLException_shouldThrowExecutionException() throws Exception {
// Arrange
when(jdbcService.mutate(any(), any())).thenThrow(sqlException);
// Act Assert
assertThatThrownBy(() -> {
Put put = new Put(new Key("p1", "val1")).withValue("v1", "val2").forNamespace(NAMESPACE).forTable(TABLE);
Delete delete = new Delete(new Key("p1", "val1")).forNamespace(NAMESPACE).forTable(TABLE);
jdbcDatabase.mutate(Arrays.asList(put, delete));
}).isInstanceOf(ExecutionException.class);
verify(connection).close();
}
use of com.scalar.db.api.Delete in project scalardb by scalar-labs.
the class JdbcDatabaseTest method whenMutateOperationWithConditionExecutedAndJdbcServiceReturnsFalse_shouldThrowNoMutationException.
@Test
public void whenMutateOperationWithConditionExecutedAndJdbcServiceReturnsFalse_shouldThrowNoMutationException() throws Exception {
// Arrange
when(jdbcService.mutate(any(), any())).thenReturn(false);
// Act Assert
assertThatThrownBy(() -> {
Put put = new Put(new Key("p1", "val1")).withValue("v1", "val2").withCondition(new PutIfNotExists()).forNamespace(NAMESPACE).forTable(TABLE);
Delete delete = new Delete(new Key("p1", "val1")).withCondition(new DeleteIfExists()).forNamespace(NAMESPACE).forTable(TABLE);
jdbcDatabase.mutate(Arrays.asList(put, delete));
}).isInstanceOf(NoMutationException.class);
verify(connection).close();
}
Aggregations