As far as I am aware these statements are true. If you have a specific example you could provide to the contrary that would be interesting. Even if there are such conditions it does not change the fact that libpq and/or postgresql is deficient in this area. For any query, the database should be capable of describing the metadata for the columns, which includes 1) the column type and 2) the column maximum length. This is such a basic database interface principle that I very disappointed that someone has not recognized this and simply said " yes, we see the issue we will work on it". Again, *all* other major relational databases do this ... even blob fields have a maximum length reported from the database. I hope someone who truly understands database interfaces will read this thread and address the issue. For now we will have to "special case" postgres in our application until it is addressed. Thanks lm
________________________________ From: Tom Lane [mailto:[EMAIL PROTECTED] Sent: Mon 6/11/2007 5:32 PM To: Larry McGhaw Cc: Alvaro Herrera; Dann Corbit; Gregory Stark; Martijn van Oosterhout; pgsql-hackers@postgresql.org Subject: Re: [HACKERS] Selecting a constant question "Larry McGhaw" <[EMAIL PROTECTED]> writes: > I think perhaps we have lost sight of the main issue: > 1) libpq can properly describe the maximum internal data size of any > numeric or char column in a table via Pqfsize > 2) libpq can properly describe the maximum internal data size of any > varchar column via Pqfmod > 3) libpq can properly describe the maximum internal data size of any > numeric constant in a SQL statement via Pqfsize None of the above statements are actually true, at least not when you take off your blinders and note the existence of unconstrained-width numeric and text columns. > The database *knows* this size of the char constant (obviously), No, what it knows (and reports) is type information. There are a small number of datatypes where you can infer a maximum width from knowledge of the datatype. There are many others where you can't set an upper bound from this knowledge --- at least not a usefully tight one. Anyway, if we were to cast those constants to something other than unknown, it would be text, not varchar, and you'd still have the same issue. regards, tom lane