Assertion en mode de débogage avec QxSqlQuery::freeText() (jointure)
Bonjours à tous.
J'utilise QxOrm de puis quelques temps maintenant se qui me facilite grandement la vie.
J'utilise QxSqlQuery::freeText pour faire mais propre requete avec jointure. en mode release ça fonctionne à merveille mais en mode debug la requete doit probablement mal se former et lors de l'appele à
Code:
session.fetchByQuery(qSql, ...);
il se produit cette assersion :
Code:
ASSERT: "! exist(key)" in file d:/dev/archive/QxOrm_1.2.4/QxOrm/include/QxCollection/../../inl/QxCollection/QxCollection.inl, line 209
Pour un peu plus de détail, j'ai une classe Categories qui possède des Documents.
Code:
1 2 3 4 5 6 7
|
void register_class(QxClass<Categorie>& t) {
t.id(&Categorie::m_id, "categorie_id");
t.data(&Categorie::m_name, "name");
t.relationManyToOne(&Categorie::m_classeur, "classeur_id");
t.relationOneToMany(&Categorie::m_documents, "list_document", "categorie_id");
} |
J'ai recherché des Document via une requete avec critère et je veux récupérer la Catégorie de chacun de ces Documents.
voilà donc comment je m'y prends:
Code:
1 2 3 4 5
|
qx::QxSqlQuery qSql;
qSql.freeText("JOIN Document ON Document.categorie_id=Categorie.categorie_id");
qSql.where("Document.document_id").in(documentIDList);
session.fetchByQuery(qSql, p->cachCategorie); |
Ce que je voudrai savoir c'est si l'erreur que je rencontre est un bug connue ou si ça viens de chez moi, comme une erreur que j'aurai fait lors de la compilation de boost ou de QxOrm. Car je doit l'avouer j'ai eu du mal à les compiler mais je pensais avoir résolue ce problème en ajoutant dans ma config :
Code:
1 2 3 4 5 6 7 8
|
CONFIG(release, debug|release) {
DEFINES += NDEBUG
...
}else{
...
}
win32-g++: QMAKE_LFLAGS += -export-all-symbols |
Merci de me renseigner, je voudrai pas recompiler mes librairies pour rien.