Re: plpgsql - DECLARE - cannot to use %TYPE or %ROWTYPE for composite types

From: Artur Zakirov <a(dot)zakirov(at)postgrespro(dot)ru>
To: Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com>, PostgreSQL Hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: plpgsql - DECLARE - cannot to use %TYPE or %ROWTYPE for composite types
Date: 2015-12-21 15:21:08
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

I have tried to do some review of this patch. Below are my comments.


This patch fixes and adds the following functionality:
- %TYPE - now can be used for composite types.
- %ARRAYTYPE - new functionality, provides the array type from a
variable or table column.
- %ELEMENTTYPE - new funcitonality, provides the element type of a given

New regression tests are included in the patch. Changes to the
documentation are not provided.

Initial Run:

The patch applies correctly to HEAD. Regression tests pass successfully,
without errors. It seems that the patch work as you expected.


It seems patch have not possible performance issues for the existing


The style looks fine. I attached the patch that does some corrections in
code and documentation. I have corrected indentation in pl_comp.c and
"read_datatype" function in pl_gram.y. I think changes in
"read_datatype" function would be better to avoid a code duplication.
But I could be wrong of course.


The patch could be applied on master with documentation corrections. But
I'm not sure that your task could be resloved only by adding %ARRAYTYPE
and %ELEMENTTYPE. Maybe you will give some examples?

Artur Zakirov
Postgres Professional:
Russian Postgres Company

Attachment Content-Type Size
plpgsql-polymorphic-row-var-2.patch text/x-patch 7.6 KB

In response to


Browse pgsql-hackers by date

  From Date Subject
Next Message Viktor Leis 2015-12-21 15:57:14 Re: Experimental evaluation of PostgreSQL's query optimizer
Previous Message Fabien COELHO 2015-12-21 15:16:52 Re: extend pgbench expressions with functions