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.