(1 row)
-- ===================================================================
--- used in pl/pgsql function
+-- used in PL/pgSQL function
-- ===================================================================
CREATE OR REPLACE FUNCTION f_test(p_c1 int) RETURNS int AS $$
DECLARE
SELECT oid, * FROM ft_pg_type WHERE typname = 'int4';
-- ===================================================================
--- used in pl/pgsql function
+-- used in PL/pgSQL function
-- ===================================================================
CREATE OR REPLACE FUNCTION f_test(p_c1 int) RETURNS int AS $$
DECLARE
<varlistentry>
<term><productname>ActiveState TCL</productname></term>
<listitem><para>
- Required for building <application>PL/TCL</application> (Note: version
+ Required for building <application>PL/Tcl</application> (Note: version
8.4 is required, the free Standard Distribution is sufficient).
</para></listitem>
</varlistentry>
which the system thinks that partial or incremental execution might
occur, no parallel plan is generated. For example, a cursor created
using <link linkend="sql-declare">DECLARE CURSOR</link> will never use
- a parallel plan. Similarly, a PL/pgsql loop of the form
+ a parallel plan. Similarly, a PL/pgSQL loop of the form
<literal>FOR x IN query LOOP .. END LOOP</literal> will never use a
parallel plan, because the parallel query system is unable to verify
that the code in the loop is safe to execute while parallel query is
<para>
Functions and aggregates must be marked <literal>PARALLEL UNSAFE</> if
they write to the database, access sequences, change the transaction state
- even temporarily (e.g. a PL/pgsql function which establishes an
+ even temporarily (e.g. a PL/pgSQL function which establishes an
<literal>EXCEPTION</> block to catch errors), or make persistent changes to
settings. Similarly, functions must be marked <literal>PARALLEL
RESTRICTED</> if they access temporary tables, client connection state,
<para>
To aid the user in finding instances of simple but common problems before
- they cause harm, <application>PL/PgSQL</> provides additional
+ they cause harm, <application>PL/pgSQL</> provides additional
<replaceable>checks</>. When enabled, depending on the configuration, they
can be used to emit either a <literal>WARNING</> or an <literal>ERROR</>
during the compilation of a function. A function which has received
<listitem>
<para>
- Update pl/perl's <filename>ppport.h</> for modern Perl versions
+ Update PL/Perl's <filename>ppport.h</> for modern Perl versions
(Andrew)
</para>
</listitem>
<listitem>
<para>
- Fix assorted memory leaks in pl/python (Andreas Freund, Tom)
+ Fix assorted memory leaks in PL/Python (Andreas Freund, Tom)
</para>
</listitem>
<listitem>
<para>
- Update pl/perl's <filename>ppport.h</> for modern Perl versions
+ Update PL/Perl's <filename>ppport.h</> for modern Perl versions
(Andrew)
</para>
</listitem>
<listitem>
<para>
- Fix assorted memory leaks in pl/python (Andreas Freund, Tom)
+ Fix assorted memory leaks in PL/Python (Andreas Freund, Tom)
</para>
</listitem>
(Neil)</para></listitem>
<listitem><para>Recover properly if error occurs during argument passing
-in <application>PL/python</> (Neil)</para></listitem>
+in <application>PL/Python</> (Neil)</para></listitem>
-<listitem><para>Fix <application>PL/perl</>'s handling of locales on
+<listitem><para>Fix <application>PL/Perl</>'s handling of locales on
Win32 to match the backend (Andrew)</para></listitem>
<listitem><para>Fix crash when <literal>log_min_messages</> is set to
<listitem>
<para>
- Update pl/perl's <filename>ppport.h</> for modern Perl versions
+ Update PL/Perl's <filename>ppport.h</> for modern Perl versions
(Andrew)
</para>
</listitem>
<listitem>
<para>
- Fix assorted memory leaks in pl/python (Andreas Freund, Tom)
+ Fix assorted memory leaks in PL/Python (Andreas Freund, Tom)
</para>
</listitem>
together in function result type declarations</para></listitem>
<listitem><para>Recover properly if error occurs during argument passing
-in <application>PL/python</> (Neil)</para></listitem>
+in <application>PL/Python</> (Neil)</para></listitem>
<listitem><para>Fix memory leak in <function>plperl_return_next</>
(Neil)</para></listitem>
-<listitem><para>Fix <application>PL/perl</>'s handling of locales on
+<listitem><para>Fix <application>PL/Perl</>'s handling of locales on
Win32 to match the backend (Andrew)</para></listitem>
<listitem><para>Various optimizer fixes (Tom)</para></listitem>
<listitem>
<para>
- Update pl/perl's <filename>ppport.h</> for modern Perl versions
+ Update PL/Perl's <filename>ppport.h</> for modern Perl versions
(Andrew)
</para>
</listitem>
<listitem>
<para>
- Fix assorted memory leaks in pl/python (Andreas Freund, Tom)
+ Fix assorted memory leaks in PL/Python (Andreas Freund, Tom)
</para>
</listitem>
<listitem>
<para>
- Update pl/perl's <filename>ppport.h</> for modern Perl versions
+ Update PL/Perl's <filename>ppport.h</> for modern Perl versions
(Andrew)
</para>
</listitem>
<listitem>
<para>
- Fix assorted memory leaks in pl/python (Andreas Freund, Tom)
+ Fix assorted memory leaks in PL/Python (Andreas Freund, Tom)
</para>
</listitem>
<listitem>
<para>
- Fix pl/pgsql's <literal>CASE</> statement to not fail when the
+ Fix PL/pgSQL's <literal>CASE</> statement to not fail when the
case expression is a query that returns no rows (Tom)
</para>
</listitem>
<listitem>
<para>
- Update pl/perl's <filename>ppport.h</> for modern Perl versions
+ Update PL/Perl's <filename>ppport.h</> for modern Perl versions
(Andrew)
</para>
</listitem>
<listitem>
<para>
- Fix assorted memory leaks in pl/python (Andreas Freund, Tom)
+ Fix assorted memory leaks in PL/Python (Andreas Freund, Tom)
</para>
</listitem>
<listitem>
<para>
- Add ability to retrieve the current PL/PgSQL call stack
+ Add ability to retrieve the current PL/pgSQL call stack
using <link linkend="plpgsql-call-stack"><command>GET
DIAGNOSTICS</></link>
(Pavel Stehule, Stephen Frost)
Fix for DROP TABLE/INDEX in rolled-back transaction (Hiroshi)
Fix psql crash from \l+ if MULTIBYTE enabled (Peter E)
Fix truncation of rule names during CREATE VIEW (Ross Reedstrom)
-Fix PL/perl (Alex Kapranoff)
+Fix PL/Perl (Alex Kapranoff)
Disallow LOCK on views (Mark Hollomon)
Disallow INSERT/UPDATE/DELETE on views (Mark Hollomon)
Disallow DROP RULE, CREATE INDEX, TRUNCATE on views (Mark Hollomon)
Fix lpad() and rpad() to handle length less than input string (Tom)
Fix use of NOTIFY in some rules (Tom)
Overhaul btree code (Tom)
-Fix NOT NULL use in Pl/pgSQL variables (Tom)
+Fix NOT NULL use in PL/pgSQL variables (Tom)
Overhaul GIST code (Oleg)
Fix CLUSTER to preserve constraints and column default (Tom)
Improved deadlock detection handling (Tom)
Adjust handling of data type names to suppress double quotes(Thomas)
Use type coercion for matching columns and DEFAULT(Thomas)
Fix deadlock so it only checks once after one second of sleep(Bruce)
-Fixes for aggregates and PL/pgsql(Hiroshi)
+Fixes for aggregates and PL/pgSQL(Hiroshi)
Fix for subquery crash(Vadim)
Fix for libpq function PQfnumber and case-insensitive names(Bahman Rafatjoo)
Fix for large object write-in-middle, no extra block, memory consumption(Tatsuo)
<literal>CREATE TABLE foo (...); INSERT INTO foo VALUES(...);</literal>
will not work as desired if packaged up into a single SQL function,
since <structname>foo</> won't exist yet when the <command>INSERT</>
- command is parsed. It's recommended to use <application>PL/PgSQL</>
+ command is parsed. It's recommended to use <application>PL/pgSQL</>
instead of a SQL function in this type of situation.
</para>
</note>
more clearly crazy for a parallel worker to try to subcommit or subabort the
current subtransaction and execute in some other transaction context than was
present in the initiating backend. It might be practical to allow internal
-sub-transactions (e.g. to implement a PL/pgsql EXCEPTION block) to be used in
+sub-transactions (e.g. to implement a PL/pgSQL EXCEPTION block) to be used in
parallel mode, provided that they are XID-less, because other backends
wouldn't really need to know about those transactions or do anything
differently because of them. Right now, we don't even allow that.
* SPI_plan_get_plan_sources --- get a SPI plan's underlying list of
* CachedPlanSources.
*
- * This is exported so that pl/pgsql can use it (this beats letting pl/pgsql
+ * This is exported so that PL/pgSQL can use it (this beats letting PL/pgSQL
* look directly into the SPIPlan for itself). It's not documented in
* spi.sgml because we'd just as soon not have too many places using this.
*/
* if the SPI plan contains exactly one CachedPlanSource. If not,
* return NULL. Caller is responsible for doing ReleaseCachedPlan().
*
- * This is exported so that pl/pgsql can use it (this beats letting pl/pgsql
+ * This is exported so that PL/pgSQL can use it (this beats letting PL/pgSQL
* look directly into the SPIPlan for itself). It's not documented in
* spi.sgml because we'd just as soon not have too many places using this.
*/
/*
* Non-keyword token types. These are hard-wired into the "flex" lexer.
* They must be listed first so that their numeric codes do not depend on
- * the set of keywords. PL/pgsql depends on this so that it can share the
- * same lexer. If you add/change tokens here, fix PL/pgsql to match!
+ * the set of keywords. PL/pgSQL depends on this so that it can share the
+ * same lexer. If you add/change tokens here, fix PL/pgSQL to match!
*
* DOT_DOT is unused in the core SQL grammar, and so will always provoke
- * parse errors. It is needed by PL/pgsql.
+ * parse errors. It is needed by PL/pgSQL.
*/
%token <str> IDENT FCONST SCONST BCONST XCONST Op
%token <ival> ICONST PARAM
}
/*
- * load PL/pgsql server-side language
+ * load PL/pgSQL server-side language
*/
static void
load_plpgsql(FILE *cmdfd)
* scanner.h
* API for the core scanner (flex machine)
*
- * The core scanner is also used by PL/pgsql, so we provide a public API
+ * The core scanner is also used by PL/pgSQL, so we provide a public API
* for it. However, the rest of the backend is only expected to use the
* higher-level API provided by parser.h.
*
#-------------------------------------------------------------------------
#
-# Makefile for the pl/pgsql procedural language
+# Makefile for the PL/pgSQL procedural language
#
# src/pl/plpgsql/src/Makefile
#
* clause lurking within it, and parse that via read_into_target().
*
* Because INTO is sometimes used in the main SQL grammar, we have to be
- * careful not to take any such usage of INTO as a pl/pgsql INTO clause.
+ * careful not to take any such usage of INTO as a PL/pgSQL INTO clause.
* There are currently three such cases:
*
* 1. SELECT ... INTO. We don't care, we just override that with the
- * pl/pgsql definition.
+ * PL/pgSQL definition.
*
* 2. INSERT INTO. This is relatively easy to recognize since the words
* must appear adjacently; but we can't assume INSERT starts the command,
#-------------------------------------------------------------------------
#
-# Makefile for the pl/tcl procedural language
+# Makefile for the PL/Tcl procedural language
#
# src/pl/tcl/Makefile
#
* occur. FIXME someday.
************************************************************/
plan_cxt = AllocSetContextCreate(TopMemoryContext,
- "PL/TCL spi_prepare query",
+ "PL/Tcl spi_prepare query",
ALLOCSET_SMALL_SIZES);
MemoryContextSwitchTo(plan_cxt);
qdesc = (pltcl_query_desc *) palloc0(sizeof(pltcl_query_desc));