Hi John,
I'll look into it. We could add an option to Query() that will tell
the DB systems to return row-by-row. I'll investigate.
Cheers, Fons.
On Wed, 2003-07-09 at 23:34, Dr. John Krane wrote:
> Hi,
>
> I just spent the day adding a 30GB swap area (!) to my machine so I
> could query my server with TSQLServer without crashing. Unfortunately,
> I just crashed again with an out-of-memory error.
>
> Per Fons, the code collects the data in RAM and swap and then you use
> TSQLRow (I think that's the class) to get row by row. A db connection
> in MySQL would looks like:
>
> mysql -h myhostname -u myusername -p
>
> If I put a "-q" in front of the "-h", then the db would give me
> row-by-row as it found them instead of building up the huge (HUGE!)
> buffer first and giving me the rows second. Unfortunately, in root you
> are stuck with
>
> TSQLServer("myhostname", "myusername", "mypassword")
>
> ...with no place for the -q option and no code in the class to do
> anything with it. May I please request the author revisit the
> TSQLServer class to perhaps allow "-q" or some form of block transfers
> ...I am stuffing swap to the bursting...and beyond.
>
> (Although in MySQL it is possible to "limit 100000" or something to get
> the first N events, it is not to my knowledge possible to skip those
> same events when you come back for the remainder. So I don't really
> have much of a way around this.)
>
> - John
--
Org: CERN, European Laboratory for Particle Physics.
Mail: 1211 Geneve 23, Switzerland
E-Mail: Fons.Rademakers@cern.ch Phone: +41 22 7679248
WWW: http://root.cern.ch/~rdm/ Fax: +41 22 7679480
This archive was generated by hypermail 2b29 : Thu Jan 01 2004 - 17:50:13 MET