This is an automated email from the ASF dual-hosted git repository.

morningman pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-doris.git


The following commit(s) were added to refs/heads/master by this push:
     new 7b2762b  [Doris On ES][Bug-Fix] Can not pushdown limit when some 
predicate can not processed by ES (#4768)
7b2762b is described below

commit 7b2762b1b12ca971fd74b1abb9b2ee1489aa4098
Author: Yunfeng,Wu <[email protected]>
AuthorDate: Wed Oct 21 12:10:55 2020 +0800

    [Doris On ES][Bug-Fix] Can not pushdown limit when some predicate can not 
processed by ES (#4768)
    
    Can not pushdown limit when some predicate not processed by ES, fixed: #4761
---
 be/src/exec/es_http_scan_node.cpp | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/be/src/exec/es_http_scan_node.cpp 
b/be/src/exec/es_http_scan_node.cpp
index e86202a..190b3c4 100644
--- a/be/src/exec/es_http_scan_node.cpp
+++ b/be/src/exec/es_http_scan_node.cpp
@@ -440,7 +440,8 @@ void EsHttpScanNode::scanner_worker(int start_idx, int 
length, std::promise<Stat
     properties[ESScanReader::KEY_BATCH_SIZE] = 
std::to_string(_runtime_state->batch_size());
     properties[ESScanReader::KEY_HOST_PORT] = 
get_host_port(es_scan_range.es_hosts);
     // push down limit to Elasticsearch
-    if (limit() != -1 && limit() <= _runtime_state->batch_size()) {
+    // if predicate in _conjunct_ctxs can not be processed by Elasticsearch, 
we can not push down limit operator to Elasticsearch
+    if (limit() != -1 && limit() <= _runtime_state->batch_size() && 
_conjunct_ctxs.empty()) {
         properties[ESScanReader::KEY_TERMINATE_AFTER] = 
std::to_string(limit());
     }
 


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to