PostgreSQL La base de donnees la plus sophistiquee au monde.

Forums PostgreSQL.fr

Le forum officiel de la communauté francophone de PostgreSQL

Vous n'êtes pas identifié(e).

#1 10/03/2009 12:32:24

slash
Membre

Transactions (pour curseurs) parallèles, sur une même connexion

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

#2 10/03/2009 12:48:38

gleu
Administrateur

Re : Transactions (pour curseurs) parallèles, sur une même connexion

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

Pied de page des forums