1 /*-------------------------------------------------------------------------
4 * prototypes for publicationcmds.c.
7 * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group
8 * Portions Copyright (c) 1994, Regents of the University of California
10 * src/include/commands/publicationcmds.h
12 *-------------------------------------------------------------------------
15 #ifndef PUBLICATIONCMDS_H
16 #define PUBLICATIONCMDS_H
18 #include "catalog/objectaddress.h"
19 #include "parser/parse_node.h"
20 #include "utils/inval.h"
22 /* Same as MAXNUMMESSAGES in sinvaladt.c */
23 #define MAX_RELCACHE_INVAL_MSGS 4096
25 extern ObjectAddress
CreatePublication(ParseState
*pstate
, CreatePublicationStmt
*stmt
);
26 extern void AlterPublication(ParseState
*pstate
, AlterPublicationStmt
*stmt
);
27 extern void RemovePublicationById(Oid pubid
);
28 extern void RemovePublicationRelById(Oid proid
);
29 extern void RemovePublicationSchemaById(Oid psoid
);
31 extern ObjectAddress
AlterPublicationOwner(const char *name
, Oid newOwnerId
);
32 extern void AlterPublicationOwner_oid(Oid subid
, Oid newOwnerId
);
33 extern void InvalidatePublicationRels(List
*relids
);
34 extern bool pub_rf_contains_invalid_column(Oid pubid
, Relation relation
,
35 List
*ancestors
, bool pubviaroot
);
36 extern bool pub_collist_contains_invalid_column(Oid pubid
, Relation relation
,
37 List
*ancestors
, bool pubviaroot
);
39 #endif /* PUBLICATIONCMDS_H */