// quote must be doubled
boost::algorithm::replace_all(i_str,"'","''");
// Found strange strings which contained NULL char INSIDE string
- int i,size=i_str.size();
+ int i,size=(int)i_str.size();
for (i=0;i<size;++i)
{
if (i_str[i]==0)
void SQLiteTreeHandler::getAllAttributes(std::string i_filename, std::map<std::string, std::string> &i_results)
{
int level=GetTree().GetNumberOfLevels()-1;
-
+
std::string search = i_filename;
std::string param = "FullFileName";
std::string name;
std::vector<std::string> values;
std::vector<std::string>::iterator it_val;
-
-
-
- while(level>1)
+ while(level>=1)
{
- attr = GetTree().GetAttributeDescriptorList(level,1);
+ attr = GetTree().GetAttributeDescriptorList(level,1);
- name = GetTree().GetLevelDescriptor(level).GetName();
- std::vector<std::string> values;
- GetUpLevelNodeId(level, param,search,id);
- GetAttributes(name, param,search,attr, values);
- for(it_attr = attr.begin(), it_val = values.begin(); it_attr != attr.end(); it_attr++, it_val++)
- {
- i_results[(*it_attr).GetKey()] = (*it_val).c_str();
- }
- search = id;
- param = "ID";
- level --;
- }
+ name = GetTree().GetLevelDescriptor(level).GetName();
+ std::vector<std::string> values;
+
+//EED 2018-04-13 GetUpLevelNodeId(level, param,search,id);
+ if (level>1)
+ {
+ GetUpLevelNodeId(level, param,search,id);
+ }
+ GetAttributes(name, param,search,attr, values);
+ for(it_attr = attr.begin(), it_val = values.begin(); it_attr != attr.end(); it_attr++, it_val++)
+ {
+ i_results[(*it_attr).GetKey()] = (*it_val).c_str();
+ } // for
+ search = id;
+ param = "ID";
+ level --;
+ } // while level
}
q.nextRow();
}
parent_id = results.str();
-
}