mirror of
				https://github.com/postgres/postgres.git
				synced 2025-10-31 10:30:33 +03:00 
			
		
		
		
	On some platforms, plperl and plperlu cannot be loaded at the same time. So split the test into two separate test files.
		
			
				
	
	
		
			49 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			49 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| CREATE EXTENSION hstore;
 | |
| CREATE EXTENSION plperl;
 | |
| CREATE EXTENSION hstore_plperl;
 | |
| SELECT transforms.udt_schema, transforms.udt_name,
 | |
|        routine_schema, routine_name,
 | |
|        group_name, transform_type
 | |
| FROM information_schema.transforms JOIN information_schema.routines
 | |
|      USING (specific_catalog, specific_schema, specific_name)
 | |
| ORDER BY 1, 2, 5, 6;
 | |
|  udt_schema | udt_name | routine_schema |   routine_name   | group_name | transform_type 
 | |
| ------------+----------+----------------+------------------+------------+----------------
 | |
|  public     | hstore   | public         | hstore_to_plperl | plperl     | FROM SQL
 | |
|  public     | hstore   | public         | plperl_to_hstore | plperl     | TO SQL
 | |
| (2 rows)
 | |
| 
 | |
| -- test perl -> hstore
 | |
| CREATE FUNCTION test2() RETURNS hstore
 | |
| LANGUAGE plperl
 | |
| TRANSFORM FOR TYPE hstore
 | |
| AS $$
 | |
| $val = {a => 1, b => 'boo', c => undef};
 | |
| return $val;
 | |
| $$;
 | |
| SELECT test2();
 | |
|               test2              
 | |
| ---------------------------------
 | |
|  "a"=>"1", "b"=>"boo", "c"=>NULL
 | |
| (1 row)
 | |
| 
 | |
| -- test perl -> hstore[]
 | |
| CREATE FUNCTION test2arr() RETURNS hstore[]
 | |
| LANGUAGE plperl
 | |
| TRANSFORM FOR TYPE hstore
 | |
| AS $$
 | |
| $val = [{a => 1, b => 'boo', c => undef}, {d => 2}];
 | |
| return $val;
 | |
| $$;
 | |
| SELECT test2arr();
 | |
|                            test2arr                           
 | |
| --------------------------------------------------------------
 | |
|  {"\"a\"=>\"1\", \"b\"=>\"boo\", \"c\"=>NULL","\"d\"=>\"2\""}
 | |
| (1 row)
 | |
| 
 | |
| DROP FUNCTION test2();
 | |
| DROP FUNCTION test2arr();
 | |
| DROP EXTENSION hstore_plperl;
 | |
| DROP EXTENSION hstore;
 | |
| DROP EXTENSION plperl;
 |