@@ -140,8 +140,6 @@ TEST_F(LogBufferTests, UpdateLogBufferTest) {
140
140
database_id, table_id, tile_group_id, nullptr , schemas, column_map, 3 ));
141
141
catalog::Manager::GetInstance ().AddTileGroup (block, tile_group);
142
142
143
- logging::LogRecord insert_record = logging::LogRecordFactory::CreateTupleRecord (
144
- LogRecordType::TUPLE_INSERT, location, epoch_id, txn_id, commit_id);
145
143
logging::LogRecord update_record = logging::LogRecordFactory::CreateTupleRecord (
146
144
LogRecordType::TUPLE_UPDATE, location, new_location, epoch_id, txn_id,
147
145
commit_id);
@@ -194,20 +192,15 @@ TEST_F(LogBufferTests, UpdateLogBufferTest) {
194
192
EXPECT_EQ (value3, log_buffer_input.ReadDouble ());
195
193
}
196
194
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 ;
200
197
ItemPointer old_location (old_block, old_offset);
201
- ItemPointer location (block, offset);
202
- ItemPointer new_location (new_block, new_offset);
203
198
eid_t epoch_id = 3 ;
204
199
txn_id_t txn_id = 99 ;
205
200
cid_t commit_id = 98 ;
206
201
oid_t database_id = 10 ;
207
202
oid_t table_id = 20 ;
208
203
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 ;
211
204
212
205
logging::LogBuffer *log_buffer;
213
206
log_buffer = new logging::LogBuffer (logging::LogManager::GetInstance ().GetTransactionBufferSize ());
@@ -237,86 +230,19 @@ TEST_F(LogBufferTests, LogBufferTest) {
237
230
database_id, table_id, tile_group_id, nullptr , schemas, column_map, 3 ));
238
231
catalog::Manager::GetInstance ().AddTileGroup (block, tile_group);
239
232
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);
245
233
logging::LogRecord delete_record = logging::LogRecordFactory::CreateTupleRecord (
246
234
LogRecordType::TUPLE_DELETE, old_location, epoch_id, txn_id, commit_id);
247
235
248
236
EXPECT_EQ (log_buffer->GetThreshold (), logging::LogManager::GetInstance ().GetTransactionBufferSize ());
249
237
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
-
279
238
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 ());
282
241
283
242
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 ());
317
243
318
244
// 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 ());
320
246
EXPECT_EQ (static_cast <int >(LogRecordType::TUPLE_DELETE), log_buffer_input.ReadEnumInSingleByte ());
321
247
EXPECT_EQ (txn_id, log_buffer_input.ReadLong ());
322
248
EXPECT_EQ (epoch_id, log_buffer_input.ReadLong ());
0 commit comments