in Amazon.QLDB.Driver.IntegrationTests/StatementExecutionTests.cs [441:487]
public void Execute_InsertMultipleDocuments_DocumentsInserted()
{
IIonValue ionString1 = ValueFactory.NewString(Constants.MultipleDocumentValue1);
IIonValue ionString2 = ValueFactory.NewString(Constants.MultipleDocumentValue2);
// Given.
// Create Ion structs to insert.
IIonValue ionStruct1 = ValueFactory.NewEmptyStruct();
ionStruct1.SetField(Constants.ColumnName, ionString1);
IIonValue ionStruct2 = ValueFactory.NewEmptyStruct();
ionStruct2.SetField(Constants.ColumnName, ionString2);
List<IIonValue> parameters = new List<IIonValue>() { ionStruct1, ionStruct2 };
// When.
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);
// Then.
var searchQuery = $@"SELECT VALUE {Constants.ColumnName} FROM {Constants.TableName}
WHERE {Constants.ColumnName} IN (?,?)";
var values = qldbDriver.Execute(txn =>
{
var result = txn.Execute(searchQuery, ionString1, ionString2);
var values = new List<String>();
foreach (var row in result)
{
values.Add(row.StringValue);
}
return values;
});
Assert.IsTrue(values.Contains(Constants.MultipleDocumentValue1));
Assert.IsTrue(values.Contains(Constants.MultipleDocumentValue2));
}