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

From: nuliknol(at)gmail(dot)com
To: pgsql-bugs(at)postgresql(dot)org
Subject: BUG #14508: PLPGSQL does not recognize nested user defined types
Date: 2017-01-23 05:31:25
Message-ID: 20170123053125.1430.91842@wrigleys.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

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 $

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message Moshe Jacobson 2017-01-23 15:23:19 Re: BUG #14456: pg_dump doesn't restore permissions on tables belonging to an extension
Previous Message Stephen Frost 2017-01-20 22:10:40 Re: BUG #14456: pg_dump doesn't restore permissions on tables belonging to an extension