github-actions[bot] commented on code in PR #15966:
URL: https://github.com/apache/doris/pull/15966#discussion_r1089900145
##########
be/src/vec/data_types/data_type_factory.cpp:
##########
@@ -169,6 +179,12 @@
}
nested = std::make_shared<DataTypeStruct>(dataTypes, names);
break;
+ case TYPE_MAP:
+ DCHECK(col_desc.children.size() == 2);
+ nested = std::make_shared<vectorized::DataTypeMap>(
+ create_data_type(col_desc.children[0], col_desc.contains_null),
Review Comment:
warning: no member named 'contains_null' in 'doris::TypeDescriptor'
[clang-diagnostic-error]
```cpp
create_data_type(col_desc.children[0],
col_desc.contains_null),
^
```
##########
be/src/runtime/types.cpp:
##########
@@ -223,6 +227,15 @@
children.push_back(TypeDescriptor(types, idx));
break;
}
+ case TTypeNodeType::MAP: {
+ type = TYPE_MAP;
+ if (node.has_contains_null()) {
+ contains_null = node.contains_null();
Review Comment:
warning: no viable overloaded '=' [clang-diagnostic-error]
```cpp
contains_null = node.contains_null();
^
```
**/usr/include/c++/11/bits/stl_bvector.h:735:** candidate function not
viable: no known conversion from 'bool' to 'const std::vector<bool>' for 1st
argument
```cpp
operator=(const vector& __x)
^
```
**/usr/include/c++/11/bits/stl_bvector.h:766:** candidate function not
viable: no known conversion from 'bool' to 'std::vector<bool>' for 1st argument
```cpp
operator=(vector&& __x) noexcept(_Bit_alloc_traits::_S_nothrow_move())
^
```
**/usr/include/c++/11/bits/stl_bvector.h:791:** candidate function not
viable: no known conversion from 'bool' to 'initializer_list<bool>' for 1st
argument
```cpp
operator=(initializer_list<bool> __l)
^
```
##########
be/src/vec/sink/vmysql_result_writer.cpp:
##########
@@ -715,6 +732,18 @@
}
break;
}
+ case TYPE_MAP: {
+ if (type_ptr->is_nullable()) {
+ auto& nested_type =
+ assert_cast<const
DataTypeNullable&>(*type_ptr).get_nested_type(); //for map
+ status = _add_one_column<PrimitiveType::TYPE_MAP,
true>(column_ptr, result,
+
nested_type);
+ } else {
+ status = _add_one_column<PrimitiveType::TYPE_MAP,
false>(column_ptr, result,
Review Comment:
warning: no matching member function for call to '_add_one_column'
[clang-diagnostic-error]
```cpp
status = _add_one_column<PrimitiveType::TYPE_MAP,
false>(column_ptr, result,
^
```
**be/src/vec/sink/vmysql_result_writer.cpp:65:** candidate function template
not viable: no known conversion from 'doris::vectorized::DataTypePtr' (aka
'shared_ptr<const doris::vectorized::IDataType>') to 'int' for 3rd argument
```cpp
Status VMysqlResultWriter::_add_one_column(const ColumnPtr& column_ptr,
^
```
##########
be/src/vec/sink/vmysql_result_writer.cpp:
##########
@@ -715,6 +732,18 @@
}
break;
}
+ case TYPE_MAP: {
+ if (type_ptr->is_nullable()) {
+ auto& nested_type =
+ assert_cast<const
DataTypeNullable&>(*type_ptr).get_nested_type(); //for map
+ status = _add_one_column<PrimitiveType::TYPE_MAP,
true>(column_ptr, result,
Review Comment:
warning: no matching member function for call to '_add_one_column'
[clang-diagnostic-error]
```cpp
status = _add_one_column<PrimitiveType::TYPE_MAP,
true>(column_ptr, result,
^
```
**be/src/vec/sink/vmysql_result_writer.cpp:65:** candidate function template
not viable: no known conversion from 'const doris::vectorized::DataTypePtr'
(aka 'const shared_ptr<const doris::vectorized::IDataType>') to 'int' for 3rd
argument
```cpp
Status VMysqlResultWriter::_add_one_column(const ColumnPtr& column_ptr,
^
```
##########
be/src/vec/data_types/data_type_factory.cpp:
##########
@@ -169,6 +179,12 @@ DataTypePtr DataTypeFactory::create_data_type(const
TypeDescriptor& col_desc, bo
}
nested = std::make_shared<DataTypeStruct>(dataTypes, names);
break;
+ case TYPE_MAP:
Review Comment:
warning: cannot jump from switch statement to this case label
[clang-diagnostic-error]
```cpp
case TYPE_MAP:
^
```
**be/src/vec/data_types/data_type_factory.cpp:172:** jump bypasses variable
initialization
```cpp
Strings names;
^
```
**be/src/vec/data_types/data_type_factory.cpp:171:** jump bypasses variable
initialization
```cpp
DataTypes dataTypes;
^
```
**be/src/vec/data_types/data_type_factory.cpp:169:** jump bypasses variable
initialization
```cpp
size_t child_size = col_desc.children.size();
^
```
##########
be/src/vec/sink/vmysql_result_writer.cpp:
##########
@@ -185,6 +187,21 @@ Status VMysqlResultWriter::_add_one_column(const
ColumnPtr& column_ptr,
begin = false;
}
buf_ret = _buffer.push_string("]", 1);
+ _buffer.close_dynamic_mode();
+ result->result_batch.rows[i].append(_buffer.buf(),
_buffer.length());
+ }
+ } else if constexpr (type == TYPE_MAP) {
+ auto& map_type = assert_cast<const DataTypeMap&>(*nested_type_ptr);
Review Comment:
warning: use of undeclared identifier 'nested_type_ptr'
[clang-diagnostic-error]
```cpp
auto& map_type = assert_cast<const DataTypeMap&>(*nested_type_ptr);
^
```
##########
be/src/vec/data_types/data_type_factory.cpp:
##########
@@ -169,6 +179,12 @@
}
nested = std::make_shared<DataTypeStruct>(dataTypes, names);
break;
+ case TYPE_MAP:
+ DCHECK(col_desc.children.size() == 2);
+ nested = std::make_shared<vectorized::DataTypeMap>(
+ create_data_type(col_desc.children[0], col_desc.contains_null),
+ create_data_type(col_desc.children[1],
col_desc.contains_null));
Review Comment:
warning: no member named 'contains_null' in 'doris::TypeDescriptor'
[clang-diagnostic-error]
```cpp
create_data_type(col_desc.children[1],
col_desc.contains_null));
^
```
##########
be/src/runtime/types.cpp:
##########
@@ -223,6 +227,15 @@ TypeDescriptor::TypeDescriptor(const
google::protobuf::RepeatedPtrField<PTypeNod
children.push_back(TypeDescriptor(types, idx));
break;
}
+ case TTypeNodeType::MAP: {
+ type = TYPE_MAP;
+ if (node.has_contains_null()) {
+ contains_null = node.contains_null();
Review Comment:
warning: use of undeclared identifier 'contains_null'; did you mean
'contains_nulls'? [clang-diagnostic-error]
```suggestion
contains_nulls = node.contains_null();
```
**be/src/runtime/types.h:66:** 'contains_nulls' declared here
```cpp
std::vector<bool> contains_nulls;
^
```
--
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: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]