in Amazon.QLDB.Driver.IntegrationTests/StatementExecutionTests.cs [549:609]
public void Execute_DeleteAllDocuments_DocumentsAreDeleted()
{
// Given.
// Create Ion structs to insert.
IIonValue ionStruct1 = ValueFactory.NewEmptyStruct();
ionStruct1.SetField(Constants.ColumnName, ValueFactory.NewString(Constants.MultipleDocumentValue1));
IIonValue ionStruct2 = ValueFactory.NewEmptyStruct();
ionStruct2.SetField(Constants.ColumnName, ValueFactory.NewString(Constants.MultipleDocumentValue2));
List<IIonValue> parameters = new List<IIonValue>() { ionStruct1, ionStruct2 };
var query = $"INSERT INTO {Constants.TableName} <<?,?>>";
var count = qldbDriver.Execute(txn =>
{
var result = txn.Execute(query, parameters);
var count = 0;
foreach (var row in result)
{
count++;
}
return count;
});
Assert.AreEqual(2, count);
// When.
var deleteQuery = $"DELETE FROM { Constants.TableName}";
var deleteCount = qldbDriver.Execute(txn =>
{
var result = txn.Execute(deleteQuery);
var count = 0;
foreach (var row in result)
{
count++;
}
return count;
});
Assert.AreEqual(2, deleteCount);
// Then.
var searchQuery = $"SELECT COUNT(*) FROM {Constants.TableName}";
var searchCount = qldbDriver.Execute(txn =>
{
var result = txn.Execute(searchQuery);
int count = -1;
foreach (var row in result)
{
// This gives:
// {
// _1: 1
// }
IIonValue ionValue = row.GetField("_1");
count = ((IIonInt)ionValue).IntValue;
}
return count;
});
Assert.AreEqual(0, searchCount);
}