Greg Stark <gsstark@mit.edu> writes:
> Uhm, doesn't the spec have anything to say about this?
> I mean, the view sure looks like standard SQL on its face.
Well, you might read the spec as requiring the view column to have
datatype CHAR(n) where n is the length of the unknown literal.
I see in SQL92:
9) The data type of a <character string literal> is fixed-length character string. The length of a
<characterstring literal> is the number of <character representation>s that it contains. ...
Note: <character string literal>s are allowed to be zero-length strings (i.e., to contain no characters)
eventhough it is not permitted to declare a <data type> that is CHARACTER with <length> zero.
The NOTE would appear to imply that
CREATE VIEW v AS SELECT '';
is illegal, which is not a conclusion I care to follow blindly. In any
case, in Postgres I would think we would want to take the type as "text"
not "CHAR(n)", spec or no spec.
regards, tom lane