MCPcopy Create free account
hub / github.com/apache/impala / CreateLiteral

Method CreateLiteral

be/src/exprs/expr-test.cc:1438–1498  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1436}
1437
1438Literal* ExprTest::CreateLiteral(const ColumnType& type, const string& str) {
1439 switch (type.type) {
1440 case TYPE_BOOLEAN: {
1441 bool v = false;
1442 EXPECT_TRUE(ParseString<bool>(str, &v));
1443 return pool_.Add(new Literal(type, v));
1444 }
1445 case TYPE_TINYINT: {
1446 int8_t v = 0;
1447 EXPECT_TRUE(ParseString<int8_t>(str, &v));
1448 return pool_.Add(new Literal(type, v));
1449 }
1450 case TYPE_SMALLINT: {
1451 int16_t v = 0;
1452 EXPECT_TRUE(ParseString<int16_t>(str, &v));
1453 return pool_.Add(new Literal(type, v));
1454 }
1455 case TYPE_INT: {
1456 int32_t v = 0;
1457 EXPECT_TRUE(ParseString<int32_t>(str, &v));
1458 return pool_.Add(new Literal(type, v));
1459 }
1460 case TYPE_BIGINT: {
1461 int64_t v = 0;
1462 EXPECT_TRUE(ParseString<int64_t>(str, &v));
1463 return pool_.Add(new Literal(type, v));
1464 }
1465 case TYPE_FLOAT: {
1466 float v = 0;
1467 EXPECT_TRUE(ParseString<float>(str, &v));
1468 return pool_.Add(new Literal(type, v));
1469 }
1470 case TYPE_DOUBLE: {
1471 double v = 0;
1472 EXPECT_TRUE(ParseString<double>(str, &v));
1473 return pool_.Add(new Literal(type, v));
1474 }
1475 case TYPE_STRING:
1476 case TYPE_VARCHAR:
1477 case TYPE_CHAR:
1478 return pool_.Add(new Literal(type, str));
1479 case TYPE_TIMESTAMP: {
1480 TimestampValue v;
1481 EXPECT_TRUE(ParseString<TimestampValue>(str, &v));
1482 return pool_.Add(new Literal(type, v));
1483 }
1484 case TYPE_DATE: {
1485 DateValue v;
1486 EXPECT_TRUE(ParseString<DateValue>(str, &v));
1487 return pool_.Add(new Literal(type, v));
1488 }
1489 case TYPE_DECIMAL: {
1490 double v = 0;
1491 EXPECT_TRUE(ParseString<double>(str, &v));
1492 return pool_.Add(new Literal(type, v));
1493 }
1494 default:
1495 DCHECK(false) << "Invalid type: " << type.DebugString();

Callers

nothing calls this directly

Calls 3

ColumnTypeClass · 0.50
AddMethod · 0.45
DebugStringMethod · 0.45

Tested by

no test coverage detected