> Bruce Momjian <pgman@candle.pha.pa.us> writes:
> > Actually, I think I never made the additional atttypmod changes because
> > no one had ever reported a problem, and I was confused by that.
>
> I think that after further discussion, we concluded that it wasn't
> really possible to determine an atttypmod value to attach to the
> result of most expressions. However, CAST is a special case because
> there *is* a typmod value associated with the Typename node. The
> thing I want to do is make sure we hold onto that value long enough
> to use it...
I found the area you mentioned and fixed it. Seems the other areas I
remember being a problem were fixed by me or someone else, maybe you.
I remember makeResdom and makeVar having bogus entries sometimes, but I
see now they are all fixed.
I see your issue, and I don't know the code well enough to comment on
it.
I was able to do:
test=> select 'x' as fred into test ;NOTICE: Attribute 'fred' has an unknown type Relation created;
continueSELECTtest=>\d test Table "test" Attribute | Type | Extra -----------+---------+------- fred |
unknown|
---------------------------------------------------------------------------
test=> select 'x'::varchar as fred into test ;SELECTtest=> \d test Table "test" Attribute | Type | Extra
-----------+------------+-------fred | varchar(0) |
Seems we should disallow this. This last one is the one you want to
fix:
---------------------------------------------------------------------------
test=> select 'x'::varchar(20) as fred into test ;SELECTtest=> \d test Table "test" Attribute | Type |
Extra-----------+------------+------- fred | varchar(0) |
-- Bruce Momjian | http://www.op.net/~candle pgman@candle.pha.pa.us | (610)
853-3000+ If your life is a hard drive, | 830 Blythe Avenue + Christ can be your backup. | Drexel Hill,
Pennsylvania19026