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


##########
be/src/vec/exec/vsort_node.cpp:
##########
@@ -123,6 +126,33 @@ Status VSortNode::open(RuntimeState* state) {
                                   _children[0], std::placeholders::_1, 
std::placeholders::_2,
                                   std::placeholders::_3)),
                 child(0)->get_next_span(), eos);
+
+        if (upstream_block->rows() != 0) {
+            RETURN_IF_ERROR(_sorter->append_block(upstream_block.get()));
+            RETURN_IF_CANCELLED(state);
+            RETURN_IF_ERROR(state->check_query_state("vsort, while sorting 
input."));
+
+            // runtime predicate
+            // SCOPED_TIMER(_update_runtime_predicate_timer);
+            if (_use_topn_opt) {
+                Field new_top = _sorter->get_top_value();
+                if (!new_top.is_null() && new_top != old_top) {
+                    auto & sort_description = _sorter->get_sort_description();
+                    auto col = 
upstream_block->get_by_position(sort_description[0].column_number);
+                    auto type = remove_nullable(col.type)->get_type_id();
+                    bool is_reverse = sort_description[0].direction < 0;
+                    auto query_ctx = _runtime_state->get_query_fragments_ctx();
+                    std::vector<vectorized::Field> values = {new_top};

Review Comment:
   Using vector is for further processing for multiple sort columns in query 
like `ORDER BY a, b LIMIT n`. But now only values[0] is used.
   
   After more consideration, I think only the first column can be used for push 
down even for multiple sort columns. So I will change the vector to a single 
value.



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