/[projects]/misc/mysql_splitter/splitter.cpp
ViewVC logotype

Diff of /misc/mysql_splitter/splitter.cpp

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1282 by torben, Sun Apr 10 20:37:28 2011 UTC revision 1284 by torben, Mon Apr 11 05:14:37 2011 UTC
# Line 15  using namespace std; Line 15  using namespace std;
15    
16  const int BUFSIZE = 1024*1024;  const int BUFSIZE = 1024*1024;
17    
18  string getLastWord(string input) {  string remove_comments(string in) {
19            bool isComment = false;
20            ostringstream out;
21            for (int i=0; i<in.length() -1; i++) {
22                    if (in.at(i) == '/' && in.at(i+1) == '*')  
23                            isComment = true;
24                    
25                    if (in.at(i) == '*' && in.at(i+1) == '/') {
26                            i++;
27                            isComment = false;
28                            continue;
29                    }
30    
31                    if (isComment == false)
32                            out << in.at(i) ;
33            }
34    
35            return out.str();
36    }
37    
38    string get_db_name(string input) {
39            input = remove_comments(input);
40    
41            boost::erase_all(input,"`");
42            boost::erase_all(input, ";");
43            boost::trim(input);
44    
45          vector<string> words;          vector<string> words;
46          words = boost::split(words, input, boost::is_any_of(" ") );          words = boost::split(words, input, boost::is_any_of(" ") );
47    
48          string last = words.back();          string last = words.back();
   
         boost::erase_all(last, ";");  
49          boost::trim(last);          boost::trim(last);
50    
   
   
51          return last;          return last;
52  }  }
53    
# Line 93  int main(int argc, char** argv) { Line 115  int main(int argc, char** argv) {
115                          }                          }
116    
117                          boost::trim(line);                          boost::trim(line);
118                          string dbname = getLastWord(line);                          string dbname = get_db_name(line);
119                          cout << ">" << dbname << endl;                          cout << ">" << dbname << endl;
120    
121    

Legend:
Removed from v.1282  
changed lines
  Added in v.1284

  ViewVC Help
Powered by ViewVC 1.1.20