Re: Connecteu r mysql_fdw : problème de "cache"

Bertrand ROBERT <[email protected]> Wed, 14 Dec 2016 18:02:13 +0100 (CET)
Newsgroups gmane.comp.db.postgresql.french
Message-ID <[email protected]>
Bonjour Daniel, 

Je pense que je me suis perdu moi même dans mes tests. 
Je viens d'affiner le problème : c'est bien lié à l'autocommit côté MySQL. 

Si autocommit = 0 côté MySQL et quelque soit la méthode d'update : 
- select * from <foreign table>; (côté PostGreSQL) 

- méthode 1 : 
update matable ....; 

- méthode 2 : 
update matable ...; 
commit; 

- méthode 3 : 
start transaction; 
update matable ...; 
commit; 

- select * from <foreign table>; (côté PostGreSQL) 

=> PostGreSQL ne verra pas la mise à jour des données si on réutilise la connexion précédente sans s'être déconnecté 

Du coup je ne sais pas si c'est un bug ou un comportement "normal" :/ 

J'avais effectivement vu ce "rapport de bug" (https://github.com/EnterpriseDB/mysql_fdw/issues/101) mais justement je me posais la question pour le futur si quelqu'un a déjà l'information :) 


De: "Daniel Verite" <[email protected]> 
À: "b robert" <[email protected]> 
Cc: "pgsql-fr-generale" <[email protected]> 
Envoyé: Mercredi 14 Décembre 2016 17:21:48 
Objet: Re: [pgsql-fr-generale] Connecteur mysql_fdw : problème de "cache" 

Bertrand ROBERT wrote: 

> - je relance la lecture depuis PostGreSQL avec la même connexion qu'au début 
> : 
> '1', '2.129' 
> '2', '2.129' 
> '3', '2.129' 
> etc 
> 
> => PostGreSQL ne voit pas les nouvelles valeurs 

En principe il n'y a pas de cache de résultats de requêtes. 

Pour ma part je ne reproduis pas le pb en question, c.a.d. 
qu'une session PG qui réexecute le même 
SELECT * FROM remote_table 
voit bien immédiatement les modifs faites côté MySQL, sans 
nécessité de se reconnecter. 
Testé avec un mysql 5.5.53 d'ubuntu 14.04, 
PG 9.6.1 et le dernier mysql_fdw de github. 

La première raison qui vient à l'esprit quand des 
changements ne sont pas visibles est que la transaction 
qui les a fait n'est pas commitée. Ceci dit une connection 
nouvellement ouverte ne verrait pas non plus 
les changements si c'était juste ça. 
Idéalement il faudrait un test reproductible pour analyser 
ce qui se passe. 

Pour la question des écritures distantes dans une transaction, 
effectivement les transactions postgres ne sont pas 
exportées vers mysql, malheureusement: 
https://github.com/EnterpriseDB/mysql_fdw/issues/101 


Cordialement, 
-- 
Daniel Vérité 
PostgreSQL-powered mailer: http://www.manitou-mail.org 
Twitter: @DanielVerite 


__________ Information from ESET Mail Security, version of virus signature database 14605 (20161214) __________ 

The message was checked by ESET Mail Security. 
http://www.eset.com 



__________ Information from ESET Mail Security, version of virus signature database 14605 (20161214) __________

The message was checked by ESET Mail Security.
http://www.eset.com