Skip to content

Commit

Permalink
Merge v16 RC1
Browse files Browse the repository at this point in the history
  • Loading branch information
gleu committed Sep 6, 2023
1 parent 8018b4d commit 391ed47
Show file tree
Hide file tree
Showing 6 changed files with 2,551 additions and 1,604 deletions.
61 changes: 58 additions & 3 deletions postgresql/charset.xml
Original file line number Diff line number Diff line change
Expand Up @@ -1491,8 +1491,8 @@ SELECT 'x-y' = 'x_y' COLLATE level4; -- false
</sect3>

<sect3 id="icu-locale-examples">
<title>Examples</title>
<para>
<title>Collation Settings Examples</title>

<variablelist>
<varlistentry id="collation-managing-create-icu-de-u-co-phonebk-x-icu">
<term><literal>CREATE COLLATION "de-u-co-phonebk-x-icu" (provider = icu, locale = 'de-u-co-phonebk');</literal></term>
Expand Down Expand Up @@ -1538,6 +1538,61 @@ SELECT 'x-y' = 'x_y' COLLATE level4; -- false
</listitem>
</varlistentry>
</variablelist>
</sect3>

<sect3 id="icu-tailoring-rules">
<title>ICU Tailoring Rules</title>

<para>
If the options provided by the collation settings shown above are not
sufficient, the order of collation elements can be changed with tailoring
rules, whose syntax is detailed at <ulink
url="https://unicode-org.github.io/icu/userguide/collation/customization/"></ulink>.
</para>

<para>
This small example creates a collation based on the root locale with a
tailoring rule:
<programlisting>
<![CDATA[CREATE COLLATION custom (provider = icu, locale = 'und', rules = '&V << w <<< W');]]>
</programlisting>
With this rule, the letter <quote>W</quote> is sorted after
<quote>V</quote>, but is treated as a secondary difference similar to an
accent. Rules like this are contained in the locale definitions of some
languages. (Of course, if a locale definition already contains the
desired rules, then they don't need to be specified again explicitly.)
</para>

<para>
Here is a more complex example. The following statement sets up a
collation named <literal>ebcdic</literal> with rules to sort US-ASCII
characters in the order of the EBCDIC encoding.

<programlisting>
<![CDATA[CREATE COLLATION ebcdic (provider = icu, locale = 'und',
rules = $$
& ' ' < '.' < '<' < '(' < '+' < \|
< '&' < '!' < '$' < '*' < ')' < ';'
< '-' < '/' < ',' < '%' < '_' < '>' < '?'
< '`' < ':' < '#' < '@' < \' < '=' < '"'
<*a-r < '~' <*s-z < '^' < '[' < ']'
< '{' <*A-I < '}' <*J-R < '\' <*S-Z <*0-9
$$);]]>

SELECT c
FROM (VALUES ('a'), ('b'), ('A'), ('B'), ('1'), ('2'), ('!'), ('^')) AS x(c)
ORDER BY c COLLATE ebcdic;
c
---
!
a
b
^
A
B
1
2
</programlisting>
</para>
</sect3>

Expand Down Expand Up @@ -1574,7 +1629,7 @@ SELECT 'x-y' = 'x_y' COLLATE level4; -- false
</listitem>
<listitem>
<para>
<ulink url="https://unicode-org.github.io/icu/userguide/collation/api.html"></ulink>
<ulink url="https://unicode-org.github.io/icu/userguide/collation/"></ulink>
</para>
</listitem>
</itemizedlist>
Expand Down
162 changes: 20 additions & 142 deletions postgresql/external-projects.xml
Original file line number Diff line number Diff line change
Expand Up @@ -39,100 +39,18 @@
</itemizedlist>

Tous les autres interfaces sont des projets externes et sont distribués
séparément. <xref linkend="language-interface-table"/> présente
certains de ces projets. Ils peuvent ne pas être distribués sous la même
licence que <productname>PostgreSQL</productname>.
Pour obtenir plus d'informations sur chaque interface, avec les termes de la licence,
on se référera au site web et à la documentation.
séparément. Une
<ulink url="https://wiki.postgresql.org/wiki/List_of_drivers">liste des
interfaces</ulink> est maintenue sur le wiki PostgreSQL. Notez que certains
de ces packages ne sont pas disponibles sous la même licence que
<productname>PostgreSQL</productname>. Pour plus d'informations sur chaque
interface, avec les termes de la licence, référez-vous à son site web et à
sa documentation.
</para>

<table id="language-interface-table">
<title>Interfaces clients maintenus en externe</title>

<tgroup cols="4">
<thead>
<row>
<entry>Nom</entry>
<entry>Langage</entry>
<entry>Commentaires</entry>
<entry>Site web</entry>
</row>
</thead>

<tbody>
<row>
<entry>DBD::Pg</entry>
<entry>Perl</entry>
<entry>Pilote DBI Perl</entry>
<entry><ulink url="https://metacpan.org/dist/DBD-Pg"></ulink></entry>
</row>

<row>
<entry>JDBC</entry>
<entry>Java</entry>
<entry>Pilote JDBC Type 4</entry>
<entry><ulink url="https://jdbc.postgresql.org/"></ulink></entry>
</row>

<row>
<entry>libpqxx</entry>
<entry>C++</entry>
<entry>Interface C++</entry>
<entry><ulink url="https://pqxx.org/">https://pqxx.org/</ulink></entry>
</row>

<row>
<entry>node-postgres</entry>
<entry>JavaScript</entry>
<entry>Pilote Node.js</entry>
<entry><ulink url="https://node-postgres.com/"></ulink></entry>
</row>

<row>
<entry>Npgsql</entry>
<entry>.NET</entry>
<entry>Fournisseur de données .NET</entry>
<entry><ulink url="https://www.npgsql.org/">https://www.npgsql.org/</ulink></entry>
</row>

<row>
<entry>pgtcl</entry>
<entry>Tcl</entry>
<entry></entry>
<entry><ulink url="https://github.com/flightaware/Pgtcl">https://github.com/flightaware/Pgtcl</ulink></entry>
</row>

<row>
<entry>pgtclng</entry>
<entry>Tcl</entry>
<entry></entry>
<entry><ulink url="https://sourceforge.net/projects/pgtclng/"></ulink></entry>
</row>

<row>
<entry>pq</entry>
<entry>Go</entry>
<entry>Pilote Pure Go pour la base/SQL de Go</entry>
<entry><ulink url="https://github.com/lib/pq"></ulink></entry>
</row>

<row>
<entry>psqlODBC</entry>
<entry>ODBC</entry>
<entry>Pilote ODBC</entry>
<entry><ulink url="https://odbc.postgresql.org/">https://odbc.postgresql.org/</ulink></entry>
</row>

<row>
<entry>psycopg</entry>
<entry>Python</entry>
<entry>Compatible DB API 2.0</entry>
<entry><ulink url="https://www.psycopg.org/">https://www.psycopg.org/</ulink></entry>
</row>
</tbody>
</tgroup>
</table>
</sect1>
<para>
<ulink url="https://wiki.postgresql.org/wiki/List_of_drivers"></ulink>
</para>

<sect1 id="external-admin-tools">
<title>Outils d'administration</title>
Expand Down Expand Up @@ -169,58 +87,18 @@
<para>
Il existe également d'autres langages procéduraux développés et maintenus
en dehors de la distribution principale de <productname>PostgreSQL</productname>.
<xref linkend="pl-language-table"/> liste certains de ces langages. Ils
peuvent ne pas être distribués sous la même licence que
<productname>PostgreSQL</productname>. Pour obtenir plus d'informations sur
chaque langage, avec les termes de la licence, on se référera au site web et à
la documentation.
Une
<ulink url="https://wiki.postgresql.org/wiki/PL_Matrix">liste des
langages de procédures</ulink> est maintenue sur le wiki PostgreSQL. Notez
que certains de ces projets ne sont pas disponibles sous la même licence que
<productname>PostgreSQL</productname>. Pour plus d'informations sur chaque
langage de procédures, avec les termes de la licence, référez-vous à son site
web et à sa documentation.
</para>

<table id="pl-language-table">
<title>Langages procéduraux maintenus en externe</title>

<tgroup cols="3">
<thead>
<row>
<entry>Nom</entry>
<entry>Langage</entry>
<entry>Site web</entry>
</row>
</thead>

<tbody>
<row>
<entry>PL/Java</entry>
<entry>Java</entry>
<entry><ulink url="https://tada.github.io/pljava/"></ulink></entry>
</row>

<row>
<entry>PL/Lua</entry>
<entry>Lua</entry>
<entry><ulink url="https://github.com/pllua/pllua-ng"></ulink></entry>
</row>

<row>
<entry>PL/R</entry>
<entry>R</entry>
<entry><ulink url="https://github.com/postgres-plr/plr">https://github.com/postgres-plr/plr</ulink></entry>
</row>

<row>
<entry>PL/sh</entry>
<entry>Unix shell</entry>
<entry><ulink url="https://github.com/petere/plsh">https://github.com/petere/plsh</ulink></entry>
</row>

<row>
<entry>PL/v8</entry>
<entry>JavaScript</entry>
<entry><ulink url="https://github.com/plv8/plv8"></ulink></entry>
</row>
</tbody>
</tgroup>
</table>
<para>
<ulink url="https://wiki.postgresql.org/wiki/PL_Matrix"></ulink>
</para>
</sect1>

<sect1 id="external-extensions">
Expand Down
13 changes: 3 additions & 10 deletions postgresql/ref/create_collation.xml
Original file line number Diff line number Diff line change
Expand Up @@ -166,9 +166,7 @@ CREATE COLLATION [ IF NOT EXISTS ] <replaceable>nom</replaceable> FROM <replacea
<para>
Indique des règles de collation supplémentaires pour personnaliser le
comportement de la collation. Ceci est uniquement accepté par ICU. Voir
<ulink
url="https://unicode-org.github.io/icu/userguide/collation/customization/"/>
pour les détails sur la syntaxe.
<xref linkend="icu-tailoring-rules"/> pour les détails.
</para>
</listitem>
</varlistentry>
Expand Down Expand Up @@ -261,13 +259,8 @@ CREATE COLLATION german_phonebook (provider = icu, locale = 'de-u-co-phonebk');
<programlisting>
<![CDATA[CREATE COLLATION custom (provider = icu, locale = 'und', rules = '&V << w <<< W');]]>
</programlisting>
Avec cette règle, la lettre <quote>W</quote> est triée après
<quote>V</quote>, mais est traitée comme une différence secondaire à l'image
d'un accent. Les règles comme celle-ci sont contenues dans les définitions
de la locale de certaines langues. (Bien sûr, si une définition de la locale
contient déjà les règles désirées), il n'est pas nécessaire de les indiquer
explicitement.) Voir la documentation d'ICU pour plus de détails et des
exemples sur la syntaxe des règles.
Voir <xref linkend="icu-tailoring-rules"/> pour plus de détails et d'exemples
sur la syntaxe des règles.
</para>

<para>
Expand Down
5 changes: 2 additions & 3 deletions postgresql/ref/create_database.xml
Original file line number Diff line number Diff line change
Expand Up @@ -229,9 +229,8 @@
<para>
Indique les règles de collation supplémentaires pour personnaliser le
comportement de la collation par défaut de cette base de données. Ceci
est accepté uniquement par ICU. Voir <ulink
url="https://unicode-org.github.io/icu/userguide/collation/customization/"/>
pour des détails sur la syntaxe.
est accepté uniquement par ICU. Voir <xref linkend="icu-tailoring-rules"/>
pour des détails.
</para>
</listitem>
</varlistentry>
Expand Down
Loading

0 comments on commit 391ed47

Please sign in to comment.