Thread: hi,i write a function in postgresql source code, how to register this function?
hi,i write a function in postgresql source code, how to register this function?
it is not an aggregate function.
i don't use 34.3"User-Defined Functions" described in http://www.postgresql.org/docs/8.4/interactive/xfunc.html, i just write it in postgresql sourcecode, how to register this function to let final user use? Should i only add one tuple in pg_process table? how to add ?
thanks!
peng
it is not an aggregate function.
i don't use 34.3"User-Defined Functions" described in http://www.postgresql.org/docs/8.4/interactive/xfunc.html, i just write it in postgresql sourcecode, how to register this function to let final user use? Should i only add one tuple in pg_process table? how to add ?
thanks!
peng
Re: hi,i write a function in postgresql source code, how to register this function?
From
Raymond O'Donnell
Date:
On 16/06/2010 17:42, sunpeng wrote: > hi,i write a function in postgresql source code, how to register this > function? > it is not an aggregate function. > i don't use 34.3"User-Defined Functions" described in > http://www.postgresql.org/docs/8.4/interactive/xfunc.html, i just write > it in postgresql sourcecode, how to register this function to let final > user use? Should i only add one tuple in pg_process table? how to add ? What do you mean by "PostgreSQL source code"? - SQL? pl/pgsql? Generally, you just execute the following SQL command: create or replace function my_function(.....) returns [return type] as $$ [function code here] $$ language [whatever - usually sql or plpgsql] ; ....or am I missing something in your question? Ray. -- Raymond O'Donnell :: Galway :: Ireland rod@iol.ie
Re: hi,i write a function in postgresql source code, how to register this function?
From
sunpeng
Date:
It's just in postgresql 8.4 source code,e.g in /backend/executor/functions.c, not in sql,not in pl/pgsql
2010/6/16 Raymond O'Donnell <rod@iol.ie>
What do you mean by "PostgreSQL source code"? - SQL? pl/pgsql?On 16/06/2010 17:42, sunpeng wrote:
> hi,i write a function in postgresql source code, how to register this
> function?
> it is not an aggregate function.
> i don't use 34.3"User-Defined Functions" described in
> http://www.postgresql.org/docs/8.4/interactive/xfunc.html, i just write
> it in postgresql sourcecode, how to register this function to let final
> user use? Should i only add one tuple in pg_process table? how to add ?
Generally, you just execute the following SQL command:
create or replace function my_function(.....) returns [return type]
as
$$
[function code here]
$$
language [whatever - usually sql or plpgsql] ;
....or am I missing something in your question?
Ray.
--
Raymond O'Donnell :: Galway :: Ireland
rod@iol.ie
Re: hi,i write a function in postgresql source code, how to register this function?
From
Adrian von Bidder
Date:
Hi, On Wednesday 16 June 2010 18.42:25 sunpeng wrote: > hi,i write a function in postgresql source code, how to register this > function? > it is not an aggregate function. > i don't use 34.3"User-Defined Functions" described in > http://www.postgresql.org/docs/8.4/interactive/xfunc.html, i just write > it in postgresql sourcecode, how to register this function to let final > user use? Should i only add one tuple in pg_process table? how to add ? Perhaps, before thinking about the low-level implementation (where you wrote the function): could you describe what you are trying to do and why you think that you can not (or should not) do this with the usual pg extension mechanisms as described in chapter 34 of the documentation? In my experience, PostgreSQL can be made to do almost everything and needs changes to the core code only in very rare cases. If you've already written the code in C, perhaps you can adapt it to work as a DSO as described in chapter 34.9 [1]? I've never done this, but from my understanding a C language module has nearly full access to all server internals, so what you are doing in functions.c should also be possible from an external module. cheers -- vbi [1] <http://www.postgresql.org/docs/8.4/interactive/xfunc-c.html> -- featured product: vim - http://vim.org
Attachment
Re: hi,i write a function in postgresql source code, how to register this function?
From
Dimitri Fontaine
Date:
sunpeng <bluevaley@gmail.com> writes: > hi,i write a function in postgresql source code, how to register this function? See src/include/catalog/pg_proc.h But you should *really* consider making it a loadable module. That's the way it makes sense for any code you want to add in the server unless you're preparing a patch for PostgreSQL itself, or you're doing a new Index Access Method that you want crash safe. Regards, -- dim