diff options
author | Dan Goodliffe <dan@randomdan.homeip.net> | 2016-12-31 04:59:00 +0000 |
---|---|---|
committer | Dan Goodliffe <dan@randomdan.homeip.net> | 2016-12-31 04:59:00 +0000 |
commit | 4013f18f0e9f257e6c0d7ffecdec3cfc9bf0db0d (patch) | |
tree | d8e89ed8329c9367bf32c59584f6b659b81584ec /libpqpp/pq-cursorselectcommand.cpp | |
parent | More complex approach to setting tables to unlogged to handle foreign key dep... (diff) | |
download | libdbpp-postgresql-4013f18f0e9f257e6c0d7ffecdec3cfc9bf0db0d.tar.bz2 libdbpp-postgresql-4013f18f0e9f257e6c0d7ffecdec3cfc9bf0db0d.tar.xz libdbpp-postgresql-4013f18f0e9f257e6c0d7ffecdec3cfc9bf0db0d.zip |
Do lots more work with compile time formatter instead runtime formatters
Diffstat (limited to 'libpqpp/pq-cursorselectcommand.cpp')
-rw-r--r-- | libpqpp/pq-cursorselectcommand.cpp | 18 |
1 files changed, 7 insertions, 11 deletions
diff --git a/libpqpp/pq-cursorselectcommand.cpp b/libpqpp/pq-cursorselectcommand.cpp index ab21f66..29e29f5 100644 --- a/libpqpp/pq-cursorselectcommand.cpp +++ b/libpqpp/pq-cursorselectcommand.cpp @@ -2,6 +2,7 @@ #include "pq-connection.h" #include "pq-column.h" #include "pq-error.h" +#include <compileTimeFormatter.h> PQ::CursorSelectCommand::CursorSelectCommand(Connection * conn, const std::string & sql, unsigned int no) : DB::Command(sql), @@ -29,32 +30,27 @@ PQ::CursorSelectCommand::~CursorSelectCommand() } } +AdHocFormatter(PQCursorSelectDeclare, "DECLARE %? CURSOR FOR %?"); std::string PQ::CursorSelectCommand::mkdeclare() const { std::string psql; - psql.reserve(sql.length() + 40); - psql += "DECLARE "; - psql += stmntName; - psql += " CURSOR FOR "; prepareSql(psql, sql); - return psql; + return PQCursorSelectDeclare::get(stmntName, psql); } +AdHocFormatter(PQCursorSelectFetch, "FETCH %? IN %?"); std::string PQ::CursorSelectCommand::mkfetch() const { - char buf[BUFSIZ]; - snprintf(buf, sizeof(buf), "FETCH %d IN %s", fTuples, stmntName.c_str()); - return buf; + return PQCursorSelectFetch::get(fTuples, stmntName); } +AdHocFormatter(PQCursorSelectClose, "CLOSE %?"); std::string PQ::CursorSelectCommand::mkclose() const { - char buf[BUFSIZ]; - snprintf(buf, sizeof(buf), "CLOSE %s", stmntName.c_str()); - return buf; + return PQCursorSelectClose::get(stmntName); } void |