Demande infos SQLCODE
Anthony Saubois <[email protected]> Thu, 23 Jul 2015 13:44:35 +0000
| Newsgroups | gmane.comp.db.postgresql.php |
|---|---|
| Message-ID | <[email protected]> |
--_000_D47E730E1F44814F89E2C17F083265CA74BB818AOBELIXcessionpm_
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Bonjour,
Je viens de migrer un serveur postgres 9.1 vers 9.4. J'utilise PEAR sous ph=
p 5.6 pour communiquer avec la base.
Dans PEAR, il y a une classe qui permet de r=E9cup=E9rer les erreurs et mes=
sages issus de la BDD (ou autre), qui poss=E8de une fonction getcode() (cf =
http://pear.php.net/manual/fr/core.pear.pear-error.getcode.php) qui r=E9cup=
=E8re le SQLCODE que renvoie postgres. Sous postgres 9.1, lorsqu'un INSERT =
=E9choue pour cause de cl=E9 dupliqu=E9e, le SQLCODE est -3 alors que sous =
postgres 9.4, cela renvoie -1, et la gestion de nos erreurs dans nos applis=
php est par cons=E9quent fortement perturb=E9e.
J'ai cherch=E9 sur la documentation postgres et je ne vois rien qui fait r=
=E9f=E9rence au SQLCODE. Il y a bien des codes SQLSTATE mais aucun ne corre=
spond =E0 celui que je r=E9cup=E8re. Est-ce quelqu'un pourrait m'en dire pl=
us sur ces SQLCODE qui visiblement ont =E9t=E9 modifi=E9s entre les 2 versi=
ons ? est-ce qu'il y a moyen de les modifier (sans recompiler) ou de les af=
ficher via une requ=EAte ?
Merci pour votre aide
Cordialement,
Anthony
--_000_D47E730E1F44814F89E2C17F083265CA74BB818AOBELIXcessionpm_
Content-Type: text/html; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
<html xmlns:v=3D"urn:schemas-microsoft-com:vml" xmlns:o=3D"urn:schemas-micr=
osoft-com:office:office" xmlns:w=3D"urn:schemas-microsoft-com:office:word" =
xmlns:m=3D"http://schemas.microsoft.com/office/2004/12/omml" xmlns=3D"http:=
//www.w3.org/TR/REC-html40">
<head>
<meta http-equiv=3D"Content-Type" content=3D"text/html; charset=3Diso-8859-=
1">
<meta name=3D"Generator" content=3D"Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
{font-family:"Cambria Math";
panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
{font-family:Calibri;
panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0cm;
margin-bottom:.0001pt;
font-size:11.0pt;
font-family:"Calibri",sans-serif;
mso-fareast-language:EN-US;}
a:link, span.MsoHyperlink
{mso-style-priority:99;
color:#0563C1;
text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
{mso-style-priority:99;
color:#954F72;
text-decoration:underline;}
span.EmailStyle17
{mso-style-type:personal-compose;
font-family:"Calibri",sans-serif;
color:#1F4E79;}
.MsoChpDefault
{mso-style-type:export-only;
font-family:"Calibri",sans-serif;
mso-fareast-language:EN-US;}
@page WordSection1
{size:612.0pt 792.0pt;
margin:70.85pt 70.85pt 70.85pt 70.85pt;}
div.WordSection1
{page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext=3D"edit" spidmax=3D"1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext=3D"edit">
<o:idmap v:ext=3D"edit" data=3D"1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang=3D"FR" link=3D"#0563C1" vlink=3D"#954F72">
<div class=3D"WordSection1">
<p class=3D"MsoNormal"><span style=3D"color:#1F4E79">Bonjour,<o:p></o:p></s=
pan></p>
<p class=3D"MsoNormal"><span style=3D"color:#1F4E79"><o:p> </o:p></spa=
n></p>
<p class=3D"MsoNormal"><span style=3D"color:#1F4E79">Je viens de migrer un =
serveur postgres 9.1 vers 9.4. J’utilise PEAR sous php 5.6 pour commu=
niquer avec la base.
<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"color:#1F4E79">Dans PEAR, il y a une =
classe qui permet de r=E9cup=E9rer les erreurs et messages issus de la BDD =
(ou autre), qui poss=E8de une fonction getcode() (cf
<a href=3D"http://pear.php.net/manual/fr/core.pear.pear-error.getcode.php">=
http://pear.php.net/manual/fr/core.pear.pear-error.getcode.php</a>) qui r=
=E9cup=E8re le SQLCODE que renvoie postgres. Sous postgres 9.1, lorsqu̵=
7;un INSERT =E9choue pour cause de cl=E9 dupliqu=E9e,
le SQLCODE est -3 alors que sous postgres 9.4, cela renvoie -1, et la gest=
ion de nos erreurs dans nos applis php est par cons=E9quent fortement pertu=
rb=E9e.<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"color:#1F4E79">J’ai cherch=E9 s=
ur la documentation postgres et je ne vois rien qui fait r=E9f=E9rence au S=
QLCODE. Il y a bien des codes SQLSTATE mais aucun ne correspond =E0 celui q=
ue je r=E9cup=E8re. Est-ce quelqu’un pourrait m’en dire
plus sur ces SQLCODE qui visiblement ont =E9t=E9 modifi=E9s entre les 2 ve=
rsions ? est-ce qu’il y a moyen de les modifier (sans recompiler=
) ou de les afficher via une requ=EAte ?<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"color:#1F4E79"><o:p> </o:p></spa=
n></p>
<p class=3D"MsoNormal"><span style=3D"color:#1F4E79">Merci pour votre aide<=
o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"color:#1F4E79"><o:p> </o:p></spa=
n></p>
<p class=3D"MsoNormal"><span style=3D"color:#1F4E79;mso-fareast-language:FR=
"><o:p> </o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"color:#1F4E79;mso-fareast-language:FR=
">Cordialement,<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"color:#1F4E79;mso-fareast-language:FR=
">Anthony</span><i><span style=3D"color:#404040;mso-fareast-language:FR"><o=
:p></o:p></span></i></p>
<p class=3D"MsoNormal"><o:p> </o:p></p>
</div>
</body>
</html>
--_000_D47E730E1F44814F89E2C17F083265CA74BB818AOBELIXcessionpm_--