Hmm. So it is. My bad, thanks Tom. I hadn’t noticed the documentation where it clearly says "This is only allowed in the FROM clause” xml_test=# select unnest(*) from (select array[1,2],array[1,2,3]) foo; ERROR: function unnest() does not exist And, yes.. I was expecting the function signature to change. Thanks for setting me straight. Tim From: Tom Lane <tgl@xxxxxxxxxxxxx> Date: Monday, 10 March 2014 15:10 To: Tim Kane <tim.kane@xxxxxxxxx> Cc: pgsql-general General <pgsql-general@xxxxxxxxxxxxxx> Subject: Re: Playing with 9.4devel - unnest Tim Kane <tim.kane@xxxxxxxxx> writes:
It's there: regression=# select * from unnest(array[1,2], array[3,4]); unnest | unnest --------+-------- 1 | 3 2 | 4 (2 rows) If you were expecting this to change, it didn't: regression=# \df unnest List of functions Schema | Name | Result data type | Argument data types | Type ------------+--------+------------------+---------------------+-------- pg_catalog | unnest | SETOF anyelement | anyarray | normal (1 row) because the new functionality arises from a parser transformation, not from a simple function. regards, tom lane |