use of com.scalar.db.io.IntValue in project scalardb by scalar-labs.
the class DistributedStorageIntegrationTestBase method scan_ScanWithPartitionGivenThreeTimes_ShouldRetrieveResultsProperlyEveryTime.
@Test
public void scan_ScanWithPartitionGivenThreeTimes_ShouldRetrieveResultsProperlyEveryTime() throws IOException, ExecutionException {
// Arrange
populateRecords();
int pKey = 0;
// Act
Scan scan = new Scan(new Key(COL_NAME1, pKey));
double t1 = System.currentTimeMillis();
List<Result> actual = scanAll(scan);
double t2 = System.currentTimeMillis();
Scanner scanner = storage.scan(scan);
scanner.close();
double t3 = System.currentTimeMillis();
scanner = storage.scan(scan);
scanner.close();
double t4 = System.currentTimeMillis();
// Assert
assertThat(actual.get(0).getValue(COL_NAME1)).isEqualTo(Optional.of(new IntValue(COL_NAME1, pKey)));
assertThat(actual.get(0).getValue(COL_NAME4)).isEqualTo(Optional.of(new IntValue(COL_NAME4, 0)));
System.err.println("first: " + (t2 - t1) + " (ms)");
System.err.println("second: " + (t3 - t2) + " (ms)");
System.err.println("third: " + (t4 - t3) + " (ms)");
}
use of com.scalar.db.io.IntValue in project scalardb by scalar-labs.
the class DeleteStatementHandlerTest method prepare_DeleteOperationWithIfGiven_ShouldCallAccept.
@Test
public void prepare_DeleteOperationWithIfGiven_ShouldCallAccept() {
// Arrange
configureBehavior(null);
del = prepareDeleteWithClusteringKey();
DeleteIf deleteIf = spy(new DeleteIf(new ConditionalExpression(ANY_NAME_4, new IntValue(ANY_INT_2), Operator.EQ)));
del.withCondition(deleteIf);
// Act
handler.prepare(del);
// Assert
verify(deleteIf).accept(any(ConditionSetter.class));
}
use of com.scalar.db.io.IntValue in project scalardb by scalar-labs.
the class DeleteStatementHandlerTest method prepare_DeleteOperationWithIfGiven_ShouldPrepareProperQuery.
@Test
public void prepare_DeleteOperationWithIfGiven_ShouldPrepareProperQuery() {
// Arrange
String expected = Joiner.on(" ").skipNulls().join(new String[] { "DELETE", "FROM", ANY_NAMESPACE_NAME + "." + ANY_TABLE_NAME, "WHERE", ANY_NAME_1 + "=?", "AND", ANY_NAME_2 + "=?", "IF", ANY_NAME_3 + "=?", "AND", ANY_NAME_4 + "=?;" });
configureBehavior(expected);
del = prepareDeleteWithClusteringKey();
del.withCondition(new DeleteIf(new ConditionalExpression(ANY_NAME_3, new IntValue(ANY_INT_1), Operator.EQ), new ConditionalExpression(ANY_NAME_4, new TextValue(ANY_TEXT_3), Operator.EQ)));
// Act
handler.prepare(del);
// Assert
verify(session).prepare(expected);
}
use of com.scalar.db.io.IntValue in project scalardb by scalar-labs.
the class DeleteStatementHandlerTest method bind_DeleteOperationWithIfGiven_ShouldBindProperly.
@Test
public void bind_DeleteOperationWithIfGiven_ShouldBindProperly() {
// Arrange
configureBehavior(null);
del = prepareDeleteWithClusteringKey();
del.withCondition(new DeleteIf(new ConditionalExpression(ANY_NAME_3, new IntValue(ANY_INT_1), Operator.EQ), new ConditionalExpression(ANY_NAME_4, new TextValue(ANY_TEXT_3), Operator.EQ)));
// Act
handler.bind(prepared, del);
// Assert
verify(bound).setString(0, ANY_TEXT_1);
verify(bound).setString(1, ANY_TEXT_2);
verify(bound).setInt(2, ANY_INT_1);
verify(bound).setString(3, ANY_TEXT_3);
}
use of com.scalar.db.io.IntValue in project scalardb by scalar-labs.
the class UpdateStatementHandlerTest method setConsistency_PutOperationWithIfGiven_ShouldPrepareWithQuorumAndSerial.
@Test
public void setConsistency_PutOperationWithIfGiven_ShouldPrepareWithQuorumAndSerial() {
// Arrange
configureBehavior(null);
put = preparePutWithClusteringKey();
put.withCondition(new PutIf(new ConditionalExpression(ANY_NAME_4, new IntValue(ANY_INT_2), Operator.EQ))).withConsistency(Consistency.EVENTUAL);
// Act
handler.setConsistency(bound, put);
// Assert
verify(bound).setConsistencyLevel(ConsistencyLevel.QUORUM);
verify(bound).setSerialConsistencyLevel(ConsistencyLevel.SERIAL);
}
Aggregations