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: 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