public void CanDeleteRecord() { var fn = RandomFilename; var block = new Block(fn, 0); recordPage = new RecordPage(block, _tableInfo, _transaction, _fileManager); var canInsert = recordPage.Insert(); recordPage.SetInt("field", 20); recordPage.Delete(); recordPage.Close(); _transaction.Commit(); var page = _fileManager.ResolvePage(block); page.Read(block); page.GetInt(0, out var isUsed); page.GetInt(4, out var value); Assert.IsTrue(canInsert); Assert.AreEqual(0, isUsed); // It is "soft delete" - we are not changing the value Assert.AreEqual(20, value); }
public void CanInsertRecordWithInt() { var fn = RandomFilename; var block = new Block(fn, 0); recordPage = new RecordPage(block, _tableInfo, _transaction, _fileManager); var canInsert = recordPage.Insert(); recordPage.SetInt("field", 20); recordPage.Close(); _transaction.Commit(); var page = _fileManager.ResolvePage(block); page.Read(block); page.GetInt(0, out var isUsed); page.GetInt(4, out var value); Assert.IsTrue(canInsert); Assert.AreEqual(1, isUsed); Assert.AreEqual(20, value); }