github-actions[bot] commented on code in PR #26534:
URL: https://github.com/apache/doris/pull/26534#discussion_r1384783436
##########
be/src/vec/data_types/serde/data_type_ipv4_serde.cpp:
##########
@@ -61,5 +62,30 @@ Status DataTypeIPv4SerDe::write_column_to_mysql(const
IColumn& column,
return _write_column_to_mysql(column, row_buffer, row_idx, col_const);
}
+Status DataTypeIPv4SerDe::serialize_one_cell_to_json(const IColumn& column,
int row_num, BufferWritable& bw,
+ FormatOptions&
options) const {
Review Comment:
warning: method 'serialize_one_cell_to_json' can be made static
[readability-convert-member-functions-to-static]
```suggestion
static Status DataTypeIPv4SerDe::serialize_one_cell_to_json(const IColumn&
column, int row_num, BufferWritable& bw,
FormatOptions&
options) {
```
##########
be/test/vec/data_types/serde/data_type_serde_arrow_test.cpp:
##########
@@ -98,6 +100,8 @@
{"k5", FieldType::OLAP_FIELD_TYPE_DECIMAL32, 5,
TYPE_DECIMAL32, false},
{"k6", FieldType::OLAP_FIELD_TYPE_DECIMAL64, 6,
TYPE_DECIMAL64, false},
{"k12", FieldType::OLAP_FIELD_TYPE_DATETIMEV2, 12,
TYPE_DATETIMEV2, false},
+ {"k8", FieldType::OLAP_FIELD_TYPE_IPV4, 8, TYPE_IPV4, false},
+ {"k9", FieldType::OLAP_FIELD_TYPE_IPV6, 9, TYPE_IPV6, false},
Review Comment:
warning: 9 is a magic number; consider replacing it with a named constant
[readability-magic-numbers]
```cpp
{"k9", FieldType::OLAP_FIELD_TYPE_IPV6, 9, TYPE_IPV6, false},
^
```
##########
be/src/vec/data_types/serde/data_type_ipv6_serde.cpp:
##########
@@ -61,5 +62,30 @@
return _write_column_to_mysql(column, row_buffer, row_idx, col_const);
}
+Status DataTypeIPv6SerDe::serialize_one_cell_to_json(const IColumn& column,
int row_num, BufferWritable& bw,
+ FormatOptions& options)
const {
+ auto result = check_column_const_set_readability(column, row_num);
+ ColumnPtr ptr = result.first;
+ row_num = result.second;
+ IPv6 data = assert_cast<const ColumnIPv6&>(*ptr).get_element(row_num);
+ IPv6Value ipv6_value(data);
+ std::string ipv6_str = ipv6_value.to_string();
+ bw.write(ipv6_str.c_str(), ipv6_str.length());
+ return Status::OK();
+}
+
+Status DataTypeIPv6SerDe::deserialize_one_cell_from_json(IColumn& column,
Slice& slice,
+ const FormatOptions&
options) const {
Review Comment:
warning: method 'deserialize_one_cell_from_json' can be made static
[readability-convert-member-functions-to-static]
```suggestion
static Status DataTypeIPv6SerDe::deserialize_one_cell_from_json(IColumn&
column, Slice& slice,
const
FormatOptions& options) {
```
##########
be/test/vec/data_types/serde/data_type_serde_arrow_test.cpp:
##########
@@ -98,6 +100,8 @@ void serialize_and_deserialize_arrow_test() {
{"k5", FieldType::OLAP_FIELD_TYPE_DECIMAL32, 5,
TYPE_DECIMAL32, false},
{"k6", FieldType::OLAP_FIELD_TYPE_DECIMAL64, 6,
TYPE_DECIMAL64, false},
{"k12", FieldType::OLAP_FIELD_TYPE_DATETIMEV2, 12,
TYPE_DATETIMEV2, false},
+ {"k8", FieldType::OLAP_FIELD_TYPE_IPV4, 8, TYPE_IPV4, false},
Review Comment:
warning: 8 is a magic number; consider replacing it with a named constant
[readability-magic-numbers]
```cpp
{"k8", FieldType::OLAP_FIELD_TYPE_IPV4, 8, TYPE_IPV4, false},
^
```
##########
be/src/olap/types.h:
##########
@@ -995,10 +994,16 @@ struct FieldTypeTraits<FieldType::OLAP_FIELD_TYPE_IPV4>
static std::string to_string(const void* src) {
uint32_t value = *reinterpret_cast<const uint32_t*>(src);
- std::stringstream ss;
- ss << ((value >> 24) & 0xFF) << '.' << ((value >> 16) & 0xFF) << '.'
- << ((value >> 8) & 0xFF) << '.' << (value & 0xFF);
- return ss.str();
+ IPv4Value ipv4_value(value);
+ return ipv4_value.to_string();
+ }
+
+ static void set_to_max(void* buf) {
+ *reinterpret_cast<uint32_t*>(buf) = 0xFFFFFFFF; // 255.255.255.255
Review Comment:
warning: 0xFFFFFFFF is a magic number; consider replacing it with a named
constant [readability-magic-numbers]
```cpp
*reinterpret_cast<uint32_t*>(buf) = 0xFFFFFFFF; // 255.255.255.255
^
```
##########
be/test/vec/data_types/serde/data_type_serde_pb_test.cpp:
##########
@@ -198,6 +201,28 @@
->insert_range_from_not_nullable(*vec, 0, 1024);
check_pb_col(nullable_data_type, *nullable_column.get());
}
+ // ipv4
+ std::cout << "==== ipv4 === " << std::endl;
+ {
+ auto vec = vectorized::ColumnVector<IPv4>::create();
+ auto& data = vec->get_data();
+ for (int i = 0; i < 1024; ++i) {
+ data.push_back(i);
+ }
+ vectorized::DataTypePtr
data_type(std::make_shared<vectorized::DataTypeIPv4>());
+ check_pb_col(data_type, *vec.get());
+ }
+ // ipv6
+ std::cout << "==== ipv6 === " << std::endl;
+ {
+ auto vec = vectorized::ColumnVector<IPv6>::create();
+ auto& data = vec->get_data();
+ for (int i = 0; i < 1024; ++i) {
Review Comment:
warning: 1024 is a magic number; consider replacing it with a named constant
[readability-magic-numbers]
```cpp
for (int i = 0; i < 1024; ++i) {
^
```
##########
be/src/vec/data_types/serde/data_type_ipv6_serde.cpp:
##########
@@ -61,5 +62,30 @@ Status DataTypeIPv6SerDe::write_column_to_mysql(const
IColumn& column,
return _write_column_to_mysql(column, row_buffer, row_idx, col_const);
}
+Status DataTypeIPv6SerDe::serialize_one_cell_to_json(const IColumn& column,
int row_num, BufferWritable& bw,
+ FormatOptions& options)
const {
Review Comment:
warning: method 'serialize_one_cell_to_json' can be made static
[readability-convert-member-functions-to-static]
```suggestion
static Status DataTypeIPv6SerDe::serialize_one_cell_to_json(const IColumn&
column, int row_num, BufferWritable& bw,
FormatOptions& options)
{
```
##########
be/test/vec/data_types/serde/data_type_serde_pb_test.cpp:
##########
@@ -198,6 +201,28 @@ inline void serialize_and_deserialize_pb_test() {
->insert_range_from_not_nullable(*vec, 0, 1024);
check_pb_col(nullable_data_type, *nullable_column.get());
}
+ // ipv4
+ std::cout << "==== ipv4 === " << std::endl;
+ {
+ auto vec = vectorized::ColumnVector<IPv4>::create();
+ auto& data = vec->get_data();
+ for (int i = 0; i < 1024; ++i) {
Review Comment:
warning: 1024 is a magic number; consider replacing it with a named constant
[readability-magic-numbers]
```cpp
for (int i = 0; i < 1024; ++i) {
^
```
##########
be/test/vec/data_types/serde/data_type_serde_test.cpp:
##########
@@ -192,6 +194,26 @@
->insert_range_from_not_nullable(*vec, 0, 1024);
check_pb_col(nullable_data_type, *nullable_column.get());
}
+ // ipv4
+ {
+ auto vec = vectorized::ColumnVector<IPv4>::create();
+ auto& data = vec->get_data();
+ for (int i = 0; i < 1024; ++i) {
+ data.push_back(i);
+ }
+ vectorized::DataTypePtr
data_type(std::make_shared<vectorized::DataTypeIPv4>());
+ check_pb_col(data_type, *vec.get());
+ }
+ // ipv6
+ {
+ auto vec = vectorized::ColumnVector<IPv6>::create();
+ auto& data = vec->get_data();
+ for (int i = 0; i < 1024; ++i) {
Review Comment:
warning: 1024 is a magic number; consider replacing it with a named constant
[readability-magic-numbers]
```cpp
for (int i = 0; i < 1024; ++i) {
^
```
##########
be/test/vec/data_types/serde/data_type_serde_test.cpp:
##########
@@ -192,6 +194,26 @@ inline void serialize_and_deserialize_pb_test() {
->insert_range_from_not_nullable(*vec, 0, 1024);
check_pb_col(nullable_data_type, *nullable_column.get());
}
+ // ipv4
+ {
+ auto vec = vectorized::ColumnVector<IPv4>::create();
+ auto& data = vec->get_data();
+ for (int i = 0; i < 1024; ++i) {
Review Comment:
warning: 1024 is a magic number; consider replacing it with a named constant
[readability-magic-numbers]
```cpp
for (int i = 0; i < 1024; ++i) {
^
```
##########
be/src/vec/data_types/serde/data_type_ipv4_serde.cpp:
##########
@@ -61,5 +62,30 @@
return _write_column_to_mysql(column, row_buffer, row_idx, col_const);
}
+Status DataTypeIPv4SerDe::serialize_one_cell_to_json(const IColumn& column,
int row_num, BufferWritable& bw,
+ FormatOptions&
options) const {
+ auto result = check_column_const_set_readability(column, row_num);
+ ColumnPtr ptr = result.first;
+ row_num = result.second;
+ IPv4 data = assert_cast<const ColumnIPv4&>(*ptr).get_element(row_num);
+ IPv4Value ipv4_value(data);
+ std::string ipv4_str = ipv4_value.to_string();
+ bw.write(ipv4_str.c_str(), ipv4_str.length());
+ return Status::OK();
+}
+
+Status DataTypeIPv4SerDe::deserialize_one_cell_from_json(IColumn& column,
Slice& slice,
+ const FormatOptions&
options) const {
Review Comment:
warning: method 'deserialize_one_cell_from_json' can be made static
[readability-convert-member-functions-to-static]
```suggestion
static Status DataTypeIPv4SerDe::deserialize_one_cell_from_json(IColumn&
column, Slice& slice,
const
FormatOptions& options) {
```
--
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]