PostgreSQL Source Code git master
|
#include "postgres.h"
#include "access/table.h"
#include "access/xact.h"
#include "catalog/dependency.h"
#include "catalog/namespace.h"
#include "catalog/objectaddress.h"
#include "catalog/pg_namespace.h"
#include "catalog/pg_proc.h"
#include "commands/defrem.h"
#include "miscadmin.h"
#include "parser/parse_type.h"
#include "utils/acl.h"
#include "utils/lsyscache.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 243 of file dropcmds.c.
References generate_unaccent_rules::args, castNode, elog, ereport, errmsg(), ERROR, gettext_noop, linitial, linitial_node, list_copy_head(), list_copy_tail(), list_length(), list_make1, llast, lsecond, lsecond_node, name, NameListToString(), TypeName::names, NOTICE, ObjectWithArgs::objargs, OBJECT_ACCESS_METHOD, OBJECT_AGGREGATE, OBJECT_AMOP, OBJECT_AMPROC, OBJECT_ATTRIBUTE, OBJECT_CAST, OBJECT_COLLATION, OBJECT_COLUMN, OBJECT_CONVERSION, OBJECT_DATABASE, OBJECT_DEFACL, OBJECT_DEFAULT, OBJECT_DOMAIN, OBJECT_DOMCONSTRAINT, OBJECT_EVENT_TRIGGER, OBJECT_EXTENSION, OBJECT_FDW, OBJECT_FOREIGN_SERVER, OBJECT_FOREIGN_TABLE, OBJECT_FUNCTION, OBJECT_INDEX, OBJECT_LANGUAGE, OBJECT_LARGEOBJECT, OBJECT_MATVIEW, OBJECT_OPCLASS, OBJECT_OPERATOR, OBJECT_OPFAMILY, OBJECT_PARAMETER_ACL, OBJECT_POLICY, OBJECT_PROCEDURE, OBJECT_PUBLICATION, OBJECT_PUBLICATION_NAMESPACE, OBJECT_PUBLICATION_REL, OBJECT_ROLE, OBJECT_ROUTINE, OBJECT_RULE, OBJECT_SCHEMA, OBJECT_SEQUENCE, OBJECT_STATISTIC_EXT, OBJECT_SUBSCRIPTION, OBJECT_TABCONSTRAINT, OBJECT_TABLE, OBJECT_TABLESPACE, OBJECT_TRANSFORM, OBJECT_TRIGGER, OBJECT_TSCONFIGURATION, OBJECT_TSDICTIONARY, OBJECT_TSPARSER, OBJECT_TSTEMPLATE, OBJECT_TYPE, OBJECT_USER_MAPPING, OBJECT_VIEW, 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 139 of file dropcmds.c.
References gettext_noop, list_copy_head(), list_length(), makeRangeVarFromNameList(), name, NameListToString(), NoLock, OidIsValid, RangeVarGetRelid, and schema_does_not_exist_skipping().
Referenced by does_not_exist_skipping().
void RemoveObjects | ( | DropStmt * | stmt | ) |
Definition at line 53 of file dropcmds.c.
References AccessExclusiveLock, add_exact_object_address(), Assert, 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, MyXactFlags, NameListToString(), new_object_addresses(), NoLock, OBJECT_FUNCTION, object_ownercheck(), ObjectAddress::objectId, OidIsValid, performMultipleDeletions(), stmt, table_close(), and XACT_FLAGS_ACCESSEDTEMPNAMESPACE.
Referenced by ExecDropStmt().
|
static |
Definition at line 174 of file dropcmds.c.
References gettext_noop, LookupNamespaceNoError(), makeRangeVarFromNameList(), name, 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 206 of file dropcmds.c.
References gettext_noop, lfirst_node, LookupTypeNameOid(), name, TypeName::names, OidIsValid, schema_does_not_exist_skipping(), typenames, and TypeNameToString().
Referenced by does_not_exist_skipping().