32#ifndef _QX_SQL_RELATION_MANY_TO_ONE_H_
33#define _QX_SQL_RELATION_MANY_TO_ONE_H_
54template <
class DataType,
class Owner>
114 QSqlQuery & query = params.
query();
117 bool bValidId(
false);
126 if (! this->
verifyOffset(params,
false)) {
return NULL; }
127 QSqlQuery & query = params.
query();
134 long lOffsetRelation = (lOffsetOld + lOffsetId + lOffsetData);
136 bool bValidId(
false), bValidIdBis(
false);
145 if (! bValidIdBis) {
return NULL; }
153 while ((p = this->
nextData(lIndex)))
160 void * pOwnerOld = params.
owner(); params.
setOwner(& currData);
184 QSqlQuery & query = params.
query();
Base class for all relationships defined between 2 classes (or between 2 tables in database)
qx::IxDataMember : common interface for all class properties registered into QxOrm context
virtual qx_bool fromVariant(void *pOwner, const QVariant &v, const QString &sFormat, int iIndexName=-1, qx::cvt::context::ctx_type ctx=qx::cvt::context::e_no_context)=0
void setSqlPlaceHolder(QSqlQuery &query, void *pOwner, const QString &sAppend=QString(), const QString &sOtherName=QString(), bool bCheckFKPartOfPK=false, qx::QxCollection< QString, QVariantList > *pLstExecBatch=NULL) const
qx::IxSqlRelation : common interface for all relationships defined between 2 classes (or between 2 ta...
void lazyInsert_ManyToOne(QxSqlRelationParams ¶ms) const
bool addLazyRelation(QxSqlRelationParams ¶ms, IxSqlRelation *pRelation) const
void eagerJoin_ManyToOne(QxSqlRelationParams ¶ms) const
void updateOffset_ManyToOne(bool bEager, QxSqlRelationParams ¶ms) const
QVariant getIdFromQuery_ManyToOne(bool bEager, QxSqlRelationParams ¶ms, int iOffset, int iNameIndex) const
void createTable_ManyToOne(QxSqlRelationParams ¶ms) const
void eagerWhereSoftDelete_ManyToOne(QxSqlRelationParams ¶ms) const
void eagerSelect_ManyToOne(QxSqlRelationParams ¶ms) const
IxDataMember * getDataId() const
virtual void lazyFetch_ResolveOutput(QxSqlRelationParams ¶ms) const =0
bool verifyOffset(QxSqlRelationParams ¶ms, bool bId) const QX_USED
void lazyUpdate_ManyToOne(QxSqlRelationParams ¶ms) const
void lazySelect_ManyToOne(QxSqlRelationParams ¶ms) const
IxDataMember * nextData(long &lIndex) const
IxSqlRelation * nextRelation(long &lIndex) const
IxDataMember * getDataMember() const
void lazyInsert_Values_ManyToOne(QxSqlRelationParams ¶ms) const
void setRelationType(relation_type e)
qx::QxSqlRelation_ManyToOne<DataType, Owner> : manage a relationship many-to-one defined between 2 cl...
virtual void lazyJoin(QxSqlRelationParams ¶ms) const
virtual void lazyInsert(QxSqlRelationParams ¶ms) const
QxSqlRelation< DataType, Owner >::type_owner type_owner
virtual void lazySelect(QxSqlRelationParams ¶ms) const
virtual void updateOffset(bool bEager, QxSqlRelationParams ¶ms) const
virtual void * eagerFetch_ResolveOutput(QxSqlRelationParams ¶ms) const
virtual void lazyInsert_ResolveInput(QxSqlRelationParams ¶ms) const
virtual void eagerWhere(QxSqlRelationParams ¶ms) const
virtual void eagerWhereSoftDelete(QxSqlRelationParams ¶ms) const
virtual QString getDescription() const
virtual void lazyFrom(QxSqlRelationParams ¶ms) const
virtual QVariant getIdFromQuery(bool bEager, QxSqlRelationParams ¶ms, int iOffset, int iNameIndex) const
virtual void lazyWhere(QxSqlRelationParams ¶ms) const
virtual void eagerJoin(QxSqlRelationParams ¶ms) const
virtual void eagerFrom(QxSqlRelationParams ¶ms) const
virtual QString createExtraTable() const
virtual void lazyUpdate(QxSqlRelationParams ¶ms) const
QxSqlRelation_ManyToOne(IxDataMember *p)
virtual void eagerSelect(QxSqlRelationParams ¶ms) const
virtual bool getCartesianProduct() const
QxSqlRelation< DataType, Owner >::type_data type_data
virtual ~QxSqlRelation_ManyToOne()
virtual QSqlError onAfterSave(QxSqlRelationParams ¶ms) const
virtual void lazyFetch_ResolveOutput(QxSqlRelationParams ¶ms) const
virtual void lazyInsert_Values(QxSqlRelationParams ¶ms) const
virtual void eagerFetch_ResolveInput(QxSqlRelationParams ¶ms) const
virtual void lazyFetch_ResolveInput(QxSqlRelationParams ¶ms) const
virtual void lazyUpdate_ResolveInput(QxSqlRelationParams ¶ms) const
virtual void lazyWhereSoftDelete(QxSqlRelationParams ¶ms) const
virtual QSqlError onBeforeSave(QxSqlRelationParams ¶ms) const
virtual void createTable(QxSqlRelationParams ¶ms) const
qx::QxSqlRelation<DataType, Owner> : base class for all relationships defined between 2 classes (or b...
bool callTriggerBeforeFetch(type_data &t, QxSqlRelationParams ¶ms) const
bool isNullData(QxSqlRelationParams ¶ms) const
QxSqlRelation< DataType, Owner >::type_tmp_3 type_data
type_data & getData(QxSqlRelationParams ¶ms) const
bool callTriggerAfterFetch(type_data &t, QxSqlRelationParams ¶ms) const
type_owner & getOwner(QxSqlRelationParams ¶ms) const
qx::QxSqlRelationParams : define list of parameters to transfer to relationships to manage SQL querie...
void setOwner(void *pOwner)
void setCustomAliasOwner(const QString &s)
void setOffset(long lOffset)
void setIndexOwner(long lIndex)
QString getCustomAlias() const
QSqlDatabase & database()
bool checkColumns(const QString &s) const
QString getCustomAliasOwner() const
qx::QxCollection< QString, QVariantList > * getLstExecBatch() const
type_lst_relation_linked * relationX() const
bool recursiveMode() const
QSqlError save(T &t, QSqlDatabase *pDatabase=NULL)
Insert (if no exist) or update (if already exist) an element or a list of elements into database.
bool is_valid_primary_key(const T &t)
Root namespace for all QxOrm library features.