<!--
-$Header: /cvsroot/pgsql/doc/src/sgml/ref/create_language.sgml,v 1.12 2000/10/05 19:48:17 momjian Exp $
+$Header: /cvsroot/pgsql/doc/src/sgml/ref/create_language.sgml,v 1.13 2000/11/04 21:04:54 momjian Exp $
Postgres documentation
-->
<date>1999-07-20</date>
</refsynopsisdivinfo>
<synopsis>
-CREATE [ TRUSTED ] PROCEDURAL LANGUAGE '<replaceable class="parameter">langname</replaceable>'
+CREATE [ TRUSTED ] [ PROCEDURAL ] LANGUAGE '<replaceable class="parameter">langname</replaceable>'
HANDLER <replaceable class="parameter">call_handler</replaceable>
LANCOMPILER '<replaceable class="parameter">comment</replaceable>'
</synopsis>
<!--
-$Header: /cvsroot/pgsql/doc/src/sgml/ref/drop_language.sgml,v 1.7 1999/07/22 15:09:10 thomas Exp $
+$Header: /cvsroot/pgsql/doc/src/sgml/ref/drop_language.sgml,v 1.8 2000/11/04 21:04:54 momjian Exp $
Postgres documentation
-->
<date>1999-07-20</date>
</refsynopsisdivinfo>
<synopsis>
-DROP PROCEDURAL LANGUAGE '<replaceable class="PARAMETER">name</replaceable>'
+DROP [ PROCEDURAL ] LANGUAGE '<replaceable class="PARAMETER">name</replaceable>'
</synopsis>
<refsect2 id="R2-SQL-DROPLANGUAGE-1">
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/parser/gram.y,v 2.202 2000/10/31 10:22:10 petere Exp $
+ * $Header: /cvsroot/pgsql/src/backend/parser/gram.y,v 2.203 2000/11/04 21:04:55 momjian Exp $
*
* HISTORY
* AUTHOR DATE MAJOR EVENT
%type <str> user_valid_clause
%type <list> user_list, user_group_clause, users_in_new_group_clause
-%type <boolean> TriggerActionTime, TriggerForSpec, PLangTrusted
+%type <boolean> TriggerActionTime, TriggerForSpec, PLangTrusted, opt_procedural
%type <str> OptConstrFromTable
*
*****************************************************************************/
-CreatePLangStmt: CREATE PLangTrusted PROCEDURAL LANGUAGE Sconst
+CreatePLangStmt: CREATE PLangTrusted opt_procedural LANGUAGE Sconst
HANDLER def_name LANCOMPILER Sconst
{
CreatePLangStmt *n = makeNode(CreatePLangStmt);
PLangTrusted: TRUSTED { $$ = TRUE; }
| /*EMPTY*/ { $$ = FALSE; }
+ ;
-DropPLangStmt: DROP PROCEDURAL LANGUAGE Sconst
+DropPLangStmt: DROP opt_procedural LANGUAGE Sconst
{
DropPLangStmt *n = makeNode(DropPLangStmt);
n->plname = $4;
}
;
+opt_procedural: PROCEDURAL { $$ = TRUE; }
+ | /*EMPTY*/ { $$ = TRUE; }
+ ;
+
/*****************************************************************************
*
* QUERIES :
# cvs log -d '>1999-06-14 00:00:00 GMT' . > log
#
# pre and post-branch logs:
+# find . -name CVS -type d -exec touch '{}/Entries.Static' \;
# cvs log -d'2000-05-08 00:00:00 GMT<2000-05-29 00:00:00 GMT'
# cvs log -d'>2000-05-29 00:00:00 GMT' -rREL7_0_PATCHES
+# find . -name CVS -type d -exec rm '{}/Entries.Static' \;
#
cat "$@" |
# we don't print anything from the -- or == line and the date:
awk '
- $0 ~ /^Working file:/ {workingfile = $0}
+ $0 ~ /^Working file:/ {workingfile = "/" $3}
($0 ~ /^====*$/ || $0 ~ /^----*$/) && skip == "N" \
{
{
printf ("%s| %10d|%s\n", datetime, NR, "");
printf ("%s| %10d|%s\n", datetime, NR, "---");
- printf ("%s| %10d|%s\n", datetime, NR+1, "");
+/* printf ("%s| %10d|%s\n", datetime, NR+1, "");*/
}
}
datetime=$2"-"$3
if (workingfile != "" && skip == "N")
{
+ gsub(";", "", $5);
+ printf ("%s| %10d| %70s\n", datetime, NR-2, $5);
printf ("%s| %10d|%s\n", datetime, NR-1, workingfile);
printf ("%s| %10d|%s\n", datetime, NR, $0);
printf ("%s| %10d|%s\n", datetime, NR+1, "");
# collect duplicate narratives
awk ' BEGIN { slot = 0;}
{
- if ($0 ~ /^Working file:/)
+ if ($0 ~ /^\//)
{
if (slot != oldslot)
same = 0;