codekingpro/portable-devtools
114k
1/*-------------------------------------------------------------------------2 *3 * publicationcmds.h4 * prototypes for publicationcmds.c.5 *6 *7 * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group8 * Portions Copyright (c) 1994, Regents of the University of California9 *10 * src/include/commands/publicationcmds.h11 *12 *-------------------------------------------------------------------------13 */14 15#ifndef PUBLICATIONCMDS_H16#define PUBLICATIONCMDS_H17 18#include "catalog/objectaddress.h"19#include "parser/parse_node.h"20#include "utils/inval.h"21 22/* Same as MAXNUMMESSAGES in sinvaladt.c */23#define MAX_RELCACHE_INVAL_MSGS 409624 25extern ObjectAddress CreatePublication(ParseState *pstate, CreatePublicationStmt *stmt);26extern void AlterPublication(ParseState *pstate, AlterPublicationStmt *stmt);27extern void RemovePublicationById(Oid pubid);28extern void RemovePublicationRelById(Oid proid);29extern void RemovePublicationSchemaById(Oid psoid);30 31extern ObjectAddress AlterPublicationOwner(const char *name, Oid newOwnerId);32extern void AlterPublicationOwner_oid(Oid subid, Oid newOwnerId);33extern void InvalidatePublicationRels(List *relids);34extern bool pub_rf_contains_invalid_column(Oid pubid, Relation relation,35 List *ancestors, bool pubviaroot);36extern bool pub_collist_contains_invalid_column(Oid pubid, Relation relation,37 List *ancestors, bool pubviaroot);38 39#endif /* PUBLICATIONCMDS_H */40 