ANNA Suite
2020b
Multipurpose development suite for Telco applications
|
#include <Connection.hpp>
Public Member Functions | |
Database & | getDatabase () const |
const std::string & | getUser () const |
const std::string & | getPassword () const |
void | setPassword (const char *password) |
int | setMaxCommitPending (const int maxCommitPending) |
void | resetRollbackPending () |
void | activateRollbackPending () |
ResultCode | execute (Statement *statement) noexcept(false) |
virtual std::string | asString () const |
virtual xml::Node * | asXML (xml::Node *parent) const |
![]() | |
virtual void | asAttribute (xml::Node *node) const noexcept(false) |
![]() | |
Resource (const std::string &name) | |
const std::string & | getName () const |
bool | isEnabled () const |
void | setTimeStamp (const Millisecond &timeStamp) |
const Millisecond & | getTimeStamp () const |
bool | operator== (const std::string &name) const |
bool | operator== (const Resource &other) const |
void | enable () noexcept(false) |
void | disable () noexcept(false) |
virtual bool | isAvailable () const noexcept(false)=0 |
![]() | |
Mutex (const Mode::_v mode=Mode::Recursive) | |
virtual | ~Mutex () |
bool | trylock () noexcept(false) |
operator const pthread_mutex_t * () const | |
Protected Member Functions | |
Connection (Database &database, const std::string &name, const char *user, const char *password) | |
void | commit () noexcept(false) |
void | rollback () |
virtual void | open () noexcept(false)=0 |
virtual void | close ()=0 |
![]() | |
Resource (const std::string &name) | |
![]() | |
Safe () | |
Protected Attributes | |
Database & | a_database |
std::string | a_user |
std::string | a_password |
Friends | |
class | Database |
Clase que modela la conexion con la base de datos.
Para crear una nueva conexion hay que invocar al Metodo Database::createConnection de la base de datos contra la que deseamos establecer la conexion.
Para obtener una conexion a una determinada base de datos habria que instanciar dicha base de datos e invocar al Metodo Database::createConnection. Independientemente del tipo de conexion particular que la base de datos retorne, debemos asignarlo a un puntero de tipo anna::dbms::Connection.
|
inlineprotected |
Contructor.
database | Instancia de la base de datos asociada a esta conexion. |
name | Nombre logico de la conexion. |
user | Nombre del usuario con el que realizamos la conexion. |
password | Codigo de acceso del usuario. |
|
inline |
Activa de forma externa el indicador de que la conexion requiere una invocacion a rollback.
|
virtual |
Devuelve una cadena con la informacion referente a esta instancia.
Reimplemented from anna::Resource.
Reimplemented in anna::dbms::oracle::Connection, and anna::dbms::mysql::Connection.
Devuelve un documento XML con la informacion referente a esta instancia.
parent | Nodo XML del que debe colgar la informacion. |
Reimplemented from anna::comm::Resource.
|
protectedpure virtual |
Metodo que debemos re-escribir para cerrar la conexion.
|
protectednoexcept |
Metodo que fija los cambios realizados en la ejecucion de los comandos SQL.
|
noexcept |
Ejecuta la sentencia recibida como parametro. Si la sentencia no tiene variables de salida consideraria que es un comando update, insert o delete, lo cual, implica la invocacion automatica a los commit o rollback cuando termine la seccion critica de esta conexion.
statement | Sentencia que vamos a ejecuta |
|
inline |
Devuelve la instancia de la base de datos asociada a esta conexion.
|
inline |
Devuelve el password del usuario con el que fué realizada esta conexión.
|
inline |
Devuelve el usuario con el que fué realizada esta conexión.
|
protectedpure virtualnoexcept |
Metodo que debemos re-escribir para hacer efectiva esta conexion.
|
inline |
Desactiva el indicador de que la conexion requiere una invocacion a rollback.
|
protected |
Metodo que debemos re-escribir para descartar los cambios realizados sobre las tablas mediante esta conexion.
|
inline |
Establece el periodo de grabacion de esta conexion. Damos la posibilidad de que la conexion confirme cambios realizados hasta el momento sin que termine la seccion critica que debemos establecer antes de usar la conexion.
maxCommitPending | Numero de transacciones que pueden estar pedientes de confirmacion antes de invocar a commit. Un valor 0, desactiva el periodo. |
|
inline |
Establece el password del usuario de esta conexión
password | Codigo de acceso del usuario. |
|
friend |
|
protected |
Instancia de la base de datos asociada a esta conexion. Coincidiria con la indicada en el constructor.
|
protected |
Clave de acceso del usuario.
|
protected |
Nombre del usuario