Public Types |
enum | relation_type {
no_relation,
one_to_one,
one_to_many,
many_to_one,
many_to_many
} |
Public Member Functions |
| IxSqlRelation (IxDataMember *p) |
virtual | ~IxSqlRelation ()=0 |
QxCollection< QString,
IxDataMember * > * | getLstDataMember () const |
IxSqlRelationX * | getLstRelation () const |
void | setSqlJoinType (qx::dao::sql_join::join_type e) |
qx::dao::sql_join::join_type | getSqlJoinType () const |
relation_type | getRelationType () const |
IxClass * | getClass () const |
IxClass * | getClassOwner () const |
IxDataMember * | getDataMember () const |
IxDataMemberX * | getDataMemberX () const |
IxDataMember * | getDataId () const |
IxDataMember * | getDataIdOwner () const |
QString | getKey () const |
long | getDataCount () const |
long | getRelationCount () const |
IxDataMember * | getDataByKey (const QString &sKey) const |
IxDataMember * | nextData (long &lIndex) const |
IxSqlRelation * | nextRelation (long &lIndex) const |
QString | table () const |
QString | tableAlias (QxSqlRelationParams ¶ms) const |
QString | tableAliasOwner (QxSqlRelationParams ¶ms) const |
QString | getSqlJoin (qx::dao::sql_join::join_type e=qx::dao::sql_join::no_join) const |
bool | traceSqlQuery () const |
virtual void | init ()=0 |
virtual QString | getDescription () const =0 |
virtual QString | getExtraTable () const =0 |
virtual QString | createExtraTable () const =0 |
virtual bool | getCartesianProduct () const =0 |
virtual QVariant | getIdFromQuery (bool bEager, QxSqlRelationParams ¶ms) const =0 |
virtual void | updateOffset (bool bEager, QxSqlRelationParams ¶ms) const =0 |
virtual void | createTable (QxSqlRelationParams ¶ms) const =0 |
virtual void | lazySelect (QxSqlRelationParams ¶ms) const =0 |
virtual void | eagerSelect (QxSqlRelationParams ¶ms) const =0 |
virtual void | lazyFrom (QxSqlRelationParams ¶ms) const =0 |
virtual void | eagerFrom (QxSqlRelationParams ¶ms) const =0 |
virtual void | lazyJoin (QxSqlRelationParams ¶ms) const =0 |
virtual void | eagerJoin (QxSqlRelationParams ¶ms) const =0 |
virtual void | lazyWhere (QxSqlRelationParams ¶ms) const =0 |
virtual void | eagerWhere (QxSqlRelationParams ¶ms) const =0 |
virtual void | lazyWhereSoftDelete (QxSqlRelationParams ¶ms) const =0 |
virtual void | eagerWhereSoftDelete (QxSqlRelationParams ¶ms) const =0 |
virtual void | lazyFetch_ResolveInput (QxSqlRelationParams ¶ms) const =0 |
virtual void | eagerFetch_ResolveInput (QxSqlRelationParams ¶ms) const =0 |
virtual void | lazyFetch_ResolveOutput (QxSqlRelationParams ¶ms) const =0 |
virtual void * | eagerFetch_ResolveOutput (QxSqlRelationParams ¶ms) const =0 |
virtual void | lazyInsert (QxSqlRelationParams ¶ms) const =0 |
virtual void | lazyInsert_Values (QxSqlRelationParams ¶ms) const =0 |
virtual void | lazyUpdate (QxSqlRelationParams ¶ms) const =0 |
virtual void | lazyInsert_ResolveInput (QxSqlRelationParams ¶ms) const =0 |
virtual void | lazyUpdate_ResolveInput (QxSqlRelationParams ¶ms) const =0 |
virtual QSqlError | onBeforeSave (QxSqlRelationParams ¶ms) const =0 |
virtual QSqlError | onAfterSave (QxSqlRelationParams ¶ms) const =0 |
bool | verifyOffset (QxSqlRelationParams ¶ms, bool bId) const BOOST_USED |
Protected Member Functions |
QVariant | getIdFromQuery_ManyToMany (bool bEager, QxSqlRelationParams ¶ms) const |
QVariant | getIdFromQuery_ManyToOne (bool bEager, QxSqlRelationParams ¶ms) const |
QVariant | getIdFromQuery_OneToMany (bool bEager, QxSqlRelationParams ¶ms) const |
QVariant | getIdFromQuery_OneToOne (bool bEager, QxSqlRelationParams ¶ms) const |
void | updateOffset_ManyToMany (bool bEager, QxSqlRelationParams ¶ms) const |
void | updateOffset_ManyToOne (bool bEager, QxSqlRelationParams ¶ms) const |
void | updateOffset_OneToMany (bool bEager, QxSqlRelationParams ¶ms) const |
void | updateOffset_OneToOne (bool bEager, QxSqlRelationParams ¶ms) const |
void | eagerSelect_ManyToMany (QxSqlRelationParams ¶ms) const |
void | eagerSelect_ManyToOne (QxSqlRelationParams ¶ms) const |
void | eagerSelect_OneToMany (QxSqlRelationParams ¶ms) const |
void | eagerSelect_OneToOne (QxSqlRelationParams ¶ms) const |
void | eagerJoin_ManyToMany (QxSqlRelationParams ¶ms) const |
void | eagerJoin_ManyToOne (QxSqlRelationParams ¶ms) const |
void | eagerJoin_OneToMany (QxSqlRelationParams ¶ms) const |
void | eagerJoin_OneToOne (QxSqlRelationParams ¶ms) const |
void | eagerWhereSoftDelete_ManyToMany (QxSqlRelationParams ¶ms) const |
void | eagerWhereSoftDelete_ManyToOne (QxSqlRelationParams ¶ms) const |
void | eagerWhereSoftDelete_OneToMany (QxSqlRelationParams ¶ms) const |
void | eagerWhereSoftDelete_OneToOne (QxSqlRelationParams ¶ms) const |
void | lazySelect_ManyToOne (QxSqlRelationParams ¶ms) const |
void | lazyInsert_ManyToOne (QxSqlRelationParams ¶ms) const |
void | lazyInsert_Values_ManyToOne (QxSqlRelationParams ¶ms) const |
void | lazyUpdate_ManyToOne (QxSqlRelationParams ¶ms) const |
void | createTable_ManyToOne (QxSqlRelationParams ¶ms) const |
QSqlError | deleteFromExtraTable_ManyToMany (QxSqlRelationParams ¶ms) const |
QString | createExtraTable_ManyToMany () const |
bool | addLazyRelation (QxSqlRelationParams ¶ms, IxSqlRelation *pRelation) const |
Protected Attributes |
IxClass * | m_pClass |
| 'IxClass' associated wth sql relation
|
IxClass * | m_pClassOwner |
| 'IxClass' of the owner
|
IxDataMember * | m_pDataMember |
| 'IxDataMember' associated wth sql relation
|
IxDataMemberX * | m_pDataMemberX |
| Collection of 'IxDataMember' : parent of 'm_pDataMember'.
|
IxDataMember * | m_pDataMemberId |
| 'IxDataMember' id of 'm_pDataMemberX'
|
IxDataMember * | m_pDataMemberIdOwner |
| 'IxDataMember' id of the owner
|
long | m_lOffsetRelation |
| Generic offset for sql relation.
|
qx::dao::sql_join::join_type | m_eJoinType |
| Join type to build sql query.
|
relation_type | m_eRelationType |
| Relation type : one-to-one, one-to-many, etc.
|
QxSoftDelete | m_oSoftDelete |
| Soft delete (or logical delete) behavior.
|
QString | m_sForeignKey |
| SQL query foreign key (1-n)
|
QString | m_sExtraTable |
| Extra-table that holds the relationship (n-n)
|
QString | m_sForeignKeyOwner |
| SQL query foreign key for owner (n-n)
|
QString | m_sForeignKeyDataType |
| SQL query foreign key for data type (n-n)
|
QxCollection< QString,
IxDataMember * > * | m_lstDataMemberPtr |
| Optimization : handle to collection of 'IxDataMember'.
|
IxSqlRelationX * | m_lstSqlRelationPtr |
| Optimization : handle to collection of 'IxSqlRelation'.
|
qx::IxSqlRelation : common interface for all relationships defined between 2 classes (or between 2 tables in database)
Definition at line 73 of file IxSqlRelation.h.