Re: Selecting a constant question - Mailing list pgsql-hackers

From Alvaro Herrera
Subject Re: Selecting a constant question
Date
Msg-id 20070611221604.GB24760@alvh.no-ip.org
Whole thread Raw
In response to Re: Selecting a constant question  ("Dann Corbit" <DCorbit@connx.com>)
Responses Re: Selecting a constant question  ("Dann Corbit" <DCorbit@connx.com>)
List pgsql-hackers
Dann Corbit wrote:

> > "Dann Corbit" <DCorbit@connx.com> writes:
> > 
> > In fact psql needs it and implements this. It has to skim through the
> > entire
> > result set to calculate the column widths. It's quite a lot of work
> but
> > the
> > server is in no better position to do it than psql.
> 
> Reading the data twice sounds a little painful.  What if there are 30
> million rows?

You get an "out of memory" error.

> > On the contrary the server is missing quite a bit of information of
> > how you intend to display the information. Do you need the number of
> > bytes or characters? Are all the characters the same width in your
> > display system?  What about currency symbols? Do you intend to
> > reverse any quoting or just display backslashes?
> 
> Giving me the information about the data type will be enough.  As an
> example, in this case we have varchar data.  If the server should be so
> kind as to report varchar(1) for '1' or varchar(3) for '123' then I
> would not have any difficulty binding the data to a grid.

Oh, you have the length information for each datum all right.  It's on
the first four bytes of it.

-- 
Alvaro Herrera                               http://www.PlanetPostgreSQL.org/
"The West won the world not by the superiority of its ideas or values
or religion but rather by its superiority in applying organized violence.
Westerners often forget this fact, non-Westerners never do."
(Samuel P. Huntington)


pgsql-hackers by date:

Previous
From: "Dann Corbit"
Date:
Subject: Re: Selecting a constant question
Next
From: "Dann Corbit"
Date:
Subject: Got no response last time on setsockopt post, so I thought I would reiterate.