On Sat, Jan 18, 2020 at 7:20 AM Pavel Stehule <pavel.steh...@gmail.com> wrote: > Can be nice to have a polymorphic function > > multirange(anymultirange, anyrange) returns anymultirange. This functions > should to do multirange from $2 to type $1 > > It can enhance to using polymorphic types and simplify casting.
Thanks for taking another look! I actually have that already but it is named anymultirange: regression=# select anymultirange(int4range(1,2)); anymultirange --------------- {[1,2)} (1 row) Will that work for you? I think I only wrote that to satisfy some requirement of having an anymultirange type, but I agree it could be useful. (I even used it in the regress tests.) Maybe it's worth documenting too? > when I tried to write this function in plpgsql I got > > create or replace function multirange(anymultirange, anyrange) returns > anymultirange as $$ > begin > execute format('select $2::%I', pg_typeof($1)) into $1; > return $1; > end; > $$ language plpgsql immutable strict; > > ERROR: unrecognized typtype: 109 > CONTEXT: compilation of PL/pgSQL function "multirange" near line 1 Hmm, I'll add a test for that and see if I can find the problem. Thanks! Paul