From 74fcbf827294bac907fffe57382e34359893f20f Mon Sep 17 00:00:00 2001 From: Dan Goodliffe Date: Wed, 4 Jan 2017 02:00:04 +0000 Subject: C++ify the SQL preparer and skip it if no variables are being bound --- libpqpp/pq-prepared.cpp | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) (limited to 'libpqpp/pq-prepared.cpp') 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()); } -- cgit v1.2.3