Re: BUG #7808: unnest doesn't handle nulls in array of composite typescorrectly
От | Tom Lane |
---|---|
Тема | Re: BUG #7808: unnest doesn't handle nulls in array of composite typescorrectly |
Дата | |
Msg-id | 4240.1469583457@sss.pgh.pa.us обсуждение исходный текст |
Ответ на | Re: BUG #7808: unnest doesn't handle nulls in array of composite typescorrectly (Andrew Gierth <andrew@tao11.riddles.org.uk>) |
Ответы |
Re: BUG #7808: unnest doesn't handle nulls in array of composite typescorrectly
|
Список | pgsql-bugs |
Andrew Gierth <andrew@tao11.riddles.org.uk> writes: > "Tom" == Tom Lane <tgl@sss.pgh.pa.us> writes: > Tom> I think the theory behind the existing code here is that if the > Tom> SRF wants its output to be interpreted as an all-nulls row, it can > Tom> perfectly well return an all-nulls row. I wonder whether we > Tom> should address this by adjusting unnest's behavior instead. > One problem with changing unnest() is that it makes the operation > array(select unnest(a)) return an array that's not equal to the original > one (and which takes up a lot more space if there are many nulls). Fair point. I didn't much like the "initial_nulls" counter in your patch, but actually there's no reason we can't just push an all-nulls row into the tuplestore immediately on seeing a null, the same way as happens in the last-ditch case at the bottom of ExecMakeTableFunctionResult. I whacked that around a bit and pushed it. regards, tom lane
В списке pgsql-bugs по дате отправления: