Re: Adding Functionality

From: Fernando Alonso Renault <proyectolsd(at)wanadoo(dot)es>
To: proyectolsd(at)wanadoo(dot)es <proyectolsd(at)wanadoo(dot)es>
Cc: pgsql-general(at)postgresql(dot)org <pgsql-general(at)postgresql(dot)org>
Subject: Re: Adding Functionality
Date: 2004-02-18 17:44:03
Message-ID: 20040218174403.F0B543BA4D6@smtp.latinmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

I read about the CREATE FUNCTION command, but the problem is that i must do it the hard way (orders are orders :( ). i learnt to do it like that in mysql, by using the CREATE FUNCTION and by adding the lines to the different files, but know i must do it adding the lines.
i tried downloading a couple of manuals but they didn't give me any clue, ideas?

Thanks!!!

************************

That stuff defines the pg_proc table. Generally you use the CREATE FUNCTION
command to add functions. It takes care of all these details for you :)

\d pg_proc might give you some info.

On Wed, Feb 18, 2004 at 11:49:39AM -0500, Fernando Alonso Renault wrote:
> Hello,
>
> i'm quite a newbie using postgres 7.2 so this may be an easy question, but how do i add new funtionality? I mean, i wanna add a couple of new functions, and i've found this files, pg_proc.h and fmgrtab.c, but i don't know the meaning of the fields, so i can't add anything.
>
> For instance, in fmgrtab.c:
>
> { 61, "chareq", 2, true, false, chareq }
>
> i know 61 is like the port or id for the function, "chareq" and chareq the name, but what about the 2, the true and the false? could be that 2 is the number of arguments?
>
> And in pg_proc.h
>
> DATA(insert OID = 61 ( chareq PGUID 12 f t t t 2 f 16 "18 18" 100 0 0 100 chareq - ))
>
> what's the meaning of those f's?
>
> Thank you very much!
>
> http://webmail.wanadoo.es. Tu correo gratuito, rápido y en español
> ---------------------------(end of broadcast)---------------------------
> TIP 3: if posting/reading through Usenet, please send an appropriate
> subscribe-nomail command to majordomo(at)postgresql(dot)org so that your
> message can get through to the mailing list cleanly

--
Martijn van Oosterhout <kleptog(at)svana(dot)org> http://svana.org/kleptog/
> If the Catholic church can survive the printing press, science fiction
> will certainly weather the advent of bookwarez.
> http://craphound.com/ebooksneitherenorbooks.txt - Cory Doctorow

http://webmail.wanadoo.es. Tu correo gratuito, rápido y en español
>From pgsql-general-owner(at)postgresql(dot)org Wed Feb 18 14:16:11 2004
X-Original-To: pgsql-general-postgresql(dot)org(at)localhost(dot)postgresql(dot)org
Received: from localhost (unknown [200.46.204.2])
by svr1.postgresql.org (Postfix) with ESMTP id 75F3BD1E133
for <pgsql-general-postgresql(dot)org(at)localhost(dot)postgresql(dot)org>; Wed, 18 Feb 2004 18:16:10 +0000 (GMT)
Received: from svr1.postgresql.org ([200.46.204.71])
by localhost (neptune.hub.org [200.46.204.2]) (amavisd-new, port 10024)
with ESMTP id 18294-10
for <pgsql-general-postgresql(dot)org(at)localhost(dot)postgresql(dot)org>;
Wed, 18 Feb 2004 14:16:04 -0400 (AST)
Received: from sss.pgh.pa.us (unknown [192.204.191.242])
by svr1.postgresql.org (Postfix) with ESMTP id 3A155D1E12C
for <pgsql-general(at)postgresql(dot)org>; Wed, 18 Feb 2004 14:16:03 -0400 (AST)
Received: from sss2.sss.pgh.pa.us (tgl(at)localhost [127.0.0.1])
by sss.pgh.pa.us (8.12.11/8.12.11) with ESMTP id i1IIG2fB024707;
Wed, 18 Feb 2004 13:16:03 -0500 (EST)
To: Fernando Alonso Renault <proyectolsd(at)wanadoo(dot)es>
Cc: "pgsql-general(at)postgresql(dot)org" <pgsql-general(at)postgresql(dot)org>
Subject: Re: Adding Functionality
In-reply-to: <20040218164939(dot)4D731183E0(at)smtp(dot)latinmail(dot)com>
References: <20040218164939(dot)4D731183E0(at)smtp(dot)latinmail(dot)com>
Comments: In-reply-to Fernando Alonso Renault <proyectolsd(at)wanadoo(dot)es>
message dated "Wed, 18 Feb 2004 11:49:39 -0500"
Date: Wed, 18 Feb 2004 13:16:02 -0500
Message-ID: <24706(dot)1077128162(at)sss(dot)pgh(dot)pa(dot)us>
From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
X-Virus-Scanned: by amavisd-new at postgresql.org
X-Archive-Number: 200402/847
X-Sequence-Number: 57558

Fernando Alonso Renault <proyectolsd(at)wanadoo(dot)es> writes:
> i'm quite a newbie using postgres 7.2 so this may be an easy question, but how do i add new funtionality? I mean, i wanna add a couple of new functions, and i've found this files, pg_proc.h and fmgrtab.c, but i don't know the meaning of the fields, so i can't add anything.

You probably should be thinking in terms of using CREATE FUNCTION rather
than hand-hacking the initial database contents. However, pg_proc
columns are documented at the top of pg_proc.h (not to mention in the
System Catalogs chapter of the developer documentation), and fmgrtab.c
is an automatically derived file that you shouldn't need to touch at all.

There is a good deal of documentation about writing new functions in the
HTML documentation, and lots of examples in the contrib/ tree. Note
that none of those examples rely on changing pg_proc.h ...

regards, tom lane

Browse pgsql-general by date

  From Date Subject
Next Message Lincoln Yeoh 2004-02-18 18:31:47 Re: PostgreSQL Indexing versus MySQL
Previous Message scott.marlowe 2004-02-18 17:35:54 Re: PostgreSQL Indexing versus MySQL