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/include/utils/lsyscache.h | 3 +++ src/include/utils/syscache.h | 2 ++ 2 files changed, 5 insertions(+) (limited to 'src/include/utils') diff --git a/src/include/utils/lsyscache.h b/src/include/utils/lsyscache.h index 15bb6d94f5..ffbaa61e5e 100644 --- a/src/include/utils/lsyscache.h +++ b/src/include/utils/lsyscache.h @@ -70,6 +70,7 @@ extern void get_atttypetypmodcoll(Oid relid, AttrNumber attnum, Oid *typid, int32 *typmod, Oid *collid); extern char *get_collation_name(Oid colloid); extern char *get_constraint_name(Oid conoid); +extern char *get_language_name(Oid langoid, bool missing_ok); extern Oid get_opclass_family(Oid opclass); extern Oid get_opclass_input_type(Oid opclass); extern RegProcedure get_opcode(Oid opno); @@ -101,6 +102,8 @@ extern Oid get_rel_namespace(Oid relid); extern Oid get_rel_type_id(Oid relid); extern char get_rel_relkind(Oid relid); extern Oid get_rel_tablespace(Oid relid); +extern Oid get_transform_fromsql(Oid typid, Oid langid, List *trftypes); +extern Oid get_transform_tosql(Oid typid, Oid langid, List *trftypes); extern bool get_typisdefined(Oid typid); extern int16 get_typlen(Oid typid); extern bool get_typbyval(Oid typid); diff --git a/src/include/utils/syscache.h b/src/include/utils/syscache.h index ba0b0907df..ff9a4f2af3 100644 --- a/src/include/utils/syscache.h +++ b/src/include/utils/syscache.h @@ -80,6 +80,8 @@ enum SysCacheIdentifier RULERELNAME, STATRELATTINH, TABLESPACEOID, + TRFOID, + TRFTYPELANG, TSCONFIGMAP, TSCONFIGNAMENSP, TSCONFIGOID, -- cgit v1.2.1