Skip to content
This repository was archived by the owner on Sep 27, 2019. It is now read-only.

Commit 3f63eb5

Browse files
author
Aaron Tian
committed
Separate the delete log buffer test
1 parent 7e38591 commit 3f63eb5

File tree

1 file changed

+5
-79
lines changed

1 file changed

+5
-79
lines changed

test/logging/log_buffer_test.cpp

Lines changed: 5 additions & 79 deletions
Original file line numberDiff line numberDiff line change
@@ -140,8 +140,6 @@ TEST_F(LogBufferTests, UpdateLogBufferTest) {
140140
database_id, table_id, tile_group_id, nullptr, schemas, column_map, 3));
141141
catalog::Manager::GetInstance().AddTileGroup(block, tile_group);
142142

143-
logging::LogRecord insert_record = logging::LogRecordFactory::CreateTupleRecord(
144-
LogRecordType::TUPLE_INSERT, location, epoch_id, txn_id, commit_id);
145143
logging::LogRecord update_record = logging::LogRecordFactory::CreateTupleRecord(
146144
LogRecordType::TUPLE_UPDATE, location, new_location, epoch_id, txn_id,
147145
commit_id);
@@ -194,20 +192,15 @@ TEST_F(LogBufferTests, UpdateLogBufferTest) {
194192
EXPECT_EQ(value3, log_buffer_input.ReadDouble());
195193
}
196194

197-
TEST_F(LogBufferTests, LogBufferTest) {
198-
oid_t block = 1, offset = 16, old_block = 1, old_offset = 8, new_block = 1,
199-
new_offset = 24;
195+
TEST_F(LogBufferTests, DeleteLogBufferTest) {
196+
oid_t block = 1, old_block = 1, old_offset = 8;
200197
ItemPointer old_location(old_block, old_offset);
201-
ItemPointer location(block, offset);
202-
ItemPointer new_location(new_block, new_offset);
203198
eid_t epoch_id = 3;
204199
txn_id_t txn_id = 99;
205200
cid_t commit_id = 98;
206201
oid_t database_id = 10;
207202
oid_t table_id = 20;
208203
oid_t tile_group_id = 30;
209-
double value1 = 9.1, value2 = 9.2, value3 = 9.3;
210-
oid_t target_oid1 = 2, target_oid2 = 4, target_oid3 = 5;
211204

212205
logging::LogBuffer *log_buffer;
213206
log_buffer = new logging::LogBuffer(logging::LogManager::GetInstance().GetTransactionBufferSize());
@@ -237,86 +230,19 @@ TEST_F(LogBufferTests, LogBufferTest) {
237230
database_id, table_id, tile_group_id, nullptr, schemas, column_map, 3));
238231
catalog::Manager::GetInstance().AddTileGroup(block, tile_group);
239232

240-
logging::LogRecord insert_record = logging::LogRecordFactory::CreateTupleRecord(
241-
LogRecordType::TUPLE_INSERT, location, epoch_id, txn_id, commit_id);
242-
logging::LogRecord update_record = logging::LogRecordFactory::CreateTupleRecord(
243-
LogRecordType::TUPLE_UPDATE, location, new_location, epoch_id, txn_id,
244-
commit_id);
245233
logging::LogRecord delete_record = logging::LogRecordFactory::CreateTupleRecord(
246234
LogRecordType::TUPLE_DELETE, old_location, epoch_id, txn_id, commit_id);
247235

248236
EXPECT_EQ(log_buffer->GetThreshold(), logging::LogManager::GetInstance().GetTransactionBufferSize());
249237

250-
type::Value val1 = type::ValueFactory::GetDecimalValue(value1);
251-
type::Value val2 = type::ValueFactory::GetDecimalValue(value2);
252-
type::Value val3 = type::ValueFactory::GetDecimalValue(value3);
253-
std::vector<type::Value> values;
254-
values.push_back(val1);
255-
values.push_back(val2);
256-
values.push_back(val3);
257-
insert_record.SetValuesArray(reinterpret_cast<char *>(values.data()), static_cast<uint32_t>(values.size()));
258-
log_buffer->WriteRecord(insert_record);
259-
size_t buffer_size1 = sizeof(int32_t) + sizeof(int8_t) + sizeof(int64_t) * 3 + sizeof(int64_t) * 4 +
260-
sizeof(double) * 3;
261-
EXPECT_EQ(buffer_size1, log_buffer->GetSize());
262-
263-
expression::AbstractExpression *expr = nullptr;
264-
planner::DerivedAttribute tmp_att(expr);
265-
Target target1 = std::make_pair(target_oid1, tmp_att);
266-
Target target2 = std::make_pair(target_oid2, tmp_att);
267-
Target target3 = std::make_pair(target_oid3, tmp_att);
268-
TargetList *target_list = new TargetList;
269-
target_list->push_back(target1);
270-
target_list->push_back(target2);
271-
target_list->push_back(target3);
272-
update_record.SetOffsetsArray(target_list);
273-
update_record.SetValuesArray(reinterpret_cast<char *>(values.data()), static_cast<uint32_t>(values.size()));
274-
log_buffer->WriteRecord(update_record);
275-
size_t buffer_size2 = sizeof(int32_t) + sizeof(int8_t) + sizeof(int64_t) * 3 + sizeof(int64_t) * 7 +
276-
(sizeof(int32_t) + sizeof(double)) * 3;
277-
EXPECT_EQ(buffer_size2, log_buffer->GetSize() - buffer_size1);
278-
279238
log_buffer->WriteRecord(delete_record);
280-
size_t buffer_size3 = sizeof(int32_t) + sizeof(int8_t) + sizeof(int64_t) * 3 + sizeof(int64_t) * 4;
281-
EXPECT_EQ(buffer_size3, log_buffer->GetSize() - buffer_size1 - buffer_size2);
239+
size_t buffer_size = sizeof(int32_t) + sizeof(int8_t) + sizeof(int64_t) * 3 + sizeof(int64_t) * 4;
240+
EXPECT_EQ(buffer_size, log_buffer->GetSize());
282241

283242
ReferenceSerializeInput log_buffer_input(log_buffer->GetData(), log_buffer->GetSize());
284-
// Insert record
285-
EXPECT_EQ(buffer_size1 - sizeof(int32_t), log_buffer_input.ReadInt());
286-
EXPECT_EQ(static_cast<int>(LogRecordType::TUPLE_INSERT), log_buffer_input.ReadEnumInSingleByte());
287-
EXPECT_EQ(txn_id, log_buffer_input.ReadLong());
288-
EXPECT_EQ(epoch_id, log_buffer_input.ReadLong());
289-
EXPECT_EQ(commit_id, log_buffer_input.ReadLong());
290-
EXPECT_EQ(database_id, log_buffer_input.ReadLong());
291-
EXPECT_EQ(table_id, log_buffer_input.ReadLong());
292-
EXPECT_EQ(block, log_buffer_input.ReadLong());
293-
EXPECT_EQ(offset, log_buffer_input.ReadLong());
294-
EXPECT_EQ(value1, log_buffer_input.ReadDouble());
295-
EXPECT_EQ(value2, log_buffer_input.ReadDouble());
296-
EXPECT_EQ(value3, log_buffer_input.ReadDouble());
297-
298-
// Update Record
299-
EXPECT_EQ(buffer_size2 - sizeof(int32_t), log_buffer_input.ReadInt());
300-
EXPECT_EQ(static_cast<int>(LogRecordType::TUPLE_UPDATE), log_buffer_input.ReadEnumInSingleByte());
301-
EXPECT_EQ(txn_id, log_buffer_input.ReadLong());
302-
EXPECT_EQ(epoch_id, log_buffer_input.ReadLong());
303-
EXPECT_EQ(commit_id, log_buffer_input.ReadLong());
304-
EXPECT_EQ(database_id, log_buffer_input.ReadLong());
305-
EXPECT_EQ(table_id, log_buffer_input.ReadLong());
306-
EXPECT_EQ(block, log_buffer_input.ReadLong());
307-
EXPECT_EQ(offset, log_buffer_input.ReadLong());
308-
EXPECT_EQ(new_block, log_buffer_input.ReadLong());
309-
EXPECT_EQ(new_offset, log_buffer_input.ReadLong());
310-
EXPECT_EQ(update_record.GetNumValues(), log_buffer_input.ReadLong());
311-
EXPECT_EQ(target_oid1, log_buffer_input.ReadInt());
312-
EXPECT_EQ(value1, log_buffer_input.ReadDouble());
313-
EXPECT_EQ(target_oid2, log_buffer_input.ReadInt());
314-
EXPECT_EQ(value2, log_buffer_input.ReadDouble());
315-
EXPECT_EQ(target_oid3, log_buffer_input.ReadInt());
316-
EXPECT_EQ(value3, log_buffer_input.ReadDouble());
317243

318244
// Delete record
319-
EXPECT_EQ(buffer_size3 - sizeof(int32_t), log_buffer_input.ReadInt());
245+
EXPECT_EQ(buffer_size - sizeof(int32_t), log_buffer_input.ReadInt());
320246
EXPECT_EQ(static_cast<int>(LogRecordType::TUPLE_DELETE), log_buffer_input.ReadEnumInSingleByte());
321247
EXPECT_EQ(txn_id, log_buffer_input.ReadLong());
322248
EXPECT_EQ(epoch_id, log_buffer_input.ReadLong());

0 commit comments

Comments
 (0)