![]() |
QxOrm 1.1.9
C++ Object Relational Mapping library
|
qx::IxSqlQueryBuilder : common interface to build SQL queries to communicate with database More...
#include <IxSqlQueryBuilder.h>
Public Types | |
typedef QPair< QString, QString > | type_id |
typedef QHash< type_id, void * > | type_ptr_by_id |
typedef boost::shared_ptr < type_ptr_by_id > | type_ptr_by_id_ptr |
typedef QList< type_ptr_by_id_ptr > | type_lst_ptr_by_id |
typedef boost::shared_ptr < type_lst_ptr_by_id > | type_lst_ptr_by_id_ptr |
Public Member Functions | |
IxSqlQueryBuilder () | |
IxSqlQueryBuilder (const QString &sql) | |
virtual | ~IxSqlQueryBuilder ()=0 |
QxCollection< QString, IxDataMember * > * | getLstDataMember () const |
IxSqlRelationX * | getLstRelation () const |
void | setSqlQuery (const QString &sql) |
void | setHashRelation (const QString &s) |
void | setCartesianProduct (bool b) |
QString | getSqlQuery () const |
QString | getHashRelation () const |
QString | table () const |
QxSoftDelete | getSoftDelete () const |
bool | getCartesianProduct () const |
long | getDataCount () const |
long | getRelationCount () const |
IxDataMember * | getDataId () const |
IxDataMember * | nextData (long &l) const |
IxSqlRelation * | nextRelation (long &l) const |
void | displaySqlQuery (int time_ms=-1) const |
bool | insertIdX (long lIndex, const QVariant &idOwner, const QVariant &idData, void *ptr) |
void * | existIdX (long lIndex, const QVariant &idOwner, const QVariant &idData) |
virtual void | init ()=0 |
virtual IxDataMemberX * | getDataMemberX () const =0 |
virtual IxSqlQueryBuilder & | count ()=0 |
virtual IxSqlQueryBuilder & | exist ()=0 |
virtual IxSqlQueryBuilder & | fetchAll ()=0 |
virtual IxSqlQueryBuilder & | fetchById ()=0 |
virtual IxSqlQueryBuilder & | insert ()=0 |
virtual IxSqlQueryBuilder & | update ()=0 |
virtual IxSqlQueryBuilder & | deleteAll ()=0 |
virtual IxSqlQueryBuilder & | softDeleteAll ()=0 |
virtual IxSqlQueryBuilder & | deleteById ()=0 |
virtual IxSqlQueryBuilder & | softDeleteById ()=0 |
virtual IxSqlQueryBuilder & | createTable ()=0 |
virtual IxSqlQueryBuilder & | fetchAll (const QStringList &columns)=0 |
virtual IxSqlQueryBuilder & | fetchById (const QStringList &columns)=0 |
virtual IxSqlQueryBuilder & | update (const QStringList &columns)=0 |
virtual IxSqlQueryBuilder & | fetchAll_WithRelation (IxSqlRelationX *pRelationX)=0 |
virtual IxSqlQueryBuilder & | fetchById_WithRelation (IxSqlRelationX *pRelationX)=0 |
Static Public Member Functions | |
static QString | addSqlCondition (const QString &sql) |
Protected Attributes | |
QxCollection< QString, IxDataMember * > * | m_lstDataMemberPtr |
Collection of 'IxDataMember' to build sql query. | |
IxSqlRelationX * | m_lstSqlRelationPtr |
Collection of 'IxSqlRelation' to build sql query. | |
IxDataMember * | m_pDataMemberId |
Data member id for sql query. | |
QString | m_sSqlQuery |
Current sql query. | |
QString | m_sTableName |
Sql table name of current object. | |
QString | m_sHashRelation |
Optimization : hash to retrieve sql query with relation. | |
bool | m_bCartesianProduct |
Recordset can return cartesian product => same id in multiple records. | |
type_lst_ptr_by_id_ptr | m_pIdX |
Collection of id (and pointer associated) to avoid multiple fetch on same id (cartesian product) | |
QxSoftDelete | m_oSoftDelete |
Soft delete (or logical delete) behavior. | |
Private Member Functions | |
void | initIdX () |
qx::IxSqlQueryBuilder : common interface to build SQL queries to communicate with database
Definition at line 51 of file IxSqlQueryBuilder.h.
typedef QPair<QString, QString> qx::IxSqlQueryBuilder::type_id |
Definition at line 56 of file IxSqlQueryBuilder.h.
typedef QList<type_ptr_by_id_ptr> qx::IxSqlQueryBuilder::type_lst_ptr_by_id |
Definition at line 59 of file IxSqlQueryBuilder.h.
typedef boost::shared_ptr<type_lst_ptr_by_id> qx::IxSqlQueryBuilder::type_lst_ptr_by_id_ptr |
Definition at line 60 of file IxSqlQueryBuilder.h.
typedef QHash<type_id, void *> qx::IxSqlQueryBuilder::type_ptr_by_id |
Definition at line 57 of file IxSqlQueryBuilder.h.
typedef boost::shared_ptr<type_ptr_by_id> qx::IxSqlQueryBuilder::type_ptr_by_id_ptr |
Definition at line 58 of file IxSqlQueryBuilder.h.
qx::IxSqlQueryBuilder::IxSqlQueryBuilder | ( | ) | [inline] |
Definition at line 76 of file IxSqlQueryBuilder.h.
qx::IxSqlQueryBuilder::IxSqlQueryBuilder | ( | const QString & | sql | ) | [inline] |
Definition at line 77 of file IxSqlQueryBuilder.h.
virtual qx::IxSqlQueryBuilder::~IxSqlQueryBuilder | ( | ) | [pure virtual] |
static QString qx::IxSqlQueryBuilder::addSqlCondition | ( | const QString & | sql | ) | [inline, static] |
Definition at line 123 of file IxSqlQueryBuilder.h.
virtual IxSqlQueryBuilder& qx::IxSqlQueryBuilder::count | ( | ) | [pure virtual] |
Implemented in qx::QxSqlQueryBuilder< T >.
virtual IxSqlQueryBuilder& qx::IxSqlQueryBuilder::createTable | ( | ) | [pure virtual] |
Implemented in qx::QxSqlQueryBuilder< T >.
virtual IxSqlQueryBuilder& qx::IxSqlQueryBuilder::deleteAll | ( | ) | [pure virtual] |
Implemented in qx::QxSqlQueryBuilder< T >.
virtual IxSqlQueryBuilder& qx::IxSqlQueryBuilder::deleteById | ( | ) | [pure virtual] |
Implemented in qx::QxSqlQueryBuilder< T >.
void qx::IxSqlQueryBuilder::displaySqlQuery | ( | int | time_ms = -1 | ) | const |
virtual IxSqlQueryBuilder& qx::IxSqlQueryBuilder::exist | ( | ) | [pure virtual] |
Implemented in qx::QxSqlQueryBuilder< T >.
void* qx::IxSqlQueryBuilder::existIdX | ( | long | lIndex, |
const QVariant & | idOwner, | ||
const QVariant & | idData | ||
) |
virtual IxSqlQueryBuilder& qx::IxSqlQueryBuilder::fetchAll | ( | const QStringList & | columns | ) | [pure virtual] |
Implemented in qx::QxSqlQueryBuilder< T >.
virtual IxSqlQueryBuilder& qx::IxSqlQueryBuilder::fetchAll | ( | ) | [pure virtual] |
Implemented in qx::QxSqlQueryBuilder< T >.
virtual IxSqlQueryBuilder& qx::IxSqlQueryBuilder::fetchAll_WithRelation | ( | IxSqlRelationX * | pRelationX | ) | [pure virtual] |
Implemented in qx::QxSqlQueryBuilder< T >.
virtual IxSqlQueryBuilder& qx::IxSqlQueryBuilder::fetchById | ( | const QStringList & | columns | ) | [pure virtual] |
Implemented in qx::QxSqlQueryBuilder< T >.
virtual IxSqlQueryBuilder& qx::IxSqlQueryBuilder::fetchById | ( | ) | [pure virtual] |
Implemented in qx::QxSqlQueryBuilder< T >.
virtual IxSqlQueryBuilder& qx::IxSqlQueryBuilder::fetchById_WithRelation | ( | IxSqlRelationX * | pRelationX | ) | [pure virtual] |
Implemented in qx::QxSqlQueryBuilder< T >.
bool qx::IxSqlQueryBuilder::getCartesianProduct | ( | ) | const [inline] |
Definition at line 90 of file IxSqlQueryBuilder.h.
long qx::IxSqlQueryBuilder::getDataCount | ( | ) | const [inline] |
Definition at line 91 of file IxSqlQueryBuilder.h.
IxDataMember* qx::IxSqlQueryBuilder::getDataId | ( | ) | const [inline] |
Definition at line 93 of file IxSqlQueryBuilder.h.
virtual IxDataMemberX* qx::IxSqlQueryBuilder::getDataMemberX | ( | ) | const [pure virtual] |
Implemented in qx::QxSqlQueryBuilder< T >.
QString qx::IxSqlQueryBuilder::getHashRelation | ( | ) | const [inline] |
Definition at line 87 of file IxSqlQueryBuilder.h.
QxCollection<QString, IxDataMember *>* qx::IxSqlQueryBuilder::getLstDataMember | ( | ) | const [inline] |
Definition at line 80 of file IxSqlQueryBuilder.h.
IxSqlRelationX* qx::IxSqlQueryBuilder::getLstRelation | ( | ) | const [inline] |
Definition at line 81 of file IxSqlQueryBuilder.h.
long qx::IxSqlQueryBuilder::getRelationCount | ( | ) | const [inline] |
Definition at line 92 of file IxSqlQueryBuilder.h.
QxSoftDelete qx::IxSqlQueryBuilder::getSoftDelete | ( | ) | const [inline] |
Definition at line 89 of file IxSqlQueryBuilder.h.
QString qx::IxSqlQueryBuilder::getSqlQuery | ( | ) | const [inline] |
Definition at line 86 of file IxSqlQueryBuilder.h.
virtual void qx::IxSqlQueryBuilder::init | ( | ) | [pure virtual] |
Implemented in qx::QxSqlQueryBuilder< T >.
void qx::IxSqlQueryBuilder::initIdX | ( | ) | [private] |
virtual IxSqlQueryBuilder& qx::IxSqlQueryBuilder::insert | ( | ) | [pure virtual] |
Implemented in qx::QxSqlQueryBuilder< T >.
bool qx::IxSqlQueryBuilder::insertIdX | ( | long | lIndex, |
const QVariant & | idOwner, | ||
const QVariant & | idData, | ||
void * | ptr | ||
) |
IxDataMember* qx::IxSqlQueryBuilder::nextData | ( | long & | l | ) | const [inline] |
Definition at line 94 of file IxSqlQueryBuilder.h.
IxSqlRelation* qx::IxSqlQueryBuilder::nextRelation | ( | long & | l | ) | const [inline] |
Definition at line 95 of file IxSqlQueryBuilder.h.
void qx::IxSqlQueryBuilder::setCartesianProduct | ( | bool | b | ) | [inline] |
Definition at line 85 of file IxSqlQueryBuilder.h.
void qx::IxSqlQueryBuilder::setHashRelation | ( | const QString & | s | ) | [inline] |
Definition at line 84 of file IxSqlQueryBuilder.h.
void qx::IxSqlQueryBuilder::setSqlQuery | ( | const QString & | sql | ) | [inline] |
Definition at line 83 of file IxSqlQueryBuilder.h.
virtual IxSqlQueryBuilder& qx::IxSqlQueryBuilder::softDeleteAll | ( | ) | [pure virtual] |
Implemented in qx::QxSqlQueryBuilder< T >.
virtual IxSqlQueryBuilder& qx::IxSqlQueryBuilder::softDeleteById | ( | ) | [pure virtual] |
Implemented in qx::QxSqlQueryBuilder< T >.
QString qx::IxSqlQueryBuilder::table | ( | ) | const [inline] |
Definition at line 88 of file IxSqlQueryBuilder.h.
virtual IxSqlQueryBuilder& qx::IxSqlQueryBuilder::update | ( | ) | [pure virtual] |
Implemented in qx::QxSqlQueryBuilder< T >.
virtual IxSqlQueryBuilder& qx::IxSqlQueryBuilder::update | ( | const QStringList & | columns | ) | [pure virtual] |
Implemented in qx::QxSqlQueryBuilder< T >.
bool qx::IxSqlQueryBuilder::m_bCartesianProduct [protected] |
Recordset can return cartesian product => same id in multiple records.
Definition at line 70 of file IxSqlQueryBuilder.h.
QxCollection<QString, IxDataMember *>* qx::IxSqlQueryBuilder::m_lstDataMemberPtr [protected] |
Collection of 'IxDataMember' to build sql query.
Definition at line 64 of file IxSqlQueryBuilder.h.
IxSqlRelationX* qx::IxSqlQueryBuilder::m_lstSqlRelationPtr [protected] |
Collection of 'IxSqlRelation' to build sql query.
Definition at line 65 of file IxSqlQueryBuilder.h.
QxSoftDelete qx::IxSqlQueryBuilder::m_oSoftDelete [protected] |
Soft delete (or logical delete) behavior.
Definition at line 72 of file IxSqlQueryBuilder.h.
IxDataMember* qx::IxSqlQueryBuilder::m_pDataMemberId [protected] |
Data member id for sql query.
Definition at line 66 of file IxSqlQueryBuilder.h.
type_lst_ptr_by_id_ptr qx::IxSqlQueryBuilder::m_pIdX [protected] |
Collection of id (and pointer associated) to avoid multiple fetch on same id (cartesian product)
Definition at line 71 of file IxSqlQueryBuilder.h.
QString qx::IxSqlQueryBuilder::m_sHashRelation [protected] |
Optimization : hash to retrieve sql query with relation.
Definition at line 69 of file IxSqlQueryBuilder.h.
QString qx::IxSqlQueryBuilder::m_sSqlQuery [protected] |
Current sql query.
Definition at line 67 of file IxSqlQueryBuilder.h.
QString qx::IxSqlQueryBuilder::m_sTableName [protected] |
Sql table name of current object.
Definition at line 68 of file IxSqlQueryBuilder.h.