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 :
(<root>, <relation_linked>)
("blog", blog_relation)
("blog", <relation_linked>)
("author", author_relation)
("author", <relation_linked>)
("list_blog", list_blog_relation)
("list_blog", <relation_linked>)
(etc...)
("comment", comment_relation)
("comment", <relation_linked>)
("blog_id", blog_id_relation)
("blog_id", <relation_linked>)
(etc...)
("category", category_relation)
("category", <relation_linked>)
("list_blog", list_blog_relation)
("list_blog", <relation_linked>)
(etc...)
Definition at line 94 of file QxSqlRelationLinked.h.