17#ifndef PG_PUBLICATION_H
18#define PG_PUBLICATION_H
22#include "catalog/pg_publication_d.h"
29CATALOG(pg_publication,6104,PublicationRelationId)
73DECLARE_UNIQUE_INDEX(pg_publication_pubname_index, 6111, PublicationNameIndexId, pg_publication, btree(pubname name_ops));
113#ifdef EXPOSE_TO_CLIENT_CODE
115typedef enum PublishGencolsType
118 PUBLISH_GENCOLS_NONE =
'n',
121 PUBLISH_GENCOLS_STORED =
's',
177 int *ancestor_level);
192 PublishGencolsType include_gencols_type);
#define BKI_LOOKUP(catalog)
MAKE_SYSCACHE(PUBLICATIONOID, pg_publication_oid_index, 8)
Bitmapset * pub_collist_validate(Relation targetrel, List *columns)
List * GetPubPartitionOptionRelations(List *result, PublicationPartOpt pub_partopt, Oid relid)
List * GetRelationPublications(Oid relid)
bool is_schema_publication(Oid pubid)
ObjectAddress publication_add_schema(Oid pubid, Oid schemaid, bool if_not_exists)
CATALOG(pg_publication, 6104, PublicationRelationId)
struct PublicationRelInfo PublicationRelInfo
List * GetPublicationSchemas(Oid pubid)
ObjectAddress publication_add_relation(Oid pubid, PublicationRelInfo *pri, bool if_not_exists)
List * GetAllTablesPublications(void)
DECLARE_UNIQUE_INDEX(pg_publication_pubname_index, 6111, PublicationNameIndexId, pg_publication, btree(pubname name_ops))
List * GetAllSchemaPublicationRelations(Oid pubid, PublicationPartOpt pub_partopt)
struct PublicationActions PublicationActions
Publication * GetPublicationByName(const char *pubname, bool missing_ok)
List * GetSchemaPublications(Oid schemaid)
DECLARE_UNIQUE_INDEX_PKEY(pg_publication_oid_index, 6110, PublicationObjectIndexId, pg_publication, btree(oid oid_ops))
Oid GetTopMostAncestorInPublication(Oid puboid, List *ancestors, int *ancestor_level)
List * GetSchemaPublicationRelations(Oid schemaid, PublicationPartOpt pub_partopt)
FormData_pg_publication * Form_pg_publication
struct PublicationDesc PublicationDesc
Bitmapset * pub_form_cols_map(Relation relation, PublishGencolsType include_gencols_type)
Publication * GetPublication(Oid pubid)
List * GetAllTablesPublicationRelations(bool pubviaroot)
bool check_and_fetch_column_list(Publication *pub, Oid relid, MemoryContext mcxt, Bitmapset **cols)
Bitmapset * pub_collist_to_bitmapset(Bitmapset *columns, Datum pubcols, MemoryContext mcxt)
struct Publication Publication
bool is_publishable_relation(Relation rel)
List * GetPublicationRelations(Oid pubid, PublicationPartOpt pub_partopt)
PublicationActions pubactions
bool cols_valid_for_delete
bool gencols_valid_for_update
bool cols_valid_for_update
bool gencols_valid_for_delete
PublishGencolsType pubgencols_type
PublicationActions pubactions