static void snapshot_test()
{
Console.WriteLine("======================= Snapshot DB Test ==============================");
LayerManager raw_db = new LayerManager(InitMode.NEW_REGION, "c:\\BENDtst\\main");
StepsDatabase db_broker = new StepsDatabase(raw_db);
IStepsKVDB generic_db = db_broker.getSnapshotDatabase();
StepsStageSnapshot db = (StepsStageSnapshot)generic_db;
db.setValue(new RecordKey().appendParsedKey("test/1"),
RecordUpdate.WithPayload("blah-t0"));
IStepsKVDB db_snap = db.getSnapshot();
db.setValue(new RecordKey().appendParsedKey("test/1"),
RecordUpdate.WithPayload("blah-t1"));
var key = new RecordKey().appendParsedKey("test/1");
raw_db.debugDump();
Console.WriteLine("-------------------[ top level readback ] -------------------");
foreach (var rec in db.scanForward(new ScanRange<RecordKey>(key,new ScanRange<RecordKey>.maxKey(),null))) {
Console.WriteLine(rec);
}
Console.WriteLine("-------------------[ snapshot readback ] -------------------");
foreach (var rec in db_snap.scanForward(new ScanRange<RecordKey>(key, new ScanRange<RecordKey>.maxKey(), null))) {
Console.WriteLine(rec);
}
}