Commit a88dd320 authored by yiwenshao's avatar yiwenshao

add function StringToItem in parser/sql_util.cc

parent e4f54f44
......@@ -12,26 +12,8 @@
#include <main/CryptoHandlers.hh>
static std::string embeddedDir="/t/cryt/shadow";
/*
//Show what Analysis can do
static void test_Analysis(Analysis & analysis){
//oDET,
//oOPE,
//oAGG,
std::cout<<GREEN_BEGIN<<"USE Analysis: "<<COLOR_END<<std::endl;
OnionMeta *om = analysis.getOnionMeta2("tdb","student","id",oDET);
if(om!=NULL)
std::cout<<"use analysis.getOnionMetae oDET: "<<om->getAnonOnionName()<<std::endl;
om = analysis.getOnionMeta2("tdb","student","id",oOPE);
if(om!=NULL)
std::cout<<"use analysis.getOnionMetae oOPE: "<<om->getAnonOnionName()<<std::endl;
om = analysis.getOnionMeta2("tdb","student","id",oAGG);
if(om!=NULL)
std::cout<<"use analysis.getOnionMetae oAGG: "<<om->getAnonOnionName()<<std::endl;
}*/
static void myTestCreateTableHandler(std::string query){
static void testInsertHandler(std::string query){
std::unique_ptr<Connect> e_conn(Connect::getEmbedded(embeddedDir));
std::unique_ptr<SchemaInfo> schema(new SchemaInfo());
std::function<DBMeta *(DBMeta *const)> loadChildren =
......@@ -48,9 +30,6 @@ static void myTestCreateTableHandler(std::string query){
//just like what we do in Rewrite::rewrite,dispatchOnLex
Analysis analysis(std::string("tdb"),*schema,TK,
SECURITY_RATING::SENSITIVE);
//assert(analysis.getMasterKey().get()!=NULL);
//assert(getKey(std::string("113341234"))!=NULL);
//test_Analysis(analysis);
DMLHandler *h = new InsertHandler();
......@@ -59,8 +38,7 @@ static void myTestCreateTableHandler(std::string query){
new query_parse("tdb", query));
LEX *const lex = p->lex();
auto executor = h->transformLex(analysis,lex);
std::cout<< ((DMLQueryExecutor*)executor)->getQuery()<<std::endl;
std::cout<<((DMLQueryExecutor*)executor)->getQuery()<<std::endl;
}
int
......@@ -78,7 +56,7 @@ main() {
std::vector<std::string> querys{query1};
for(auto item:querys){
std::cout<<item<<std::endl;
myTestCreateTableHandler(item);
testInsertHandler(item);
std::cout<<std::endl;
}
return 0;
......
......@@ -68,3 +68,10 @@ printItemToString(const Item &i){
return o.str();
}
Item* StringToItem(std::string s){
return new (current_thd->mem_root) Item_string(make_thd_string(s),
s.length(),
&my_charset_bin);
}
......@@ -45,4 +45,4 @@ char * make_thd_string(const std::string &s, size_t *lenp = 0);
std::string ItemToString(const Item &i);
std::string printItemToString(const Item &i);
Item* StringToItem(std::string);//added
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment