Added quantiling UDAFs
[com/gs-lite.git] / src / ftacmp / print_plan.h
index adb039c..c0cc623 100644 (file)
-/* ------------------------------------------------
-Copyright 2014 AT&T Intellectual Property
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
-
-     http://www.apache.org/licenses/LICENSE-2.0
-
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
- ------------------------------------------- */
-
-#ifndef __PRINT_PLAN_H
-#define __PRINT_PLAN_H
-
-
-#include <stdio.h>
-#include <vector>
-#include <set>
-#include <stdlib.h>
-using namespace std;
-
-
-int print_qp_node(FILE* fd, int i, stream_query* query, map<string, int>& lfta_names, map<string, int>& fta_names) {
-
-       int j;
-
-       qp_node* node = query->query_plan[i];
-
-       string ntype = node->node_type();
-
-       fprintf(fd, "\tNODE %s, type %s\n", node->node_name.c_str(), ntype.c_str());
-
-       if (!node->predecessors.empty()) {
-               for (j = 0; j < node->predecessors.size(); ++j)
-                       fprintf(fd, "\t\tCHILD_NODE %s\n", query->query_plan[query->query_plan[i]->predecessors[j]]->node_name.c_str());
-       }
-
-
-
-       // print input tables
-       vector<tablevar_t *> input_tables = node->get_input_tbls();
-
-       for (j = 0; j <  input_tables.size(); ++j) {
-               tablevar_t * table = input_tables[j];
-
-               if (lfta_names.count(table->schema_name))
-                       fprintf(fd, "\t\tSOURCE_LFTA %s\n", table->schema_name.c_str());
-               else if (fta_names.count(table->schema_name))
-                       fprintf(fd, "\t\tSOURCE_HFTA %s\n", table->schema_name.c_str());
-       }
-
-       fprintf(fd, "\n");
-
-
-
-       return 0;
-
-}
-
-int print_query(FILE* fd, stream_query* query, map<string, int>& lfta_names) {
-
-       fprintf(fd, "HFTA %s\n", query->query_name.c_str());
-
-
-       vector<tablevar_t *> tmp_tv = query->get_input_tables();
-       int itv;
-       map<string, int> fta_names;
-
-       for(itv=0;itv<tmp_tv.size();++itv) {
-               fta_names[tmp_tv[itv]->get_schema_name()] = 0;
-       }
-
-       for (int i = 0; i < query->query_plan.size(); ++i) {
-               if (query->query_plan[i])
-                       print_qp_node(fd, i, query, lfta_names, fta_names);
-       }
-
-       return 0;
-
-}
-
-int print_hftas(const char* fname, vector<stream_query *>& hfta_list, map<string, int>& lfta_names, vector<string>& query_names, vector<string>& interface_names) {
-
-       FILE* f = fopen(fname, "w");
-       for (int i = 0; i < hfta_list.size(); ++i) {
-               print_query(f, hfta_list[i], lfta_names);
-       }
-
-
-       for (int mi = 0; mi < query_names.size(); ++mi) {
-               fprintf(f,"LFTA %s\n",query_names[mi].c_str());
-               fprintf(f,"\tINTERFACE %s\n",interface_names[mi].c_str());
-
-       }
-
-       fclose(f);
-
-
-       return 0;
-
-}
-
-#endif         // __PRINT_PLAN_H
+/* ------------------------------------------------\r
+Copyright 2014 AT&T Intellectual Property\r
+   Licensed under the Apache License, Version 2.0 (the "License");\r
+   you may not use this file except in compliance with the License.\r
+   You may obtain a copy of the License at\r
+\r
+     http://www.apache.org/licenses/LICENSE-2.0\r
+\r
+   Unless required by applicable law or agreed to in writing, software\r
+   distributed under the License is distributed on an "AS IS" BASIS,\r
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
+   See the License for the specific language governing permissions and\r
+   limitations under the License.\r
+ ------------------------------------------- */\r
+\r
+#ifndef __PRINT_PLAN_H\r
+#define __PRINT_PLAN_H\r
+\r
+\r
+#include <stdio.h>\r
+#include <vector>\r
+#include <set>\r
+#include <stdlib.h>\r
+using namespace std;\r
+\r
+\r
+int print_qp_node(FILE* fd, int i, stream_query* query, map<string, int>& lfta_names, map<string, int>& fta_names) {\r
+\r
+       int j;\r
+\r
+       qp_node* node = query->query_plan[i];\r
+\r
+       string ntype = node->node_type();\r
+\r
+       fprintf(fd, "\tNODE %s, type %s\n", node->node_name.c_str(), ntype.c_str());\r
+\r
+       if (!node->predecessors.empty()) {\r
+               for (j = 0; j < node->predecessors.size(); ++j)\r
+                       fprintf(fd, "\t\tCHILD_NODE %s\n", query->query_plan[query->query_plan[i]->predecessors[j]]->node_name.c_str());\r
+       }\r
+\r
+\r
+\r
+       // print input tables\r
+       vector<tablevar_t *> input_tables = node->get_input_tbls();\r
+\r
+       for (j = 0; j <  input_tables.size(); ++j) {\r
+               tablevar_t * table = input_tables[j];\r
+\r
+               if (lfta_names.count(table->schema_name))\r
+                       fprintf(fd, "\t\tSOURCE_LFTA %s\n", table->schema_name.c_str());\r
+               else if (fta_names.count(table->schema_name))\r
+                       fprintf(fd, "\t\tSOURCE_HFTA %s\n", table->schema_name.c_str());\r
+       }\r
+\r
+       fprintf(fd, "\n");\r
+\r
+\r
+\r
+       return 0;\r
+\r
+}\r
+\r
+int print_query(FILE* fd, stream_query* query, map<string, int>& lfta_names) {\r
+\r
+       fprintf(fd, "HFTA %s\n", query->query_name.c_str());\r
+\r
+\r
+       vector<tablevar_t *> tmp_tv = query->get_input_tables();\r
+       int itv;\r
+       map<string, int> fta_names;\r
+\r
+       for(itv=0;itv<tmp_tv.size();++itv) {\r
+               fta_names[tmp_tv[itv]->get_schema_name()] = 0;\r
+       }\r
+\r
+       for (int i = 0; i < query->query_plan.size(); ++i) {\r
+               if (query->query_plan[i])\r
+                       print_qp_node(fd, i, query, lfta_names, fta_names);\r
+       }\r
+\r
+       return 0;\r
+\r
+}\r
+\r
+int print_hftas(const char* fname, vector<stream_query *>& hfta_list, map<string, int>& lfta_names, vector<string>& query_names, vector<string>& interface_names) {\r
+\r
+       FILE* f = fopen(fname, "w");\r
+       for (int i = 0; i < hfta_list.size(); ++i) {\r
+               print_query(f, hfta_list[i], lfta_names);\r
+       }\r
+\r
+\r
+       for (int mi = 0; mi < query_names.size(); ++mi) {\r
+               fprintf(f,"LFTA %s\n",query_names[mi].c_str());\r
+               fprintf(f,"\tINTERFACE %s\n",interface_names[mi].c_str());\r
+\r
+       }\r
+\r
+       fclose(f);\r
+\r
+\r
+       return 0;\r
+\r
+}\r
+\r
+#endif         // __PRINT_PLAN_H\r