mirror of
https://github.com/postgres/postgres.git
synced 2025-11-10 17:42:29 +03:00
SQL/MED catalog manipulation facilities
This doesn't do any remote or external things yet, but it gives modules like plproxy and dblink a standardized and future-proof system for managing their connection information. Martin Pihlak and Peter Eisentraut
This commit is contained in:
@@ -22,7 +22,7 @@
|
||||
* Portions Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
* IDENTIFICATION
|
||||
* $PostgreSQL: pgsql/src/backend/nodes/equalfuncs.c,v 1.340 2008/12/04 17:51:26 petere Exp $
|
||||
* $PostgreSQL: pgsql/src/backend/nodes/equalfuncs.c,v 1.341 2008/12/19 16:25:17 petere Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@@ -1518,6 +1518,99 @@ _equalDropTableSpaceStmt(DropTableSpaceStmt *a, DropTableSpaceStmt *b)
|
||||
return true;
|
||||
}
|
||||
|
||||
static bool
|
||||
_equalCreateFdwStmt(CreateFdwStmt *a, CreateFdwStmt *b)
|
||||
{
|
||||
COMPARE_STRING_FIELD(fdwname);
|
||||
COMPARE_STRING_FIELD(library);
|
||||
COMPARE_NODE_FIELD(options);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
static bool
|
||||
_equalAlterFdwStmt(AlterFdwStmt *a, AlterFdwStmt *b)
|
||||
{
|
||||
COMPARE_STRING_FIELD(fdwname);
|
||||
COMPARE_STRING_FIELD(library);
|
||||
COMPARE_NODE_FIELD(options);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
static bool
|
||||
_equalDropFdwStmt(DropFdwStmt *a, DropFdwStmt *b)
|
||||
{
|
||||
COMPARE_STRING_FIELD(fdwname);
|
||||
COMPARE_SCALAR_FIELD(missing_ok);
|
||||
COMPARE_SCALAR_FIELD(behavior);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
static bool
|
||||
_equalCreateForeignServerStmt(CreateForeignServerStmt *a, CreateForeignServerStmt *b)
|
||||
{
|
||||
COMPARE_STRING_FIELD(servername);
|
||||
COMPARE_STRING_FIELD(servertype);
|
||||
COMPARE_STRING_FIELD(version);
|
||||
COMPARE_STRING_FIELD(fdwname);
|
||||
COMPARE_NODE_FIELD(options);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
static bool
|
||||
_equalAlterForeignServerStmt(AlterForeignServerStmt *a, AlterForeignServerStmt *b)
|
||||
{
|
||||
COMPARE_STRING_FIELD(servername);
|
||||
COMPARE_STRING_FIELD(version);
|
||||
COMPARE_NODE_FIELD(options);
|
||||
COMPARE_SCALAR_FIELD(has_version);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
static bool
|
||||
_equalDropForeignServerStmt(DropForeignServerStmt *a, DropForeignServerStmt *b)
|
||||
{
|
||||
COMPARE_STRING_FIELD(servername);
|
||||
COMPARE_SCALAR_FIELD(missing_ok);
|
||||
COMPARE_SCALAR_FIELD(behavior);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
static bool
|
||||
_equalCreateUserMappingStmt(CreateUserMappingStmt *a, CreateUserMappingStmt *b)
|
||||
{
|
||||
COMPARE_STRING_FIELD(username);
|
||||
COMPARE_STRING_FIELD(servername);
|
||||
COMPARE_NODE_FIELD(options);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
static bool
|
||||
_equalAlterUserMappingStmt(AlterUserMappingStmt *a, AlterUserMappingStmt *b)
|
||||
{
|
||||
COMPARE_STRING_FIELD(username);
|
||||
COMPARE_STRING_FIELD(servername);
|
||||
COMPARE_NODE_FIELD(options);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
static bool
|
||||
_equalDropUserMappingStmt(DropUserMappingStmt *a, DropUserMappingStmt *b)
|
||||
{
|
||||
COMPARE_STRING_FIELD(username);
|
||||
COMPARE_STRING_FIELD(servername);
|
||||
COMPARE_SCALAR_FIELD(missing_ok);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
static bool
|
||||
_equalCreateTrigStmt(CreateTrigStmt *a, CreateTrigStmt *b)
|
||||
{
|
||||
@@ -1956,6 +2049,15 @@ _equalDefElem(DefElem *a, DefElem *b)
|
||||
return true;
|
||||
}
|
||||
|
||||
static bool
|
||||
_equalOptionDefElem(OptionDefElem *a, OptionDefElem *b)
|
||||
{
|
||||
COMPARE_SCALAR_FIELD(alter_op);
|
||||
COMPARE_NODE_FIELD(def);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
static bool
|
||||
_equalLockingClause(LockingClause *a, LockingClause *b)
|
||||
{
|
||||
@@ -2534,6 +2636,33 @@ equal(void *a, void *b)
|
||||
case T_DropTableSpaceStmt:
|
||||
retval = _equalDropTableSpaceStmt(a, b);
|
||||
break;
|
||||
case T_CreateFdwStmt:
|
||||
retval = _equalCreateFdwStmt(a, b);
|
||||
break;
|
||||
case T_AlterFdwStmt:
|
||||
retval = _equalAlterFdwStmt(a, b);
|
||||
break;
|
||||
case T_DropFdwStmt:
|
||||
retval = _equalDropFdwStmt(a, b);
|
||||
break;
|
||||
case T_CreateForeignServerStmt:
|
||||
retval = _equalCreateForeignServerStmt(a, b);
|
||||
break;
|
||||
case T_AlterForeignServerStmt:
|
||||
retval = _equalAlterForeignServerStmt(a, b);
|
||||
break;
|
||||
case T_DropForeignServerStmt:
|
||||
retval = _equalDropForeignServerStmt(a, b);
|
||||
break;
|
||||
case T_CreateUserMappingStmt:
|
||||
retval = _equalCreateUserMappingStmt(a, b);
|
||||
break;
|
||||
case T_AlterUserMappingStmt:
|
||||
retval = _equalAlterUserMappingStmt(a, b);
|
||||
break;
|
||||
case T_DropUserMappingStmt:
|
||||
retval = _equalDropUserMappingStmt(a, b);
|
||||
break;
|
||||
case T_CreateTrigStmt:
|
||||
retval = _equalCreateTrigStmt(a, b);
|
||||
break;
|
||||
@@ -2661,6 +2790,9 @@ equal(void *a, void *b)
|
||||
case T_DefElem:
|
||||
retval = _equalDefElem(a, b);
|
||||
break;
|
||||
case T_OptionDefElem:
|
||||
retval = _equalOptionDefElem(a, b);
|
||||
break;
|
||||
case T_LockingClause:
|
||||
retval = _equalLockingClause(a, b);
|
||||
break;
|
||||
|
||||
Reference in New Issue
Block a user