From: | Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com> |
---|---|
To: | nuliknol(at)gmail(dot)com |
Cc: | "pgsql-bugs(at)postgresql(dot)org" <pgsql-bugs(at)postgresql(dot)org> |
Subject: | Re: BUG #14508: PLPGSQL does not recognize nested user defined types |
Date: | 2017-01-23 16:01:58 |
Message-ID: | CAFj8pRCB05Srah7+V74R8HJCPLBiM_uEM4W=cUAn0+hvpoC_1g@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-bugs |
Hi
2017-01-23 6:31 GMT+01:00 <nuliknol(at)gmail(dot)com>:
> The following bug has been logged on the website:
>
> Bug reference: 14508
> Logged by: Nulik Nol
> Email address: nuliknol(at)gmail(dot)com
> PostgreSQL version: 9.6.1
> Operating system: Linux
> Description:
>
> Details are here:
> http://stackoverflow.com/questions/41798781/how-do-i-
> access-a-field-of-nested-user-defined-types/41799522#41799522
>
> To reproduce:
>
> sqls $ cat animal.sql
> DROP TYPE IF EXISTS zoo_t CASCADE;
> CREATE TYPE zoo_t AS (
> wolf_object animal_t,
> bear_object animal_t
>
> );
> DROP TYPE IF EXISTS animal_t CASCADE;
> CREATE TYPE animal_t AS (
> animal_id integer,
> animal_color varchar,
> animal_name varchar
> );
> CREATE OR REPLACE FUNCTION animal_func()
> RETURNS void AS $$
> DECLARE
> v_animal animal_t;
> v_zoo zoo_t;
> BEGIN
> v_animal.animal_name:='Chupacabras';
> v_zoo.bear_object.animal_name='Mishka';
> END;
> $$ LANGUAGE PLPGSQL;
> Trying to run it:
>
> sqls $ psql dev < animal.sql
> DROP TYPE
> CREATE TYPE
> NOTICE: drop cascades to 2 other objects
> DETAIL: drop cascades to composite type zoo_t column wolf_object
> drop cascades to composite type zoo_t column bear_object
> DROP TYPE
> CREATE TYPE
> ERROR: "v_zoo.bear_object.animal_name" is not a known variable
> LINE 8: v_zoo.bear_object.animal_name='Mishka';
> ^
> sqls $
>
>
It is not a bug - it is missing feature - left part of assign statement can
be variable, array field or record field. Nested structures are not
supported now - maybe in future.
Regards
Pavel Stehule
>
> --
> Sent via pgsql-bugs mailing list (pgsql-bugs(at)postgresql(dot)org)
> To make changes to your subscription:
> http://www.postgresql.org/mailpref/pgsql-bugs
>
From | Date | Subject | |
---|---|---|---|
Next Message | Вадим Акбашев | 2017-01-24 07:18:05 | Re: Strange influence of default_statistics_target |
Previous Message | Stephen Frost | 2017-01-23 15:32:43 | Re: BUG #14456: pg_dump doesn't restore permissions on tables belonging to an extension |