mirror of
				https://github.com/postgres/postgres.git
				synced 2025-11-03 09:13:20 +03:00 
			
		
		
		
	It seems potentially useful to label our shared libraries with version information, now that a facility exists for retrieving that. This patch labels them with the PG_VERSION string. There was some discussion about using semantic versioning conventions, but that doesn't seem terribly helpful for modules with no SQL-level presence; and for those that do have SQL objects, we typically expect them to support multiple revisions of the SQL definitions, so it'd still not be very helpful. I did not label any of src/test/modules/. It seems unnecessary since we don't install those, and besides there ought to be someplace that still provides test coverage for the original PG_MODULE_MAGIC macro. Author: Tom Lane <tgl@sss.pgh.pa.us> Discussion: https://postgr.es/m/dd4d1b59-d0fe-49d5-b28f-1e463b68fa32@gmail.com
		
			
				
	
	
		
			34 lines
		
	
	
		
			480 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			34 lines
		
	
	
		
			480 B
		
	
	
	
		
			C
		
	
	
	
	
	
#include "postgres.h"
 | 
						|
 | 
						|
#include "fmgr.h"
 | 
						|
#include "plperl.h"
 | 
						|
 | 
						|
 | 
						|
PG_MODULE_MAGIC_EXT(
 | 
						|
					.name = "bool_plperl",
 | 
						|
					.version = PG_VERSION
 | 
						|
);
 | 
						|
 | 
						|
PG_FUNCTION_INFO_V1(bool_to_plperl);
 | 
						|
 | 
						|
Datum
 | 
						|
bool_to_plperl(PG_FUNCTION_ARGS)
 | 
						|
{
 | 
						|
	dTHX;
 | 
						|
	bool		in = PG_GETARG_BOOL(0);
 | 
						|
 | 
						|
	return PointerGetDatum(in ? &PL_sv_yes : &PL_sv_no);
 | 
						|
}
 | 
						|
 | 
						|
 | 
						|
PG_FUNCTION_INFO_V1(plperl_to_bool);
 | 
						|
 | 
						|
Datum
 | 
						|
plperl_to_bool(PG_FUNCTION_ARGS)
 | 
						|
{
 | 
						|
	dTHX;
 | 
						|
	SV		   *in = (SV *) PG_GETARG_POINTER(0);
 | 
						|
 | 
						|
	PG_RETURN_BOOL(SvTRUE(in));
 | 
						|
}
 |