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);
}
}
return( query_plan[qhead]->get_fields() );
}
+vector<string> stream_query::get_tbl_keys(vector<string> &partial_keys){
+ return query_plan[qhead]->get_tbl_keys(partial_keys);
+}
+
//////////////////////////////////////////////////////////
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;sl<sl_list.size();sl++){
data_type *sdt = sl_list[sl]->get_data_type();
if (sdt->is_temporal()) {