github-actions[bot] commented on code in PR #43065:
URL: https://github.com/apache/doris/pull/43065#discussion_r1827794036
##########
be/test/vec/data_types/serde/data_type_serde_test.cpp:
##########
@@ -220,4 +220,66 @@ TEST(DataTypeSerDeTest, DataTypeScalaSerDeTest) {
serialize_and_deserialize_pb_test();
}
+TEST(DataTypeSerDeTest, DataTypeRowStoreSerDeTest) {
+ // ipv6
+ {
+ std::string ip = "5be8:dde9:7f0b:d5a7:bd01:b3be:9c69:573b";
+ auto vec = vectorized::ColumnVector<IPv6>::create();
+ IPv6Value ipv6;
+ EXPECT_TRUE(ipv6.from_string(ip));
+ vec->insert(ipv6.value());
+
+ vectorized::DataTypePtr
data_type(std::make_shared<vectorized::DataTypeIPv6>());
+ auto serde = data_type->get_serde(0);
+ JsonbWriterT<JsonbOutStream> jsonb_writer;
+ Arena pool;
+ jsonb_writer.writeStartObject();
+ serde->write_one_cell_to_jsonb(*vec, jsonb_writer, &pool, 0, 0);
+ jsonb_writer.writeEndObject();
+ auto jsonb_column = ColumnString::create();
+ jsonb_column->insert_data(jsonb_writer.getOutput()->getBuffer(),
+ jsonb_writer.getOutput()->getSize());
+ StringRef jsonb_data = jsonb_column->get_data_at(0);
+ auto pdoc = JsonbDocument::createDocument(jsonb_data.data,
jsonb_data.size);
+ JsonbDocument& doc = *pdoc;
+ for (auto it = doc->begin(); it != doc->end(); ++it) {
+ serde->read_one_cell_from_jsonb(*vec, it->value());
+ }
+ EXPECT_TRUE(vec->size() == 2);
+ IPv6 data = vec->get_element(1);
+ IPv6Value ipv6_value(data);
+ EXPECT_EQ(ipv6_value.to_string(), ip);
+ }
+
+ // ipv4
+ {
+ std::string ip = "192.0.0.1";
+ auto vec = vectorized::ColumnVector<IPv4>::create();
+ IPv4Value ipv4;
+ EXPECT_TRUE(ipv4.from_string(ip));
Review Comment:
warning: static member accessed through instance
[readability-static-accessed-through-instance]
```suggestion
EXPECT_TRUE(std::doris::IPv4Value::from_string(ip));
```
##########
be/test/vec/data_types/serde/data_type_serde_test.cpp:
##########
@@ -220,4 +220,66 @@
serialize_and_deserialize_pb_test();
}
+TEST(DataTypeSerDeTest, DataTypeRowStoreSerDeTest) {
+ // ipv6
+ {
+ std::string ip = "5be8:dde9:7f0b:d5a7:bd01:b3be:9c69:573b";
+ auto vec = vectorized::ColumnVector<IPv6>::create();
+ IPv6Value ipv6;
+ EXPECT_TRUE(ipv6.from_string(ip));
+ vec->insert(ipv6.value());
+
+ vectorized::DataTypePtr
data_type(std::make_shared<vectorized::DataTypeIPv6>());
+ auto serde = data_type->get_serde(0);
+ JsonbWriterT<JsonbOutStream> jsonb_writer;
+ Arena pool;
+ jsonb_writer.writeStartObject();
+ serde->write_one_cell_to_jsonb(*vec, jsonb_writer, &pool, 0, 0);
+ jsonb_writer.writeEndObject();
+ auto jsonb_column = ColumnString::create();
+ jsonb_column->insert_data(jsonb_writer.getOutput()->getBuffer(),
+ jsonb_writer.getOutput()->getSize());
+ StringRef jsonb_data = jsonb_column->get_data_at(0);
+ auto pdoc = JsonbDocument::createDocument(jsonb_data.data,
jsonb_data.size);
+ JsonbDocument& doc = *pdoc;
+ for (auto it = doc->begin(); it != doc->end(); ++it) {
+ serde->read_one_cell_from_jsonb(*vec, it->value());
+ }
+ EXPECT_TRUE(vec->size() == 2);
+ IPv6 data = vec->get_element(1);
+ IPv6Value ipv6_value(data);
+ EXPECT_EQ(ipv6_value.to_string(), ip);
+ }
+
+ // ipv4
+ {
+ std::string ip = "192.0.0.1";
+ auto vec = vectorized::ColumnVector<IPv4>::create();
+ IPv4Value ipv4;
+ EXPECT_TRUE(ipv4.from_string(ip));
+ vec->insert(ipv4.value());
+
+ vectorized::DataTypePtr
data_type(std::make_shared<vectorized::DataTypeIPv4>());
+ auto serde = data_type->get_serde(0);
+ JsonbWriterT<JsonbOutStream> jsonb_writer;
+ Arena pool;
+ jsonb_writer.writeStartObject();
+ serde->write_one_cell_to_jsonb(*vec, jsonb_writer, &pool, 0, 0);
+ jsonb_writer.writeEndObject();
+ auto jsonb_column = ColumnString::create();
+ jsonb_column->insert_data(jsonb_writer.getOutput()->getBuffer(),
+ jsonb_writer.getOutput()->getSize());
+ StringRef jsonb_data = jsonb_column->get_data_at(0);
+ auto pdoc = JsonbDocument::createDocument(jsonb_data.data,
jsonb_data.size);
Review Comment:
warning: 'auto pdoc' can be declared as 'auto *pdoc'
[readability-qualified-auto]
```suggestion
auto *pdoc = JsonbDocument::createDocument(jsonb_data.data,
jsonb_data.size);
```
--
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]