diff options
| author | deva <deva> | 2010-08-30 06:59:19 +0000 | 
|---|---|---|
| committer | deva <deva> | 2010-08-30 06:59:19 +0000 | 
| commit | b7316bf6168ee316a07b616386c9f64c2d5476bd (patch) | |
| tree | 72826b0b0c7fb93cffcfea2b9c54efc6ad237700 | |
| parent | e90442fe60c1e758709419767970b77cdfd2e3a8 (diff) | |
Make fieldnames with '.' map correctly to lua-map namespace.
| -rw-r--r-- | server/src/luaquerymapper.cc | 8 | 
1 files changed, 8 insertions, 0 deletions
diff --git a/server/src/luaquerymapper.cc b/server/src/luaquerymapper.cc index 8e154ed..aefbabf 100644 --- a/server/src/luaquerymapper.cc +++ b/server/src/luaquerymapper.cc @@ -27,6 +27,7 @@  #include "luaquerymapper.h"  #include <sstream> +#include <string>  static std::string loadresultstring(QueryResult &res, std::string group = "")  { @@ -35,6 +36,13 @@ static std::string loadresultstring(QueryResult &res, std::string group = "")    std::map< std::string, std::string >::iterator v = res.values.begin();    while(v != res.values.end()) { + +    std::string grp = (*v).first; +    std::string::size_type idx = -1; +    while((idx = grp.find(".", idx + 1)) != std::string::npos) { +      s += group + grp.substr(0, idx) + " = {}\n"; +    } +      s += group + (*v).first + " = {}\n";      s += group + (*v).first + ".value = \"" + (*v).second + "\"\n";      s += group + (*v).first + ".timestamp = " + timestamp.str() + "\n";  | 
