so 18. 1. 2020 v 17:35 odesÃlatel Pavel Stehule <pavel.steh...@gmail.com> napsal:
> > > so 18. 1. 2020 v 17:07 odesÃlatel Paul A Jungwirth < > p...@illuminatedcomputing.com> napsal: > >> 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? >> > > It's better than I though > > >> 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? >> > Now, I think so name "anymultirange" is not good. Maybe better name is just "multirange" > yes > > >> > 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. >> > > ok > > >> Thanks! >> Paul >> >