ComSDK
Титульная страница
Описания
Группы
Пространства имен
Классы
Файлы
Файлы
Указатель
Классы
Пространства имен
Функции
Переменные
Определения типов
Перечисления
Элементы перечислений
Друзья
Группы
Страницы
dev
database_backends
postgresql_backend
postgresql_backend.h
1
//===========================================================================
2
#ifndef comfrm_PostgresqlBackendH
3
#define comfrm_PostgresqlBackendH
4
//===========================================================================
5
// Заготовка модуля PostgresqlBackend была сгенерирована специальным средством RAD разработки SA2-DE.
6
// Все права защищены. (2015)
7
//
8
// В данном файле представлен исходный текст основного заголовочного файла модуля.
9
//
10
// В данном файле представлен паттерн интерфейса класса.
11
// Описание класса:
12
// Абстрактный класс, описывающий интерфейс Action Item'а
13
// ======================================= //
14
// Параметры новой разработки.
15
// ======================================= //
16
// Имя комплекса: GCAD (gcd)
17
// Имя решения: GCAD_2 (gc3)
18
// Имя проекта: Client (cli)
19
// Полный SID: cligc3
20
// Время создания: 16:26:48
21
// Дата создания: 2015-10-10
22
// ======================================= //
23
// ============================================================================================ //
24
// Параметры ревизии(версии):
25
// ============================================================================================ //
26
// [prd]Period: 10/2015
27
// [aut]Author: Антон Першин
28
// [did]DeveloperID: ap
29
// [pid]ProblemID: 00001
30
// [rvs = did.date.pid]Revision: //#ap.2015-10-10.00001
31
// [dsc]Description: Класс, реализующий работу с PostgreSQL
32
// [ccm]CodeComment: rvs.{[s]Start | [e]End | []}{[n]New | [o]Old | [d]Develop}
33
// ============================================================================================ //
34
35
//========================================================================
36
// ДОПОЛНИТЕЛЬНЫЕ ПОДКЛЮЧЕНИЯ (Типы и модули, необходимые для .h - файла)
37
//------------------------------------------------------------------------
38
#include "database_backend.h"
39
#include "libtools.h"
40
#include "sqltable.h"
41
42
#include <postgresql/libpq-fe.h>
43
44
#include <map>
45
46
//========================================================================
47
namespace
com {
48
namespace
db {
49
class
MAC_DLLEXPORT
PostgresqlBackend
:
public
DatabaseBackend
50
{
51
public
:
52
PostgresqlBackend
();
53
virtual
~
PostgresqlBackend
(){}
54
55
virtual
void
setDatabaseData(
const
std::string& p_host,
unsigned
short
p_port,
const
std::string& p_db);
56
virtual
ErrorCode
addConnection(
const
std::string& p_user,
const
std::string& p_psw);
57
virtual
bool
isConnected(
const
std::string& p_user)
const
;
58
virtual
void
disconnect(
const
std::string& p_user);
59
virtual
ErrorCode
executeRequest(
const
std::string& p_user,
const
std::string& p_request,
com::sql::SqlTable
& o_table);
60
virtual
ErrorCode
retrieveTable(
const
std::string& p_user,
const
std::string& p_schema,
const
std::string& p_tableName,
61
com::sql::SqlTable
& o_table);
62
63
private
:
64
ErrorCode
connect(
const
std::string& p_connStr,
const
std::string& p_user);
65
inline
PGconn* getConnObject(
const
std::string& p_user);
66
com::sql::SqlTable::ValueType
convertFromOID(
int
p_OID);
67
68
private
:
69
std::string m_host;
70
unsigned
short
m_port;
71
std::string m_dbName;
72
std::map< std::string, PGconn* > m_connections;
73
};
74
}
75
}
76
//===========================================================================
77
#endif
78
//===========================================================================
79
com::sql::SqlTable
Модель SQL-таблицы
Definition:
sqltable.h:132
com::sql::SqlTable::ValueType
ValueType
Тип значение колонки
Definition:
sqltable.h:148
com::db::DatabaseBackend
Интерфейс для работы с базой данных СУБД
Definition:
database_backend.h:63
com::db::PostgresqlBackend
Definition:
postgresql_backend.h:49
com::db::DatabaseBackend::ErrorCode
ErrorCode
Тип ошибок при работе с СУБД
Definition:
database_backend.h:69
Создано системой
1.8.5