From b6e180c17c0626a665cd189075e9d9b7f4b48d0d Mon Sep 17 00:00:00 2001 From: Machiavelli Date: Mon, 28 Jun 2010 16:09:06 +0200 Subject: Add PreparedStatementHolder class that will be used for registering and calling prepared statements on the MySQL server. Information about prepared statements can be found here: http://dev.mysql.com/tech-resources/articles/4.1/prepared-statements.html In short: better performance shall ensue. --HG-- branch : trunk --- src/server/shared/Database/PreparedStatements.h | 30 +++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 src/server/shared/Database/PreparedStatements.h (limited to 'src/server/shared/Database/PreparedStatements.h') diff --git a/src/server/shared/Database/PreparedStatements.h b/src/server/shared/Database/PreparedStatements.h new file mode 100644 index 00000000000..c19119dcb3d --- /dev/null +++ b/src/server/shared/Database/PreparedStatements.h @@ -0,0 +1,30 @@ +#ifndef sPreparedStatement + +#include "ace/Singleton.h" +#include "Database/DatabaseEnv.h" + +class PreparedStatementHolder +{ + public: + ///- Load prepare statements on database $db and increase $count for every statement + void LoadCharacters(Database *db, uint32 &count); + void LoadAuthserver(Database *db, uint32 &count); + void LoadWorldserver(Database *db, uint32 &count); + + ///- Executes prepared statement that doesn't require feedback with name $name on database $db + void Execute(Database *db, const char* name); + ///- Executes prepared statement that doesn't require feedback with name $name and args $args + ///- on database $db + void PExecute(Database *db, const char* name, const char* args); + + ///- Executes a prepared statement without args on db $db with name $name and puts the result set in a pointer. + QueryResult_AutoPtr Query(Database* db, const char* name); + ///- Executes a prepared statement with args $args on db $db with name $name and put the result set in a pointer. + QueryResult_AutoPtr PQuery(Database* db, const char* name, const char* args); + + private: + void _prepareStatement(const char* name, const char* sql, Database *db, uint32 &count); + +}; +#define sPreparedStatement (*ACE_Singleton::instance()) +#endif \ No newline at end of file -- cgit v1.2.3