Marko Tiikkaja <marko@joh.to> writes:
> On 1/19/14, 1:50 AM, I wrote:
>> But making this check at run time doesn't seem too hard. How broken
>> does the attached look?
> A bit broken, now that I look at it in detail. In particular, I could
> see someone doing something like:
> CREATE TABLE lotsofcolumns(f1 int, f2 int, f3 int, ..);
> DECLARE
> f1 int;
> f2 int;
> BEGIN
> SELECT * INTO f1, f2 FROM lotsofcolumns;
> I can't say I think this is a good idea, but not sure breaking this case
> is worth it either.
Um, I thought the whole point was to complain about that. If this isn't a
mistake, how can you consistently maintain the other one is?
> In bug #8893 there was some discussion which I interpreted to mean that
> we could improve this a bit by checking the number of returned columns
> during compile time if there's no * in the target list. Attached is a
> crude patch attempting to do that, which appears to be working. Any
> thoughts?
Ick. I thought you wanted to do this at first execution, anyway, not in
pl_gram.y.
regards, tom lane