summaryrefslogtreecommitdiff
path: root/libpqpp/pq-prepared.cpp
diff options
context:
space:
mode:
authorDan Goodliffe <dan@randomdan.homeip.net>2017-01-04 02:00:04 +0000
committerDan Goodliffe <dan@randomdan.homeip.net>2017-01-04 02:00:04 +0000
commit74fcbf827294bac907fffe57382e34359893f20f (patch)
treea20e7f29872515ca3cbba3f66c656aa119aeb1c9 /libpqpp/pq-prepared.cpp
parentTidy clearing of PGresults (diff)
downloadlibdbpp-postgresql-74fcbf827294bac907fffe57382e34359893f20f.tar.bz2
libdbpp-postgresql-74fcbf827294bac907fffe57382e34359893f20f.tar.xz
libdbpp-postgresql-74fcbf827294bac907fffe57382e34359893f20f.zip
C++ify the SQL preparer and skip it if no variables are being bound
Diffstat (limited to 'libpqpp/pq-prepared.cpp')
-rw-r--r--libpqpp/pq-prepared.cpp5
1 files changed, 2 insertions, 3 deletions
diff --git a/libpqpp/pq-prepared.cpp b/libpqpp/pq-prepared.cpp
index bdf2a7d..8e6cea5 100644
--- a/libpqpp/pq-prepared.cpp
+++ b/libpqpp/pq-prepared.cpp
@@ -19,11 +19,10 @@ PQ::PreparedStatement::prepare() const
if (i != c->preparedStatements.end()) {
return (pstmt = i->second.c_str());
}
- std::string psql;
- psql.reserve(sql.length() + 20);
+ std::stringstream psql;
prepareSql(psql, sql);
c->checkResultFree(PQprepare(
- c->conn, stmntName.c_str(), psql.c_str(), values.size(), NULL), PGRES_COMMAND_OK);
+ c->conn, stmntName.c_str(), psql.str().c_str(), values.size(), NULL), PGRES_COMMAND_OK);
return (pstmt = c->preparedStatements.insert({hash, stmntName}).first->second.c_str());
}