X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=src%2Fftacmp%2Ftranslate_fta.cc;h=603a3cff24449a88e60eb26f9947498d077fcd4e;hb=9fd1eb03e66522e79c94dec7ed26f68c17018fc1;hp=19ff6349ee040838f2820da8ad8b33dffd7e732e;hpb=dec9c93423775db0f4783a93145f016d5d780ffd;p=com%2Fgs-lite.git diff --git a/src/ftacmp/translate_fta.cc b/src/ftacmp/translate_fta.cc index 19ff634..603a3cf 100644 --- a/src/ftacmp/translate_fta.cc +++ b/src/ftacmp/translate_fta.cc @@ -134,6 +134,60 @@ void generate_makefile(vector &input_file_names, int nfiles, // Dump schema summary void dump_summary(stream_query *str){ + for(int q=0;qquery_plan.size();++q){ + qp_node *qp = str->query_plan[q]; + if(qp==NULL) + continue; // there can be blanks + + fprintf(schema_summary_output,"-----\n"); + fprintf(schema_summary_output,"%s\n",qp->node_name.c_str()); + + table_def *sch = qp->get_fields(); + + vector flds = sch->get_fields(); + int f; + for(f=0;f0) fprintf(schema_summary_output,"|"); + fprintf(schema_summary_output,"%s",flds[f]->get_name().c_str()); + } + fprintf(schema_summary_output,"\n"); + for(f=0;f0) fprintf(schema_summary_output,"|"); + fprintf(schema_summary_output,"%s",flds[f]->get_type().c_str()); + } + fprintf(schema_summary_output,"\n"); + + map defines = qp->get_definitions(); + string comment = ""; + if(defines.count("comment")>0){ + comment = defines["comment"]; + } + fprintf(schema_summary_output,"%s\n",comment.c_str()); + + vector input_tables = qp->get_input_tbls(); + for(int t=0; t0) fprintf(schema_summary_output,"|"); + string machine = input_tables[t]->get_machine(); + string iface = input_tables[t]->get_interface(); + string schema = input_tables[t]->get_schema_name(); + if(machine!=""){ + fprintf(schema_summary_output,"%s.",machine.c_str()); + } + if(iface!=""){ + fprintf(schema_summary_output,"%s.",iface.c_str()); + }else{ + if(machine!="") fprintf(schema_summary_output,"."); + } + fprintf(schema_summary_output,"%s",schema.c_str()); + } + + fprintf(schema_summary_output,"\n"); + } + + + +/* + fprintf(schema_summary_output,"-----\n"); fprintf(schema_summary_output,"%s\n",str->query_name.c_str()); table_def *sch = str->get_output_tabledef(); @@ -150,6 +204,32 @@ void dump_summary(stream_query *str){ fprintf(schema_summary_output,"%s",flds[f]->get_type().c_str()); } fprintf(schema_summary_output,"\n"); + + string comment = ""; + if(str->defines.count("comment")>0){ + comment = str->defines["comment"]; + } + fprintf(schema_summary_output,"%s\n",comment.c_str()); + + vector input_tables = str->get_input_tables(); + for(int t=0; t0) fprintf(schema_summary_output,"|"); + string machine = input_tables[t]->get_machine(); + string iface = input_tables[t]->get_interface(); + string schema = input_tables[t]->get_schema_name(); + if(machine!=""){ + fprintf(schema_summary_output,"%s.",machine.c_str()); + } + if(iface!=""){ + fprintf(schema_summary_output,"%s.",iface.c_str()); + }else{ + if(machine!="") fprintf(schema_summary_output,"."); + } + fprintf(schema_summary_output,"%s",schema.c_str()); + } + fprintf(schema_summary_output,"\n"); +*/ + } // Globals @@ -1234,8 +1314,8 @@ fprintf(stderr,"Parsing file %s\n",qpathname.c_str()); map hfta_name_map; // vector< vector > process_sets; // vector< set > stream_node_sets; - reverse(process_order.begin(), process_order.end()); // get listing in reverse order. - // i.e. process leaves 1st. + reverse(process_order.begin(), process_order.end()); // get listing in reverse . + // order: process leaves 1st. for(i=0;iis_externally_visible == true){ //printf("Visible.\n"); @@ -2159,13 +2239,13 @@ else{ } */ -/* -// output schema summary - if(output_schema_summary){ - dump_summary(split_queries[0]); - } -*/ } +// output schema summary + if(output_schema_summary){ + for(int o=0;o iface_names; @@ -2776,7 +2856,8 @@ for(ssi_el=extra_external_libs.begin();ssi_el!=extra_external_libs.end();++ssi_e // Generate a full list of FTAs for clearinghouse reference lfta_val[lmach] += "// list of FTAs clearinghouse expects to register themselves\n"; - lfta_val[lmach] += "const gs_sp_t fta_names[] = {"; + + lfta_val[lmach] += "gs_csp_t fta_names[] = {"; bool first = true; for(auto mvsi=lfta_iface_lists.begin(); mvsi!=lfta_iface_lists.end(); ++mvsi){ @@ -2985,11 +3066,11 @@ for(ssi_el=extra_external_libs.begin();ssi_el!=extra_external_libs.end();++ssi_e if(!(debug_only || hfta_only) ){ string lfta_flnm; if(lmach != "") - lfta_flnm = lmach + "_lfta.c"; + lfta_flnm = lmach + "_lfta.cc"; else - lfta_flnm = hostname + "_lfta.c"; + lfta_flnm = hostname + "_lfta.cc"; if((lfta_out = fopen(lfta_flnm.c_str(),"w")) == NULL){ - fprintf(stderr,"Can't open output file %s\n%s\n","lfta.c",strerror(errno)); + fprintf(stderr,"Can't open output file %s\n%s\n","lfta.cc",strerror(errno)); exit(1); } fprintf(lfta_out,"%s",lfta_header.c_str()); @@ -3062,7 +3143,7 @@ void generate_makefile(vector &input_file_names, int nfiles, fputs( ("CPP= g++ -O3 -g -I "+root_path+"/include -I "+root_path+"/include/hfta\n" -"CC= gcc -O3 -g -I . -I "+root_path+"/include -I "+root_path+"/include/lfta" +"CC= g++ -O3 -g -I . -I "+root_path+"/include -I "+root_path+"/include/lfta" ).c_str(), outfl ); if(generate_stats) @@ -3191,16 +3272,16 @@ void generate_makefile(vector &input_file_names, int nfiles, fprintf(outfl, "\n" "\n" -"lfta.o: %s_lfta.c\n" -"\t$(CC) -o lfta.o -c %s_lfta.c\n" +"lfta.o: %s_lfta.cc\n" +"\t$(CC) -o lfta.o -c %s_lfta.cc\n" "\n" -"%s_lfta.c: external_fcns.def %s ",hostname.c_str(), hostname.c_str(), hostname.c_str(),schema_file_name.c_str()); +"%s_lfta.cc: %s ",hostname.c_str(), hostname.c_str(), hostname.c_str(),schema_file_name.c_str()); for(i=0;i &input_file_names, int nfiles, ); fprintf(outfl, -("\n" -"packet_schema.txt:\n" -"\tln -s "+root_path+"/cfg/packet_schema.txt .\n" -"\n" -"external_fcns.def:\n" -"\tln -s "+root_path+"/cfg/external_fcns.def .\n" "\n" "clean:\n" -"\trm -rf core rts *.o %s_lfta.c external_fcns.def packet_schema.txt").c_str(),hostname.c_str()); +"\trm -rf core rts *.o %s_lfta.cc",hostname.c_str()); for(i=0;i