Re: [HACKERS] Re: [INTERFACES] retrieving varchar size - Mailing list pgsql-interfaces

From Bruce Momjian
Subject Re: [HACKERS] Re: [INTERFACES] retrieving varchar size
Date
Msg-id 199804231645.MAA26157@candle.pha.pa.us
Whole thread Raw
In response to Re: [INTERFACES] retrieving varchar size  (Hannu Krosing <hannu@trust.ee>)
List pgsql-interfaces
>
> Byron Nikolaidis wrote:
> >
> > Hello,
> >
> > I was wondering if it would be possible, in the Postgres backend, to
> > send back the defined column size for the varchar data type (and
> > possibly the char() type, i.e., bpchar) on a query?  Currently, it just
> > sends back -1 for the size, which makes it difficult in the frontend
> > (i.e., odbc driver) to determine what the size of the column is.
>
> While the right solution to this is of course getting the size from
> backend, there exists a workaround now (assuming that the query is not
> too expensive). While ASCII cursors always hide the varchar sizes,
> binary ones return the size in actual data (by zero-padding the
> returned data to max size), so one can determine the actual max
> sizes by opening the query in binary cursor and then examining
> enough records to get one non-null field for each varchar field.

As of 6.3, this is only true of char() fields.  Varchar() is now
variable length.

--
Bruce Momjian                          |  830 Blythe Avenue
maillist@candle.pha.pa.us              |  Drexel Hill, Pennsylvania 19026
  +  If your life is a hard drive,     |  (610) 353-9879(w)
  +  Christ can be your backup.        |  (610) 853-3000(h)

pgsql-interfaces by date:

Previous
From: "Michael Moss"
Date:
Subject: Can't connect with ODBC
Next
From: Bruce Momjian
Date:
Subject: Re: [HACKERS] retrieving varchar size