123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206 |
- #ifndef _MYSQL_CONNECTION_H_
- #define _MYSQL_CONNECTION_H_
- #include "cppconn/connection.h"
- #include <boost/shared_ptr.hpp>
- #include <boost/scoped_ptr.hpp>
- namespace sql
- {
- namespace mysql
- {
- class MySQL_Savepoint : public sql::Savepoint
- {
- sql::SQLString name;
- public:
- MySQL_Savepoint(const sql::SQLString &savepoint);
- virtual ~MySQL_Savepoint() {}
- int getSavepointId();
- sql::SQLString getSavepointName();
- private:
-
- MySQL_Savepoint(const MySQL_Savepoint &);
- void operator=(MySQL_Savepoint &);
- };
- class MySQL_DebugLogger;
- struct MySQL_ConnectionData;
- class MySQL_Statement;
- namespace NativeAPI
- {
- class NativeConnectionWrapper;
- }
- class CPPCONN_PUBLIC_FUNC MySQL_Connection : public sql::Connection
- {
- MySQL_Statement * createServiceStmt();
- public:
- MySQL_Connection(Driver * _driver,
- ::sql::mysql::NativeAPI::NativeConnectionWrapper & _proxy,
- const sql::SQLString& hostName,
- const sql::SQLString& userName,
- const sql::SQLString& password);
- MySQL_Connection(Driver * _driver, ::sql::mysql::NativeAPI::NativeConnectionWrapper & _proxy,
- std::map< sql::SQLString, sql::ConnectPropertyVal > & options);
- virtual ~MySQL_Connection();
- void clearWarnings();
- void close();
- void commit();
- sql::Statement * createStatement();
- sql::SQLString escapeString(const sql::SQLString &);
- bool getAutoCommit();
- sql::SQLString getCatalog();
- Driver *getDriver();
- sql::SQLString getSchema();
- sql::SQLString getClientInfo();
- void getClientOption(const sql::SQLString & optionName, void * optionValue);
- sql::SQLString getClientOption(const sql::SQLString & optionName);
- sql::DatabaseMetaData * getMetaData();
- enum_transaction_isolation getTransactionIsolation();
- const SQLWarning * getWarnings();
- bool isClosed();
- bool isReadOnly();
- bool isValid();
- bool reconnect();
- sql::SQLString nativeSQL(const sql::SQLString& sql);
- sql::PreparedStatement * prepareStatement(const sql::SQLString& sql);
- sql::PreparedStatement * prepareStatement(const sql::SQLString& sql, int autoGeneratedKeys);
- sql::PreparedStatement * prepareStatement(const sql::SQLString& sql, int columnIndexes[]);
- sql::PreparedStatement * prepareStatement(const sql::SQLString& sql, int resultSetType, int resultSetConcurrency);
- sql::PreparedStatement * prepareStatement(const sql::SQLString& sql, int resultSetType, int resultSetConcurrency, int resultSetHoldability);
- sql::PreparedStatement * prepareStatement(const sql::SQLString& sql, sql::SQLString columnNames[]);
- void releaseSavepoint(Savepoint * savepoint) ;
- void rollback();
- void rollback(Savepoint * savepoint);
- void setAutoCommit(bool autoCommit);
- void setCatalog(const sql::SQLString& catalog);
- void setSchema(const sql::SQLString& catalog);
- sql::Connection * setClientOption(const sql::SQLString & optionName, const void * optionValue);
- sql::Connection * setClientOption(const sql::SQLString & optionName, const sql::SQLString & optionValue);
- void setHoldability(int holdability);
- void setReadOnly(bool readOnly);
- sql::Savepoint * setSavepoint();
- sql::Savepoint * setSavepoint(const sql::SQLString& name);
- void setTransactionIsolation(enum_transaction_isolation level);
- virtual sql::SQLString getSessionVariable(const sql::SQLString & varname);
- virtual void setSessionVariable(const sql::SQLString & varname, const sql::SQLString & value);
- virtual void setSessionVariable(const sql::SQLString & varname, unsigned int value);
- virtual sql::SQLString getLastStatementInfo();
- private:
-
- void checkClosed();
- void init(std::map< sql::SQLString, sql::ConnectPropertyVal > & properties);
- Driver * driver;
- boost::shared_ptr< NativeAPI::NativeConnectionWrapper > proxy;
-
- boost::scoped_ptr< ::sql::mysql::MySQL_Statement > service;
- boost::scoped_ptr< ::sql::mysql::MySQL_ConnectionData > intern;
-
- MySQL_Connection(const MySQL_Connection &);
- void operator=(MySQL_Connection &);
- };
- }
- }
- #endif
|