diff --git a/doc/src/sgml/ref/reset.sgml b/doc/src/sgml/ref/reset.sgml index 42975740ac8eb1286cc1b3f3c2d9fdc489c3e7bd..da4c9b191cf71f5d2d4bdc3d6492b827e2e3a4a9 100644 --- a/doc/src/sgml/ref/reset.sgml +++ b/doc/src/sgml/ref/reset.sgml @@ -1,5 +1,5 @@ <!-- -$PostgreSQL: pgsql/doc/src/sgml/ref/reset.sgml,v 1.27 2006/04/25 14:09:06 momjian Exp $ +$PostgreSQL: pgsql/doc/src/sgml/ref/reset.sgml,v 1.28 2006/04/25 14:11:51 momjian Exp $ PostgreSQL documentation --> @@ -11,8 +11,7 @@ PostgreSQL documentation <refnamediv> <refname>RESET</refname> - <refpurpose>restore the value of a run-time parameter to the default value, - or reset all aspects of a session</refpurpose> + <refpurpose>restore the value of a run-time parameter to the default value</refpurpose> </refnamediv> <indexterm zone="sql-reset"> @@ -23,7 +22,6 @@ PostgreSQL documentation <synopsis> RESET <replaceable class="PARAMETER">name</replaceable> RESET ALL -RESET CONNECTION </synopsis> </refsynopsisdiv> @@ -81,20 +79,7 @@ SET <replaceable class="parameter">parameter</replaceable> TO DEFAULT </para> </listitem> </varlistentry> - - <varlistentry> - <term><literal>CONNECTION</literal></term> - <listitem> - <para> - Reset the all aspects of a session, including runtime parameters, - transaction status, temporary tables, <literal>WITH HOLD</literal> - cursors, prepared statements, and <command>LISTEN</command> - registrations. - </para> - </listitem> - </varlistentry> </variablelist> - </refsect1> <refsect1> diff --git a/src/backend/catalog/namespace.c b/src/backend/catalog/namespace.c index c1edfce8ea8b23fa9003fff88135892ab5658603..1a1fa310cdbc188c7b7b7eae2e3fc7f90b10ad3c 100644 --- a/src/backend/catalog/namespace.c +++ b/src/backend/catalog/namespace.c @@ -13,7 +13,7 @@ * Portions Copyright (c) 1994, Regents of the University of California * * IDENTIFICATION - * $PostgreSQL: pgsql/src/backend/catalog/namespace.c,v 1.83 2006/04/25 14:09:08 momjian Exp $ + * $PostgreSQL: pgsql/src/backend/catalog/namespace.c,v 1.84 2006/04/25 14:11:53 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -134,6 +134,7 @@ char *namespace_search_path = NULL; /* Local functions */ static void recomputeNamespacePath(void); static void InitTempTableNamespace(void); +static void RemoveTempRelations(Oid tempNamespaceId); static void RemoveTempRelationsCallback(int code, Datum arg); static void NamespaceCallback(Datum arg, Oid relid); @@ -1728,7 +1729,7 @@ AtEOSubXact_Namespace(bool isCommit, SubTransactionId mySubid, * in order to clean out any relations that might have been created by * a crashed backend. */ -void +static void RemoveTempRelations(Oid tempNamespaceId) { ObjectAddress object; diff --git a/src/backend/commands/async.c b/src/backend/commands/async.c index 508ba9eb5cb9f930d6519d81c836dc67203a2f8b..ae6b2f9137466c4a19e4bd9a906e5fd0f88e3121 100644 --- a/src/backend/commands/async.c +++ b/src/backend/commands/async.c @@ -7,7 +7,7 @@ * Portions Copyright (c) 1994, Regents of the University of California * * IDENTIFICATION - * $PostgreSQL: pgsql/src/backend/commands/async.c,v 1.130 2006/04/25 14:09:10 momjian Exp $ + * $PostgreSQL: pgsql/src/backend/commands/async.c,v 1.131 2006/04/25 14:11:54 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -127,6 +127,7 @@ static bool unlistenExitRegistered = false; bool Trace_notify = false; +static void Async_UnlistenAll(void); static void Async_UnlistenOnExit(int code, Datum arg); static void ProcessIncomingNotify(void); static void NotifyMyFrontEnd(char *relname, int32 listenerPID); @@ -334,7 +335,7 @@ Async_Unlisten(const char *relname) * *-------------------------------------------------------------- */ -void +static void Async_UnlistenAll(void) { Relation lRel; diff --git a/src/backend/commands/prepare.c b/src/backend/commands/prepare.c index 02f8d14c8c84245a767cddaccc3ae17063734254..3c77e8a70fec660af192cef6687dd83b69b9b2e3 100644 --- a/src/backend/commands/prepare.c +++ b/src/backend/commands/prepare.c @@ -10,7 +10,7 @@ * Copyright (c) 2002-2006, PostgreSQL Global Development Group * * IDENTIFICATION - * $PostgreSQL: pgsql/src/backend/commands/prepare.c,v 1.51 2006/04/25 14:09:11 momjian Exp $ + * $PostgreSQL: pgsql/src/backend/commands/prepare.c,v 1.52 2006/04/25 14:11:54 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -33,6 +33,7 @@ #include "utils/hsearch.h" #include "utils/memutils.h" + /* * The hash table in which prepared queries are stored. This is * per-backend: query plans are not shared between backends. @@ -546,30 +547,6 @@ DeallocateQuery(DeallocateStmt *stmt) DropPreparedStatement(stmt->name, true); } -/* - * Remove all prepared plans from the backend. - */ -void -DropAllPreparedStatements(void) -{ - PreparedStatement *prep_statement; - HASH_SEQ_STATUS status; - - if (!prepared_queries) - return; - - hash_seq_init(&status, prepared_queries); - - while ((prep_statement = (PreparedStatement *) hash_seq_search(&status))) - { - DropDependentPortals(prep_statement->context); - - /* Flush the context holding the subsidiary data */ - MemoryContextDelete(prep_statement->context); - hash_search(prepared_queries, prep_statement->stmt_name, HASH_REMOVE, NULL); - } -} - /* * Internal version of DEALLOCATE * diff --git a/src/backend/parser/gram.y b/src/backend/parser/gram.y index 75b42477712f0e939ab0b80d7a39b30de4399fc5..46aff33bc2242a9ff7e27dd96ab05b0554c5baa0 100644 --- a/src/backend/parser/gram.y +++ b/src/backend/parser/gram.y @@ -11,7 +11,7 @@ * * * IDENTIFICATION - * $PostgreSQL: pgsql/src/backend/parser/gram.y,v 2.541 2006/04/25 14:09:12 momjian Exp $ + * $PostgreSQL: pgsql/src/backend/parser/gram.y,v 2.542 2006/04/25 14:11:55 momjian Exp $ * * HISTORY * AUTHOR DATE MAJOR EVENT @@ -1244,12 +1244,6 @@ VariableResetStmt: n->name = $2; $$ = (Node *) n; } - | RESET CONNECTION - { - VariableResetStmt *n = makeNode(VariableResetStmt); - n->name = "connection"; - $$ = (Node *) n; - } | RESET TIME ZONE { VariableResetStmt *n = makeNode(VariableResetStmt); diff --git a/src/backend/utils/misc/guc.c b/src/backend/utils/misc/guc.c index 7b1321a6e6d312c3199a1380bed76ee74a4dfcd5..465e77c48856c42d2c3e1ab3c42ff7a83af76415 100644 --- a/src/backend/utils/misc/guc.c +++ b/src/backend/utils/misc/guc.c @@ -10,7 +10,7 @@ * Written by Peter Eisentraut <peter_e@gmx.net>. * * IDENTIFICATION - * $PostgreSQL: pgsql/src/backend/utils/misc/guc.c,v 1.316 2006/04/25 14:09:15 momjian Exp $ + * $PostgreSQL: pgsql/src/backend/utils/misc/guc.c,v 1.317 2006/04/25 14:11:56 momjian Exp $ * *-------------------------------------------------------------------- */ @@ -32,7 +32,6 @@ #include "catalog/namespace.h" #include "catalog/pg_type.h" #include "commands/async.h" -#include "commands/prepare.h" #include "commands/variable.h" #include "commands/vacuum.h" #include "executor/executor.h" @@ -54,7 +53,6 @@ #include "postmaster/bgwriter.h" #include "postmaster/syslogger.h" #include "postmaster/postmaster.h" -#include "storage/backendid.h" #include "storage/bufmgr.h" #include "storage/fd.h" #include "storage/freespace.h" @@ -63,13 +61,11 @@ #include "tcop/tcopprot.h" #include "utils/array.h" #include "utils/builtins.h" -#include "utils/hsearch.h" #include "utils/memutils.h" #include "utils/pg_locale.h" -#include "utils/portal.h" -#include "utils/syscache.h" #include "pgstat.h" + #ifndef PG_KRB_SRVTAB #define PG_KRB_SRVTAB "" #endif @@ -4653,33 +4649,8 @@ GetPGVariableResultDesc(const char *name) void ResetPGVariable(const char *name) { - char namespaceName[NAMEDATALEN]; - Oid namespaceId; - if (pg_strcasecmp(name, "all") == 0) - /* resetting all GUC variables */ ResetAllOptions(); - else if (pg_strcasecmp(name, "connection") == 0) - { - ResetAllOptions(); - - /* Clean temp-tables */ - snprintf(namespaceName, sizeof(namespaceName), "pg_temp_%d", - MyBackendId); - namespaceId = GetSysCacheOid(NAMESPACENAME, - CStringGetDatum(namespaceName), 0, 0, 0); - RemoveTempRelations(namespaceId); - - DropAllPreparedStatements(); - - Async_UnlistenAll(); - - /* Delete cursors, including WITH HOLD */ - PortalHashTableDeleteAll(); - - if (IsTransactionBlock()) - UserAbortTransactionBlock(); - } else set_config_option(name, NULL, diff --git a/src/backend/utils/mmgr/portalmem.c b/src/backend/utils/mmgr/portalmem.c index f91901d09b14bf1f7b5034db10230bc375677241..9af7a5f0d86ab38a2bc446184fa48f59312f0119 100644 --- a/src/backend/utils/mmgr/portalmem.c +++ b/src/backend/utils/mmgr/portalmem.c @@ -12,7 +12,7 @@ * Portions Copyright (c) 1994, Regents of the University of California * * IDENTIFICATION - * $PostgreSQL: pgsql/src/backend/utils/mmgr/portalmem.c,v 1.86 2006/04/25 14:09:16 momjian Exp $ + * $PostgreSQL: pgsql/src/backend/utils/mmgr/portalmem.c,v 1.87 2006/04/25 14:11:58 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -402,9 +402,6 @@ DropDependentPortals(MemoryContext queryContext) HASH_SEQ_STATUS status; PortalHashEnt *hentry; - if (PortalHashTable == NULL) - return; - hash_seq_init(&status, PortalHashTable); while ((hentry = (PortalHashEnt *) hash_seq_search(&status)) != NULL) @@ -416,30 +413,6 @@ DropDependentPortals(MemoryContext queryContext) } } -/* - * Delete all WITH HOLD cursors, used by RESET CONNECTION - */ -void -PortalHashTableDeleteAll(void) -{ - HASH_SEQ_STATUS status; - PortalHashEnt *hentry; - - if (PortalHashTable == NULL) - return; - - hash_seq_init(&status, PortalHashTable); - - while ((hentry = (PortalHashEnt *) hash_seq_search(&status)) != NULL) - { - Portal portal = hentry->portal; - - if ((portal->cursorOptions & CURSOR_OPT_HOLD) && - portal->status != PORTAL_ACTIVE) - PortalDrop(portal, false); - } -} - /* * Pre-commit processing for portals. diff --git a/src/include/catalog/namespace.h b/src/include/catalog/namespace.h index e3985642793181cb5460cf84768d04579f35477c..e1389bc22422c533143734095f957125eaa3c082 100644 --- a/src/include/catalog/namespace.h +++ b/src/include/catalog/namespace.h @@ -7,7 +7,7 @@ * Portions Copyright (c) 1996-2006, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * - * $PostgreSQL: pgsql/src/include/catalog/namespace.h,v 1.40 2006/04/25 14:09:16 momjian Exp $ + * $PostgreSQL: pgsql/src/include/catalog/namespace.h,v 1.41 2006/04/25 14:11:59 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -74,8 +74,6 @@ extern void PopSpecialNamespace(Oid namespaceId); extern Oid FindConversionByName(List *conname); extern Oid FindDefaultConversionProc(int4 for_encoding, int4 to_encoding); -extern void RemoveTempRelations(Oid tempNamespaceId); - /* initialization & transaction cleanup code */ extern void InitializeSearchPath(void); extern void AtEOXact_Namespace(bool isCommit); diff --git a/src/include/commands/async.h b/src/include/commands/async.h index b6ccda39c1f09ffc038597247211d909b408c3b4..fbec725617900ccbbe4a8b0814e08160dfd6bfdc 100644 --- a/src/include/commands/async.h +++ b/src/include/commands/async.h @@ -6,7 +6,7 @@ * Portions Copyright (c) 1996-2006, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * - * $PostgreSQL: pgsql/src/include/commands/async.h,v 1.32 2006/04/25 14:09:17 momjian Exp $ + * $PostgreSQL: pgsql/src/include/commands/async.h,v 1.33 2006/04/25 14:11:59 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -19,7 +19,6 @@ extern bool Trace_notify; extern void Async_Notify(const char *relname); extern void Async_Listen(const char *relname); extern void Async_Unlisten(const char *relname); -extern void Async_UnlistenAll(void); /* perform (or cancel) outbound notify processing at transaction commit */ extern void AtCommit_Notify(void); diff --git a/src/include/commands/prepare.h b/src/include/commands/prepare.h index 075d3b11520b18549254e853616cbe026b561149..49a822820a428a02eaf66616ed66ae9a2f1ae0b9 100644 --- a/src/include/commands/prepare.h +++ b/src/include/commands/prepare.h @@ -6,7 +6,7 @@ * * Copyright (c) 2002-2006, PostgreSQL Global Development Group * - * $PostgreSQL: pgsql/src/include/commands/prepare.h,v 1.19 2006/04/25 14:09:18 momjian Exp $ + * $PostgreSQL: pgsql/src/include/commands/prepare.h,v 1.20 2006/04/25 14:11:59 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -62,7 +62,6 @@ extern void StorePreparedStatement(const char *stmt_name, extern PreparedStatement *FetchPreparedStatement(const char *stmt_name, bool throwError); extern void DropPreparedStatement(const char *stmt_name, bool showError); -extern void DropAllPreparedStatements(void); extern List *FetchPreparedStatementParams(const char *stmt_name); extern TupleDesc FetchPreparedStatementResultDesc(PreparedStatement *stmt); extern bool PreparedStatementReturnsTuples(PreparedStatement *stmt); diff --git a/src/include/utils/portal.h b/src/include/utils/portal.h index e3d312ef90739b31e83483316eb2efd9ee7b4e14..d9bbd44ffedc765360b49ed095dc524a2cc0ea8a 100644 --- a/src/include/utils/portal.h +++ b/src/include/utils/portal.h @@ -39,7 +39,7 @@ * Portions Copyright (c) 1996-2006, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * - * $PostgreSQL: pgsql/src/include/utils/portal.h,v 1.60 2006/04/25 14:09:19 momjian Exp $ + * $PostgreSQL: pgsql/src/include/utils/portal.h,v 1.61 2006/04/25 14:11:59 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -200,7 +200,6 @@ extern void AtSubAbort_Portals(SubTransactionId mySubid, extern void AtSubCleanup_Portals(SubTransactionId mySubid); extern Portal CreatePortal(const char *name, bool allowDup, bool dupSilent); extern Portal CreateNewPortal(void); -extern void PortalHashTableDeleteAll(void); extern void PortalDrop(Portal portal, bool isTopCommit); extern void DropDependentPortals(MemoryContext queryContext); extern Portal GetPortalByName(const char *name); diff --git a/src/interfaces/ecpg/preproc/preproc.y b/src/interfaces/ecpg/preproc/preproc.y index 13eff2ca1f14ecafa4d830d8d480959821147f95..1f796558dabd85ee4114cadc2bf7f739fa61ee8f 100644 --- a/src/interfaces/ecpg/preproc/preproc.y +++ b/src/interfaces/ecpg/preproc/preproc.y @@ -1,4 +1,4 @@ -/* $PostgreSQL: pgsql/src/interfaces/ecpg/preproc/preproc.y,v 1.322 2006/04/25 14:09:21 momjian Exp $ */ +/* $PostgreSQL: pgsql/src/interfaces/ecpg/preproc/preproc.y,v 1.323 2006/04/25 14:11:59 momjian Exp $ */ /* Copyright comment */ %{ @@ -1196,8 +1196,6 @@ VariableResetStmt: RESET var_name { $$ = make_str("reset transaction isolation level"); } | RESET SESSION AUTHORIZATION { $$ = make_str("reset session authorization"); } - | RESET CONNECTION - { $$ = make_str("reset connection"); } | RESET ALL { $$ = make_str("reset all"); } ;