Re: [BUGS] BUG #14508: PLPGSQL does not recognize nested user defined types - Mailing list pgsql-bugs

From Pavel Stehule
Subject Re: [BUGS] BUG #14508: PLPGSQL does not recognize nested user defined types
Date
Msg-id CAFj8pRCB05Srah7+V74R8HJCPLBiM_uEM4W=cUAn0+hvpoC_1g@mail.gmail.com
Whole thread Raw
In response to [BUGS] BUG #14508: PLPGSQL does not recognize nested user defined types  (nuliknol@gmail.com)
List pgsql-bugs
Hi

2017-01-23 6:31 GMT+01:00 <nuliknol@gmail.com>:
The following bug has been logged on the website:

Bug reference:      14508
Logged by:          Nulik Nol
Email address:      nuliknol@gmail.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@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-bugs

pgsql-bugs by date:

Previous
From: Stephen Frost
Date:
Subject: Re: [BUGS] BUG #14456: pg_dump doesn't restore permissions on tablesbelonging to an extension
Next
From: Вадим Акбашев
Date:
Subject: Re: [BUGS] Strange influence of default_statistics_target