-<!-- $PostgreSQL: pgsql/doc/src/sgml/release-9.0.sgml,v 2.3 2010/03/20 03:30:12 momjian Exp $ -->
+<!-- $PostgreSQL: pgsql/doc/src/sgml/release-9.0.sgml,v 2.4 2010/03/20 14:03:31 momjian Exp $ -->
<sect1 id="release-9-0">
</sect4>
- <sect4>
- <title>Server-Side Languages</title>
+ </sect3>
+
+ <sect3>
+ <title>Server-Side Languages</title>
+
+ <itemizedlist>
+
+ <listitem>
+ <para>
+ Add the <literal>OR REPLACE</> clause to <command>CREATE
+ LANGUAGE</> (Tom)
+ </para>
+
+ <para>
+ This is helpful to optionally install a language if it does not
+ already exist, and is particularly helpful now that PL/pgSQL is
+ installed by default.
+ </para>
+ </listitem>
+
+ </itemizedlist>
+
+ <sect4>
+ <title>PL/PgSQL Server-Side Language</title>
<itemizedlist>
<listitem>
<para>
- Add the <literal>OR REPLACE</> clause to <command>CREATE
- LANGUAGE</> (Tom)
+ Install server-side language PL/pgSQL by default (Bruce)
</para>
+ </listitem>
+ <listitem>
<para>
- This is helpful to optionally install a language if it does not
- already exist, and is particularly helpful now that PL/pgSQL is
- installed by default.
+ Allow PL/pgSQL to handle row types with dropped columns (Pavel Stehule)
</para>
</listitem>
- </itemizedlist>
-
- <sect5>
- <title>PL/PgSQL Server-Side Language</title>
-
- <itemizedlist>
-
- <listitem>
- <para>
- Install server-side language PL/pgSQL by default (Bruce)
- </para>
- </listitem>
-
- <listitem>
- <para>
- Allow PL/pgSQL to handle row types with dropped columns (Pavel Stehule)
- </para>
- </listitem>
-
- <listitem>
- <para>
- Allow <literal>IN</> parameters to be assigned values within
- PL/pgSQL functions (Steve Prentice)
- </para>
- </listitem>
-
- <listitem>
- <para>
- Improve error location reporting in PL/pgSQL (Tom)
- </para>
- </listitem>
+ <listitem>
+ <para>
+ Allow <literal>IN</> parameters to be assigned values within
+ PL/pgSQL functions (Steve Prentice)
+ </para>
+ </listitem>
- <listitem>
- <para>
- Have PL/pgSQL use the main lexer, rather than a custom version (Tom)
- </para>
- </listitem>
+ <listitem>
+ <para>
+ Improve error location reporting in PL/pgSQL (Tom)
+ </para>
+ </listitem>
- </itemizedlist>
+ <listitem>
+ <para>
+ Have PL/pgSQL use the main lexer, rather than a custom version (Tom)
+ </para>
+ </listitem>
- </sect5>
+ </itemizedlist>
- <sect5>
- <title>PL/pgSQL Cursors</title>
- <itemizedlist>
+ </sect4>
- <listitem>
- <para>
- Add count and <literal>ALL</> options to <command>MOVE
- FORWARD</>/<literal>BACKWARD</> in PL/pgSQL (Pavel Stehule)
- </para>
- </listitem>
+ <sect4>
+ <title>PL/pgSQL Cursors</title>
+ <itemizedlist>
- <listitem>
- <para>
- Allow PL/pgSQL's <literal>WHERE CURRENT OF</> to use a cursor
- variable (Tom)
- </para>
- </listitem>
+ <listitem>
+ <para>
+ Add count and <literal>ALL</> options to <command>MOVE
+ FORWARD</>/<literal>BACKWARD</> in PL/pgSQL (Pavel Stehule)
+ </para>
+ </listitem>
- <listitem>
- <para>
- Add PL/pgSQL's <command>OPEN cursor FOR EXECUTE</> to use parameters
- (Pavel Stehule, Itagaki Takahiro)
- </para>
+ <listitem>
+ <para>
+ Allow PL/pgSQL's <literal>WHERE CURRENT OF</> to use a cursor
+ variable (Tom)
+ </para>
+ </listitem>
- <para>
- This is accomplished with a new <literal>USING</> clause.
- </para>
- </listitem>
+ <listitem>
+ <para>
+ Add PL/pgSQL's <command>OPEN cursor FOR EXECUTE</> to use parameters
+ (Pavel Stehule, Itagaki Takahiro)
+ </para>
- </itemizedlist>
+ <para>
+ This is accomplished with a new <literal>USING</> clause.
+ </para>
+ </listitem>
- </sect5>
+ </itemizedlist>
- <sect5>
- <title>PL/Perl Server-Side Language</title>
- <itemizedlist>
+ </sect4>
- <listitem>
- <para>
- Add new PL/Perl functions: <function>quote_literal()</>,
- <function>quote_nullable()</>, <function>quote_ident()</>,
- <function>encode_bytea()</>, <function>decode_bytea()</>,
- <function>looks_like_number()</>, <function>encode_array_literal()</>,
- <function>encode_array_constructor()</> (Tim Bunce)
- </para>
- </listitem>
+ <sect4>
+ <title>PL/Perl Server-Side Language</title>
+ <itemizedlist>
- <listitem>
- <para>
- Add server variable <varname>plperl.on_init</> to specify a PL/Perl
- Perl initialization function (Tim Bunce)
- </para>
+ <listitem>
+ <para>
+ Add new PL/Perl functions: <function>quote_literal()</>,
+ <function>quote_nullable()</>, <function>quote_ident()</>,
+ <function>encode_bytea()</>, <function>decode_bytea()</>,
+ <function>looks_like_number()</>, <function>encode_array_literal()</>,
+ <function>encode_array_constructor()</> (Tim Bunce)
+ </para>
+ </listitem>
- <para>
- <varname>plperl.on_plperl_init</> and <varname>plperl.on_plperlu_init</>
- are also available for trusted/untrusted-specific initialization.
- </para>
- </listitem>
+ <listitem>
+ <para>
+ Add server variable <varname>plperl.on_init</> to specify a PL/Perl
+ Perl initialization function (Tim Bunce)
+ </para>
- <listitem>
- <para>
- Improve error context support in PL/Perl (Alexey Klyukin)
- </para>
- </listitem>
+ <para>
+ <varname>plperl.on_plperl_init</> and <varname>plperl.on_plperlu_init</>
+ are also available for trusted/untrusted-specific initialization.
+ </para>
+ </listitem>
- <listitem>
- <para>
- Support <command>END</> blocks in PL/Perl (Tim Bunce)
- </para>
+ <listitem>
+ <para>
+ Improve error context support in PL/Perl (Alexey Klyukin)
+ </para>
+ </listitem>
- <para>
- <command>END</> blocks do not currently allow database access.
- </para>
- </listitem>
+ <listitem>
+ <para>
+ Support <command>END</> blocks in PL/Perl (Tim Bunce)
+ </para>
- <listitem>
- <para>
- Allow <command>use strict</> in PL/Perl (Tim Bunce)
- </para>
- </listitem>
+ <para>
+ <command>END</> blocks do not currently allow database access.
+ </para>
+ </listitem>
- <listitem>
- <para>
- Allow <command>require</> in PL/Perl (Tim Bunce)
- </para>
+ <listitem>
+ <para>
+ Allow <command>use strict</> in PL/Perl (Tim Bunce)
+ </para>
+ </listitem>
- <para>
- This basically tests to see if the module is loaded, and if not,
- generates an error.
- </para>
- </listitem>
+ <listitem>
+ <para>
+ Allow <command>require</> in PL/Perl (Tim Bunce)
+ </para>
- <listitem>
- <para>
- Allow <command>use feature</> in PL/Perl if Perl version 5.10 or
- later is used (Tim Bunce)
- </para>
- </listitem>
+ <para>
+ This basically tests to see if the module is loaded, and if not,
+ generates an error.
+ </para>
+ </listitem>
- <listitem>
- <para>
- Verify that PL/Perl return values are valid in the server encoding
- (Andrew)
- </para>
- </listitem>
+ <listitem>
+ <para>
+ Allow <command>use feature</> in PL/Perl if Perl version 5.10 or
+ later is used (Tim Bunce)
+ </para>
+ </listitem>
- <listitem>
- <para>
- Improve PL/Perl code structure (Tim Bunce)
- </para>
- </listitem>
+ <listitem>
+ <para>
+ Verify that PL/Perl return values are valid in the server encoding
+ (Andrew)
+ </para>
+ </listitem>
- <listitem>
- <para>
- PL/Perl subroutines are now given names (Tim Bunce)
- </para>
+ <listitem>
+ <para>
+ Improve PL/Perl code structure (Tim Bunce)
+ </para>
+ </listitem>
- <para>
- This is for the use of profiling and code coverage tools. DIDN'T
- THEY HAVE NAMES BEFORE?
- </para>
- </listitem>
+ <listitem>
+ <para>
+ PL/Perl subroutines are now given names (Tim Bunce)
+ </para>
- <listitem>
- <para>
- PL/Perl no longer allows <application>Safe</> version 2.20 because
- it is unsafe (Tim Bunce)
- </para>
- </listitem>
+ <para>
+ This is for the use of profiling and code coverage tools. DIDN'T
+ THEY HAVE NAMES BEFORE?
+ </para>
+ </listitem>
- </itemizedlist>
+ <listitem>
+ <para>
+ PL/Perl no longer allows <application>Safe</> version 2.20 because
+ it is unsafe (Tim Bunce)
+ </para>
+ </listitem>
- </sect5>
+ </itemizedlist>
- <sect5>
- <title>PL/Python Server-Side Language</title>
- <itemizedlist>
+ </sect4>
- <listitem>
- <para>
- Add Unicode support in PL/Python (Peter)
- </para>
+ <sect4>
+ <title>PL/Python Server-Side Language</title>
+ <itemizedlist>
- <para>
- Strings are automatically converted from/to the server encoding as
- necessary.
- </para>
- </listitem>
+ <listitem>
+ <para>
+ Add Unicode support in PL/Python (Peter)
+ </para>
- <listitem>
- <para>
- Improve <type>bytea</> support in PL/Python (Caleb Welton)
- </para>
+ <para>
+ Strings are automatically converted from/to the server encoding as
+ necessary.
+ </para>
+ </listitem>
- <para>
- <type>Bytea</> values passed into PL/Python now are represented as
- binary, rather than the Postgres <type>bytea</> text format. Null
- bytes are now also output properly from PL/Python. <type>Boolean</>
- and <type>numeric</> value passing in PL/Python was also improved.
- </para>
- </listitem>
+ <listitem>
+ <para>
+ Improve <type>bytea</> support in PL/Python (Caleb Welton)
+ </para>
- <listitem>
- <para>
- Add array parameter/return support to PL/Python (Peter)
- </para>
- </listitem>
+ <para>
+ <type>Bytea</> values passed into PL/Python now are represented as
+ binary, rather than the Postgres <type>bytea</> text format. Null
+ bytes are now also output properly from PL/Python. <type>Boolean</>
+ and <type>numeric</> value passing in PL/Python was also improved.
+ </para>
+ </listitem>
- <listitem>
- <para>
- Improve mapping of domains to Python base types in PL/Python (Peter)
- </para>
- </listitem>
+ <listitem>
+ <para>
+ Add array parameter/return support to PL/Python (Peter)
+ </para>
+ </listitem>
- <listitem>
- <para>
- Add <application>Python</> 3 support to PL/Python (Peter)
- </para>
+ <listitem>
+ <para>
+ Improve mapping of domains to Python base types in PL/Python (Peter)
+ </para>
+ </listitem>
- <para>
- The new server-side language is called <literal>plpython3u</>.
- </para>
- </listitem>
+ <listitem>
+ <para>
+ Add <application>Python</> 3 support to PL/Python (Peter)
+ </para>
- <listitem>
- <para>
- Improve error location and exception reporting in PL/Python (Peter)
- </para>
- </listitem>
+ <para>
+ The new server-side language is called <literal>plpython3u</>.
+ </para>
+ </listitem>
- </itemizedlist>
+ <listitem>
+ <para>
+ Improve error location and exception reporting in PL/Python (Peter)
+ </para>
+ </listitem>
- </sect5>
+ </itemizedlist>
</sect4>
<itemizedlist>
<listitem>
- <para>
- Add <command>vacuumdb</> <option>--analyze-only</> option to only
- analyze (Bruce)
+ <para>
+ Add <command>vacuumdb</> <option>--analyze-only</> option to only
+ analyze (Bruce)
</para>
</listitem>