Re: [HACKERS] Polymorphic function calls

2013-12-30 Thread knizhnik
On 12/30/2013 01:22 AM, Sergey Konoplev wrote: On Sun, Dec 29, 2013 at 8:44 AM, knizhnik knizh...@garret.ru wrote: create function volume(r base_table) returns integer as $$ begin return r.x*r.y; end; $$ language plpgsql strict stable; create function volume(r derived_table) returns integer as

Re: [HACKERS] Polymorphic function calls

2013-12-30 Thread Sergey Konoplev
On Mon, Dec 30, 2013 at 2:03 AM, knizhnik knizh...@garret.ru wrote: On 12/30/2013 01:22 AM, Sergey Konoplev wrote: On Sun, Dec 29, 2013 at 8:44 AM, knizhnik knizh...@garret.ru wrote: But passing direved_table type instead of base_table type to volume() function for record belonging to

[HACKERS] Polymorphic function calls

2013-12-29 Thread knizhnik
Is there any chance to implement polymorphic calls in PostgreSQL? Consider the following definitions: create table base_table (x integer, y integer); create table derived_table (z integer) inherits (base_table); create function volume(r base_table) returns integer as $$ begin return r.x*r.y;

Re: [HACKERS] Polymorphic function calls

2013-12-29 Thread Sergey Konoplev
On Sun, Dec 29, 2013 at 8:44 AM, knizhnik knizh...@garret.ru wrote: create function volume(r base_table) returns integer as $$ begin return r.x*r.y; end; $$ language plpgsql strict stable; create function volume(r derived_table) returns integer as $$ begin return r.x*r.y*r.z; end; $$ language