mirror of
https://github.com/postgres/postgres.git
synced 2025-11-10 17:42:29 +03:00
Logical replication
- Add PUBLICATION catalogs and DDL - Add SUBSCRIPTION catalog and DDL - Define logical replication protocol and output plugin - Add logical replication workers From: Petr Jelinek <petr@2ndquadrant.com> Reviewed-by: Steve Singer <steve@ssinger.info> Reviewed-by: Andres Freund <andres@anarazel.de> Reviewed-by: Erik Rijkers <er@xs4all.nl> Reviewed-by: Peter Eisentraut <peter.eisentraut@2ndquadrant.com>
This commit is contained in:
@@ -2134,6 +2134,64 @@ _equalAlterTSConfigurationStmt(const AlterTSConfigurationStmt *a,
|
||||
return true;
|
||||
}
|
||||
|
||||
static bool
|
||||
_equalCreatePublicationStmt(const CreatePublicationStmt *a,
|
||||
const CreatePublicationStmt *b)
|
||||
{
|
||||
COMPARE_STRING_FIELD(pubname);
|
||||
COMPARE_NODE_FIELD(options);
|
||||
COMPARE_NODE_FIELD(tables);
|
||||
COMPARE_SCALAR_FIELD(for_all_tables);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
static bool
|
||||
_equalAlterPublicationStmt(const AlterPublicationStmt *a,
|
||||
const AlterPublicationStmt *b)
|
||||
{
|
||||
COMPARE_STRING_FIELD(pubname);
|
||||
COMPARE_NODE_FIELD(options);
|
||||
COMPARE_NODE_FIELD(tables);
|
||||
COMPARE_SCALAR_FIELD(for_all_tables);
|
||||
COMPARE_SCALAR_FIELD(tableAction);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
static bool
|
||||
_equalCreateSubscriptionStmt(const CreateSubscriptionStmt *a,
|
||||
const CreateSubscriptionStmt *b)
|
||||
{
|
||||
COMPARE_STRING_FIELD(subname);
|
||||
COMPARE_STRING_FIELD(conninfo);
|
||||
COMPARE_NODE_FIELD(publication);
|
||||
COMPARE_NODE_FIELD(options);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
static bool
|
||||
_equalAlterSubscriptionStmt(const AlterSubscriptionStmt *a,
|
||||
const AlterSubscriptionStmt *b)
|
||||
{
|
||||
COMPARE_STRING_FIELD(subname);
|
||||
COMPARE_NODE_FIELD(options);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
static bool
|
||||
_equalDropSubscriptionStmt(const DropSubscriptionStmt *a,
|
||||
const DropSubscriptionStmt *b)
|
||||
{
|
||||
COMPARE_STRING_FIELD(subname);
|
||||
COMPARE_SCALAR_FIELD(drop_slot);
|
||||
COMPARE_SCALAR_FIELD(missing_ok);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
static bool
|
||||
_equalCreatePolicyStmt(const CreatePolicyStmt *a, const CreatePolicyStmt *b)
|
||||
{
|
||||
@@ -3349,6 +3407,21 @@ equal(const void *a, const void *b)
|
||||
case T_AlterPolicyStmt:
|
||||
retval = _equalAlterPolicyStmt(a, b);
|
||||
break;
|
||||
case T_CreatePublicationStmt:
|
||||
retval = _equalCreatePublicationStmt(a, b);
|
||||
break;
|
||||
case T_AlterPublicationStmt:
|
||||
retval = _equalAlterPublicationStmt(a, b);
|
||||
break;
|
||||
case T_CreateSubscriptionStmt:
|
||||
retval = _equalCreateSubscriptionStmt(a, b);
|
||||
break;
|
||||
case T_AlterSubscriptionStmt:
|
||||
retval = _equalAlterSubscriptionStmt(a, b);
|
||||
break;
|
||||
case T_DropSubscriptionStmt:
|
||||
retval = _equalDropSubscriptionStmt(a, b);
|
||||
break;
|
||||
case T_A_Expr:
|
||||
retval = _equalAExpr(a, b);
|
||||
break;
|
||||
|
||||
Reference in New Issue
Block a user