remove almost all debug info;move time and size to end

This commit is contained in:
bookug 2016-05-04 15:36:17 +08:00
parent 5a37cf17d7
commit bf1c5614b8
11 changed files with 42 additions and 169 deletions

View File

@ -104,7 +104,6 @@ Database::load()
} }
(this->kvstore)->open(); (this->kvstore)->open();
cout << "finish load" << endl;
return true; return true;
} }
@ -142,17 +141,17 @@ Database::query(const string _query, ResultSet& _result_set, FILE* _fp)
//_parser.sparqlParser(_query, _sparql_q); //_parser.sparqlParser(_query, _sparql_q);
long tv_parse = Util::get_cur_time(); long tv_parse = Util::get_cur_time();
cout << "after Parsing, used " << (tv_parse - tv_begin) << endl; //cout << "after Parsing, used " << (tv_parse - tv_begin) << endl;
//cout << "after Parsing..." << endl << _sparql_q.triple_str() << endl; //cout << "after Parsing..." << endl << _sparql_q.triple_str() << endl;
general_evaluation.getSPARQLQuery().encodeQuery(this->kvstore, general_evaluation.getSPARQLQueryVarset()); general_evaluation.getSPARQLQuery().encodeQuery(this->kvstore, general_evaluation.getSPARQLQueryVarset());
//_sparql_q.encodeQuery(this->kvstore); //_sparql_q.encodeQuery(this->kvstore);
//cout << "sparqlSTR:\t" << _sparql_q.to_str() << endl; //cout << "sparqlSTR:\t" << _sparql_q.to_str() << endl;
cout << "sparqlSTR:\t" << general_evaluation.getSPARQLQuery().to_str() << endl; //cout << "sparqlSTR:\t" << general_evaluation.getSPARQLQuery().to_str() << endl;
long tv_encode = Util::get_cur_time(); long tv_encode = Util::get_cur_time();
cout << "after Encode, used " << (tv_encode - tv_parse) << "ms." << endl; //cout << "after Encode, used " << (tv_encode - tv_parse) << "ms." << endl;
//_result_set.select_var_num = _sparql_q.getQueryVarNum(); //_result_set.select_var_num = _sparql_q.getQueryVarNum();
@ -160,7 +159,7 @@ Database::query(const string _query, ResultSet& _result_set, FILE* _fp)
(this->vstree)->retrieve(general_evaluation.getSPARQLQuery()); (this->vstree)->retrieve(general_evaluation.getSPARQLQuery());
long tv_retrieve = Util::get_cur_time(); long tv_retrieve = Util::get_cur_time();
cout << "after Retrieve, used " << (tv_retrieve - tv_encode) << "ms." << endl; //cout << "after Retrieve, used " << (tv_retrieve - tv_encode) << "ms." << endl;
this->join = new Join(kvstore); this->join = new Join(kvstore);
//this->join->join(_sparql_q); //this->join->join(_sparql_q);
@ -168,7 +167,7 @@ Database::query(const string _query, ResultSet& _result_set, FILE* _fp)
delete this->join; delete this->join;
long tv_join = Util::get_cur_time(); long tv_join = Util::get_cur_time();
cout << "after Join, used " << (tv_join - tv_retrieve) << "ms." << endl; //cout << "after Join, used " << (tv_join - tv_retrieve) << "ms." << endl;
general_evaluation.generateEvaluationPlan(general_evaluation.getQueryTree().getPatternGroup()); general_evaluation.generateEvaluationPlan(general_evaluation.getQueryTree().getPatternGroup());
general_evaluation.doEvaluationPlan(); general_evaluation.doEvaluationPlan();
@ -176,9 +175,8 @@ Database::query(const string _query, ResultSet& _result_set, FILE* _fp)
//this->getFinalResult(_sparql_q, _result_set); //this->getFinalResult(_sparql_q, _result_set);
long tv_final = Util::get_cur_time(); long tv_final = Util::get_cur_time();
cout << "after finalResult, used " << (tv_final - tv_join) << "ms." << endl; //cout << "after finalResult, used " << (tv_final - tv_join) << "ms." << endl;
cout << "Total time used: " << (tv_final - tv_begin) << "ms." << endl;
//testing... //testing...
cout << "final result is : " << endl; cout << "final result is : " << endl;
@ -194,6 +192,14 @@ Database::query(const string _query, ResultSet& _result_set, FILE* _fp)
#ifdef DEBUG_PRECISE #ifdef DEBUG_PRECISE
fprintf(stderr, "the query function exits!\n"); fprintf(stderr, "the query function exits!\n");
#endif #endif
cout << "Total time used: " << (tv_final - tv_begin) << "ms." << endl;
SPARQLquery& _sparql_query = general_evaluation.getSPARQLQuery();
int basic_query_num = _sparql_query.getBasicQueryNum();
//join each basic query
for(int i=0; i < basic_query_num; i++)
{
cout<<"Final result size: "<<_sparql_query.getBasicQuery(i).getResultList().size()<<endl;
}
return true; return true;
} }
@ -207,7 +213,6 @@ Database::insert(const string& _insert_rdf_file)
{ {
return false; return false;
} }
cout << "finish loading" << endl;
long tv_load = Util::get_cur_time(); long tv_load = Util::get_cur_time();

View File

@ -122,23 +122,23 @@ Join::join_sparql(SPARQLquery& _sparql_query)
//join each basic query //join each basic query
for(int i=0; i < basic_query_num; i++) for(int i=0; i < basic_query_num; i++)
{ {
printf("Basic query %d\n", i); //printf("Basic query %d\n", i);
this->init(&(_sparql_query.getBasicQuery(i))); this->init(&(_sparql_query.getBasicQuery(i)));
long begin = Util::get_cur_time(); long begin = Util::get_cur_time();
this->filter_before_join(); this->filter_before_join();
long after_filter = Util::get_cur_time(); long after_filter = Util::get_cur_time();
printf("after filter_before_join: used %ld ms\n", after_filter-begin); //printf("after filter_before_join: used %ld ms\n", after_filter-begin);
this->add_literal_candidate(); this->add_literal_candidate();
long after_add_literal = Util::get_cur_time(); long after_add_literal = Util::get_cur_time();
printf("after add_literal_candidate: used %ld ms\n", after_add_literal-after_filter); //printf("after add_literal_candidate: used %ld ms\n", after_add_literal-after_filter);
this->join(); this->join();
long after_joinbasic = Util::get_cur_time(); long after_joinbasic = Util::get_cur_time();
printf("after join_basic : used %ld ms\n", after_joinbasic-after_add_literal); //printf("after join_basic : used %ld ms\n", after_joinbasic-after_add_literal);
//this->only_pre_filter_after_join(this->basic_query); //this->only_pre_filter_after_join(this->basic_query);
//long after_pre_filter_after_join = Util::get_cur_time(); //long after_pre_filter_after_join = Util::get_cur_time();
//printf("after only_pre_filter_after_join : used %ld ms\n", after_pre_filter_after_join-after_joinbasic); //printf("after only_pre_filter_after_join : used %ld ms\n", after_pre_filter_after_join-after_joinbasic);
printf("Final result size: %lu\n", this->basic_query->getResultList().size()); //printf("Final result size: %lu\n", this->basic_query->getResultList().size());
this->clear(); this->clear();
} }
@ -160,15 +160,12 @@ Join::join()
switch(method) switch(method)
{ {
case 0: case 0:
printf("use multi-join here!\n");
this->multi_join(); this->multi_join();
break; break;
case 1: case 1:
printf("use index-join here!\n");
this->index_join(); this->index_join();
break; break;
default: default:
printf("ERROR: no method found!\n");
break; break;
} }
@ -591,22 +588,18 @@ Join::multi_join()
//and then visit eles below top in stack is not ok, //and then visit eles below top in stack is not ok,
//so choose STL stack //so choose STL stack
this->mystack.push(this->start_id); this->mystack.push(this->start_id);
printf("now to start the stack loop\n");
while(!this->mystack.empty()) while(!this->mystack.empty())
{ {
int id = this->mystack.top(); int id = this->mystack.top();
printf("the current id: %d\n", id);
//int id = mystack[top]; //int id = mystack[top];
int maxi = this->choose_next_node(dealed_triple, id); int maxi = this->choose_next_node(dealed_triple, id);
if(maxi == -1) //all edges of this node are dealed if(maxi == -1) //all edges of this node are dealed
{ {
printf("the node is totally dealed: %d\n", id);
//top--; //top--;
this->mystack.pop(); this->mystack.pop();
continue; continue;
} }
int id2 = this->basic_query->getEdgeNeighborID(id, maxi); int id2 = this->basic_query->getEdgeNeighborID(id, maxi);
printf("the next node id to join: %d\n", id2);
//pre_id == -1 means we cannot find such predicate in rdf file, so the result set of this sparql should be empty. //pre_id == -1 means we cannot find such predicate in rdf file, so the result set of this sparql should be empty.
//note that we cannot support to query sparqls with predicate variables ?p. //note that we cannot support to query sparqls with predicate variables ?p.
@ -648,10 +641,6 @@ Join::multi_join()
//the can_list of var representing literals is not valid, //the can_list of var representing literals is not valid,
//must use kvstore->get...() to join //must use kvstore->get...() to join
bool is_literal = this->is_literal_var(id2); bool is_literal = this->is_literal_var(id2);
if(is_literal)
printf("this var may contain literals: %d\n", id2);
else
printf("this var not contain literals: %d\n", id2);
bool flag = false; bool flag = false;
bool if_prepare = this->if_prepare_idlist(can_list_size, is_literal); bool if_prepare = this->if_prepare_idlist(can_list_size, is_literal);
@ -661,7 +650,6 @@ Join::multi_join()
//needed if place can_list in the outer loop to join //needed if place can_list in the outer loop to join
if(if_prepare) if(if_prepare)
{ {
printf("this edge uses prepared-join way\n");
this->acquire_all_id_lists(id_lists, id_lists_len, can_list, edges, dealed_triple, id2, can_list_size); this->acquire_all_id_lists(id_lists, id_lists_len, can_list, edges, dealed_triple, id2, can_list_size);
flag = this->new_join_with_multi_vars_prepared(id_lists, id_lists_len, edges, can_list, can_list_size); flag = this->new_join_with_multi_vars_prepared(id_lists, id_lists_len, edges, can_list, can_list_size);
//need to release id_lists if using acquire_all_id_lists() firstly //need to release id_lists if using acquire_all_id_lists() firstly
@ -675,14 +663,12 @@ Join::multi_join()
} }
else else
{ {
printf("this edge uses not-prepared-join way\n");
flag = this->new_join_with_multi_vars_not_prepared(edges, can_list, can_list_size, id2, is_literal); flag = this->new_join_with_multi_vars_not_prepared(edges, can_list, can_list_size, id2, is_literal);
} }
//if current_table is empty, ends directly //if current_table is empty, ends directly
if(!flag) if(!flag)
{ {
printf("the result is already empty!!\n");
//break; //break;
return; //to avoid later invalid copy return; //to avoid later invalid copy
} }
@ -701,9 +687,7 @@ Join::multi_join()
this->add_id_pos_mapping(id2); this->add_id_pos_mapping(id2);
this->mystack.push(id2); this->mystack.push(id2);
} }
printf("now end the stack loop\n");
printf("now to filter through only_pre_filter_after_join\n");
this->only_pre_filter_after_join(); this->only_pre_filter_after_join();
//copy to result list, adjust the vars order //copy to result list, adjust the vars order
@ -772,24 +756,24 @@ Join::index_join()
void void
Join::filter_before_join() Join::filter_before_join()
{ {
printf("*****IIIIIIN filter_before_join\n"); //printf("*****IIIIIIN filter_before_join\n");
for(int i = 0; i < this->var_num; i++) for(int i = 0; i < this->var_num; i++)
{ {
printf("\tVar%d %s\n", i, this->basic_query->getVarName(i).c_str()); //printf("\tVar%d %s\n", i, this->basic_query->getVarName(i).c_str());
IDList &can_list = this->basic_query->getCandidateList(i); IDList &can_list = this->basic_query->getCandidateList(i);
printf("\t\tsize of canlist before filter: %d\n", can_list.size()); //printf("\t\tsize of canlist before filter: %d\n", can_list.size());
//NOTICE:must sort before using binary search. //NOTICE:must sort before using binary search.
can_list.sort(); can_list.sort();
long begin = Util::get_cur_time(); long begin = Util::get_cur_time();
this->literal_edge_filter(i); this->literal_edge_filter(i);
long after_literal_edge_filter = Util::get_cur_time(); long after_literal_edge_filter = Util::get_cur_time();
printf("\t\tliteral_edge_filter: used %ld ms\n", after_literal_edge_filter-begin); //printf("\t\tliteral_edge_filter: used %ld ms\n", after_literal_edge_filter-begin);
// this->preid_filter(this->basic_query, i); // this->preid_filter(this->basic_query, i);
// long after_preid_filter = Util::get_cur_time(); // long after_preid_filter = Util::get_cur_time();
// cout << "\t\tafter_preid_filter: used " << (after_preid_filter-after_literal_edge_filter) << " ms" << endl; // cout << "\t\tafter_preid_filter: used " << (after_preid_filter-after_literal_edge_filter) << " ms" << endl;
printf("\t\t[%d] after filter, candidate size = %d\n\n\n", i, can_list.size()); //printf("\t\t[%d] after filter, candidate size = %d\n\n\n", i, can_list.size());
//debug //debug
// { // {
@ -804,7 +788,7 @@ Join::filter_before_join()
// cout << can_list.to_str() << endl; // cout << can_list.to_str() << endl;
// } // }
} }
printf("OOOOOOUT filter_before_join\n"); //printf("OOOOOOUT filter_before_join\n");
} }
//decrease the candidates of _var_i using its constant neighbors //decrease the candidates of _var_i using its constant neighbors
@ -817,7 +801,6 @@ Join::literal_edge_filter(int _var_i)
for(int j = 0; j < var_degree; j ++) for(int j = 0; j < var_degree; j ++)
{ {
int neighbor_id = this->basic_query->getEdgeNeighborID(_var_i, j); int neighbor_id = this->basic_query->getEdgeNeighborID(_var_i, j);
printf("\t\t\tneighbor_id=%d\n", neighbor_id);
if(neighbor_id != -1) //variables in join not considered here if(neighbor_id != -1) //variables in join not considered here
{ {
continue; continue;
@ -945,7 +928,6 @@ Join::preid_filter(int _var_i)
{ {
int neighbor_id = this->basic_query->getEdgeNeighborID(_var_i, j); int neighbor_id = this->basic_query->getEdgeNeighborID(_var_i, j);
// continue; // continue;
cout << "\t\t\tneighbor_id=" << neighbor_id << endl;
if (neighbor_id != -1) if (neighbor_id != -1)
{ {
continue; continue;

View File

@ -1053,7 +1053,6 @@ void KVstore::flush(){
void KVstore::open() void KVstore::open()
{ {
cout << "open KVstore" << endl;
this->open(this->entity2id, KVstore::s_entity2id, KVstore::READ_WRITE_MODE); this->open(this->entity2id, KVstore::s_entity2id, KVstore::READ_WRITE_MODE);
this->open(this->id2entity, KVstore::s_id2entity, KVstore::READ_WRITE_MODE); this->open(this->id2entity, KVstore::s_id2entity, KVstore::READ_WRITE_MODE);

View File

@ -23,12 +23,6 @@ main(int argc, char * argv[])
#endif #endif
//system("clock"); //system("clock");
cout << "gload..." << endl; cout << "gload..." << endl;
{
cout << "argc: " << argc << "\t";
cout << "DB_store:" << argv[1] << "\t";
cout << "RDF_data: " << argv[2] << "\t";
cout << endl;
}
string _db_path = string(argv[1]); string _db_path = string(argv[1]);
string _rdf = string(argv[2]); string _rdf = string(argv[2]);

View File

@ -51,16 +51,10 @@ main(int argc, char * argv[])
cerr << "error: lack of DB_store to be queried" << endl; cerr << "error: lack of DB_store to be queried" << endl;
return 0; return 0;
} }
{
cout << "argc: " << argc << "\t";
cout << "DB_store:" << argv[1] << "\t";
cout << endl;
}
string db_folder = string(argv[1]); string db_folder = string(argv[1]);
Database _db(db_folder); Database _db(db_folder);
_db.load(); _db.load();
cout << "finish loading" << endl;
// read query from file. // read query from file.
if (argc >= 3) if (argc >= 3)
@ -87,7 +81,6 @@ main(int argc, char * argv[])
{ {
return 0; return 0;
} }
printf("query is:\n%s\n\n", query.c_str());
ResultSet _rs; ResultSet _rs;
_db.query(query, _rs, stdout); _db.query(query, _rs, stdout);
if (argc >= 4) if (argc >= 4)
@ -193,8 +186,6 @@ main(int argc, char * argv[])
free(buf); free(buf);
continue; continue;
} }
else
printf("%s\n", q);
//query = getQueryFromFile(p); //query = getQueryFromFile(p);
query = Util::getQueryFromFile(q); query = Util::getQueryFromFile(q);
if(query.empty()) if(query.empty())
@ -206,8 +197,6 @@ main(int argc, char * argv[])
fclose(fp); fclose(fp);
continue; continue;
} }
printf("query is:\n");
printf("%s\n\n", query.c_str());
ResultSet _rs; ResultSet _rs;
_db.query(query, _rs, fp); _db.query(query, _rs, fp);
//test... //test...

View File

@ -53,8 +53,6 @@ int QueryParser::printNode(pANTLR3_BASE_TREE node, int dep)
int hasErrorNode = 0; int hasErrorNode = 0;
if (treeType == 0) hasErrorNode = 1; if (treeType == 0) hasErrorNode = 1;
for (int i=0; i < dep; i++) printf(" ");
printf("%d: %s\n",treeType,s);
for (unsigned int i = 0; i < node->getChildCount(node); i++) for (unsigned int i = 0; i < node->getChildCount(node); i++)
{ {
@ -67,7 +65,6 @@ int QueryParser::printNode(pANTLR3_BASE_TREE node, int dep)
void QueryParser::parseTree(pANTLR3_BASE_TREE node, QueryTree& querytree) void QueryParser::parseTree(pANTLR3_BASE_TREE node, QueryTree& querytree)
{ {
printf("parseTree\n");
for (unsigned int i = 0; i < node->getChildCount(node); i++) for (unsigned int i = 0; i < node->getChildCount(node); i++)
{ {
@ -140,7 +137,6 @@ void QueryParser::parseTree(pANTLR3_BASE_TREE node, QueryTree& querytree)
} }
void QueryParser::parsePrologue(pANTLR3_BASE_TREE node) void QueryParser::parsePrologue(pANTLR3_BASE_TREE node)
{ {
printf("parsePrologue\n");
for (unsigned int i = 0; i < node->getChildCount(node); i++) for (unsigned int i = 0; i < node->getChildCount(node); i++)
{ {
@ -153,7 +149,6 @@ void QueryParser::parsePrologue(pANTLR3_BASE_TREE node)
} }
void QueryParser::parsePrefix(pANTLR3_BASE_TREE node) void QueryParser::parsePrefix(pANTLR3_BASE_TREE node)
{ {
printf("parsePrefix\n");
string key; string key;
string value; string value;
@ -183,11 +178,9 @@ void QueryParser::replacePrefix(string& str)
//blank node //blank node
if (prefix == "_:") return; if (prefix == "_:") return;
cout << "prefix: " << prefix << endl;
if (_prefix_map.find(prefix) != _prefix_map.end()) if (_prefix_map.find(prefix) != _prefix_map.end())
{ {
str=_prefix_map[prefix].substr(0, _prefix_map[prefix].length() - 1) + str.substr(sep + 1 ,str.length() - sep - 1) + ">"; str=_prefix_map[prefix].substr(0, _prefix_map[prefix].length() - 1) + str.substr(sep + 1 ,str.length() - sep - 1) + ">";
cout << "str: " << str << endl;
} }
else else
{ {
@ -199,7 +192,6 @@ void QueryParser::replacePrefix(string& str)
void QueryParser::parseSelectClause(pANTLR3_BASE_TREE node, QueryTree& querytree) void QueryParser::parseSelectClause(pANTLR3_BASE_TREE node, QueryTree& querytree)
{ {
printf("parseSelectClause\n");
for (unsigned int i = 0; i < node->getChildCount(node); i++) for (unsigned int i = 0; i < node->getChildCount(node); i++)
{ {
@ -221,7 +213,6 @@ void QueryParser::parseSelectClause(pANTLR3_BASE_TREE node, QueryTree& querytree
void QueryParser::parseSelectVar(pANTLR3_BASE_TREE node, QueryTree& querytree) void QueryParser::parseSelectVar(pANTLR3_BASE_TREE node, QueryTree& querytree)
{ {
printf("parseSelectVar\n");
string var = ""; string var = "";
for (unsigned int i = 0; i < node->getChildCount(node); i++) for (unsigned int i = 0; i < node->getChildCount(node); i++)
@ -238,7 +229,6 @@ void QueryParser::parseSelectVar(pANTLR3_BASE_TREE node, QueryTree& querytree)
void QueryParser::parseGroupPattern(pANTLR3_BASE_TREE node, QueryTree::PatternGroup& patterngroup) void QueryParser::parseGroupPattern(pANTLR3_BASE_TREE node, QueryTree::PatternGroup& patterngroup)
{ {
printf("parseGroupPattern\n");
for (unsigned int i = 0; i < node->getChildCount(node); i++) for (unsigned int i = 0; i < node->getChildCount(node); i++)
{ {
@ -280,7 +270,6 @@ void QueryParser::parseGroupPattern(pANTLR3_BASE_TREE node, QueryTree::PatternGr
void QueryParser::parsePattern(pANTLR3_BASE_TREE node, QueryTree::PatternGroup& patterngroup) void QueryParser::parsePattern(pANTLR3_BASE_TREE node, QueryTree::PatternGroup& patterngroup)
{ {
printf("parsePattern\n");
string subject = ""; string subject = "";
string predicate = ""; string predicate = "";
@ -516,7 +505,6 @@ void QueryParser::parseFilterTree(pANTLR3_BASE_TREE node, QueryTree::PatternGrou
void QueryParser::parseVarInExpressionList(pANTLR3_BASE_TREE node, QueryTree::FilterTree& filter, unsigned int begin) void QueryParser::parseVarInExpressionList(pANTLR3_BASE_TREE node, QueryTree::FilterTree& filter, unsigned int begin)
{ {
printf("parseVarInExpressionList\n");
for (unsigned int i = begin; i < node->getChildCount(node); i++) for (unsigned int i = begin; i < node->getChildCount(node); i++)
{ {
@ -551,7 +539,6 @@ void QueryParser::parseVarInExpressionList(pANTLR3_BASE_TREE node, QueryTree::Fi
void QueryParser::parseExistsGroupPattern(pANTLR3_BASE_TREE node, QueryTree::PatternGroup& patterngroup, QueryTree::FilterTree& filter) void QueryParser::parseExistsGroupPattern(pANTLR3_BASE_TREE node, QueryTree::PatternGroup& patterngroup, QueryTree::FilterTree& filter)
{ {
printf("parseExistsGroupPattern\n");
pANTLR3_BASE_TREE childNode=(pANTLR3_BASE_TREE) node->getChild(node, 0); pANTLR3_BASE_TREE childNode=(pANTLR3_BASE_TREE) node->getChild(node, 0);
@ -653,86 +640,10 @@ void QueryParser::parseString(pANTLR3_BASE_TREE node, string& str, int dep)
void QueryParser::printQuery(QueryTree& querytree) void QueryParser::printQuery(QueryTree& querytree)
{ {
printf("===========================================================================\n");
if (querytree.getQueryForm() == QueryTree::Select_Query)
{
printf("select");
if (querytree.getProjectionModifier() == QueryTree::Modifier_Distinct)
printf(" distinct");
printf("\n");
printf("var is : \t");
vector <string> &varvec = querytree.getProjection().varset;
for (int i = 0; i < (int)varvec.size(); i++)
printf("%s\t", varvec[i].c_str());
if (querytree.checkProjectionAsterisk())
printf("*");
printf("\n");
}
else printf("ask\n");
printPatternGroup(querytree.getPatternGroup(), 0);
if ((int)querytree.getOrder().size() > 0)
{
printf("order by : \t");
vector<QueryTree::Order>&order = querytree.getOrder();
for (int i = 0; i < (int)order.size(); i++)
{
if (!order[i].descending) printf("ASC(");
else printf("DESC(");
printf("%s) ", order[i].var.c_str());
}
printf("\n");
}
if (querytree.getOffset() != 0)
printf("offset : %d\n", querytree.getOffset());
if (querytree.getLimit() != -1)
printf("limit : %d\n", querytree.getLimit());
printf("===========================================================================\n");
} }
void QueryParser::printPatternGroup(QueryTree::PatternGroup &patterngroup, int dep) void QueryParser::printPatternGroup(QueryTree::PatternGroup &patterngroup, int dep)
{ {
for (int j = 0; j < dep; j++) printf("\t"); printf("{\n");
for (int j = 0; j < dep; j++) printf("\t"); printf("pattern:\n");
for(int i = 0; i < (int)patterngroup.patterns.size(); i++)
{
for (int j = 0; j < dep; j++) printf("\t");
printf("\t%s\t%s\t%s\n", patterngroup.patterns[i].subject.value.c_str(), patterngroup.patterns[i].predicate.value.c_str(), patterngroup.patterns[i].object.value.c_str());
}
for (int i = 0; i < (int)patterngroup.unions.size(); i++)
{
for (int j = 0; j < dep; j++) printf("\t"); printf("union %d:\n", i);
for (int j = 0; j < (int)patterngroup.unions[i].size(); j++)
printPatternGroup(patterngroup.unions[i][j], dep + 1);
}
if ((int)patterngroup.optionals.size() > 0)
{
for (int j = 0; j < dep; j++) printf("\t"); printf("optional:\n");
for (int i = 0; i < (int)patterngroup.optionals.size(); i++)
{
printf("\tlast pattern id = %d\tlast union id = %d\n", patterngroup.optionals[i].lastpattern, patterngroup.optionals[i].lastunions);
printPatternGroup(patterngroup.optionals[i].patterngroup, dep + 1);
}
}
if ((int)patterngroup.filters.size() > 0)
{
for (int j = 0; j < dep; j++) printf("\t"); printf("filter:\n");
for (int i = 0; i < (int)patterngroup.filters.size(); i++)
{
for (int j = 0; j <= dep; j++) printf("\t");
printFilter(patterngroup.filter_exists_patterngroups[i], patterngroup.filters[i], dep + 1);
printf("\n");
}
}
for (int j = 0; j < dep; j++) printf("\t"); printf("}\n");
} }
void QueryParser::printFilter(std::vector<QueryTree::PatternGroup> &exist_patterngroups, QueryTree::FilterTree &filter, int dep) void QueryParser::printFilter(std::vector<QueryTree::PatternGroup> &exist_patterngroups, QueryTree::FilterTree &filter, int dep)

View File

@ -283,13 +283,13 @@ BasicQuery::updateObjSig(int _obj_id, int _pre_id, int _sub_id, string _sub,int
bool sub_is_str = (_sub_id == -1) && (_sub.at(0) != '?'); bool sub_is_str = (_sub_id == -1) && (_sub.at(0) != '?');
if(sub_is_str) if(sub_is_str)
{ {
cout << "str2entity" << endl; //////cout << "str2entity" << endl;
Signature::encodeStr2Entity(_sub.c_str(), this->var_sig[_obj_id]); Signature::encodeStr2Entity(_sub.c_str(), this->var_sig[_obj_id]);
} }
if(_pre_id != -1) if(_pre_id != -1)
{ {
cout << "pre2entity" << endl; //////cout << "pre2entity" << endl;
Signature::encodePredicate2Entity(_pre_id, this->var_sig[_obj_id], BasicQuery::EDGE_IN); Signature::encodePredicate2Entity(_pre_id, this->var_sig[_obj_id], BasicQuery::EDGE_IN);
} }
@ -307,9 +307,9 @@ BasicQuery::updateObjSig(int _obj_id, int _pre_id, int _sub_id, string _sub,int
void void
BasicQuery::encodeBasicQuery(KVstore* _p_kvstore, const vector<string>& _query_var) BasicQuery::encodeBasicQuery(KVstore* _p_kvstore, const vector<string>& _query_var)
{ {
cout << "IN buildBasicSignature" << endl; //////cout << "IN buildBasicSignature" << endl;
this->initial(); this->initial();
cout << "after init" << endl; //////cout << "after init" << endl;
this->buildTuple2Freq(); this->buildTuple2Freq();
@ -330,12 +330,12 @@ BasicQuery::encodeBasicQuery(KVstore* _p_kvstore, const vector<string>& _query_v
this->var_name[i] = _var; this->var_name[i] = _var;
} }
cout << "select variables: "; //////cout << "select variables: ";
for(unsigned i = 0; i < this->var_str2id.size(); ++i) for(unsigned i = 0; i < this->var_str2id.size(); ++i)
{ {
cout << "[" << this->var_name[i] << ", " << i << " " << this->var_str2id[this->var_name[i]] << "]\t"; //////cout << "[" << this->var_name[i] << ", " << i << " " << this->var_str2id[this->var_name[i]] << "]\t";
} }
cout << endl; //////cout << endl;
if(this->encode_method == BasicQuery::SELECT_VAR) if(this->encode_method == BasicQuery::SELECT_VAR)
{ {
@ -348,13 +348,13 @@ BasicQuery::encodeBasicQuery(KVstore* _p_kvstore, const vector<string>& _query_v
// assign the this->var_num, all need to join // assign the this->var_num, all need to join
this->graph_var_num = this->var_str2id.size(); this->graph_var_num = this->var_str2id.size();
cout<< "graph variables: "; ////cout<< "graph variables: ";
for(unsigned i = 0; i < this->var_str2id.size(); i ++) for(unsigned i = 0; i < this->var_str2id.size(); i ++)
{ {
cout << "[" << this->var_name[i] << ", " << i << " " << this->var_str2id[this->var_name[i]] << "]\t"; ////cout << "[" << this->var_name[i] << ", " << i << " " << this->var_str2id[this->var_name[i]] << "]\t";
} }
cout << endl; ////cout << endl;
cout << "before new IDList!" << endl; //just for debug ////cout << "before new IDList!" << endl; //just for debug
this->candidate_list = new IDList[this->graph_var_num]; this->candidate_list = new IDList[this->graph_var_num];
@ -423,14 +423,14 @@ BasicQuery::encodeBasicQuery(KVstore* _p_kvstore, const vector<string>& _query_v
{ {
if(pre_id != -1) if(pre_id != -1)
{ {
cout << "pre2edge" << endl; ////cout << "pre2edge" << endl;
Signature::encodePredicate2Edge(pre_id, this->edge_sig[sub_id][obj_id]); Signature::encodePredicate2Edge(pre_id, this->edge_sig[sub_id][obj_id]);
// this->edge_pre_id[sub_id][obj_id] = pre_id; // this->edge_pre_id[sub_id][obj_id] = pre_id;
} }
} }
} }
cout << "OUT encodeBasicQuery" << endl; ////cout << "OUT encodeBasicQuery" << endl;
} }

View File

@ -632,12 +632,12 @@ void GeneralEvaluation::TempResult::print()
this->var.print(); this->var.print();
printf("temp result:\n"); //printf("temp result:\n");
for (int i = 0; i < (int)this->res.size(); i++) for (int i = 0; i < (int)this->res.size(); i++)
{ {
for (int j = 0; j < varnum; j++) for (int j = 0; j < varnum; j++)
printf("%d ", this->res[i][j]); printf("%d ", this->res[i][j]);
printf("\n"); //printf("\n");
} }
} }
@ -802,10 +802,10 @@ void GeneralEvaluation::TempResultSet::doFilter(QueryTree::FilterTree& filter, F
void GeneralEvaluation::TempResultSet::print() void GeneralEvaluation::TempResultSet::print()
{ {
printf("total temp result : %d\n", (int)this->results.size()); //printf("total temp result : %d\n", (int)this->results.size());
for (int i = 0; i < (int)this->results.size(); i++) for (int i = 0; i < (int)this->results.size(); i++)
{ {
printf("temp result no.%d\n", i); //printf("temp result no.%d\n", i);
this->results[i].print(); this->results[i].print();
} }
} }

View File

@ -68,11 +68,9 @@ Stream::Stream(std::vector<int>& _keys, std::vector<bool>& _desc, unsigned _rown
if(Util::memoryLeft() < size) if(Util::memoryLeft() < size)
{ {
this->inMem = false; this->inMem = false;
fprintf(stderr, "Stream: memory is not enough!\n");
} }
else else
{ {
fprintf(stderr, "Stream: memory is enough!\n");
} }
#ifdef DEBUG_STREAM #ifdef DEBUG_STREAM
fprintf(stderr, "Stream:after memory check!\n"); fprintf(stderr, "Stream:after memory check!\n");

View File

@ -12,7 +12,6 @@ int LRUCache::DEFAULT_CAPACITY = 1*1000*1000;
LRUCache::LRUCache(int _capacity) LRUCache::LRUCache(int _capacity)
{ {
cout << "LRUCache initial..." << endl;
this->capacity = _capacity > 0 ? _capacity : LRUCache::DEFAULT_CAPACITY; this->capacity = _capacity > 0 ? _capacity : LRUCache::DEFAULT_CAPACITY;
// we should guarantee the cache is big enough. // we should guarantee the cache is big enough.
this->capacity = std::max(this->capacity, VNode::MAX_CHILD_NUM * 2000); this->capacity = std::max(this->capacity, VNode::MAX_CHILD_NUM * 2000);
@ -32,7 +31,6 @@ LRUCache::LRUCache(int _capacity)
this->prev[LRUCache::START_INDEX] = LRUCache::NULL_INDEX; this->prev[LRUCache::START_INDEX] = LRUCache::NULL_INDEX;
this->prev[LRUCache::END_INDEX] = LRUCache::START_INDEX; this->prev[LRUCache::END_INDEX] = LRUCache::START_INDEX;
this->size = 0; this->size = 0;
cout << "LRUCache initial finish" << endl;
} }
LRUCache::~LRUCache() LRUCache::~LRUCache()

View File

@ -438,7 +438,6 @@ bool VSTree::saveTree()
bool VSTree::loadTree() bool VSTree::loadTree()
{ {
cout << "loadTree..." << endl;
(this->node_buffer) = new LRUCache(LRUCache::DEFAULT_CAPACITY); (this->node_buffer) = new LRUCache(LRUCache::DEFAULT_CAPACITY);
bool flag = this->loadTreeInfo(); bool flag = this->loadTreeInfo();
@ -452,13 +451,11 @@ bool VSTree::loadTree()
if (flag) if (flag)
{ {
this->node_buffer->loadCache(VSTree::tree_node_file_path); this->node_buffer->loadCache(VSTree::tree_node_file_path);
cout << "finish loadCache" << endl;
} }
if (flag) if (flag)
{ {
flag = loadEntityID2FileLineMap(); flag = loadEntityID2FileLineMap();
cout << "finish loadEntityID2FileLineMap" << endl;
} }
return flag; return flag;