BUG #4533: Plpgsql complex type failure - Mailing list pgsql-bugs

From Rod Taylor
Subject BUG #4533: Plpgsql complex type failure
Date
Msg-id 200811161630.mAGGU5lg015672@wwwmaster.postgresql.org
Whole thread Raw
Responses Re: BUG #4533: Plpgsql complex type failure
List pgsql-bugs
The following bug has been logged online:

Bug reference:      4533
Logged by:          Rod Taylor
Email address:      rod.taylor@gmail.com
PostgreSQL version: 8.3.5
Operating system:   FreeBSD 7.0 Stable
Description:        Plpgsql complex type failure
Details:

The below script should be able to correctly set v_time to the complex type
timestamp_with_precision. It seems to take it as "timestamp with time zone"
instead creating interesting errors like this:

BEGIN
CREATE TYPE
CREATE FUNCTION
psql:/home/rbt/foo.sql:19: ERROR:  invalid input syntax for type timestamp
with time zone: "("2008-11-16 00:00:00-05",day)"
CONTEXT:  PL/pgSQL function "testfunc" line 4 at SQL statement
ROLLBACK


Note, the below continues to fail in the same way using
timestamp_with_precision%ROWTYPE.


BEGIN;

CREATE TYPE timestamp_with_precision AS
( timestamp timestamp with time zone
, timestamp_precision varchar
);

CREATE OR REPLACE FUNCTION testfunc() RETURNS boolean AS $FUNC$
DECLARE
  v_time timestamp_with_precision;
BEGIN
  SELECT (CURRENT_DATE, 'day')::timestamp_with_precision
    INTO v_time;

  RETURN true;
END;
$FUNC$ LANGUAGE plpgsql VOLATILE SECURITY DEFINER RETURNS NULL ON NULL
INPUT;

SELECT testfunc();


ROLLBACK;

pgsql-bugs by date:

Previous
From: "Marcus Kempe"
Date:
Subject: BUG #4544: Wiki user update error
Next
From: Tom Lane
Date:
Subject: Re: BUG #4533: Plpgsql complex type failure