Re: [GENERAL] MAGIC_MODULE and libc

2006-12-19 Thread Jeff Amiel

yup...
I did this
CREATE OR REPLACE FUNCTION getpid()
 RETURNS integer AS
$BODY$
DECLARE
  thepid integer;
BEGIN
select into thepid pg_backend_pid from pg_backend_pid();
return thepid;
END;
$BODY$
 LANGUAGE 'plpgsql' VOLATILE;

thanks!!!


Martijn van Oosterhout wrote:

On Tue, Dec 19, 2006 at 08:20:23AM -0600, Jeff Amiel wrote:
  

ERROR: incompatible library "/lib/libc.so.6": missing magic block
SQL state: XX000
Hint: Extension libraries are required to use the PG_MODULE_MAGIC macro.

I've added the appropriate macro to all my actual C code...but in this
case surely I am not expected to recompile libc...am I?  Is there an
easier way to get the pid of the current process?



In general you should use a wrapper library, but in your case
pg_backend_pid() will do it.

Have a nice day,
  


Re: [GENERAL] MAGIC_MODULE and libc

2006-12-19 Thread Martijn van Oosterhout
On Tue, Dec 19, 2006 at 08:20:23AM -0600, Jeff Amiel wrote:
> ERROR: incompatible library "/lib/libc.so.6": missing magic block
> SQL state: XX000
> Hint: Extension libraries are required to use the PG_MODULE_MAGIC macro.
> 
> I've added the appropriate macro to all my actual C code...but in this
> case surely I am not expected to recompile libc...am I?  Is there an
> easier way to get the pid of the current process?

In general you should use a wrapper library, but in your case
pg_backend_pid() will do it.

Have a nice day,
-- 
Martijn van Oosterhout  http://svana.org/kleptog/
> From each according to his ability. To each according to his ability to 
> litigate.


signature.asc
Description: Digital signature


Re: [GENERAL] MAGIC_MODULE and libc

2006-12-19 Thread Alvaro Herrera
Jeff Amiel wrote:
> I just upgraded to v8.2 and have an issue with one of my stored
> proc/functions that worked under 8.1:
> 
> CREATE OR REPLACE FUNCTION getpid()
>  RETURNS integer AS
> '/lib/libc.so.6', 'getpid'
>  LANGUAGE 'c' VOLATILE;
> 
> ERROR: incompatible library "/lib/libc.so.6": missing magic block
> SQL state: XX000
> Hint: Extension libraries are required to use the PG_MODULE_MAGIC macro.
> 
> I've added the appropriate macro to all my actual C code...but in this
> case surely I am not expected to recompile libc...am I?  Is there an
> easier way to get the pid of the current process?

I'd use MyProcPid from #include "miscadmin.h"

-- 
Alvaro Herrerahttp://www.CommandPrompt.com/
The PostgreSQL Company - Command Prompt, Inc.

---(end of broadcast)---
TIP 9: In versions below 8.0, the planner will ignore your desire to
   choose an index scan if your joining column's datatypes do not
   match


[GENERAL] MAGIC_MODULE and libc

2006-12-19 Thread Jeff Amiel

I just upgraded to v8.2 and have an issue with one of my stored
proc/functions that worked under 8.1:

CREATE OR REPLACE FUNCTION getpid()
 RETURNS integer AS
'/lib/libc.so.6', 'getpid'
 LANGUAGE 'c' VOLATILE;

ERROR: incompatible library "/lib/libc.so.6": missing magic block
SQL state: XX000
Hint: Extension libraries are required to use the PG_MODULE_MAGIC macro.

I've added the appropriate macro to all my actual C code...but in this
case surely I am not expected to recompile libc...am I?  Is there an
easier way to get the pid of the current process?

---(end of broadcast)---
TIP 1: if posting/reading through Usenet, please send an appropriate
  subscribe-nomail command to [EMAIL PROTECTED] so that your
  message can get through to the mailing list cleanly