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

Reply via email to