Re: extract and variables in PL/pgSQL

From: Jan Wieck <janwieck(at)yahoo(dot)com>
To: Roberto Mello <rmello(at)cc(dot)usu(dot)edu>
Cc: pgsql-sql(at)postgresql(dot)org
Subject: Re: extract and variables in PL/pgSQL
Date: 2002-06-06 12:20:55
Message-ID: 200206061220.g56CKtO26245@saturn.janwieck.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-sql

Roberto Mello wrote:
> Hi,
>
> Someone in another list asked about this function. I'm not sure why it
> doesn't work. What am I missing?
>
> CREATE FUNCTION zastras(timestamp) RETURNS integer AS '
> declare
> w_temp1 alias for $1;
> w_result integer;
> begin
> SELECT INTO w_result EXTRACT(epoch from timestamp w_temp1);
> return w_result;
>
> end;
> ' language 'plpgsql';
>
> NOTICE: Error occurred while executing PL/pgSQL function zastras
> NOTICE: line 5 at select into variables

First you're missing the error message, which should read
something like

ERROR: parser: parse error at or near "$1"

Doesn't help much here, but it is usually a good idea to
include error messages in reports like this.

I'm not 100% sure, but it seems that the PostgreSQL main
parser doesn't support parameters in the place of this
"timestamp" expression construct.

It works if you leave out the keyword "timestamp" writing

SELECT INTO w_result EXTRACT(epoch from w_temp1);

because the variable w_temp1 is known to be of type timestamp
already and therefore the a_expr node on the right hand side
of from is valid.

Jan

--

#======================================================================#
# It's easier to get forgiveness for being wrong than for being right. #
# Let's break this rule - forgive me. #
#================================================== JanWieck(at)Yahoo(dot)com #

In response to

Responses

Browse pgsql-sql by date

  From Date Subject
Next Message Travis Hoyt 2002-06-06 12:47:49 Re: PostgreSQL on AIX
Previous Message Bruno Wolff III 2002-06-06 11:48:24 Re: how to reset serials