34 const char **msg,
char **
name);
36 const char **msg,
char **
name);
38 const char **msg,
char **
name);
60 foreach(cell1,
stmt->objects)
95 (
errcode(ERRCODE_WRONG_OBJECT_TYPE),
96 errmsg(
"\"%s\" is an aggregate function",
98 errhint(
"Use DROP AGGREGATE to drop aggregate functions.")));
153 *msg =
gettext_noop(
"relation \"%s\" does not exist, skipping");
183 *msg =
gettext_noop(
"schema \"%s\" does not exist, skipping");
215 if (typeName != NULL)
223 *msg =
gettext_noop(
"type \"%s\" does not exist, skipping");
245 const char *msg = NULL;
252 msg =
gettext_noop(
"access method \"%s\" does not exist, skipping");
262 msg =
gettext_noop(
"type \"%s\" does not exist, skipping");
270 msg =
gettext_noop(
"collation \"%s\" does not exist, skipping");
277 msg =
gettext_noop(
"conversion \"%s\" does not exist, skipping");
282 msg =
gettext_noop(
"schema \"%s\" does not exist, skipping");
288 msg =
gettext_noop(
"statistics object \"%s\" does not exist, skipping");
295 msg =
gettext_noop(
"text search parser \"%s\" does not exist, skipping");
302 msg =
gettext_noop(
"text search dictionary \"%s\" does not exist, skipping");
309 msg =
gettext_noop(
"text search template \"%s\" does not exist, skipping");
316 msg =
gettext_noop(
"text search configuration \"%s\" does not exist, skipping");
321 msg =
gettext_noop(
"extension \"%s\" does not exist, skipping");
331 msg =
gettext_noop(
"function %s(%s) does not exist, skipping");
344 msg =
gettext_noop(
"procedure %s(%s) does not exist, skipping");
357 msg =
gettext_noop(
"routine %s(%s) does not exist, skipping");
370 msg =
gettext_noop(
"aggregate %s(%s) does not exist, skipping");
383 msg =
gettext_noop(
"operator %s does not exist, skipping");
389 msg =
gettext_noop(
"language \"%s\" does not exist, skipping");
398 msg =
gettext_noop(
"cast from type %s to type %s does not exist, skipping");
407 msg =
gettext_noop(
"transform for type %s language \"%s\" does not exist, skipping");
415 msg =
gettext_noop(
"trigger \"%s\" for relation \"%s\" does not exist, skipping");
424 msg =
gettext_noop(
"policy \"%s\" for relation \"%s\" does not exist, skipping");
431 msg =
gettext_noop(
"event trigger \"%s\" does not exist, skipping");
437 msg =
gettext_noop(
"rule \"%s\" for relation \"%s\" does not exist, skipping");
444 msg =
gettext_noop(
"foreign-data wrapper \"%s\" does not exist, skipping");
448 msg =
gettext_noop(
"server \"%s\" does not exist, skipping");
457 msg =
gettext_noop(
"operator class \"%s\" does not exist for access method \"%s\", skipping");
469 msg =
gettext_noop(
"operator family \"%s\" does not exist for access method \"%s\", skipping");
476 msg =
gettext_noop(
"publication \"%s\" does not exist, skipping");
496 elog(
ERROR,
"unsupported object type: %d", (
int) objtype);
512 elog(
ERROR,
"unsupported object type: %d", (
int) objtype);
518 elog(
ERROR,
"unrecognized object type: %d", (
int) objtype);
bool object_ownercheck(Oid classid, Oid objectid, Oid roleid)
#define Assert(condition)
#define OidIsValid(objectId)
void performMultipleDeletions(const ObjectAddresses *objects, DropBehavior behavior, int flags)
void add_exact_object_address(const ObjectAddress *object, ObjectAddresses *addrs)
ObjectAddresses * new_object_addresses(void)
void free_object_addresses(ObjectAddresses *addrs)
static bool type_in_list_does_not_exist_skipping(List *typenames, const char **msg, char **name)
void RemoveObjects(DropStmt *stmt)
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)
int errhint(const char *fmt,...)
int errcode(int sqlerrcode)
int errmsg(const char *fmt,...)
#define ereport(elevel,...)
List * list_copy_tail(const List *oldlist, int nskip)
List * list_copy_head(const List *oldlist, int len)
#define AccessExclusiveLock
char get_func_prokind(Oid funcid)
char * NameListToString(const List *names)
bool isTempNamespace(Oid namespaceId)
RangeVar * makeRangeVarFromNameList(const List *names)
Oid LookupNamespaceNoError(const char *nspname)
#define RangeVarGetRelid(relation, lockmode, missing_ok)
#define castNode(_type_, nodeptr)
void check_object_ownership(Oid roleid, ObjectType objtype, ObjectAddress address, Node *object, Relation relation)
ObjectAddress get_object_address(ObjectType objtype, Node *object, Relation *relp, LOCKMODE lockmode, bool missing_ok)
Oid get_object_namespace(const ObjectAddress *address)
char * TypeNameToString(const TypeName *typeName)
char * TypeNameListToString(List *typenames)
Oid LookupTypeNameOid(ParseState *pstate, const TypeName *typeName, bool missing_ok)
@ OBJECT_PUBLICATION_NAMESPACE
#define lfirst_node(type, lc)
static int list_length(const List *l)
#define linitial_node(type, l)
#define lsecond_node(type, l)
void table_close(Relation relation, LOCKMODE lockmode)
#define XACT_FLAGS_ACCESSEDTEMPNAMESPACE