OSDN Git Service

Fix for recusive exit call from Massimo.
authorBruce Momjian <bruce@momjian.us>
Sat, 6 Nov 1999 17:01:29 +0000 (17:01 +0000)
committerBruce Momjian <bruce@momjian.us>
Sat, 6 Nov 1999 17:01:29 +0000 (17:01 +0000)
src/backend/storage/ipc/ipc.c
src/bin/psql/sql_help.h

index 2070f6f..2c10a8c 100644 (file)
@@ -7,7 +7,7 @@
  *
  *
  * IDENTIFICATION
- *       $Header: /cvsroot/pgsql/src/backend/storage/ipc/ipc.c,v 1.40 1999/10/10 16:53:51 momjian Exp $
+ *       $Header: /cvsroot/pgsql/src/backend/storage/ipc/ipc.c,v 1.41 1999/11/06 17:01:28 momjian Exp $
  *
  * NOTES
  *
@@ -115,14 +115,13 @@ proc_exit(int code)
        TPRINTF(TRACE_VERBOSE, "proc_exit(%d) [#%d]", code, proc_exit_inprogress);
 
        /*
-        * If proc_exit is called too many times something bad is happenig, so
-        * exit immediately.
+        * If proc_exit is called too many times something bad is happening, so
+        * exit immediately.  This is crafted in two if's for a reason.
         */
-       if (proc_exit_inprogress > 9)
-       {
+       if (proc_exit_inprogress == 9)
                elog(ERROR, "infinite recursion in proc_exit");
+       if (proc_exit_inprogress >= 9)
                goto exit;
-       }
 
        /* ----------------
         *      if proc_exit_inprocess is true, then it means that we
index 60d5a40..65ca26f 100644 (file)
@@ -14,10 +14,6 @@ struct _helpStruct
 
 
 static struct _helpStruct QL_HELP[] = {
-    { "TRUNCATE",
-      "Empty a table",
-      "TRUNCATE [ TABLE ] name" },
-
     { "ABORT",
       "Aborts the current transaction",
       "ABORT [ WORK | TRANSACTION ]" },
@@ -42,6 +38,10 @@ static struct _helpStruct QL_HELP[] = {
       "Gives storage clustering advice to the server",
       "CLUSTER indexname ON table" },
 
+    { "COMMENT",
+      "Add comment to an object",
+      "COMMENT ON\n[\n  [ DATABASE | INDEX | RULE | SEQUENCE | TABLE | TYPE | VIEW ]\n  object_name |\n  COLUMN table_name.column_name|\n  AGGREGATE agg_name agg_type|\n  FUNCTION func_name (arg1, arg2, ...)|\n  OPERATOR op (leftoperand_type rightoperand_type) |\n  TRIGGER trigger_name ON table_name\n] IS 'text'" },
+
     { "COMMIT",
       "Commits the current transaction",
       "COMMIT [ WORK | TRANSACTION ]" },
@@ -118,10 +118,6 @@ static struct _helpStruct QL_HELP[] = {
       "Removes the definition of an aggregate function",
       "DROP AGGREGATE name type" },
 
-    { "FETCH",
-      "Gets rows using a cursor",
-      "FETCH [ selector ] [ count ] { IN | FROM } cursor\nFETCH [ RELATIVE ] [ { [ # | ALL | NEXT | PRIOR ] } ] FROM ] cursor" },
-
     { "DROP DATABASE",
       "Destroys an existing database",
       "DROP DATABASE name" },
@@ -170,10 +166,18 @@ static struct _helpStruct QL_HELP[] = {
       "Removes an existing view from a database",
       "DROP VIEW name" },
 
+    { "END",
+      "Commits the current transaction",
+      "END [ WORK | TRANSACTION ]" },
+
     { "EXPLAIN",
       "Shows statement execution details",
       "EXPLAIN [ VERBOSE ] query" },
 
+    { "FETCH",
+      "Gets rows using a cursor",
+      "FETCH [ selector ] [ count ] { IN | FROM } cursor\nFETCH [ RELATIVE ] [ { [ # | ALL | NEXT | PRIOR ] } ] FROM ] cursor" },
+
     { "GRANT",
       "Grants access privilege to a user, a group or all users",
       "GRANT privilege [, ...] ON object [, ...]\n    TO { PUBLIC | GROUP group | username }" },
@@ -230,6 +234,10 @@ static struct _helpStruct QL_HELP[] = {
       "Shows run-time parameters for session",
       "SHOW keyword" },
 
+    { "TRUNCATE",
+      "Empty a table",
+      "TRUNCATE [ TABLE ] name" },
+
     { "UNLISTEN",
       "Stop listening for notification",
       "UNLISTEN { notifyname | * }" },
@@ -242,14 +250,6 @@ static struct _helpStruct QL_HELP[] = {
       "Clean and analyze a Postgres database",
       "VACUUM [ VERBOSE ] [ ANALYZE ] [ table ]\nVACUUM [ VERBOSE ] ANALYZE [ ER\">tBLE> [ (column [, ...] ) ] ]" },
 
-    { "END",
-      "Commits the current transaction",
-      "END [ WORK | TRANSACTION ]" },
-
-    { "COMMENT",
-      "Add comment to an object",
-      "COMMENT ON\n[\n  [ DATABASE | INDEX | RULE | SEQUENCE | TABLE | TYPE | VIEW ]\n  object_name |\n  COLUMN table_name.column_name|\n  AGGREGATE agg_name agg_type|\n  FUNCTION func_name (arg1, arg2, ...)|\n  OPERATOR op (leftoperand_type rightoperand_type) |\n  TRIGGER trigger_name ON table_name\n] IS 'text'" },
-
 
     { NULL, NULL, NULL }    /* End of list marker */
 };