Fixes to filter join and gcc 7.x compilation errors
[com/gs-lite.git] / src / ftacmp / stream_query.cc
index aacf1b6..9d12cb0 100644 (file)
@@ -1850,6 +1850,10 @@ table_def *stream_query::get_output_tabledef(){
        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);
+}
+
 
 
 //////////////////////////////////////////////////////////
@@ -1945,6 +1949,14 @@ void get_prefilter_temporal_cids(std::vector<stream_query *> 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);
+               }
+
                for(sl=0;sl<sl_list.size();sl++){
                        data_type *sdt = sl_list[sl]->get_data_type();
                        if (sdt->is_temporal()) {