public void CanReadWrittenDateRecord() { var tableFile = RandomFilename; var schema = new Schema(); schema.AddDateField("field"); _tableInfo = new TableInfo(tableFile, schema); _recordFile = new RecordFile(_tableInfo, _transaction); _recordFile.MoveToRID(new RID(0, 0)); _recordFile.SetDate("field", new DateTime(2020, 1, 1)); _recordFile.Close(); _transaction.Commit(); var cm = new ConcurrencyManager(); var newTr = new Transaction(_dispatcher, _bufferManager, cm, _fileManager, _logManager); var rf = new RecordFile(_tableInfo, newTr); rf.MoveToRID(new RID(0, 0)); var value = rf.GetDate("field"); Assert.AreEqual(new DateTime(2020, 1, 1), value); }
public void CanWriteIntOnARecord() { var tableFile = RandomFilename; var schema = new Schema(); schema.AddIntField("field"); _tableInfo = new TableInfo(tableFile, schema); _recordFile = new RecordFile(_tableInfo, _transaction); _recordFile.MoveToRID(new RID(0, 0)); _recordFile.SetInt("field", 10); _recordFile.Close(); _transaction.Commit(); var block = new IO.Primitives.Block(tableFile + ".tbl", 0); var page = _fileManager.ResolvePage(block); page.Read(block); _ = page.GetInt(4, out var value); Assert.AreEqual(10, value); }
public void MoveToRID(RID rid) => _recordFile.MoveToRID(rid);