Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1011 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  aidez une pauvre etudiante avec une requete bloquante

 


 Mot :   Pseudo :  
 
 Page :   1  2  3
Page Précédente
Auteur Sujet :

aidez une pauvre etudiante avec une requete bloquante

n°913581
chrisbk
-
Posté le 03-12-2004 à 10:29:00  profilanswer
 

bonjour [:dawa]
 
je suis une jeune etudiante célibataire avec des gros seins et j'ai un probleme [:god]
 
J'ai un gros programme A qui se connecte a une BD Postgres. Au debut il fait un "BEGIN", apres des insert, des selects, des trucs et des machins et d'autres traitements super, termine par un "COMMIT" et meurt heureux, sa tache accomplie.
 
Si avant qu'il finisse son traitement (qui peuvent durer un certain temps), on lance un autre 'A' (qui va donc effectuer la meme serie d'actions, connect, begin, toussa), cet 'A' va etre mis en attente au niveau d'un INSERT dans la base. C'est vachement chiant et je suis toute dépitée [:icon9]
 
D'ouske ca peut venir ? [:1337]


Message édité par chrisbk le 03-12-2004 à 10:30:10

---------------
NP: HTTP Error 764 Stupid coder found
mood
Publicité
Posté le 03-12-2004 à 10:29:00  profilanswer
 

n°913583
Profil sup​primé
Posté le 03-12-2004 à 10:31:07  answer
 

tof et jte repond [:antp:9]

n°913593
chrisbk
-
Posté le 03-12-2004 à 10:35:30  profilanswer
 

poste ta réponse pendant que j'en scanne une [:icon7]


---------------
NP: HTTP Error 764 Stupid coder found
n°913605
Moktar1er
No one replies...
Posté le 03-12-2004 à 10:41:14  profilanswer
 

j'ajouterais-je aussi: est-ce que cela peu-il venir du multi-threading?
 
(j'ai oublié de préciser que je suis SA binôme et que moi j'ai des petits seins mais c'est pas grave [:icon7])

n°913612
skeye
Posté le 03-12-2004 à 10:46:48  profilanswer
 

Question con : celui qui est bloqué essaie pas d'écrire une ligne ayant une clé identique à une déjà écrite par l'autre?


Message édité par skeye le 03-12-2004 à 10:47:16

---------------
Can't buy what I want because it's free -
n°913613
chrisbk
-
Posté le 03-12-2004 à 10:47:07  profilanswer
 

skeye a écrit :

Question con :


 
ah bin ca pour etre con, c'etait con


---------------
NP: HTTP Error 764 Stupid coder found
n°913614
skeye
Posté le 03-12-2004 à 10:47:27  profilanswer
 

chrisbk a écrit :

ah bin ca pour etre con, c'etait con


handicapé du clavier...:/


---------------
Can't buy what I want because it's free -
n°913615
uriel
blood pt.2
Posté le 03-12-2004 à 10:48:10  profilanswer
 

Postgre cay nul, installes Oracle [:icon7]
 
(edit: reponse special dedicace a mareek :D)


Message édité par uriel le 03-12-2004 à 10:48:53

---------------
IVG en france
n°913616
Fred999
Rabat-joie
Posté le 03-12-2004 à 10:48:15  profilanswer
 

Hummm ta base accepte-t-elle d'avoir plusieurs transactions simultanées sur une même table ?
 
(je dis ça comme ça, le sujet m'intéresse aussi)

n°913618
Moktar1er
No one replies...
Posté le 03-12-2004 à 10:49:41  profilanswer
 

Fred999 a écrit :

Hummm ta base accepte-t-elle d'avoir plusieurs transactions simultanées sur une même table ?
 
(je dis ça comme ça, le sujet m'intéresse aussi)


bah si tu veux, quand on utilise pgaccess, ou psql, on n'a pas ce genre de problèmes...

mood
Publicité
Posté le 03-12-2004 à 10:49:41  profilanswer
 

n°913619
chrisbk
-
Posté le 03-12-2004 à 10:50:29  profilanswer
 

Fred999 a écrit :

Hummm ta base accepte-t-elle d'avoir plusieurs transactions simultanées sur une même table ?
 
(je dis ça comme ça, le sujet m'intéresse aussi)


 
On vient de se rendre compte que quand on le fait 'a la main' (en utilisant psql) on etait pas bloqué (??)
 
Cela viendrait-il d'une mauvaise utilisation de l'api psql ? Etant donnée qu'on est blonde toute les deux on a un peu de mal :/
 
skeye : non je pense pas, mais jverifie quand meme


---------------
NP: HTTP Error 764 Stupid coder found
n°913628
Moktar1er
No one replies...
Posté le 03-12-2004 à 10:55:03  profilanswer
 

skeye a écrit :

Question con : celui qui est bloqué essaie pas d'écrire une ligne ayant une clé identique à une déjà écrite par l'autre?


la clé est un incrément auto [:spamafote]
et j'ai vérifié, même si on bosse avec des sessions différentes (BEGIN,END) on n'a jamais le même ident

n°913636
skeye
Posté le 03-12-2004 à 11:02:28  profilanswer
 

humm et un incrément auto il se passe quoi si le premier qui insère fait un rollback après que le second ait inséré? On perd un indice?


---------------
Can't buy what I want because it's free -
n°913642
Moktar1er
No one replies...
Posté le 03-12-2004 à 11:07:34  profilanswer
 

skeye a écrit :

humm et un incrément auto il se passe quoi si le premier qui insère fait un rollback après que le second ait inséré? On perd un indice?


oui

n°913644
chrisbk
-
Posté le 03-12-2004 à 11:07:53  profilanswer
 

Ok, du neuf.
 
si on lance deux psql :
 
on fait 'begin' dans les deux
dans le premier on fait un insert dans un table, et cet insert contient une sous requete sql
dans le deuxieme on effectue le meme insert
 
=>blocquage du deuxieme jusque ce que le premier fasse un commit ou un rollback
 
créfieu


---------------
NP: HTTP Error 764 Stupid coder found
n°913648
skeye
Posté le 03-12-2004 à 11:10:18  profilanswer
 

chrisbk a écrit :

Ok, du neuf.
 
si on lance deux psql :
 
on fait 'begin' dans les deux
dans le premier on fait un insert dans un table, et cet insert contient une sous requete sql
dans le deuxieme on effectue le meme insert
 
=>blocquage du deuxieme jusque ce que le premier fasse un commit ou un rollback
 
créfieu


humm mais c'est autorisé d'avoir 2 fois le même enregistrements dans ta table? [:urd]


---------------
Can't buy what I want because it's free -
n°913649
Moktar1er
No one replies...
Posté le 03-12-2004 à 11:10:53  profilanswer
 

skeye a écrit :

humm mais c'est autorisé d'avoir 2 fois le même enregistrements dans ta table? [:urd]


bah non, on aura 2 ID différents (incrément auto) [:spamafote]

n°913651
skeye
Posté le 03-12-2004 à 11:11:36  profilanswer
 

moktar1er a écrit :

bah non, on aura 2 ID différents (incrément auto) [:spamafote]


...et vous avez pas mis des restrictions à la con sans le faire exprès ailleurs? [:joce]


---------------
Can't buy what I want because it's free -
n°913653
chrisbk
-
Posté le 03-12-2004 à 11:12:41  profilanswer
 

http://ccm.redhat.com/bboard-archive/webdb/0007Ax.html
 

Citation :

In Postgres, a select for update will acquire exclusive row locks on the selected rows. In your example, this would cause user 1 to block user 2 until the transaction is commited (select for update is only legal within an explicit transaction in Postgres). In your example, where you're selecting from within an insert query, the insert will gain the exclusive row locks on the selected rows automatically and if you're not within an explicit transaction will be committed before the locks are released.


 
kessekeca ? :o


Message édité par chrisbk le 03-12-2004 à 11:12:53

---------------
NP: HTTP Error 764 Stupid coder found
n°913656
skeye
Posté le 03-12-2004 à 11:13:37  profilanswer
 


vous avez essayé, au fait? [:autobot]
 
Parce-qu'intuitivement j'aurais pensé que le 2ème bloquait parce-qu'on refusait de lui filer un auto-incrémenté...[:dawa]


---------------
Can't buy what I want because it's free -
n°913657
skeye
Posté le 03-12-2004 à 11:14:34  profilanswer
 

chrisbk a écrit :

http://ccm.redhat.com/bboard-archive/webdb/0007Ax.html
 

Citation :

In Postgres, a select for update will acquire exclusive row locks on the selected rows. In your example, this would cause user 1 to block user 2 until the transaction is commited (select for update is only legal within an explicit transaction in Postgres). In your example, where you're selecting from within an insert query, the insert will gain the exclusive row locks on the selected rows automatically and if you're not within an explicit transaction will be committed before the locks are released.


 
kessekeca ? :o


Bon, ben tout s'explique, non...[:opus dei]


---------------
Can't buy what I want because it's free -
n°913665
Moktar1er
No one replies...
Posté le 03-12-2004 à 11:17:17  profilanswer
 

skeye a écrit :

Bon, ben tout s'explique, non...[:opus dei]


comprend rien [:dawa]
une idée de solution?

n°913666
skeye
Posté le 03-12-2004 à 11:17:57  profilanswer
 

moktar1er a écrit :

comprend rien [:dawa]
une idée de solution?


faire la sous-requête avant et utiliser le résultat pour faire un insert sans sous-requête?


---------------
Can't buy what I want because it's free -
n°913671
Moktar1er
No one replies...
Posté le 03-12-2004 à 11:22:26  profilanswer
 

skeye a écrit :

faire la sous-requête avant et utiliser le résultat pour faire un insert sans sous-requête?


ouais... ça va un peu alourdir le bousin mais why not...
sinon sur le site là ils disent qu'il faut faire un
SELECT FOR UPDATE
au lieu d'un SELECT tout court...
ma binôme aux gros seins est en train d'essayer

n°913673
Moktar1er
No one replies...
Posté le 03-12-2004 à 11:23:29  profilanswer
 


SELECT FOR UPDATE is not allowed in subselect


DNC
on va prendre la solution "multirequêtes"

n°913674
skeye
Posté le 03-12-2004 à 11:23:40  profilanswer
 

S'ils le disent je les crois...[:joce]
 
[edit]
 
[:ddr555]


Message édité par skeye le 03-12-2004 à 11:23:54

---------------
Can't buy what I want because it's free -
n°913691
chrisbk
-
Posté le 03-12-2004 à 11:35:40  profilanswer
 

skeye a écrit :

Bon, ben tout s'explique, non...[:opus dei]


 
ca explique rien, bordel, reste la question : pourquoi ?


---------------
NP: HTTP Error 764 Stupid coder found
n°913692
skeye
Posté le 03-12-2004 à 11:36:18  profilanswer
 

chrisbk a écrit :

ca explique rien, bordel, reste la question : pourquoi ?


parce-que c'ets un sgbd pourri...oracle roxxxxxxxxe!:o


---------------
Can't buy what I want because it's free -
n°913708
chrisbk
-
Posté le 03-12-2004 à 11:57:43  profilanswer
 

rah mais merde, meme avec un bete insert (sans sous requete select) ca debloque


---------------
NP: HTTP Error 764 Stupid coder found
n°913711
skeye
Posté le 03-12-2004 à 11:59:28  profilanswer
 

chrisbk a écrit :

rah mais merde, meme avec un bete insert (sans sous requete select) ca debloque


[:moule_bite]
 
 

skeye a écrit :

vous avez essayé, au fait? [:autobot]
 
Parce-qu'intuitivement j'aurais pensé que le 2ème bloquait parce-qu'on refusait de lui filer un auto-incrémenté...[:dawa]


---------------
Can't buy what I want because it's free -
n°913712
chrisbk
-
Posté le 03-12-2004 à 11:59:30  profilanswer
 

rah mais merde 2 : ca bloque que si on ecrit dans un champ particulier (??)


---------------
NP: HTTP Error 764 Stupid coder found
n°913714
skeye
Posté le 03-12-2004 à 12:00:02  profilanswer
 

Et il a quoi de particulier?:o


---------------
Can't buy what I want because it's free -
n°913715
chrisbk
-
Posté le 03-12-2004 à 12:00:31  profilanswer
 

On sait pas [:el g] a vu de nez c'est un int, on a un enqueteur qui se penche sur le probleme


---------------
NP: HTTP Error 764 Stupid coder found
n°913716
chrisbk
-
Posté le 03-12-2004 à 12:02:21  profilanswer
 

y'a des contraintes d'intégrité d'sus (fo que la valeur donnée soit presente dans une autre table (ce qui est vrai au moment le l'insert))


Message édité par chrisbk le 03-12-2004 à 12:02:44

---------------
NP: HTTP Error 764 Stupid coder found
n°913717
Moktar1er
No one replies...
Posté le 03-12-2004 à 12:02:44  profilanswer
 

integrité référentielle sur une autre table [:spamafote]

n°913721
skeye
Posté le 03-12-2004 à 12:05:01  profilanswer
 

...et ça lockerait pas l'autre table en exclusif de faire un insert là-dessus, au hasard?[:joce]


---------------
Can't buy what I want because it's free -
n°913723
chrisbk
-
Posté le 03-12-2004 à 12:06:17  profilanswer
 

skeye a écrit :

...et ça lockerait pas l'autre table en exclusif de faire un insert là-dessus, au hasard?[:joce]


 
heuh, bin, visiblement, hein, oui, mais :
->pourquoi
->comment circonvenir a cet astucieux lock de merde ?
 
 
 

Citation :

Dolly - [Plein Air #13] - Tim


 
!
je ne savais pas que tu avais autant de gout !


---------------
NP: HTTP Error 764 Stupid coder found
n°913725
skeye
Posté le 03-12-2004 à 12:08:43  profilanswer
 

chrisbk a écrit :

heuh, bin, visiblement, hein, oui, mais :
->pourquoi
->comment circonvenir a cet astucieux lock de merde ?


 
Excellentes questions...[:joce]
C'est pas moi l'expert en bases de données ici...demandez à Harko (:whistle:) ou gizmo, nan?[:joce]
 

chrisbk a écrit :


Citation :

Dolly - [Plein Air #13] - Tim


 
!
je ne savais pas que tu avais autant de gout !


Tu devrais...:o


---------------
Can't buy what I want because it's free -
n°913726
chrisbk
-
Posté le 03-12-2004 à 12:09:51  profilanswer
 

skeye a écrit :

Excellentes questions...[:joce]
C'est pas moi l'expert en bases de données ici...demandez à Harko (:whistle:) ou gizmo, nan?[:joce]


 
sont pas la ou ils me boudent [:sisicaivrai]
 

skeye a écrit :


Tu devrais...:o


 
(jles ai vu en concert vendredi dernier [:franck75])


Message édité par chrisbk le 03-12-2004 à 12:10:01

---------------
NP: HTTP Error 764 Stupid coder found
n°913727
skeye
Posté le 03-12-2004 à 12:11:35  profilanswer
 

Histoire d'avancer un peu, z'avez essayé de faire un select sur l'autre table avant le commit pour vérifier que c'était bien cette table qui  lockait?


---------------
Can't buy what I want because it's free -
mood
Publicité
Posté le   profilanswer
 

 Page :   1  2  3
Page Précédente

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  aidez une pauvre etudiante avec une requete bloquante

 

Sujets relatifs
petite aide SQL requete imbriqué[Résolu] Exploiter 2 fois un résultat d'une requête
problème de syntaxe avec une requête SQLrequete croisée ??
Requete formulaire dans access[JSP/SERVLET] Sauvegarder une requête pour l'exécuter apres login...
Requete sql sur plusieurs tables avec nom de la tableAider moi pour une requete
Requête spéciale[MYSQL] Requete multi base de données
Plus de sujets relatifs à : aidez une pauvre etudiante avec une requete bloquante


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR