Skip to content

Commit

Permalink
When wherequery has any of its subquery against ObjectTable (which will
Browse files Browse the repository at this point in the history
be for all the queries against ObjectTable), the first query that should
be processed is the one against the ObjectTable. The dimension of the
result returned by DbQueryUnit for ObjectTable and MessageTable are
different. Therefor before doing the AND operation make sure the
ObjectTable results are the first subquery to be processed.
Closes-Bug: 1730193

Change-Id: Ie4f529784f20df158355eb9d0c26f0130bfbe44f
  • Loading branch information
arvindvis committed Nov 15, 2017
1 parent 043e6c4 commit fdcedb8
Showing 1 changed file with 5 additions and 1 deletion.
6 changes: 5 additions & 1 deletion src/query_engine/where_query.cc
Original file line number Diff line number Diff line change
Expand Up @@ -1593,7 +1593,11 @@ void WhereQuery::subquery_processed(QueryUnit *subquery) {
{
tbb::mutex::scoped_lock lock(vector_push_mutex_);
int sub_query_id = ((DbQueryUnit *)subquery)->sub_query_id;
inp.push_back((sub_queries[sub_query_id]->query_result.get()));
if (((DbQueryUnit *)subquery)->cfname == g_viz_constants.OBJECT_TABLE) {
inp.insert(inp.begin(), sub_queries[sub_query_id]->query_result.get());
} else {
inp.push_back((sub_queries[sub_query_id]->query_result.get()));
}
if (subquery->query_status == QUERY_FAILURE) {
QE_QUERY_FETCH_ERROR();
}
Expand Down

0 comments on commit fdcedb8

Please sign in to comment.