mirror of
https://github.com/postgres/postgres.git
synced 2025-07-26 01:22:12 +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:
@ -10,7 +10,7 @@
|
||||
*
|
||||
*
|
||||
* IDENTIFICATION
|
||||
* $PostgreSQL: pgsql/src/backend/tcop/utility.c,v 1.302 2008/12/04 17:51:26 petere Exp $
|
||||
* $PostgreSQL: pgsql/src/backend/tcop/utility.c,v 1.303 2008/12/19 16:25:17 petere Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@ -203,6 +203,15 @@ check_xact_readonly(Node *parsetree)
|
||||
case T_ReassignOwnedStmt:
|
||||
case T_AlterTSDictionaryStmt:
|
||||
case T_AlterTSConfigurationStmt:
|
||||
case T_CreateFdwStmt:
|
||||
case T_AlterFdwStmt:
|
||||
case T_DropFdwStmt:
|
||||
case T_CreateForeignServerStmt:
|
||||
case T_AlterForeignServerStmt:
|
||||
case T_DropForeignServerStmt:
|
||||
case T_CreateUserMappingStmt:
|
||||
case T_AlterUserMappingStmt:
|
||||
case T_DropUserMappingStmt:
|
||||
ereport(ERROR,
|
||||
(errcode(ERRCODE_READ_ONLY_SQL_TRANSACTION),
|
||||
errmsg("transaction is read-only")));
|
||||
@ -452,6 +461,42 @@ ProcessUtility(Node *parsetree,
|
||||
DropTableSpace((DropTableSpaceStmt *) parsetree);
|
||||
break;
|
||||
|
||||
case T_CreateFdwStmt:
|
||||
CreateForeignDataWrapper((CreateFdwStmt *) parsetree);
|
||||
break;
|
||||
|
||||
case T_AlterFdwStmt:
|
||||
AlterForeignDataWrapper((AlterFdwStmt *) parsetree);
|
||||
break;
|
||||
|
||||
case T_DropFdwStmt:
|
||||
RemoveForeignDataWrapper((DropFdwStmt *) parsetree);
|
||||
break;
|
||||
|
||||
case T_CreateForeignServerStmt:
|
||||
CreateForeignServer((CreateForeignServerStmt *) parsetree);
|
||||
break;
|
||||
|
||||
case T_AlterForeignServerStmt:
|
||||
AlterForeignServer((AlterForeignServerStmt *) parsetree);
|
||||
break;
|
||||
|
||||
case T_DropForeignServerStmt:
|
||||
RemoveForeignServer((DropForeignServerStmt *) parsetree);
|
||||
break;
|
||||
|
||||
case T_CreateUserMappingStmt:
|
||||
CreateUserMapping((CreateUserMappingStmt *) parsetree);
|
||||
break;
|
||||
|
||||
case T_AlterUserMappingStmt:
|
||||
AlterUserMapping((AlterUserMappingStmt *) parsetree);
|
||||
break;
|
||||
|
||||
case T_DropUserMappingStmt:
|
||||
RemoveUserMapping((DropUserMappingStmt *) parsetree);
|
||||
break;
|
||||
|
||||
case T_DropStmt:
|
||||
{
|
||||
DropStmt *stmt = (DropStmt *) parsetree;
|
||||
@ -1310,6 +1355,42 @@ CreateCommandTag(Node *parsetree)
|
||||
tag = "DROP TABLESPACE";
|
||||
break;
|
||||
|
||||
case T_CreateFdwStmt:
|
||||
tag = "CREATE FOREIGN DATA WRAPPER";
|
||||
break;
|
||||
|
||||
case T_AlterFdwStmt:
|
||||
tag = "ALTER FOREIGN DATA WRAPPER";
|
||||
break;
|
||||
|
||||
case T_DropFdwStmt:
|
||||
tag = "DROP FOREIGN DATA WRAPPER";
|
||||
break;
|
||||
|
||||
case T_CreateForeignServerStmt:
|
||||
tag = "CREATE SERVER";
|
||||
break;
|
||||
|
||||
case T_AlterForeignServerStmt:
|
||||
tag = "ALTER SERVER";
|
||||
break;
|
||||
|
||||
case T_DropForeignServerStmt:
|
||||
tag = "DROP SERVER";
|
||||
break;
|
||||
|
||||
case T_CreateUserMappingStmt:
|
||||
tag = "CREATE USER MAPPING";
|
||||
break;
|
||||
|
||||
case T_AlterUserMappingStmt:
|
||||
tag = "ALTER USER MAPPING";
|
||||
break;
|
||||
|
||||
case T_DropUserMappingStmt:
|
||||
tag = "DROP USER MAPPING";
|
||||
break;
|
||||
|
||||
case T_DropStmt:
|
||||
switch (((DropStmt *) parsetree)->removeType)
|
||||
{
|
||||
@ -1523,6 +1604,12 @@ CreateCommandTag(Node *parsetree)
|
||||
case OBJECT_TSDICTIONARY:
|
||||
tag = "ALTER TEXT SEARCH DICTIONARY";
|
||||
break;
|
||||
case OBJECT_FDW:
|
||||
tag = "ALTER FOREIGN DATA WRAPPER";
|
||||
break;
|
||||
case OBJECT_FOREIGN_SERVER:
|
||||
tag = "ALTER SERVER";
|
||||
break;
|
||||
default:
|
||||
tag = "???";
|
||||
break;
|
||||
@ -2037,6 +2124,18 @@ GetCommandLogLevel(Node *parsetree)
|
||||
lev = LOGSTMT_DDL;
|
||||
break;
|
||||
|
||||
case T_CreateFdwStmt:
|
||||
case T_AlterFdwStmt:
|
||||
case T_DropFdwStmt:
|
||||
case T_CreateForeignServerStmt:
|
||||
case T_AlterForeignServerStmt:
|
||||
case T_DropForeignServerStmt:
|
||||
case T_CreateUserMappingStmt:
|
||||
case T_AlterUserMappingStmt:
|
||||
case T_DropUserMappingStmt:
|
||||
lev = LOGSTMT_DDL;
|
||||
break;
|
||||
|
||||
case T_DropStmt:
|
||||
lev = LOGSTMT_DDL;
|
||||
break;
|
||||
|
Reference in New Issue
Block a user