34#include <qstringlist.h>
35#include <qsqldatabase.h>
41#define db_document_header "dh%1"
42#define db_document_table "dt%1_%2"
43#define db_catalog_element "ce%1"
44#define db_catalog_group "cg%1"
45#define db_iregister "ri%1"
46#define db_aregister "ra%1"
47#define db_areg_remainder "ra%1_rem"
48#define db_user_roles "usr_rl"
51#define db_right_roles "r_rl"
52#define db_indices "idc"
53#define db_areg_dim "ra%1_d%2"
73class aDataDriver:
public QObject
82class aDataDriver_SQLITE:
public aDataDriver
87 ~aDataDriver_SQLITE();
91class aDataDriver_MYSQL:
public aDataDriver
101class aDataDriver_PGSQL:
public aDataDriver
106 ~aDataDriver_PGSQL();
123class ANANAS_EXPORT
aDatabase:
public QObject
153 bool init(
aCfgRc *rc,
const QString &dbname = QString::null );
154 bool init(
const QString &rcname,
const QString &dbname = QString::null );
156 QSqlDatabase*
db(
const QString &dbname = QString::null );
159 bool drop(
const QString &);
161 Q_ULLONG
uid(
int otype );
171 static QStringList supportedDriverList();
177 bool exchangeDataSystables ( QDomDocument &xml,
bool import );
178 bool exchangeDataCatalogues ( QDomDocument &xml,
bool import );
179 bool exchangeDataDocuments ( QDomDocument &xml,
bool import );
180 bool exchangeDataJournals ( QDomDocument &xml,
bool import );
181 bool exchangeDataInfoRegisters ( QDomDocument &xml,
bool import );
182 bool exchangeDataAccumulationRegisters ( QDomDocument &xml,
bool import );
183 bool exchangeDataUniques ( QDomDocument &xml,
bool import );
187 bool exportTableData(QDomDocument& xml,
const QString &tableName);
188 bool importTableData(QDomDocument& xml,
const QString &tableName);
189 void reportError(QSqlError er,
const QString &query);
191 QString fieldtype(
const QString &tdef );
192 void checkIndices(
const QString &
table,
const QString &flddef, QStringList &ui_add, QStringList &ui_drop);
193 bool isExists(
const QString fname, QStringList *f_lst, QString &match);
194 QString fieldsDef( aCfgItem context,
const QString &idx=QString::null);
195 QString sysFieldsDef ( aCfgItem context );
196 QString convFieldsDef(
const QString flddef, QString &idxdef, QString &pkey );
197 bool createdb(
bool update );
198 bool createIndexes(
const QString &
table,
const QString &indexl,
const QStringList & uidc=QStringList());
199 bool dropIndexes(
const QString &
table,
const QStringList &indices=QStringList());
200 bool verifyTable(
const QString &
table,
const QString &flddef,
201 QString &f_drop, QString &f_add, QString &f_upd,
202 QString &i_drop, QString &i_add, QStringList & ui_drop, QStringList & ui_add);
203 bool createTable(
int update,
const QString
table, QString flddef );
204 bool createSystables(
bool update );
205 bool createCatalogues(
bool update );
206 bool createDocuments(
bool update );
207 bool createJournals(
bool update );
208 bool createInformationRegisters(
bool update );
209 bool createAccumulationRegisters(
bool update );
210 bool dumpTable( QDomDocument& xml,
const QString &tableName);
212 QString feature(
const QString& fetureName);
214 QMap<QString, QString> featuresMySQL, featuresSQLite, featuresPostgreSQL;
Класс для работы с файлом ресурсов.
Определения acfgrc.h:53
Класс реализует програмный интерфейс доступа к элементам метаданных системы. Наследует QObject.
Определения acfg.h:437
Определяет программный интерфейс модели данных aDataTable. Наследует QSqlCursor.
Определения asqltable.h:55
Класс для работы с СУБД. Ananas Data Abstraction Layer. Наследует QObject.
Определения adatabase.h:78
int uidType(Q_ULLONG uid)
Определения adatabase.cpp:914
QSqlDatabase * ddb
Определения adatabase_old.h:147
aCfg cfg
Объект для работы с метаданными бизнес схемы Ананаса. .
Определения adatabase.h:129
void done()
Определения adatabase.cpp:610
bool create()
Определения adatabase.cpp:679
bool init(aCfgRc *rc, const QString &dbname=QString::null)
Открывает соединение с базой данных на SQL сервере или создает базу данных.
Определения adatabase.cpp:523
static QStringList getUniqueIndices(const QString &flddef)
Определения adatabase_old.cpp:1871
QSqlDatabase * db(const QString &dbname=QString::null)
Возвращает ссылку на соединение с базой данных.
Определения adatabase.cpp:639
QString driverName()
Определения adatabase.cpp:437
aDatabase()
Определения adatabase.cpp:402
dbServer
Перечисление поддерживаемых типов баз данных. По состоянию на 20070630 реализована поддержка для mysq...
Определения adatabase.h:105
@ postgresql
Определения adatabase.h:111
@ odbc
Определения adatabase.h:113
@ mssql
Определения adatabase.h:117
@ sybase
Определения adatabase.h:119
@ mysql
Определения adatabase.h:109
@ oracle
Определения adatabase.h:115
@ unknown
Определения adatabase.h:107
void deleteMarked()
Определения adatabase.cpp:1001
void markDeleted(Q_ULLONG uid)
Определения adatabase.cpp:986
bool checkStructure()
Определения adatabase.cpp:655
bool update()
Определения adatabase.cpp:730
static QString tableDbName(aCfg &md, aCfgItem context, long *tid)
Определения adatabase.cpp:791
aDataTable * table(const QString &name=QString::null)
Определения adatabase.cpp:743
Q_ULLONG uid(int otype)
Определения adatabase.cpp:870
bool tableExists(const QString &name)
Определения adatabase.cpp:936