![]() |
QxOrm 1.4.9
C++ Object Relational Mapping library
|
qx::QxSqlRelationLinked : hierarchy of relationships to build SQL query More...
#include <QxSqlRelationLinked.h>
Public Types | |
typedef std::shared_ptr< QxSqlRelationLinked > | type_ptr |
typedef std::tuple< qx::dao::sql_join::join_type, IxSqlRelation *, QPair< QSet< QString >, long >, QString, bool > | type_relation |
typedef qx::QxCollection< QString, type_relation > | type_lst_relation |
typedef QHash< QString, type_ptr > | type_lst_relation_linked |
Public Member Functions | |
QxSqlRelationLinked () | |
QxSqlRelationLinked (bool bRoot) | |
virtual | ~QxSqlRelationLinked () |
void | hierarchySelect (QxSqlRelationParams ¶ms) |
void | hierarchyFrom (QxSqlRelationParams ¶ms) |
void | hierarchyJoin (QxSqlRelationParams ¶ms) |
void | hierarchyWhereSoftDelete (QxSqlRelationParams ¶ms) |
void | hierarchyResolveOutput (QxSqlRelationParams ¶ms) |
QSqlError | hierarchyOnBeforeSave (QxSqlRelationParams ¶ms) |
QSqlError | hierarchyOnAfterSave (QxSqlRelationParams ¶ms) |
void | updateOffset (QxSqlRelationParams ¶ms) |
bool | getCartesianProduct () const |
long | getAllRelationCount () const |
long | getRelationCount () const |
bool | existRelation (const QString &sKey) const |
type_lst_relation_linked | getRelationLinkedX () const |
type_lst_relation | getRelationX () const |
bool | isRoot () const |
bool | checkRootColumns (const QString &s) const |
long | getRootColumnsCount () const |
long | getRootColumnsOffset () const |
void | setRootColumnsOffset (long l) |
QString | getRootCustomAlias () const |
Static Public Member Functions | |
static type_ptr | getHierarchy (IxClass *pClass, const QStringList &sRelationX, qx_bool &bOk, qx::dao::detail::IxDao_Helper *pDaoHelper=NULL) |
Protected Member Functions | |
bool | isValidDaoHelper (QxSqlRelationParams ¶ms) const |
Private Attributes | |
std::unique_ptr< QxSqlRelationLinkedImpl > | m_pImpl |
Private implementation idiom. | |
qx::QxSqlRelationLinked : hierarchy of relationships to build SQL query
Here is the structure, each real relation has a relation linked associated to build the hierarchy, like this :
Definition at line 94 of file QxSqlRelationLinked.h.
typedef qx::QxCollection<QString, type_relation> qx::QxSqlRelationLinked::type_lst_relation |
Definition at line 101 of file QxSqlRelationLinked.h.
typedef QHash<QString, type_ptr> qx::QxSqlRelationLinked::type_lst_relation_linked |
Definition at line 102 of file QxSqlRelationLinked.h.
typedef std::shared_ptr<QxSqlRelationLinked> qx::QxSqlRelationLinked::type_ptr |
Definition at line 99 of file QxSqlRelationLinked.h.
typedef std::tuple<qx::dao::sql_join::join_type, IxSqlRelation *, QPair<QSet<QString>, long>, QString, bool> qx::QxSqlRelationLinked::type_relation |
Definition at line 100 of file QxSqlRelationLinked.h.
qx::QxSqlRelationLinked::QxSqlRelationLinked | ( | ) |
qx::QxSqlRelationLinked::QxSqlRelationLinked | ( | bool | bRoot | ) |
|
virtual |
bool qx::QxSqlRelationLinked::checkRootColumns | ( | const QString & | s | ) | const |
bool qx::QxSqlRelationLinked::existRelation | ( | const QString & | sKey | ) | const |
long qx::QxSqlRelationLinked::getAllRelationCount | ( | ) | const |
bool qx::QxSqlRelationLinked::getCartesianProduct | ( | ) | const |
|
static |
long qx::QxSqlRelationLinked::getRelationCount | ( | ) | const |
type_lst_relation_linked qx::QxSqlRelationLinked::getRelationLinkedX | ( | ) | const |
type_lst_relation qx::QxSqlRelationLinked::getRelationX | ( | ) | const |
long qx::QxSqlRelationLinked::getRootColumnsCount | ( | ) | const |
long qx::QxSqlRelationLinked::getRootColumnsOffset | ( | ) | const |
QString qx::QxSqlRelationLinked::getRootCustomAlias | ( | ) | const |
void qx::QxSqlRelationLinked::hierarchyFrom | ( | QxSqlRelationParams & | params | ) |
void qx::QxSqlRelationLinked::hierarchyJoin | ( | QxSqlRelationParams & | params | ) |
QSqlError qx::QxSqlRelationLinked::hierarchyOnAfterSave | ( | QxSqlRelationParams & | params | ) |
QSqlError qx::QxSqlRelationLinked::hierarchyOnBeforeSave | ( | QxSqlRelationParams & | params | ) |
void qx::QxSqlRelationLinked::hierarchyResolveOutput | ( | QxSqlRelationParams & | params | ) |
void qx::QxSqlRelationLinked::hierarchySelect | ( | QxSqlRelationParams & | params | ) |
void qx::QxSqlRelationLinked::hierarchyWhereSoftDelete | ( | QxSqlRelationParams & | params | ) |
bool qx::QxSqlRelationLinked::isRoot | ( | ) | const |
|
protected |
void qx::QxSqlRelationLinked::setRootColumnsOffset | ( | long | l | ) |
void qx::QxSqlRelationLinked::updateOffset | ( | QxSqlRelationParams & | params | ) |
|
private |
Private implementation idiom.
Definition at line 107 of file QxSqlRelationLinked.h.