1/*-------------------------------------------------------------------------
4 * The implementation of the DISCARD command
6 * Copyright (c) 1996-2025, PostgreSQL Global Development Group
10 * src/backend/commands/discard.c
12 *-------------------------------------------------------------------------
28 * DISCARD { ALL | SEQUENCES | TEMP | PLANS }
60 * Disallow DISCARD ALL in a transaction block. This is arguably
61 * inconsistent (we don't make a similar check in the command sequence
62 * that DISCARD ALL is equivalent to), but the idea is to catch mistakes:
63 * DISCARD ALL inside a transaction block would leave the transaction
68 /* Closing portals might run user-defined code, so do that first. */
void Async_UnlistenAll(void)
void DropAllPreparedStatements(void)
void ResetSequenceCaches(void)
static void DiscardAll(bool isTopLevel)
void DiscardCommand(DiscardStmt *stmt, bool isTopLevel)
void ResetAllOptions(void)
void SetPGVariable(const char *name, List *args, bool is_local)
void LockReleaseAll(LOCKMETHODID lockmethodid, bool allLocks)
void ResetTempTableNamespace(void)
void ResetPlanCache(void)
void PortalHashTableDeleteAll(void)
void PreventInTransactionBlock(bool isTopLevel, const char *stmtType)