|
Samchon Framework for CPP
1.0.0
|
A SQL interface for My-SQL. More...
#include <MySQLi.hpp>

Public Member Functions | |
| MySQLi (int port=3306) | |
| Construct from port. More... | |
Public Member Functions inherited from samchon::library::SQLi | |
| SQLi (const std::string &driver, int port) | |
| Construct from driver name and port. More... | |
| virtual void | connect (const std::string &ip, const std::string &db, const std::string &id, const std::string &pwd) |
| Connect to the DBMS . More... | |
| virtual void | disconnect () |
| Disconnect from DBMS. More... | |
| virtual auto | createStatement () -> std::shared_ptr< SQLStatement > |
| Factory method for creating SQLStatement. More... | |
Additional Inherited Members | |
Protected Attributes inherited from samchon::library::SQLi | |
| std::string | driver |
| Driver; name of DBMS used for connection. More... | |
| int | port |
| Port number of DBMS. More... | |
A SQL interface for My-SQL.
SQLi is an abstract class managing connection (session) with a specific database and manages SQL statements are executed and results are returned within the context of a connection.
The reason why SQLStatement(s) are managed by SQLi is because of a principle of DBMS, DBMS system doesn't allow simultaneous query from a session (connection). Only a query (process0) is allowed at a time. If you try to simultaneous query from a SQLi, ODBC throws error. To avoid the error, an execute of query from SQLStatement will lock a mutex of SQLi to ensure exclusiveness.
To ensure the exclusiveness, you've to make SQLStatement from SQLi. Do not make SQLStatement by yourself. call SQLi::createSQLStatement() instead. Even you make a derived class from SQLStatement, don't make its constructor to have public accessor.
Becuase execution of a sql statement causes lock on mutex in SQLi, you've to destruct the SQLStatement or call SQLStatement::free() method(). If you don't, the mutex will not be unlocked, thus you can't do anything by the SQLi.
Definition at line 17 of file MySQLi.hpp.
| samchon::library::MySQLi::MySQLi | ( | int | port = 3306 | ) |
Construct from port.
| port | Port number of My-SQL. default is 3306. |