diff options
| author | Peter Eisentraut <peter_e@gmx.net> | 2015-04-26 10:33:14 -0400 |
|---|---|---|
| committer | Peter Eisentraut <peter_e@gmx.net> | 2015-04-26 10:33:14 -0400 |
| commit | cac76582053ef8ea07df65fed0757f352da23705 (patch) | |
| tree | 6ae01041aa61db9d686638b9d4c3ccd30d7c6487 /src/include/nodes | |
| parent | f320cbb615e0374b18836337713239da58705cf3 (diff) | |
| download | postgresql-cac76582053ef8ea07df65fed0757f352da23705.tar.gz | |
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
Diffstat (limited to 'src/include/nodes')
| -rw-r--r-- | src/include/nodes/nodes.h | 1 | ||||
| -rw-r--r-- | src/include/nodes/parsenodes.h | 15 |
2 files changed, 16 insertions, 0 deletions
diff --git a/src/include/nodes/nodes.h b/src/include/nodes/nodes.h index 38469ef4d1..8991f3f80c 100644 --- a/src/include/nodes/nodes.h +++ b/src/include/nodes/nodes.h @@ -371,6 +371,7 @@ typedef enum NodeTag T_AlterSystemStmt, T_CreatePolicyStmt, T_AlterPolicyStmt, + T_CreateTransformStmt, /* * TAGS FOR PARSE TREE NODES (parsenodes.h) diff --git a/src/include/nodes/parsenodes.h b/src/include/nodes/parsenodes.h index 36e36d5631..852eb4fbdc 100644 --- a/src/include/nodes/parsenodes.h +++ b/src/include/nodes/parsenodes.h @@ -1265,6 +1265,7 @@ typedef enum ObjectType OBJECT_TABCONSTRAINT, OBJECT_TABLE, OBJECT_TABLESPACE, + OBJECT_TRANSFORM, OBJECT_TRIGGER, OBJECT_TSCONFIGURATION, OBJECT_TSDICTIONARY, @@ -2790,6 +2791,20 @@ typedef struct CreateCastStmt } CreateCastStmt; /* ---------------------- + * CREATE TRANSFORM Statement + * ---------------------- + */ +typedef struct CreateTransformStmt +{ + NodeTag type; + bool replace; + TypeName *type_name; + char *lang; + FuncWithArgs *fromsql; + FuncWithArgs *tosql; +} CreateTransformStmt; + +/* ---------------------- * PREPARE Statement * ---------------------- */ |
