mirror of
				https://github.com/postgres/postgres.git
				synced 2025-11-03 00:08:23 -05:00 
			
		
		
		
	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
		
			
				
	
	
		
			20 lines
		
	
	
		
			646 B
		
	
	
	
		
			SQL
		
	
	
	
	
	
			
		
		
	
	
			20 lines
		
	
	
		
			646 B
		
	
	
	
		
			SQL
		
	
	
	
	
	
-- make sure the prerequisite libraries are loaded
 | 
						|
DO '1' LANGUAGE plpython2u;
 | 
						|
SELECT NULL::hstore;
 | 
						|
 | 
						|
 | 
						|
CREATE FUNCTION hstore_to_plpython2(val internal) RETURNS internal
 | 
						|
LANGUAGE C STRICT IMMUTABLE
 | 
						|
AS 'MODULE_PATHNAME', 'hstore_to_plpython';
 | 
						|
 | 
						|
CREATE FUNCTION plpython2_to_hstore(val internal) RETURNS hstore
 | 
						|
LANGUAGE C STRICT IMMUTABLE
 | 
						|
AS 'MODULE_PATHNAME', 'plpython_to_hstore';
 | 
						|
 | 
						|
CREATE TRANSFORM FOR hstore LANGUAGE plpython2u (
 | 
						|
    FROM SQL WITH FUNCTION hstore_to_plpython2(internal),
 | 
						|
    TO SQL WITH FUNCTION plpython2_to_hstore(internal)
 | 
						|
);
 | 
						|
 | 
						|
COMMENT ON TRANSFORM FOR hstore LANGUAGE plpython2u IS 'transform between hstore and Python dict';
 |