root/traduc/branches/bv747/manuel/ref/create_opclass.sgml

Revision 104, 9.2 kB (checked in by gleu, 3 years ago)

Des sauts de ligne en trop dans les exemples.

Line 
1 <!--
2 $Header: /var/lib/cvs/pgsql-fr/sgml/ref/create_opclass.sgml,v 1.7.2.1 2005/03/14 06:03:01 guillaume Exp $
3 PostgreSQL documentation
4 -->
5
6 <refentry id="SQL-CREATEOPCLASS">
7  <refmeta>
8   <refentrytitle id="sql-createopclass-title">CREATE OPERATOR CLASS</refentrytitle>
9   <refmiscinfo>SQL - Instructions du langage</refmiscinfo>
10  </refmeta>
11
12  <refnamediv>
13   <refname>CREATE OPERATOR CLASS</refname>
14   <refpurpose>définit une nouvelle classe d'opérateur</refpurpose>
15  </refnamediv>
16
17  <indexterm zone="sql-createopclass">
18   <primary>CREATE OPERATOR CLASS</primary>
19  </indexterm>
20
21  <refsynopsisdiv>
22 <synopsis>
23 CREATE OPERATOR CLASS <replaceable class="parameter">nom</replaceable> [ DEFAULT ] FOR TYPE <replaceable class="parameter">type_données</replaceable> USING <replaceable class="parameter">méthode_index</replaceable> AS
24   {  OPERATOR <replaceable class="parameter">numéro_stratégie</replaceable> <replaceable class="parameter">nom_opérateur</replaceable> [ ( <replaceable class="parameter">op_type</replaceable>, <replaceable
25 class="parameter">op_type</replaceable> ) ] [ RECHECK ]
26    | FUNCTION <replaceable class="parameter">numéro_support</replaceable> <replaceable class="parameter">nom_fonction</replaceable> ( <replaceable class="parameter">type_argument</replaceable> [, ...] )
27    | STORAGE <replaceable class="parameter">type_stockage</replaceable>
28   } [, ... ]
29 </synopsis>
30  </refsynopsisdiv>
31
32  <refsect1>
33   <title>Description</title>
34
35   <para>
36    <command>CREATE OPERATOR CLASS</command> crée une nouvelle classe
37    d'opérateur. Une classe d'opérateur définit comment un certain type de
38    données peut être utilisé avec un index. La classe d'opérateur spécifie que
39    certains opérateurs joueront des rôles particuliers ou des
40    <quote>stratégies</> pour ce type de données et cette méthode d'indexage. La
41    classe d'opérateur spécifie aussi les procédures de support pour être
42    utilisée par la méthode d'indexage quand la classe d'opérateur est
43    sélectionnée pour une colonne d'index. Tous les opérateurs et fonctions
44    utilisés par une classe d'opérateur doivent être définis avant la création de
45    la classe d'opérateur.
46   </para>
47
48   <para>
49    Si un nom de schéma est donné, alors la classe d'opérateur est créée dans le
50    schéma spécifié. Sinon, elle est créée dans le schéma courant. Deux classes
51    d'opérateur peuvent avoir le même nom seulement s'ils sont pour des méthodes
52    d'indexage différentes.
53   </para>
54
55   <para>
56    L'utilisateur qui définit une classe d'opérateur devient son propriétaire.
57    Actuellement, le créateur doit être un superutilisateur. (Cette restriction
58    est faite parce qu'une définition erronée d'une classe d'opérateur pourrait
59    gêner le serveur, voire causer un arrêt brutal de celui-ci.)
60   </para>
61
62   <para>
63    Actuellement, <command>CREATE OPERATOR CLASS</command> ne vérifie pas si la
64    définition de la classe d'opérateur inclut tous les opérateurs et fonctions
65    requis par la méthode d'indexage. C'est de la responsabilité de l'utilisateur
66    de définir une classe d'opérateur valide.
67   </para>
68
69   <para>
70    Référez-vous au <xref linkend="xindex"> pour plus d'informations.
71   </para>
72  </refsect1>
73  
74  <refsect1>
75   <title>Paramètres</title>
76
77   <variablelist>
78    <varlistentry>
79     <term><replaceable class="parameter">nom</replaceable></term>
80     <listitem>
81      <para>
82       Le nom de la classe d'opérateur à créer. Ce nom pourrait être qualifié
83       avec le nom du schéma.
84      </para>
85     </listitem>
86    </varlistentry>
87
88    <varlistentry>
89     <term><literal>DEFAULT</></term>
90     <listitem>
91      <para>
92       Si présent, la classe d'opérateur deviendra la classe d'opérateur par
93       défaut pour ce type de données. Au plus une classe d'opérateur peut être
94       la classe par défaut pour un type de données et une méthode d'indexage
95       spécifiques.
96      </para>
97     </listitem>
98    </varlistentry>
99
100    <varlistentry>
101     <term><replaceable class="parameter">type_données</replaceable></term>
102     <listitem>
103      <para>
104       Le type de données de la colonne pour cette classe d'opérateur.
105      </para>
106     </listitem>
107    </varlistentry>
108
109    <varlistentry>
110     <term><replaceable class="parameter">méthode_index</replaceable></term>
111     <listitem>
112      <para>
113       Le nom de la méthode d'indexage pour cette classe d'opérateur.
114      </para>
115     </listitem>
116    </varlistentry>
117
118    <varlistentry>
119     <term><replaceable class="parameter">numéro_stratégie</replaceable></term>
120     <listitem>
121      <para>
122       Le numéro de stratégie de la méthode d'indexage pour un opérateur associé
123       avec la classe d'opérateur.
124      </para>
125     </listitem>
126    </varlistentry>
127
128    <varlistentry>
129     <term><replaceable class="parameter">nom_opérateur</replaceable></term>
130     <listitem>
131      <para>
132       Le nom (pouvant être qualifié du nom du schéma) d'un opérateur associé
133       avec la classe d'opérateur.
134      </para>
135     </listitem>
136    </varlistentry>
137
138    <varlistentry>
139     <term><replaceable class="parameter">op_type</replaceable></term>
140     <listitem>
141      <para>
142       Le type de données de l'opérande d'un opérateur ou <literal>NONE</> pour
143       signifier un opérateur unaire. Les types de données de l'opérande
144       pourraient être omis dans le cas normal où ils sont identiques au type de
145       données de la classe d'opérateur.
146      </para>
147     </listitem>
148    </varlistentry>
149
150    <varlistentry>
151     <term><literal>RECHECK</></term>
152     <listitem>
153      <para>
154       Si présent, l'index est <quote>à perte</> pour cet opérateur. Du coup,
155       les lignes récupérées en utilisant l'index doivent être de nouveau
156       vérifiées pour s'assurer qu'elles satisfont réellement la clause de
157       qualification impliquant cet opérateur.
158      </para>
159     </listitem>
160    </varlistentry>
161
162    <varlistentry>
163     <term><replaceable class="parameter">numéro_support</replaceable></term>
164     <listitem>
165      <para>
166       Le numéro de procédure du support pour cette méthode d'indexage pour une
167       fonction associée avec la classe d'opérateur.
168      </para>
169     </listitem>
170    </varlistentry>
171
172    <varlistentry>
173     <term><replaceable class="parameter">nom_fonction</replaceable></term>
174     <listitem>
175      <para>
176       Le nom (pouvant être qualifié avec le nom du schéma) d'une fonction qui
177       est la procédure de support pour la méthode d'indexage sur la classe
178       d'opérateur.
179      </para>
180     </listitem>
181    </varlistentry>
182
183    <varlistentry>
184     <term><replaceable class="parameter">types_argument</replaceable></term>
185     <listitem>
186      <para>
187       Le(s) type(s) de données des paramètres de la fonction.
188      </para>
189     </listitem>
190    </varlistentry>
191
192    <varlistentry>
193     <term><replaceable class="parameter">type_stockage</replaceable></term>
194     <listitem>
195      <para>
196       Le type de données réellement stocké dans l'index. Normalement, c'est le
197       même que le type de données de la colonne mais certaines méthodes
198       d'indexage (uniquement GiST au moment de l'écriture de ce document)
199       autorisent une différence. La clause <literal>STORAGE</> doit être omise
200       sauf si la méthode d'indexage autorise l'utilisation d'un type différent.
201      </para>
202     </listitem>
203    </varlistentry>
204   </variablelist>
205
206   <para>
207    Les clauses <literal>OPERATOR</>, <literal>FUNCTION</> et <literal>STORAGE</>
208    pourraient apparaître dans n'importe quel ordre.
209   </para>
210  </refsect1>
211  
212  <refsect1>
213   <title>Exemples</title>
214
215   <para>
216    La commande issue de l'exemple suivant définit une classe d'opérateur
217    d'indexage GiST pour le type de données <literal>_int4</> (tableau de
218    <type>int4</type>). Voir <filename>contrib/intarray/</> pour l'exemple
219    complet.
220   </para>
221
222 <programlisting>
223 CREATE OPERATOR CLASS gist__int_ops
224     DEFAULT FOR TYPE _int4 USING gist AS
225         OPERATOR        3       &&,
226         OPERATOR        6       =       RECHECK,
227         OPERATOR        7       @,
228         OPERATOR        8       ~,
229         OPERATOR        20      @@ (_int4, query_int),
230         FUNCTION        1       g_int_consistent (internal, _int4, int4),
231         FUNCTION        2       g_int_union (bytea, internal),
232         FUNCTION        3       g_int_compress (internal),
233         FUNCTION        4       g_int_decompress (internal),
234         FUNCTION        5       g_int_penalty (internal, internal, internal),
235         FUNCTION        6       g_int_picksplit (internal, internal),
236         FUNCTION        7       g_int_same (_int4, _int4, internal);
237 </programlisting> 
238  </refsect1>
239  
240  <refsect1>
241   <title>Compatibilité</title>
242
243   <para>
244    <command>CREATE OPERATOR CLASS</command> est une extension
245    <productname>PostgreSQL</productname>. Il n'existe pas d'instruction
246    <command>CREATE OPERATOR CLASS</command> dans le standard SQL.
247   </para>
248  </refsect1>
249
250  <refsect1>
251   <title>Voir aussi</title>
252
253   <simplelist type="inline">
254    <member><xref linkend="sql-alteropclass" endterm="sql-alteropclass-title"></member>
255    <member><xref linkend="sql-dropopclass" endterm="sql-dropopclass-title"></member>
256   </simplelist>
257  </refsect1>
258 </refentry>
259
260 <!-- Keep this comment at the end of the file
261 Local variables:
262 mode: sgml
263 sgml-omittag:nil
264 sgml-shorttag:t
265 sgml-minimize-attributes:nil
266 sgml-always-quote-attributes:t
267 sgml-indent-step:1
268 sgml-indent-data:t
269 sgml-parent-document:nil
270 sgml-default-dtd-file:"../reference.ced"
271 sgml-exposed-tags:nil
272 sgml-local-catalogs:"/usr/lib/sgml/catalog"
273 sgml-local-ecat-files:nil
274 End:
275 -->
Note: See TracBrowser for help on using the browser.