Vous n'êtes pas identifié(e).
Bonjour,
N'ayant pas trouvé de post à ce sujet, j'en démarre un ;o)
Est-ce qu'il est possible, sous PostGreSQL, d'avoir plusieurs transactions en parallèles sur une même connexion?
J'explique en détail le contexte du problème :
Je développe en C (libpq), un client qui, une fois connecté à la base, effectue des requêtes asynchrones.
Ces requêtes sont des appels à une procédure stockée qui me renvoie un curseur, pour que je puisse ensuite naviguer entre les résultats.
L'appel à la procédure stockée, sous le programme C est rendue asynchrone. Deux appels successifs sont effectués à ma procédure stockée, mais le nom du curseur, que je passe en paramètre est différent.
Une fois que mes deux curseurs sont établis, plus loin dans mon programme, j'aimerai, à ma guise, me balader dans les résultats pointés par les 2 curseurs.
Si je comprends bien le concept des curseurs, je fois faire l'initialisation du curseur, et son utilisation dans la même transaction. Or, dans mon cas, j'ai 2 appels du programme C, avec donc 2 curseurs différents, pour 2 requêtes SQL différentes (qui est un paramètre de ma procédure stockée), sur 1 seule procédure stockée. Donc si je termine ma transaction, mes 2 curseurs sont affectés.
J'aimerai donc dissocier l'initialisation de mes 2 curseurs, dans 2 transactions bien distinctes.
Est-ce possible?
Avez vous une autre idée?
Merki!!
Hors ligne
Non, ce n'est pas possible. Le seul moyen de faire cela est d'avoir une connexion pour chaque curseur. Chaque connexion aura sa propre transaction.
Guillaume.
Hors ligne