aboutsummaryrefslogtreecommitdiff
path: root/apps/SoilMoistureIo.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'apps/SoilMoistureIo.cpp')
-rw-r--r--apps/SoilMoistureIo.cpp25
1 files changed, 14 insertions, 11 deletions
diff --git a/apps/SoilMoistureIo.cpp b/apps/SoilMoistureIo.cpp
index 24618ff..983427c 100644
--- a/apps/SoilMoistureIo.cpp
+++ b/apps/SoilMoistureIo.cpp
@@ -108,7 +108,10 @@ SqlSampleOutputStream::SqlSampleOutputStream(ostream &stream, vector<string> fie
}
void SqlSampleOutputStream::write(Sample values) {
- stringstream fs, vs;
+ string fs, vs;
+
+ fs.reserve(1024);
+ vs.reserve(1024);
if (filterFields) {
auto i = fields.begin();
@@ -116,21 +119,21 @@ void SqlSampleOutputStream::write(Sample values) {
while (i != fields.end()) {
auto field = *i;
- fs << field;
+ fs += field;
auto value = values.find(field);
if (value != values.end()) {
- vs << "'" << value->second << "'";
+ vs += "'" + value->second + "'";
} else {
- vs << "NULL";
+ vs + "NULL";
}
i++;
if (i != fields.end()) {
- fs << ",";
- vs << ",";
+ fs += ",";
+ vs += ",";
}
}
} else {
@@ -138,17 +141,17 @@ void SqlSampleOutputStream::write(Sample values) {
while (i != values.end()) {
auto v = *i++;
- fs << v.first;
- vs << "'" << v.second << "'";
+ fs += v.first;
+ vs += "'" + v.second + "'";
if (i != values.end()) {
- fs << ",";
- vs << ",";
+ fs += ",";
+ vs += ",";
}
}
}
- stream << "INSERT INTO (" << fs << ") VALUES(" << vs << ")" << endl;
+ stream << "INSERT INTO (" << fs << ") VALUES(" << vs << ");" << endl;
}
void CsvParser::process(mutable_buffers_1 buffer) {