Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Sortie de QxOrm 1.4.7 et QxEntityEditor 1.2.5 : l'ORM/ODM pour Qt améliore l'intégration avec MongoDB

Le , par QxOrm

80PARTAGES

6  0 
Bonjour,

La bibliothèque QxOrm 1.4.7 et l'application QxEntityEditor 1.2.5 viennent de sortir et proposent une meilleure intégration avec la base de données MongoDB ainsi qu'un support de l'environnement macOS Catalina 10.15.

Modifications apportées à la bibliothèque QxOrm 1.4.7 :
  • Corrige un problème avec la fonction qx::dao::fetch_by_id_with_relation() et MongoDB (l'identifiant récupéré était incorrect)
  • Corrige un problème avec la fonction qx::dao::fetch_all() lorsqu'une liste de colonnes personnalisées inclue l'identifiant
  • Corrige la sérialisation de l'identifiant JSON pour MongoDB avec les propriétés enregistrées en tant que Q_PROPERTY (Qt property meta system)
  • Corrige une erreur (segmentation fault) lorsque l'interface qx::IxPersistable est utilisée avec un héritage multiple (par exemple QObject + qx::IxPersistable), à cause de conversion static_cast vers void * dans le module QxFactory (corrige aussi pour le module QxService)
  • Supprime la récupération automatique des relations (lazy fetch) lorsqu'elles ne sont pas demandées dans la requête
  • Corrige un problème avec la sérialisation QJson et QDataStream lorsque la classe ne contient pas d'identifiant (donc classe non liée à une base de données) et joue le rôle de conteneur pour une autre classe (ces classes peuvent partager la même adresse pour les pointeurs)
  • Améliore la méthode qx::QxSqlQuery::freeText() qui permet d'ajouter du texte personnalisé aux requêtes SQL : ajout du support des placeholders (nouveau paramètre disponible : const QVariantList & values)
  • Améliore les performances en environnement multi-threads (mutex dans qx::IxSqlQueryBuilder)
  • Nouveau paramètre pour afficher plus de détails (temps d'exécution des requêtes) dans les logs des fonctions qx::dao (pour activer cette nouvelle fonctionnalité : qx::QxSqlDatabase::getSingleton()->setDisplayTimerDetails(true))
  • Améliore l'intégration avec MongoDB pour récupérer une liste d'éléments : construit l'instance C++ aussi rapidement que possible sans utiliser de données dans un buffer (amélioration des performances et usage limité de la mémoire)
  • Améliore l'intégration avec MongoDB : support dans la fonction qx::dao::delete_by_query() du moteur d’agrégation proposé par MongoDB
  • Améliore la classe qx::QxSqlQuery (ou son alias qx_query) : nouvelle méthode addJoinQuery() pour insérer des sous-requêtes SQL dans les sections LEFT OUT JOIN / INNER JOIN (plus de détails dans le manuel utilisateur)
  • Améliore la classe qx::QxSqlQuery : nouveau constructeur avec support des placeholders + nouvelles méthodes pour ajouter des sous-requêtes SQL (in_Select, notIn_Select, isEqualTo_Select, isNotEqualTo_Select)
  • Améliore la classe qx::QxCollection : qx::QxCollection est à présent un conteneur thread-safe (ce qui corrige par exemple le module QxModelView lorsqu'un modèle est chargé dans un thread différent de la vue)


Modifications apportées à l'application QxEntityEditor 1.2.5 :
  • Corrige un problème de police en environnement macOS Catalina 10.15
  • Ajout du paramètre en ligne de commande --font : défini la police par défaut utilisée par l'application avec la syntaxe <family>||<pointSize>||<weight>||<italic> (seul <family> est obligatoire), par exemple : Courier New||14
  • Ajout du paramètre en ligne de commande --style_sheet : défini le style par défaut de l'application (plus de détails sur le site de Qt), par exemple : QWidget { background-color: black }
  • Corrige un problème d'export des méta-données (property bag) : conserve le même ordre entre plusieurs exports C++ (ce qui simplifie la tache pour comparer 2 exports C++ avec des outils comme WinMerge ou équivalent)




Vous pouvez télécharger ces nouvelles versions sur le site internet de QxOrm et QxEntityEditor.
La bibliothèque QxOrm est également disponible sur GitHub.

Une erreur dans cette actualité ? Signalez-le nous !