MCPcopy Create free account
hub / github.com/4paradigm/OpenMLDB / CompareRow

Function CompareRow

src/codec/codec_project_test.cc:308–400  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

306}
307
308void CompareRow(RowView* left, RowView* right,
309 const Schema& schema) {
310 for (int32_t i = 0; i < schema.size(); i++) {
311 uint32_t idx = (uint32_t)i;
312 const common::ColumnDesc& column = schema.Get(i);
313 ASSERT_EQ(left->IsNULL(idx), right->IsNULL(i));
314 if (left->IsNULL(idx)) continue;
315 int32_t ret = 0;
316 switch (column.data_type()) {
317 case ::fedb::type::kBool: {
318 bool left_val = false;
319 bool right_val = false;
320 ret = left->GetBool(idx, &left_val);
321 ASSERT_EQ(0, ret);
322 ret = right->GetBool(idx, &right_val);
323 ASSERT_EQ(0, ret);
324 ASSERT_EQ(left_val, right_val);
325 break;
326 }
327
328 case ::fedb::type::kSmallInt: {
329 int16_t left_val = 0;
330 int16_t right_val = 0;
331 ret = left->GetInt16(idx, &left_val);
332 ASSERT_EQ(0, ret);
333 ret = right->GetInt16(idx, &right_val);
334 ASSERT_EQ(0, ret);
335 ASSERT_EQ(left_val, right_val);
336 break;
337 }
338
339 case ::fedb::type::kInt: {
340 int32_t left_val = 0;
341 int32_t right_val = 0;
342 ret = left->GetInt32(idx, &left_val);
343 ASSERT_EQ(0, ret);
344 ret = right->GetInt32(idx, &right_val);
345 ASSERT_EQ(0, ret);
346 ASSERT_EQ(left_val, right_val);
347 break;
348 }
349 case ::fedb::type::kTimestamp:
350 case ::fedb::type::kBigInt: {
351 int64_t left_val = 0;
352 int64_t right_val = 0;
353 ret = left->GetInt64(idx, &left_val);
354 ASSERT_EQ(0, ret);
355 ret = right->GetInt64(idx, &right_val);
356 ASSERT_EQ(0, ret);
357 ASSERT_EQ(left_val, right_val);
358 break;
359 }
360 case ::fedb::type::kFloat: {
361 float left_val = 0;
362 float right_val = 0;
363 ret = left->GetFloat(idx, &left_val);
364 ASSERT_EQ(0, ret);
365 ret = right->GetFloat(idx, &right_val);

Callers 1

TEST_PFunction · 0.70

Calls 10

sizeMethod · 0.45
GetMethod · 0.45
IsNULLMethod · 0.45
GetBoolMethod · 0.45
GetInt16Method · 0.45
GetInt32Method · 0.45
GetInt64Method · 0.45
GetFloatMethod · 0.45
GetDoubleMethod · 0.45
GetStringMethod · 0.45

Tested by

no test coverage detected