X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;ds=sidebyside;f=src%2Fftacmp%2Fstream_query.cc;h=faa1ea3ec6f6e1004d60e5a04c724f11b82e125b;hb=f1754ecea2eab7bd0a302042ac82eb11667b166c;hp=17d4293d109e2258be22be46d5dda322fb3dd13a;hpb=7210c67dde90098460d1f0922deeb810be521673;p=com%2Fgs-lite.git diff --git a/src/ftacmp/stream_query.cc b/src/ftacmp/stream_query.cc index 17d4293..faa1ea3 100644 --- a/src/ftacmp/stream_query.cc +++ b/src/ftacmp/stream_query.cc @@ -284,7 +284,8 @@ bool stream_query::generate_linkage(){ qhead = n; } } - if(query_plan[n]->n_predecessors() < query_plan[n]->get_input_tbls().size()){ +// does the query node read a source, or is it a source? + if(query_plan[n]->n_predecessors() < query_plan[n]->get_input_tbls().size() || query_plan[n]->get_input_tbls().size() == 0){ qtail.push_back(n); } } @@ -1949,6 +1950,18 @@ void get_prefilter_temporal_cids(std::vector lfta_list, col_id_s gb_tbl = sgah_node->get_gb_tbl(); } + if(lfta_list[s]->query_plan[0]->node_type() == "filter_join"){ + filter_join_qpn *fj_node = (filter_join_qpn *)lfta_list[s]->query_plan[0]; + sl_list = fj_node->get_select_se_list(); + col_id ci; // also get the temporal var in case not in select list + ci.load_from_colref(fj_node->temporal_var); + temp_cids.insert(ci); + } + if(lfta_list[s]->query_plan[0]->node_type() == "watch_join"){ + watch_join_qpn *wj_node = (watch_join_qpn *)lfta_list[s]->query_plan[0]; + sl_list = wj_node->get_select_se_list(); + } + for(sl=0;slget_data_type(); if (sdt->is_temporal()) {