C Extension woes
От | Tim Hawes |
---|---|
Тема | C Extension woes |
Дата | |
Msg-id | 48A2BCD0.3030105@novadine.com обсуждение исходный текст |
Ответы |
Re: C Extension woes
Re: C Extension woes |
Список | pgsql-hackers |
Hello all, I am trying to write an extension in C that returns a simple environment variable. The code compiles without any complaint or warning, and it loads fine into the database, however, when I run the function, I get disconnected from the server. Here is my C code: #include <postgres.h> #include <fmgr.h> PG_MODULE_MAGIC; #include <stdio.h> #include <stdlib.h> PG_FUNCTION_INFO_V1(pl_masterkey); text * pl_masterkey(PG_FUNCTION_ARGS) { char *e_var = getenv("PGMASTERKEY"); size_t length = VARSIZE(e_var) - VARHDRSZ; text * mkey = (text *) palloc(length); VARATT_SIZEP(mkey) = length; memcpy(VARDATA(mkey), e_var, length); return mkey; } And here is the SQL I use to create the function in PostgreSQL: CREATE FUNCTION pl_masterkey() RETURNS text AS 'pl_masterkey', 'pl_masterkey' LANGUAGE C STRICT; And the results: select pl_masterkey(); server closed the connection unexpectedly This probably means the server terminated abnormally before or whileprocessing the request. The connection to the server was lost. Attempting reset: Failed. !> Thanks ahead of time for any and all help.
В списке pgsql-hackers по дате отправления: