Re: casting parameters to a function

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: casting parameters to a function
Дата
Msg-id 14898.1074039394@sss.pgh.pa.us
обсуждение исходный текст
Ответ на casting parameters to a function  ("Chris Ochs" <chris@paymentonline.com>)
Список pgsql-general
"Chris Ochs" <chris@paymentonline.com> writes:
> I was playing around with trying to convert types, but it isn't working so
> far.  The function takes a single varchar[] as an argument..

> This doesn't work:
> s ALIAS FOR $1;
> in_trans_date timestamp := s[3];

> and this doesn't work either:
> in_trans_date timestamp := $1[3];

These should work, and do work in CVS tip, but in 7.4 and before you'll
need to do the assignment separately from the variable declaration, eg

    DECLARE
      s ALIAS FOR $1;
      in_trans_date timestamp;
    BEGIN
      in_trans_date := s[3];
      ...

PITA, I know, but the previous coding didn't allow any variable
references in initialization expressions.  If it really bugs you
you could drop the CVS-tip version of src/pl/plpgsql/src/gram.y
into 7.4 to get the fix:

2003-12-22 19:01  tgl

    * src/pl/plpgsql/src/gram.y: Allow plpgsql variables' default value
    expressions to reference existing variables (such as function
    parameters).  Per gripe from David Fetter.

            regards, tom lane

В списке pgsql-general по дате отправления:

Предыдущее
От: "Chris Ochs"
Дата:
Сообщение: Re: casting parameters to a function
Следующее
От: "Nigel J. Andrews"
Дата:
Сообщение: Re: Nested transaction - I am a bank ??