PostgreSQL Source Code
git master
|
#include "postgres.h"
#include "access/htup_details.h"
#include "access/table.h"
#include "access/xact.h"
#include "catalog/dependency.h"
#include "catalog/namespace.h"
#include "catalog/objectaddress.h"
#include "catalog/pg_class.h"
#include "catalog/pg_proc.h"
#include "commands/defrem.h"
#include "miscadmin.h"
#include "nodes/makefuncs.h"
#include "parser/parse_type.h"
#include "utils/acl.h"
#include "utils/builtins.h"
#include "utils/lsyscache.h"
#include "utils/syscache.h"
Go to the source code of this file.
Functions | |
static void | does_not_exist_skipping (ObjectType objtype, Node *object) |
static bool | owningrel_does_not_exist_skipping (List *object, const char **msg, char **name) |
static bool | schema_does_not_exist_skipping (List *object, const char **msg, char **name) |
static bool | type_in_list_does_not_exist_skipping (List *typenames, const char **msg, char **name) |
void | RemoveObjects (DropStmt *stmt) |
|
static |
Definition at line 248 of file dropcmds.c.
References generate_unaccent_rules::args, castNode, elog, ereport, errmsg(), ERROR, gettext_noop, linitial, linitial_node, list_copy(), list_copy_tail(), list_length(), list_make1, list_truncate(), llast, lsecond, lsecond_node, name, NameListToString(), TypeName::names, NOTICE, ObjectWithArgs::objargs, OBJECT_ACCESS_METHOD, OBJECT_AGGREGATE, OBJECT_CAST, OBJECT_COLLATION, OBJECT_CONVERSION, OBJECT_DOMAIN, OBJECT_EVENT_TRIGGER, OBJECT_EXTENSION, OBJECT_FDW, OBJECT_FOREIGN_SERVER, OBJECT_FUNCTION, OBJECT_LANGUAGE, OBJECT_OPCLASS, OBJECT_OPERATOR, OBJECT_OPFAMILY, OBJECT_POLICY, OBJECT_PROCEDURE, OBJECT_PUBLICATION, OBJECT_ROUTINE, OBJECT_RULE, OBJECT_SCHEMA, OBJECT_STATISTIC_EXT, OBJECT_TRANSFORM, OBJECT_TRIGGER, OBJECT_TSCONFIGURATION, OBJECT_TSDICTIONARY, OBJECT_TSPARSER, OBJECT_TSTEMPLATE, OBJECT_TYPE, ObjectWithArgs::objname, owningrel_does_not_exist_skipping(), schema_does_not_exist_skipping(), strVal, type_in_list_does_not_exist_skipping(), TypeNameListToString(), and TypeNameToString().
Referenced by RemoveObjects().
|
static |
Definition at line 143 of file dropcmds.c.
References gettext_noop, list_copy(), list_length(), list_truncate(), makeRangeVarFromNameList(), NameListToString(), NoLock, OidIsValid, RangeVarGetRelid, and schema_does_not_exist_skipping().
Referenced by does_not_exist_skipping().
void RemoveObjects | ( | DropStmt * | stmt | ) |
Definition at line 57 of file dropcmds.c.
References AccessExclusiveLock, add_exact_object_address(), Assert, DropStmt::behavior, castNode, check_object_ownership(), does_not_exist_skipping(), ereport, errcode(), errhint(), errmsg(), ERROR, free_object_addresses(), get_func_prokind(), get_object_address(), get_object_namespace(), GetUserId(), isTempNamespace(), lfirst, DropStmt::missing_ok, MyXactFlags, NameListToString(), new_object_addresses(), NoLock, OBJECT_FUNCTION, ObjectAddress::objectId, DropStmt::objects, OidIsValid, performMultipleDeletions(), pg_namespace_ownercheck(), DropStmt::removeType, table_close(), and XACT_FLAGS_ACCESSEDTEMPNAMESPACE.
Referenced by ExecDropStmt().
|
static |
Definition at line 179 of file dropcmds.c.
References gettext_noop, LookupNamespaceNoError(), makeRangeVarFromNameList(), OidIsValid, and RangeVar::schemaname.
Referenced by does_not_exist_skipping(), owningrel_does_not_exist_skipping(), and type_in_list_does_not_exist_skipping().
|
static |
Definition at line 211 of file dropcmds.c.
References gettext_noop, lfirst_node, LookupTypeNameOid(), TypeName::names, OidIsValid, schema_does_not_exist_skipping(), and TypeNameToString().
Referenced by does_not_exist_skipping().