Re: Parser does not like %ROWTYPE in the RETURNS clause of a

From: Sai Hertz And Control Systems <sank89(at)sancharnet(dot)in>
To: ezra epstein <ee_newsgroup_post(at)prajnait(dot)com>
Cc: pgsql-general(at)postgresql(dot)org
Subject: Re: Parser does not like %ROWTYPE in the RETURNS clause of a
Date: 2003-12-24 17:53:00
Message-ID: 3FE9D27C.3020307@sancharnet.in
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Dear ezra epstein ;

>Using Postgres 7.4,
> the function "test" gets this: psql:temp3.sql:10: ERROR: syntax error
>at or near "%" at character 135
> the function "test2" gets this: psql:temp3.sql:10: ERROR: syntax error
>at or near "ROWTYPE" at character 141
>
>Very odd. The first doesn't even like the '%' character -- perhaps because
>doof is a table type rather than a column (domain) type???
>
>
ROWTYPE for SQL Language ???? you may please check that

><code>
>/*
> CREATE TABLE doof ( "pk_id" serial )
> WITHOUT OIDS;
>*/
>
>CREATE OR REPLACE FUNCTION test(INTEGER)
> RETURNS doof%ROWTYPE AS '
>SELECT * FROM doof WHERE pk_id=$1;
> ' LANGUAGE SQL STABLE RETURNS NULL ON NULL INPUT;
>
>CREATE OR REPLACE FUNCTION test2(INTEGER)
> RETURNS public.doof%ROWTYPE AS '
>SELECT * FROM doof WHERE pk_id=$1;
> ' LANGUAGE SQL STABLE RETURNS NULL ON NULL INPUT;
> </code>
>
>
The above code gave error on mine system also PostgreSQL 7.3.4
what I think you want to something like this
<code>

CREATE OR REPLACE FUNCTION test2(INTEGER)
RETURNS public.doof AS '
SELECT * FROM doof WHERE pk_id = $1;
' LANGUAGE SQL STABLE RETURNS NULL ON NULL INPUT;

CREATE OR REPLACE FUNCTION test1(INTEGER)
RETURNS doof AS '
SELECT * FROM doof WHERE pk_id = $1;
' LANGUAGE SQL STABLE RETURNS NULL ON NULL INPUT;
</code>
Mine Limited knowledge tells me that this is not a BUG but just an
effect of thinking out of the box
Shoot back if I was right please.
Regards,
Vishal Kashyap

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Robert Treat 2003-12-24 18:46:43 Re: Firebird and PostgreSQL at the DB Corral.
Previous Message Ron St-Pierre 2003-12-24 17:41:34 Re: Parser does not like %ROWTYPE in the RETURNS clause