From cac76582053ef8ea07df65fed0757f352da23705 Mon Sep 17 00:00:00 2001 From: Peter Eisentraut Date: Sun, 26 Apr 2015 10:33:14 -0400 Subject: Add transforms feature MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 --- src/backend/nodes/copyfuncs.c | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'src/backend/nodes/copyfuncs.c') diff --git a/src/backend/nodes/copyfuncs.c b/src/backend/nodes/copyfuncs.c index 59c755d7a5..1685efe254 100644 --- a/src/backend/nodes/copyfuncs.c +++ b/src/backend/nodes/copyfuncs.c @@ -3625,6 +3625,20 @@ _copyImportForeignSchemaStmt(const ImportForeignSchemaStmt *from) return newnode; } +static CreateTransformStmt * +_copyCreateTransformStmt(const CreateTransformStmt *from) +{ + CreateTransformStmt *newnode = makeNode(CreateTransformStmt); + + COPY_SCALAR_FIELD(replace); + COPY_NODE_FIELD(type_name); + COPY_STRING_FIELD(lang); + COPY_NODE_FIELD(fromsql); + COPY_NODE_FIELD(tosql); + + return newnode; +} + static CreateTrigStmt * _copyCreateTrigStmt(const CreateTrigStmt *from) { @@ -4568,6 +4582,9 @@ copyObject(const void *from) case T_ImportForeignSchemaStmt: retval = _copyImportForeignSchemaStmt(from); break; + case T_CreateTransformStmt: + retval = _copyCreateTransformStmt(from); + break; case T_CreateTrigStmt: retval = _copyCreateTrigStmt(from); break; -- cgit v1.2.1