mirror of
https://github.com/postgres/postgres.git
synced 2025-08-27 07:42:10 +03:00
Add transforms feature
This provides a mechanism for specifying conversions between SQL data types and procedural languages. As examples, there are transforms for hstore and ltree for PL/Perl and PL/Python. reviews by Pavel Stěhule and Andres Freund
This commit is contained in:
@@ -174,6 +174,7 @@ check_xact_readonly(Node *parsetree)
|
||||
case T_CreateTableAsStmt:
|
||||
case T_RefreshMatViewStmt:
|
||||
case T_CreateTableSpaceStmt:
|
||||
case T_CreateTransformStmt:
|
||||
case T_CreateTrigStmt:
|
||||
case T_CompositeTypeStmt:
|
||||
case T_CreateEnumStmt:
|
||||
@@ -1314,6 +1315,10 @@ ProcessUtilitySlow(Node *parsetree,
|
||||
DefineOpFamily((CreateOpFamilyStmt *) parsetree);
|
||||
break;
|
||||
|
||||
case T_CreateTransformStmt:
|
||||
CreateTransform((CreateTransformStmt *) parsetree);
|
||||
break;
|
||||
|
||||
case T_AlterOpFamilyStmt:
|
||||
AlterOpFamily((AlterOpFamilyStmt *) parsetree);
|
||||
break;
|
||||
@@ -2004,6 +2009,9 @@ CreateCommandTag(Node *parsetree)
|
||||
case OBJECT_POLICY:
|
||||
tag = "DROP POLICY";
|
||||
break;
|
||||
case OBJECT_TRANSFORM:
|
||||
tag = "DROP TRANSFORM";
|
||||
break;
|
||||
default:
|
||||
tag = "???";
|
||||
}
|
||||
@@ -2263,6 +2271,10 @@ CreateCommandTag(Node *parsetree)
|
||||
}
|
||||
break;
|
||||
|
||||
case T_CreateTransformStmt:
|
||||
tag = "CREATE TRANSFORM";
|
||||
break;
|
||||
|
||||
case T_CreateTrigStmt:
|
||||
tag = "CREATE TRIGGER";
|
||||
break;
|
||||
@@ -2888,6 +2900,10 @@ GetCommandLogLevel(Node *parsetree)
|
||||
lev = LOGSTMT_DDL;
|
||||
break;
|
||||
|
||||
case T_CreateTransformStmt:
|
||||
lev = LOGSTMT_DDL;
|
||||
break;
|
||||
|
||||
case T_AlterOpFamilyStmt:
|
||||
lev = LOGSTMT_DDL;
|
||||
break;
|
||||
|
Reference in New Issue
Block a user