mirror of
https://github.com/postgres/postgres.git
synced 2025-07-28 23:42:10 +03:00
Make PROCEDURAL optional in CREATE/DROP LANGUAGE.
This commit is contained in:
@ -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 :
|
||||
|
@ -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;
|
||||
|
Reference in New Issue
Block a user