From 4b71943bb29a976d380e058156bd3110b6ec723b Mon Sep 17 00:00:00 2001
From: Bruce Momjian <bruce@momjian.us>
Date: Sat, 4 Nov 2000 21:04:56 +0000
Subject: [PATCH] Make PROCEDURAL optional in CREATE/DROP LANGUAGE.

---
 doc/src/sgml/ref/create_language.sgml |  4 ++--
 doc/src/sgml/ref/drop_language.sgml   |  4 ++--
 src/backend/parser/gram.y             | 13 +++++++++----
 src/tools/pgcvslog                    | 10 +++++++---
 4 files changed, 20 insertions(+), 11 deletions(-)

diff --git a/doc/src/sgml/ref/create_language.sgml b/doc/src/sgml/ref/create_language.sgml
index bab3aa4797e..934b6cbaf9e 100644
--- a/doc/src/sgml/ref/create_language.sgml
+++ b/doc/src/sgml/ref/create_language.sgml
@@ -1,5 +1,5 @@
 <!--
-$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
 -->
 
@@ -23,7 +23,7 @@ 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>
diff --git a/doc/src/sgml/ref/drop_language.sgml b/doc/src/sgml/ref/drop_language.sgml
index a0764724d08..eedbc25ef9d 100644
--- a/doc/src/sgml/ref/drop_language.sgml
+++ b/doc/src/sgml/ref/drop_language.sgml
@@ -1,5 +1,5 @@
 <!--
-$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
 -->
 
@@ -23,7 +23,7 @@ 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">
diff --git a/src/backend/parser/gram.y b/src/backend/parser/gram.y
index ece0493acf9..f6859429f2a 100644
--- a/src/backend/parser/gram.y
+++ b/src/backend/parser/gram.y
@@ -11,7 +11,7 @@
  *
  *
  * 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
@@ -154,7 +154,7 @@ static void doNegateFloat(Value *v);
 %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
 
@@ -1654,7 +1654,7 @@ IntegerOnly:  Iconst
  *
  *****************************************************************************/
 
-CreatePLangStmt:  CREATE PLangTrusted PROCEDURAL LANGUAGE Sconst 
+CreatePLangStmt:  CREATE PLangTrusted opt_procedural LANGUAGE Sconst 
 			HANDLER def_name LANCOMPILER Sconst
 			{
 				CreatePLangStmt *n = makeNode(CreatePLangStmt);
@@ -1668,8 +1668,9 @@ CreatePLangStmt:  CREATE PLangTrusted PROCEDURAL LANGUAGE Sconst
 
 PLangTrusted:  TRUSTED			{ $$ = TRUE; }
 			| /*EMPTY*/			{ $$ = FALSE; }
+		;
 
-DropPLangStmt:  DROP PROCEDURAL LANGUAGE Sconst
+DropPLangStmt:  DROP opt_procedural LANGUAGE Sconst
 			{
 				DropPLangStmt *n = makeNode(DropPLangStmt);
 				n->plname = $4;
@@ -1677,6 +1678,10 @@ DropPLangStmt:  DROP PROCEDURAL LANGUAGE Sconst
 			}
 		;
 
+opt_procedural: PROCEDURAL		{ $$ = TRUE; }
+			| /*EMPTY*/			{ $$ = TRUE; }
+		;
+		
 /*****************************************************************************
  *
  *		QUERIES :
diff --git a/src/tools/pgcvslog b/src/tools/pgcvslog
index 12dd490f20a..f40f2c6d645 100755
--- a/src/tools/pgcvslog
+++ b/src/tools/pgcvslog
@@ -8,8 +8,10 @@
 # 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 "$@" |
@@ -18,7 +20,7 @@ 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" \
 	{
@@ -27,7 +29,7 @@ awk '
 		{
 			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, "");*/
 		}
 	}
 
@@ -46,6 +48,8 @@ awk '
 		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, "");
@@ -59,7 +63,7 @@ sort | cut -d'|' -f3 | cat |
 # collect duplicate narratives
 awk '	BEGIN	{ slot = 0;}
 	{
-		if ($0 ~ /^Working file:/)
+		if ($0 ~ /^\//)
 		{
 			if (slot != oldslot)
 				same = 0;
-- 
GitLab