MCPcopy Create free account
hub / github.com/bytedance/bolt / defaultScalarTypes

Function defaultScalarTypes

bolt/vector/fuzzer/VectorFuzzer.cpp:1618–1674  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1616namespace {
1617
1618const std::vector<TypePtr> defaultScalarTypes(
1619 bool withDecimal = true,
1620 bool withHugeint = true) {
1621 // @TODO Add decimal TypeKinds to randType.
1622 // Refer https://github.com/facebookincubator/velox/issues/3942
1623 static std::vector<TypePtr> kScalarTypes{
1624 BOOLEAN(),
1625 TINYINT(),
1626 SMALLINT(),
1627 INTEGER(),
1628 BIGINT(),
1629 REAL(),
1630 DOUBLE(),
1631 VARCHAR(),
1632 VARBINARY(),
1633 TIMESTAMP(),
1634 DATE(),
1635 INTERVAL_DAY_TIME(),
1636 DECIMAL(18, 5),
1637 DECIMAL(38, 18)};
1638
1639 // There is a very limited decimal support, for example
1640 // protobuf generation
1641 static std::vector<TypePtr> kScalarTypesWithoutDecimal{
1642 BOOLEAN(),
1643 TINYINT(),
1644 SMALLINT(),
1645 INTEGER(),
1646 BIGINT(),
1647 REAL(),
1648 DOUBLE(),
1649 VARCHAR(),
1650 VARBINARY(),
1651 TIMESTAMP(),
1652 DATE(),
1653 INTERVAL_DAY_TIME()};
1654
1655 // dwrf::BaseColumnWriter does not support HUGEINT yet, which can cause
1656 // failures when running JoinFuzzerTest.
1657 static std::vector<TypePtr> kScalarTypesWithoutHugeint{
1658 BOOLEAN(),
1659 TINYINT(),
1660 SMALLINT(),
1661 INTEGER(),
1662 BIGINT(),
1663 REAL(),
1664 DOUBLE(),
1665 VARCHAR(),
1666 VARBINARY(),
1667 TIMESTAMP(),
1668 DATE(),
1669 INTERVAL_DAY_TIME(),
1670 DECIMAL(18, 5)};
1671
1672 return withDecimal ? (withHugeint ? kScalarTypes : kScalarTypesWithoutHugeint)
1673 : kScalarTypesWithoutDecimal;
1674}
1675} // namespace

Callers 2

randTypeFunction · 0.85
randRowTypeFunction · 0.85

Calls 1

DECIMALFunction · 0.85

Tested by

no test coverage detected