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 | 626343c699d42aab176e740f5e75853f51290a49 (patch) | |
tree | 8cd84d4a8f7e7af739d627f9db000e8d786bb2c2 | |
parent | Set cxxflags specifically, not cflags (diff) | |
download | libdbpp-mysql-626343c699d42aab176e740f5e75853f51290a49.tar.bz2 libdbpp-mysql-626343c699d42aab176e740f5e75853f51290a49.tar.xz libdbpp-mysql-626343c699d42aab176e740f5e75853f51290a49.zip |
Do lots more work with compile time formatter instead runtime formatters
-rw-r--r-- | libmysqlpp/my-connection.cpp | 7 | ||||
-rw-r--r-- | libmysqlpp/my-mock.cpp | 5 |
2 files changed, 7 insertions, 5 deletions
diff --git a/libmysqlpp/my-connection.cpp b/libmysqlpp/my-connection.cpp index 687572f..c25a97b 100644 --- a/libmysqlpp/my-connection.cpp +++ b/libmysqlpp/my-connection.cpp @@ -6,6 +6,7 @@ #include <runtimeContext.h> #include <ucontext.h> #include <boost/optional.hpp> +#include <compileTimeFormatter.h> NAMEDFACTORY("mysql", MySQL::Connection, DB::ConnectionFactory); @@ -189,12 +190,12 @@ namespace MySQL { }; } +AdHocFormatter(MySQLConnectionLoadData, "LOAD DATA LOCAL INFILE 'any' INTO TABLE %? %?"); void MySQL::Connection::beginBulkUpload(const char * table, const char * extra) { - static char buf[BUFSIZ]; - int len = snprintf(buf, BUFSIZ, "LOAD DATA LOCAL INFILE 'any' INTO TABLE %s %s", table, extra); - mysql_send_query(&conn, buf, len); + auto sql = MySQLConnectionLoadData::get(table, extra); + mysql_send_query(&conn, sql.c_str(), sql.length()); ctx = boost::shared_ptr<LoadContext>(new MySQL::LoadContext(&conn)); diff --git a/libmysqlpp/my-mock.cpp b/libmysqlpp/my-mock.cpp index bf02e11..2eee416 100644 --- a/libmysqlpp/my-mock.cpp +++ b/libmysqlpp/my-mock.cpp @@ -1,6 +1,6 @@ #include "my-connection.h" #include "my-mock.h" -#include <buffer.h> +#include <compileTimeFormatter.h> namespace MySQL { @@ -11,10 +11,11 @@ Mock::Mock(const std::string & name, const std::vector<boost::filesystem::path> PlaySchemaScripts(ss); } +AdHocFormatter(MockConnStr, "options=p2testmysql;database=%?"); DB::Connection * Mock::openConnection() const { - return new Connection(stringbf("options=p2testmysql;database=%s", testDbName)); + return new Connection(MockConnStr::get(testDbName)); } Mock::~Mock() |