Re: BUG #14508: PLPGSQL does not recognize nested user defined types

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
>

In response to

Browse pgsql-bugs by date

  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