next update - setattr, getattr functions are working now
notes, comments?
Regards
Pavel
It is interesting!
Do you have plans to support also table variables? For example, like this:
create type composite_type_2 as (a int, b text); create variable var7 composite_type_2; select insertvar('var7','(10,Hello world\, Hello world\, Hello world)'); select insertvar('var7','(1000,Hola, hola!)'); select * from getvar('var7'); a | b ------+--------------------------------------- 10 | Hello world, Hello world, Hello world 1000 | Hola, hola!
Or it is a bad idea? Or it is not related to this patch?
Minimally in first stage I have not plan to support tables. It opens lot of questions - lot of code to implement - how to implement indexes, statistics, MVCC?
But some workaround is not hard - you can store a array of composite types.
postgres=# select setvar('a', array(select row(10,'ahoj')::test from generate_series(1,10))); ┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── │ a ╞══════════════════════════════════════════════════════════════════════════════════════════════════════════════════════ │ {"(10,ahoj)","(10,ahoj)","(10,ahoj)","(10,ahoj)","(10,ahoj)","(10,ahoj)","(10,ahoj)","(10,ahoj)","(10,ahoj)","(10,aho └────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── (1 row)