Skip to content

Commit

Permalink
Mise à jour en 8.1.22.
Browse files Browse the repository at this point in the history
  • Loading branch information
gleu committed Oct 2, 2010
1 parent dfe6627 commit aff7a1b
Show file tree
Hide file tree
Showing 16 changed files with 823 additions and 742 deletions.
663 changes: 0 additions & 663 deletions manuel/cvs.xml

This file was deleted.

60 changes: 38 additions & 22 deletions manuel/datatype.xml
Original file line number Diff line number Diff line change
Expand Up @@ -2447,14 +2447,18 @@ SELECT * FROM test1 WHERE a;

<para>
Les points sont les blocs fondamentaux pour construire les types géométriques.
Les valeurs de type <type>point</type> sont spécifiées en utilisant la syntaxe
suivante&nbsp;:
Les valeurs de type <type>point</type> sont spécifiées en utilisant les syntaxes
suivantes&nbsp;:
<synopsis>( <replaceable>x</replaceable> , <replaceable>y</replaceable> )
<replaceable>x</replaceable> , <replaceable>y</replaceable></synopsis>

où <replaceable>x</replaceable> et <replaceable>y</replaceable> sont les coordonnées respectives
sous forme de nombre à virgule flottante.
</para>

<para>
Les points sont affichés en utilisant la première syntaxe.
</para>
</sect2>

<sect2>
Expand All @@ -2470,10 +2474,11 @@ SELECT * FROM test1 WHERE a;

<para>
Les segments de droite (<type>lseg</type>) sont représentés sous forme de
paires de points en utilisant la syntaxe suivante&nbsp;:
paires de points en utilisant une des syntaxes suivantes&nbsp;:

<synopsis>( ( <replaceable>x1</replaceable> , <replaceable>y1</replaceable> ) , ( <replaceable>x2</replaceable> , <replaceable>y2</replaceable> ) )
( <replaceable>x1</replaceable> , <replaceable>y1</replaceable> ) , ( <replaceable>x2</replaceable> , <replaceable>y2</replaceable> )
<synopsis>[ ( <replaceable>x1</replaceable> , <replaceable>y1</replaceable> ) , ( <replaceable>x2</replaceable> , <replaceable>y2</replaceable> ) ]
( ( <replaceable>x1</replaceable> , <replaceable>y1</replaceable> ) , ( <replaceable>x2</replaceable> , <replaceable>y2</replaceable> ) )
( <replaceable>x1</replaceable> , <replaceable>y1</replaceable> ) , ( <replaceable>x2</replaceable> , <replaceable>y2</replaceable> )
<replaceable>x1</replaceable> , <replaceable>y1</replaceable> , <replaceable>x2</replaceable> , <replaceable>y2</replaceable></synopsis>

Expand All @@ -2482,6 +2487,10 @@ SELECT * FROM test1 WHERE a;
<literal>(<replaceable>x2</replaceable>,<replaceable>y2</replaceable>)</literal>
sont les points aux extrémités du segment.
</para>

<para>
Les segments de droites sont affichés en utilisant la première syntaxe.
</para>
</sect2>

<sect2>
Expand All @@ -2498,7 +2507,7 @@ SELECT * FROM test1 WHERE a;

<para>
Les boites (rectangles) sont représentées par paires de points qui sont les coins
opposés de la boîte en utilisant la syntaxe suivante&nbsp;:
opposés de la boîte en utilisant une des syntaxes suivante&nbsp;:

<synopsis>( ( <replaceable>x1</replaceable> , <replaceable>y1</replaceable> ) , ( <replaceable>x2</replaceable> , <replaceable>y2</replaceable> ) )
( <replaceable>x1</replaceable> , <replaceable>y1</replaceable> ) , ( <replaceable>x2</replaceable> , <replaceable>y2</replaceable> )
Expand All @@ -2512,11 +2521,13 @@ SELECT * FROM test1 WHERE a;
</para>

<para>
Les rectangles sont affichés en utilisant la première syntaxe.
Les coins sont réordonnées lors de la saisie. Le coin en haut à gauche,
puis le coin en bas à droite.
Les autres coins peuvent être saisis, mais les coins en bas à gauche et
en haut à droite sont déterminés à partir de l'entrée et stockés.
Les rectangles sont affichés en utilisant la deuxième syntaxe.
</para>

<para>
Tous les coins opposés peuvent être saisis, mais les valeurs seront
réordonnées pour stocker les coins en haut à droite, et en bas à gauche,
dans cet ordre.
</para>
</sect2>

Expand All @@ -2536,18 +2547,22 @@ SELECT * FROM test1 WHERE a;
</para>

<para>
Les valeurs de type <type>path</type> sont entrées avec la syntaxe
suivante&nbsp;:

<synopsis>( ( <replaceable>x1</replaceable> , <replaceable>y1</replaceable> ) , ... , ( <replaceable>xn</replaceable> , <replaceable>yn</replaceable> ) )
[ ( <replaceable>x1</replaceable> , <replaceable>y1</replaceable> ) , ... , ( <replaceable>xn</replaceable> , <replaceable>yn</replaceable> ) ]
( <replaceable>x1</replaceable> , <replaceable>y1</replaceable> ) , ... , ( <replaceable>xn</replaceable> , <replaceable>yn</replaceable> )
( <replaceable>x1</replaceable> , <replaceable>y1</replaceable> , ... , <replaceable>xn</replaceable> , <replaceable>yn</replaceable> )
<replaceable>x1</replaceable> , <replaceable>y1</replaceable> , ... , <replaceable>xn</replaceable> , <replaceable>yn</replaceable> </synopsis>
Les valeurs de type <type>path</type> sont entrées avec une des syntaxes
suivantes&nbsp;:

<synopsis>
[ ( <replaceable>x1</replaceable> , <replaceable>y1</replaceable> ) , ... , ( <replaceable>xn</replaceable> , <replaceable>yn</replaceable> ) ]
( ( <replaceable>x1</replaceable> , <replaceable>y1</replaceable> ) , ... , ( <replaceable>xn</replaceable> , <replaceable>yn</replaceable> ) )
( <replaceable>x1</replaceable> , <replaceable>y1</replaceable> ) , ... , ( <replaceable>xn</replaceable> , <replaceable>yn</replaceable> )
( <replaceable>x1</replaceable> , <replaceable>y1</replaceable> , ... , <replaceable>xn</replaceable> , <replaceable>yn</replaceable> )
<replaceable>x1</replaceable> , <replaceable>y1</replaceable> , ... , <replaceable>xn</replaceable> , <replaceable>yn</replaceable>
</synopsis>

où les points sont les extrémités des segments de droites qui forment
le chemin. Les crochets (<literal>[]</literal>) indiquent un chemin ouvert
alors que les parenthèses (<literal>()</literal>) indiquent un chemin fermé.
Quand les parenthèses externes sont omises, comme dans les syntaxes 3 à 5,
il est supposé qu'il s'agit d'un chemin fermé.
</para>

<para>
Expand All @@ -2570,7 +2585,8 @@ SELECT * FROM test1 WHERE a;
</para>

<para>
Les valeurs de type <type>polygon</type> sont saisies avec la syntaxe suivante&nbsp;:
Les valeurs de type <type>polygon</type> sont saisies avec une des
syntaxes suivantes&nbsp;:

<synopsis>( ( <replaceable>x1</replaceable> , <replaceable>y1</replaceable> ) , ... , ( <replaceable>xn</replaceable> , <replaceable>yn</replaceable> ) )
( <replaceable>x1</replaceable> , <replaceable>y1</replaceable> ) , ... , ( <replaceable>xn</replaceable> , <replaceable>yn</replaceable> )
Expand All @@ -2596,8 +2612,8 @@ SELECT * FROM test1 WHERE a;
<para>
Les cercles (type <type>circle</type>) sont représentés par le point
central et le rayon.
Les valeurs de type <type>circle</type> sont saisies avec la syntaxe
suivante&nbsp;:
Les valeurs de type <type>circle</type> sont saisies avec une des
syntaxes suivantes&nbsp;:

<synopsis>&lt; ( <replaceable>x</replaceable> , <replaceable>y</replaceable> ) , <replaceable>r</replaceable> &gt;
( ( <replaceable>x</replaceable> , <replaceable>y</replaceable> ) , <replaceable>r</replaceable> )
Expand Down
10 changes: 5 additions & 5 deletions manuel/ecpg.xml
Original file line number Diff line number Diff line change
Expand Up @@ -1278,7 +1278,7 @@ static void set_error_handler(void)
</varlistentry>

<varlistentry>
<term>-207 (<symbol>ECPG_CONVERT_BOOL</symbol>)</term>
<term>-211 (<symbol>ECPG_CONVERT_BOOL</symbol>)</term>
<listitem>
<para>
Ceci signifie que la variable hôte est de type <type>bool</type> et que
Expand All @@ -1289,7 +1289,7 @@ static void set_error_handler(void)
</varlistentry>

<varlistentry>
<term>-208 (<symbol>ECPG_EMPTY</symbol>)</term>
<term>-212 (<symbol>ECPG_EMPTY</symbol>)</term>
<listitem>
<para>
L'instruction envoyée au serveur <productname>PostgreSQL</productname>
Expand All @@ -1301,7 +1301,7 @@ static void set_error_handler(void)
</varlistentry>

<varlistentry>
<term>-209 (<symbol>ECPG_MISSING_INDICATOR</symbol>)</term>
<term>-213 (<symbol>ECPG_MISSING_INDICATOR</symbol>)</term>
<listitem>
<para>
Une valeur NULL a été retournée et aucune variable d'indicateur nul n'a
Expand All @@ -1311,7 +1311,7 @@ static void set_error_handler(void)
</varlistentry>

<varlistentry>
<term>-210 (<symbol>ECPG_NO_ARRAY</symbol>)</term>
<term>-214 (<symbol>ECPG_NO_ARRAY</symbol>)</term>
<listitem>
<para>
Une variable ordinaire a été utilisée à un endroit qui requiert un tableau
Expand All @@ -1321,7 +1321,7 @@ static void set_error_handler(void)
</varlistentry>

<varlistentry>
<term>-211 (<symbol>ECPG_DATA_NOT_ARRAY</symbol>)</term>
<term>-215 (<symbol>ECPG_DATA_NOT_ARRAY</symbol>)</term>
<listitem>
<para>
La base de données a retourné une variable ordinaire à un endroit qui
Expand Down
2 changes: 1 addition & 1 deletion manuel/filelist.xml
Original file line number Diff line number Diff line change
Expand Up @@ -88,12 +88,12 @@

<!-- appendixes -->
<!ENTITY contacts SYSTEM "contacts.xml">
<!ENTITY cvs SYSTEM "cvs.xml">
<!ENTITY datetime SYSTEM "datetime.xml">
<!ENTITY docguide SYSTEM "docguide.xml">
<!ENTITY errcodes SYSTEM "errcodes.xml">
<!ENTITY features SYSTEM "features.xml">
<!ENTITY keywords SYSTEM "keywords.xml">
<!ENTITY sourcerepo SYSTEM "sourcerepo.sgml">

<!ENTITY release SYSTEM "release.xml">
<!ENTITY release-8.1 SYSTEM "release-8.1.xml">
Expand Down
14 changes: 10 additions & 4 deletions manuel/installation.xml
Original file line number Diff line number Diff line change
Expand Up @@ -180,6 +180,11 @@ su - postgres
plateformes. Ce qui n'est le cas que dans les versions récentes de
<productname>Perl</productname> et, dans tous les cas, c'est le choix de
ceux qui installent Perl.
ceux qui installent Perl. Si vous avez l'intention d'avoir plus qu'une
utilisation occasionnelle de <application>PL/Perl</application>, vous
devez vous assurer que l'installation de <productname>Perl</productname>
a été faite avec l'option <literal>usemultiplicity</literal> activée
(<literal>perl -V</literal> vous indiquera si c'est le cas).
</para>

<para>
Expand Down Expand Up @@ -276,9 +281,10 @@ su - postgres
</para>

<para>
Si vous compilez à partir d'une arborescence <acronym>CVS</acronym> au lieu
d'utiliser un paquetage contenant les sources, ou si vous faites du
développement, vous aurez aussi besoin des paquetages suivants&nbsp;:
Si vous compilez à partir d'une arborescence <productname>Git</productname>
au lieu d'utiliser un paquetage contenant les sources, ou si vous faites du
développement au niveau serveur, vous aurez aussi besoin des paquetages
suivants&nbsp;:

<itemizedlist>
<listitem>
Expand All @@ -294,7 +300,7 @@ su - postgres
</indexterm>

GNU <application>Flex</application> et <application>Bison</application>
sont nécessaires pour compiler à partir d'une récupération du CVS ou si
sont nécessaires pour compiler à partir d'une récupération du Git ou si
vous modifiez les fichiers de recherche et d'analyse. Si vous en avez
besoin, vérifiez que vous avez <application>Flex</application> 2.5.4 ou postérieur
et <application>Bison</application> 1.875 ou postérieur. D'autres programmes
Expand Down
68 changes: 47 additions & 21 deletions manuel/plperl.xml
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ $Header: /var/lib/cvs/pgsql-fr/sgml/plperl.sgml,v 1.12 2005/09/15 07:03:20 guill
<para>
Les utilisateurs des paquetages sources doivent explicitement autoriser la
construction de PL/Perl pendant le processus d'installation (se référer à
la <xref linkend="install-short"/> pour plus d'informations). Les utilisateurs
la <xref linkend="installation"/> pour plus d'informations). Les utilisateurs
des paquetages binaires peuvent trouver PL/Perl dans un sous-paquetage
séparé.
</para>
Expand Down Expand Up @@ -512,6 +512,26 @@ $$ LANGUAGE plperl;</programlisting>
<literal>return $_SHARED{myquote}-&gt;($_[0]);</literal>
au prix d'une mauvaise lisibilité.)
</para>

<para>
Pour des raisons de sécurité, PL/Perl exécute des fonctions appelées par
un rôle SQL dans un interpréteur Perl séparé pour ce rôle. Ceci empêche
l'interférence accidentelle ou malicieuse d'un utilisateur avec le
comportement des fonctions PL/Perl d'un autre utilisateur. Chaque
interprétateur a sa propre valeur de la variable
<varname>%_SHARED</varname> et des autres états globaux. Du coup, deux
fonctions PL/Perl partageront la même valeur de <varname>%_SHARED</varname>
si et seulement si elles sont exécutées par le même rôle SQL. Dans une
application où une session seule exécute du code sous plusieurs rôles SQL
(via des fonctions <literal>SECURITY DEFINER</literal>, l'utilisation de
<command>SET ROLE</command>, etc), vous pouvez avoir besoin de mettre en place des
étapes explicites pour vous assurer que les fonctions PL/Perl peuvent
partager des données <varname>%_SHARED</varname>. Pour cela, assurez-vous
que les fonctions qui doivent communiquer ont pour propriétaire le même
utilisateur et marquez les comme <literal>SECURITY DEFINER</literal>. Bien sûr,
vous devez faire attention à ce que ces fonctions ne puissent pas être
utilisées pour faire des choses qu'elles ne sont pas sensées faire.
</para>
</sect1>

<sect1 id="plperl-trusted">
Expand Down Expand Up @@ -580,26 +600,32 @@ $$ LANGUAGE plperl;
</para>

<note>
<para>
Pour des raisons de sécurité, afin de stopper une faille dans les
opérations nécessitant des droits de
<application>PL/PerlU</application> dans
<application>PL/Perl</application>, ces deux langages doivent être
exécutés dans des instances séparés de l'interpréteur Perl. Si votre
installation Perl a été compilé correctement, ce n'est pas un
problème. Néanmoins, toutes les installations ne sont pas compilées
avec les drapeaux nécessaires. Si <productname>PostgreSQL</productname>
détecte que c'est le cas, il ne lancera pas un deuxième interpréteur
mais renverra une erreur. En conséquence, pour ce type d'installation,
vous ne pouvez pas utiliser à la fois
<application>PL/PerlU</application> et
<application>PL/Perl</application> dans le même processus serveur. Le
remède est d'installer un interpréteur Perl compilé avec les bons
drapeaux, à savoir soit <literal>usemultiplicity</literal> soit
<literal>usethreads</literal> et <literal>useithreads</literal>.
Pour plus de détails, consultez la page de manuel de
<literal>perlembed</literal>.
</para>
<para>
Bien que les fonctions <application>PL/Perl</application> s'exécutent dans un
interpréteur Perl séparé pour chaque rôle SQL, toutes les fonctions
<application>PL/PerlU</application> exécutées dans la même session s'exécutent avec
un seul interpréteur Perl (qui ne correspond à aucun de ceux utilisés pour
les fonctions <application>PL/Perl</application>). Ceci permet aux fonctions
<application>PL/PerlU</application> de partager librement des données, mais aucune
communication ne peut intervenir entre des fonctions
<application>PL/Perl</application> et <application>PL/PerlU</application>.
</para>
</note>

<note>
<para>
Perl ne supporte pas l'utilisation de plusieurs interpréteurs dans un
même processus sauf s'il a été construit avec les options appropriées,
c'est-à-dire soit <literal>usemultiplicity</literal> soit <literal>useithreads</literal>.
(<literal>usemultiplicity</literal> est préférée sauf si vous avez réellement
besoin des threads. Pour plus de détails, voir la page man
<citerefentry><refentrytitle>perlembed</refentrytitle></citerefentry>.)
Si <application>PL/Perl</application> est utilisé avec une copie de Perl qui n'a pas
été construite de cette façon, alors il est seulement possible d'avoir un
interpréteur Perl par session, et donc une session ne peut seulement
exécuter que des fonctions <application>PL/PerlU</application> ou que des fonctions
<application>PL/Perl</application> qui sont toutes appelées par le même rôle SQL.
</para>
</note>

</sect1>
Expand Down
40 changes: 37 additions & 3 deletions manuel/pltcl.xml
Original file line number Diff line number Diff line change
Expand Up @@ -221,6 +221,37 @@ $$ LANGUAGE pltcl;
que les fonctions <application>PL/TclU</application> partagent de la même façon les
données globales mais elles sont dans un interpréteur Tcl différent et ne
peuvent pas communiquer avec les fonctions PL/Tcl).
C'est facile à faire en PL/Tcl mais il existe quelques restrictions qui
doivent être comprises.
</para>

<para>
Pour des raisons de sécurité, PL/Tcl exécute les fonctions appelées par
tout rôle SQL dans un interpréteur Tcl séparé pour ce rôle. Ceci empêche
une interférence accidentelle ou malicieuse d'un utilisateur avec le
comportement des fonctions PL/Tcl d'un autre utilisateur. Chaque
interpréteur aura ses propres valeurs pour toutes les variables globales
Tcl. Du coup, deux fonctions PL/Tcl partageront les mêmes variables
globales si et seulement si elles sont exécutées par le même rôle SQL.
Dans une application où une seule session exécute du code sous plusieurs
rôles SQL(via des fonctions <literal>SECURITY DEFINER</>, l'utilisation
de <command>SET ROLE</>, etc), vous pouvez avoir besoin de mettre des
étapes explicites pour vous assurer que les fonctions PL/Tcl peuvent
partager des données. Pour cela, assurez-vous que les fonctions qui doivent
communiques ont pour propriétaire le même utilisateur et marquez-les avec
l'option <literal>SECURITY DEFINER</>. Bien sûr, vous devez faire attention
à ce que de telles fonctions ne puissent pas être utilisées pour faire
des choses non souhaitées.
</para>

<para>
Toutes les fonctions PL/TclU utilisées dans une session s'exécutent avec
le même interpréteur Tcl, qui est bien sûr différent des interpréteurs
utilisées pour les fonctions PL/Tcl. Donc les données globales sont
automatiquement partagées entre des fonctions PL/TclU. Ceci n'est pas
considéré comme un risque de sécurité parce que toutes les fonctions
PL/TclU sexécutent dans le même niveau de confiance, celui d'un
super-utilisateur.
</para>

<para>
Expand All @@ -231,7 +262,10 @@ $$ LANGUAGE pltcl;
<literal>GD</literal>. Il est recommandé d'utiliser <literal>GD</literal> pour les
données privées persistantes d'une fonction. Utilisez les variables globales
Tcl uniquement pour les valeurs que vous avez l'intention de partager avec
les autres fonctions.
les autres fonctions. (Notez que les tableaux
<literal>GD</literal> sont seulement globaux à l'intérieur d'un interpréteur
particulier, pour qu'ils ne franchissent pas les restrictions de sécurité
mentionnées ci-dessus.)
</para>

<para>
Expand Down Expand Up @@ -675,8 +709,8 @@ CREATE TRIGGER trig_mytab_modcount BEFORE INSERT OR UPDATE ON mytab
Tcl. Si cette table existe, le module <literal>unknown</literal> est récupéré
de la table et chargé immédiatement dans l'interpréteur Tcl avant la
première exécution d'une fonction PL/Tcl dans une session. (Ceci
survient séparément pour PL/Tcl et PL/TclU, si les deux sont utilisés,
car des interpréteurs séparés sont utilisés pour les deux langages.)
survient séparément pour chaque interpréteur Tcl, si plus d'un est
utilisé dans une session&nbsp;; voir <xref linkend="pltcl-global"/>.)
</para>
<para>
Alors que le module <literal>unknown</literal> pourrait réellement contenir
Expand Down
2 changes: 1 addition & 1 deletion manuel/postgres.xml
Original file line number Diff line number Diff line change
Expand Up @@ -281,7 +281,7 @@ signifiant très certainement mondial ;-) SAS 20051108-->
&keywords;
&features;
&release;
&cvs;
&sourcerepo;
&docguide;
&external-projects;
&frenchtranslation;
Expand Down
2 changes: 1 addition & 1 deletion manuel/problems.xml
Original file line number Diff line number Diff line change
Expand Up @@ -245,7 +245,7 @@ $Header: /var/lib/cvs/pgsql-fr/sgml/problems.sgml,v 1.12 2005/09/15 07:03:21 gui
trop ancienne et vous devez mettre à jour. Si vous avez lancé une version
préparée sous forme de paquets, tel que les RPM, dites-le en incluant la
sous-version que le paquet pourrait avoir. Si vous êtes sur une version
CVS, mentionnez-le en indiquant la date et l'heure.
Git, mentionnez-le en indiquant le hachage du commit.
</para>

<para>
Expand Down

0 comments on commit aff7a1b

Please sign in to comment.