xiaokang commented on code in PR #31769:
URL: https://github.com/apache/doris/pull/31769#discussion_r1530161784


##########
be/src/vec/common/schema_util.cpp:
##########
@@ -506,7 +507,7 @@ Status parse_variant_columns(Block& block, const 
std::vector<int>& variant_pos,
                 auto raw_column = vectorized::ColumnString::create();
                 for (size_t i = 0; i < var->rows(); ++i) {
                     std::string raw_str;
-                    var->serialize_one_row_to_string(i, &raw_str);
+                    static_cast<void>(var->serialize_one_row_to_string(i, 
&raw_str));

Review Comment:
   Why not return if error



##########
be/src/vec/columns/column_object.cpp:
##########
@@ -1106,15 +1108,15 @@ bool ColumnObject::serialize_one_row_to_json_format(int 
row, rapidjson::StringBu
     } else {
         output->Clear();
         rapidjson::Writer<rapidjson::StringBuffer> writer(*output);
-        return root.Accept(writer);
+        CHECK(root.Accept(writer));

Review Comment:
   Why not return error status?



##########
be/src/vec/columns/column_object.cpp:
##########
@@ -1031,53 +1033,49 @@ void get_json_by_column_tree(rapidjson::Value& root, 
rapidjson::Document::Alloca
     }
 }
 
-bool ColumnObject::serialize_one_row_to_string(int row, std::string* output) 
const {
+Status ColumnObject::serialize_one_row_to_string(int row, std::string* output) 
const {
     if (!is_finalized()) {
         const_cast<ColumnObject*>(this)->finalize();
     }
     rapidjson::StringBuffer buf;
     if (is_scalar_variant()) {
         auto type = get_root_type();
         *output = type->to_string(*get_root(), row);
-        return true;
+        return Status::OK();
     }
-    bool res = serialize_one_row_to_json_format(row, &buf, nullptr);
-    if (res) {
-        // TODO avoid copy
-        *output = std::string(buf.GetString(), buf.GetSize());
-    }
-    return res;
+    RETURN_IF_ERROR(serialize_one_row_to_json_format(row, &buf, nullptr));
+    // TODO avoid copy
+    *output = std::string(buf.GetString(), buf.GetSize());
+    return Status::OK();
 }
 
-bool ColumnObject::serialize_one_row_to_string(int row, BufferWritable& 
output) const {
+Status ColumnObject::serialize_one_row_to_string(int row, BufferWritable& 
output) const {
     if (!is_finalized()) {
         const_cast<ColumnObject*>(this)->finalize();
     }
     if (is_scalar_variant()) {
         auto type = get_root_type();
         type->to_string(*get_root(), row, output);
-        return true;
+        return Status::OK();
     }
     rapidjson::StringBuffer buf;
-    bool res = serialize_one_row_to_json_format(row, &buf, nullptr);
-    if (res) {
-        output.write(buf.GetString(), buf.GetLength());
-    }
-    return res;
+    RETURN_IF_ERROR(serialize_one_row_to_json_format(row, &buf, nullptr));
+    output.write(buf.GetString(), buf.GetLength());
+    return Status::OK();
 }
 
-bool ColumnObject::serialize_one_row_to_json_format(int row, 
rapidjson::StringBuffer* output,
-                                                    bool* is_null) const {
+Status ColumnObject::serialize_one_row_to_json_format(int row, 
rapidjson::StringBuffer* output,
+                                                      bool* is_null) const {
     CHECK(is_finalized());
     if (subcolumns.empty()) {
         if (is_null != nullptr) {
             *is_null = true;
         } else {
             rapidjson::Value root(rapidjson::kNullType);
             rapidjson::Writer<rapidjson::StringBuffer> writer(*output);
-            return root.Accept(writer);
+            CHECK(root.Accept(writer));

Review Comment:
   Why not return Status::InternalError



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

Reply via email to