yiguolei commented on code in PR #50290: URL: https://github.com/apache/doris/pull/50290#discussion_r2057488214
########## be/src/vec/data_types/data_type_factory.cpp: ########## @@ -634,4 +503,337 @@ DataTypePtr DataTypeFactory::create_data_type(const segment_v2::ColumnMetaPB& pc return nested; } +DataTypePtr DataTypeFactory::create_data_type(const PrimitiveType primitive_type, bool is_nullable, + int precision, int scale, int len) { + DataTypePtr nested = nullptr; + DataTypes subTypes; + switch (primitive_type) { + case TYPE_BOOLEAN: + nested = std::make_shared<vectorized::DataTypeUInt8>(); + break; + case TYPE_TINYINT: + nested = std::make_shared<vectorized::DataTypeInt8>(); + break; + case TYPE_SMALLINT: + nested = std::make_shared<vectorized::DataTypeInt16>(); + break; + case TYPE_INT: + nested = std::make_shared<vectorized::DataTypeInt32>(); + break; + case TYPE_FLOAT: + nested = std::make_shared<vectorized::DataTypeFloat32>(); + break; + case TYPE_BIGINT: + nested = std::make_shared<vectorized::DataTypeInt64>(); + break; + case TYPE_LARGEINT: + nested = std::make_shared<vectorized::DataTypeInt128>(); + break; + case TYPE_IPV4: + nested = std::make_shared<vectorized::DataTypeIPv4>(); + break; + case TYPE_IPV6: + nested = std::make_shared<vectorized::DataTypeIPv6>(); + break; + case TYPE_DATE: + nested = std::make_shared<vectorized::DataTypeDate>(); + break; + case TYPE_DATEV2: + nested = std::make_shared<vectorized::DataTypeDateV2>(); + break; + case TYPE_DATETIMEV2: + nested = vectorized::create_datetimev2(scale); + break; + case TYPE_DATETIME: + nested = std::make_shared<vectorized::DataTypeDateTime>(); + break; + case TYPE_TIMEV2: + nested = std::make_shared<vectorized::DataTypeTimeV2>(scale); + break; + case TYPE_DOUBLE: + nested = std::make_shared<vectorized::DataTypeFloat64>(); + break; + case TYPE_VARIANT: + nested = std::make_shared<vectorized::DataTypeObject>("", true); + break; + case TYPE_STRING: + case TYPE_CHAR: + case TYPE_VARCHAR: + case TYPE_BINARY: + case TYPE_LAMBDA_FUNCTION: + nested = std::make_shared<vectorized::DataTypeString>( + len, primitive_type == TYPE_BINARY || primitive_type == TYPE_LAMBDA_FUNCTION Review Comment: 这种的就别合到一起写了直接拆分2个 -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org