From: | Renê Salomão <rene(at)ibiz(dot)com(dot)br> |
---|---|
To: | Muhammad Shariq Muzaffar <shariq77(at)yahoo(dot)com> |
Cc: | pgsql-general(at)postgresql(dot)org, pgsql-novice(at)postgresql(dot)org |
Subject: | Re: [NOVICE] create function pl/pgsql c langauge |
Date: | 2003-03-12 16:31:36 |
Message-ID: | 20030312133136.3228a1dc.rene@ibiz.com.br |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general pgsql-novice |
Muhammad,
If I understood correctly you need create the language Pl/PgSql... why
dont you just check for CREATELANG...
Ex: prompt># createlang pgplsql database
On Wed, 12 Mar 2003 14:38:44 +0000
(GMT) Muhammad Shariq Muzaffar <shariq77(at)yahoo(dot)com> wrote:
> hi
> I have created a function in pl/pgsql for xid data
> type
>
> CREATE FUNCTION xid_neq(xid, xid) RETURNS bool AS
> 'BEGIN
> IF $2 IS NULL THEN
> return ''f'';
> ELSE
> IF $1 IS NULL THEN
> return ''f'';
> ELSE return float4in(xidout($1)) <>
> float4in(xidout($2));
> END IF;
> END IF;
> END' LANGUAGE 'plpgsql' IMMUTABLE;
>
> with the operator <>
>
> CREATE OPERATOR public.<> (
> PROCEDURE = xid_neq,
> LEFTARG = xid,
> RIGHTARG = xid,
> COMMUTATOR ='<>',
> NEGATOR ='=',
> RESTRICT = neqsel,
> JOIN = neqjoinsel);
>
> Now, to implement above code I need Pl/PgSql installed
> on the database. To solve this problem i need to
> create this function in C language. As I am novice to
> linux and pgsql, i have tried my best to implement the
> above code in c language but unable to do so.
> According to the online help i got, i think i have to
> write the code in a file outside pgsql and then i have
> to compile it through gcc. Also i think i need
> postgres.h to complete the opeartion which is
> available only in the distribution code.
>
> The code i come up with for c langauage is
>
> bool xid_neq(xid arg1,xid arg2)
> {
> if(arg1 isnull){
> return (false);
> }
> else
> if(arg2 isnull){
> return(false);
> }
> else
> return (arg1 != arg2);
> }
>
> How am i supoose to create the function now. I think i
> am very much confused in this new environment.
>
> please help...
>
> __________________________________________________
> Do You Yahoo!?
> Everything you'll ever need on one web page
> from News and Sport to Email and Music Charts
> http://uk.my.yahoo.com
>
> ---------------------------(end of
> broadcast)--------------------------- TIP 5: Have you checked our
> extensive FAQ?
>
> http://www.postgresql.org/docs/faqs/FAQ.html
>
-----------------------------
Renê Salomão
Ibiz Tecnologia -- www.ibiz.com.br
(011) 5579-3178 - R. 211
From | Date | Subject | |
---|---|---|---|
Next Message | Steve Crawford | 2003-03-12 16:31:42 | Re: Performance Problem |
Previous Message | Tom Lane | 2003-03-12 16:24:43 | Re: vacuum error |
From | Date | Subject | |
---|---|---|---|
Next Message | Bruno Wolff III | 2003-03-12 16:55:04 | Re: SERIAL does not ROLLBACK |
Previous Message | Manfred Koizar | 2003-03-12 16:24:48 | Re: SERIAL does not ROLLBACK |