Commit 1ad297ab authored by yiwenshao's avatar yiwenshao

finish type_storel

parent 0e2eb946
...@@ -67,22 +67,25 @@ getSelectField(SchemaInfo &schema, FieldMetaTrans &tf,std::string db,std::string ...@@ -67,22 +67,25 @@ getSelectField(SchemaInfo &schema, FieldMetaTrans &tf,std::string db,std::string
static static
void void
write_field_data_to_files(MySQLColumnData& resraw, FieldMetaTrans &res, string db, string table,string field) { write_field_data_to_files(MySQLColumnData& resraw, FieldMetaTrans &res,
std::string numprefix = std::string("data/") +db+"/"+table+std::string("/")+"NUMF/"+field+"/"; string db, string table,string field,enum enum_field_types oft) {
std::string strprefix = std::string("data/") +db+"/"+table+std::string("/")+"STRF/"+field+"/"; std::string prefix;
g_make_path(numprefix); if(IS_NUM(oft)){
g_make_path(strprefix); prefix = std::string("data/") +db+"/"+table+std::string("/")+"NUMF/"+field+"/";
}else {
prefix = std::string("data/") +db+"/"+table+std::string("/")+"STRF/"+field+"/";
}
g_make_path(prefix);
std::vector<std::string> filenames; std::vector<std::string> filenames;
for(auto item:resraw.fieldNames){ for(auto item:resraw.fieldNames){
filenames.push_back(item); auto temp = prefix+item;
filenames.push_back(temp);
} }
int len = resraw.fieldNames.size(); int len = resraw.fieldNames.size();
for(int i=0;i<len;i++){ for(int i=0;i<len;i++){
if(IS_NUM(resraw.fieldTypes[i])){ if(IS_NUM(resraw.fieldTypes[i])){
filenames[i] = numprefix+filenames[i];
writeColumndataNum(resraw.columnData[i],filenames[i]); writeColumndataNum(resraw.columnData[i],filenames[i]);
}else{ }else{
filenames[i] = strprefix+filenames[i];
writeColumndataEscapeString(resraw.columnData[i],filenames[i],resraw.maxLengths[i]); writeColumndataEscapeString(resraw.columnData[i],filenames[i],resraw.maxLengths[i]);
} }
} }
...@@ -118,7 +121,8 @@ static void store(std::string db, std::string table){ ...@@ -118,7 +121,8 @@ static void store(std::string db, std::string table){
tf.setChoosenFieldLengths(lengths); tf.setChoosenFieldLengths(lengths);
tf.setSaltType(stype); tf.setSaltType(stype);
tf.setSaltLength(slength); tf.setSaltLength(slength);
write_field_data_to_files(resraw,tf,db,table,tf.getOriginalFieldMeta()->getFieldName()); write_field_data_to_files(resraw,tf,db,table,tf.getOriginalFieldMeta()->getFieldName(),
tf.getOriginalFieldMeta()->getSqlType());
} }
write_meta_new(res,db,table); write_meta_new(res,db,table);
//generate the backup query and then fetch the tuples //generate the backup query and then fetch the tuples
......
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