Multi datasources

je ne suis pas dans la même configuration que toi :

la table sur la base externe a un id que je référence dans Nom logique Attribut identifiant et dans les options je suis en Timestamp = Non

OK je vais tester avec un row ID specifique et en retirant le timestamping et je te tiens au courant

Par contre, de manière plus générale, je ne sais pas si c’est ce que tu fais mais le initCreate n’est clairement pas du tout le bon endroit pour appeler un getNextIdForColumn => il faut faire ça dans le preCreate (et mettre une valeur par défaut générique sur le champ pour passer le validate). En effet mettre ce genre de traitement dans le initCreate induira nécessairement des conflits entre sessions.

Ok effectivement dans ce cas particulier le initCreate n’est visiblement pas appelé. Je vais investiguer.

Mais indépendamment de ce pb d’appel du initCreate, tu verras, j’ai mis en place l’appel du getNextIdForColumn dans le preCreate (avec 0 en valeur par défaut du champ row ID custom). Pour moi c’est comme ça qu’il faut faire pour “imiter” la logique d’incrément du row ID standard dans ca cas.

L’appel du initCreate est réglé dans ce cas particulier (mais pas encore poussé sur la branche release, uniquement sur la branche master pour le moment)

ok utiliser le hook preCreate, qui n’est pas non plus exécuté dans la version actuelle.

peux-tu me dire quand la correction que tu as apporté sera poussée sur la branche release ?

Bonjour,

Est ce que cela fonctionne sur la version 3.0 ?

Sébastien

je n’ai jamais testé la création sur une base distante en V3.0

Bonjour David,
peux-tu me dire quand la correction que tu as apporté sera poussée sur la branche release ?

La branche “master” contient actuellement de trop nombreuses évolutions en cours pour être poussée sur la branche “release”. On ne prévoit pas de pousser “master” sur “release” avant la fin de la semaine voire la fin semaine prochaine en fonction de l’avancée des travaux en cours.

En attendant, si ce point te bloque absolument, rien ne t’empêche de mettre à jour ton instance sur la branche “master”. Mais je reste dubitatif sur le fond car, de ce que je comprends, le calcul d’un identifiant unique n’a absolument rien à faire dans un initCreate (cf. mes posts précédents).

le fond n’est pas le problème. j’utiliserai le preCreate.
le problème c’est que les hooks preCreate et initCreate ne sont pas exécutés avec ma connexion distante.

Le code qu’on met dans un preCreate peut temporairement se mettre dans le postValidate sous condition de tester qu’on est en création.

effectivement, mais comme le create n’est pas exécuté, ça ne sert pas à grand chose.

j’ai pu tester sur notre sim de test, qui est sur la branche master.
les corrections apportées fonctionnent : j’ai pu créer une ligne dans mon objet connecté sur base distante.

OK tant mieux
On va sans doute pousser sur la branche “release” demain soir.

La branche “master” a été poussée sur la branche “release”

Bonjour,

le create ne fonctionne à nouveau plus. je ne sais pas depuis quand car l’application qui est en prod n’est pas souvent utilisée pour faire de insertion.

Mais là, les utilisateurs veulent s’en servir et ça ne fonctionne pas. Le problème est bloquant.

Bonjour
Je doute qu’on ait modifié quoique soit à ce niveau dans le moteur.
Avez vous regardé les pré-requis de connexion ? changé des config sur les serveurs ?

  1. Infra
    Il faut voir si l’accès et/ou la base distante existe toujours

  2. Paramétrage du datasource
    si les url/credentials de connexion sont toujours les bons

  3. Code spécifique
    présence de logs d’erreur, trace SQL ou d’appel au hook ?

la base existe toujours puisque je peux toujours voir les données via simplicité et faire des update.
je n’ai fait absolument aucune modification sur cette application.
il n’y a pas d’erreur dans les logs, pas d’appel de hook spécifique, rien …

Je reproduis effectivement un pb en create sur un object pointant sur une table d’un datasource configuré. En select/update pas de pb. On va investiguer et on vous tient au courant

PI sur la UI legacy ça marche, le pb n’est donc pas au niveau de l’engine mais au niveau du call flow de la UI responsive.

Le pb de creation est corrigé et poussé sur la branche master. Ce cas n’a jamais pu marcher sur la UI responsive (sur la UI legacy oui mais pas sur la UI responsive).

Edit : la branche prerelease a été mise à jour ce soir donc c’est aussi disponible sur cette branche