in Amazon.QLDB.Driver.IntegrationTests/StatementExecutionTests.cs [167:208]
public void Execute_CreateIndex_IndexIsCreated()
{
// Given.
var query = $"CREATE INDEX on {Constants.TableName} ({Constants.IndexAttribute})";
// When.
var count = qldbDriver.Execute(txn =>
{
var result = txn.Execute(query);
var count = 0;
foreach (var row in result)
{
count++;
}
return count;
});
Assert.AreEqual(1, count);
// Then.
var search_query = $@"SELECT VALUE indexes[0] FROM information_schema.user_tables
WHERE status = 'ACTIVE' AND name = '{Constants.TableName}'";
var indexColumn = qldbDriver.Execute(txn =>
{
var result = txn.Execute(search_query);
// Extract the index name by querying the information_schema.
/* This gives:
{
expr: "[MyColumn]"
}
*/
var indexColumn = "";
foreach (var row in result)
{
indexColumn = row.GetField("expr").StringValue;
}
return indexColumn;
});
Assert.AreEqual("[" + Constants.IndexAttribute + "]", indexColumn);
}