Subject RE: [Firebird-Java] Re: Problem with SELECT Statement
Author Ryan Baldwin
Hi,

>Does this functionality, fetching all data to the client, comply with
>some newer standard?

This is just an unfortunately the way the driver implements auto commit
mode - I don't know exactly why but it was necessary (at least as far as
anyone could see) to do this to implement auto-commit with firebird.

It isn't a newer standard.

The driver ignores the value supplied to setFetchSize under all
circumstances as far as I can see and returns from getFetchSize whatever was
last passed to setFetchSize. I don't know how this affects the drivers
compliance with the JDBC standard (but other JDBC drivers do do the same) -
but you could look at it as selecting a very bad default value for this when
in auto commit mode.


>Interclient and Oracle Java clients do not fetch the data all at once,
>but only record by record using the next() method.

>We are about to change our code to compy to Jaybirds way of doing this
>but I would like to know that we are becoming more standard and not
>less standard.

Surly the simple solution would be too avoid using auto commit mode
altogether and commit explicitly where necessary. This may also bring you
other advantages in terms of performance and robustness of your application
if it is done properly. You will be just as compliant as before but avoiding
a 'feature' of JDBC which is not always easily implemented.

Personally I think auto commit mode is far more trouble then it is worth and
should not have been included in the JDBC standard, but this is just my
opinion.

Thanks
Ryan


-----Original Message-----
From: xpertmart [mailto:xpertmart@...]
Sent: 18 September 2003 17:01
To: Firebird-Java@yahoogroups.com
Subject: [Firebird-Java] Re: Problem with SELECT Statement


I only have one question regarding this.

Does this functionality, fetching all data to the client, comply with
some newer standard?

Interclient and Oracle Java clients do not fetch the data all at once,
but only record by record using the next() method.

We are about to change our code to compy to Jaybirds way of doing this
but I would like to know that we are becoming more standard and not
less standard.

Stephen

> In autocommit mode (default) all data are fetched to the client. This
> means that JayBird tries to load your 250,000 into memory.

> > If I comment the autocommit and commit statements I get an out of
> > memory message. If I add a first statement I can open the SELECT for
> > the first 70'000 records, if I put a higher number I get the
> > following output:
>




To unsubscribe from this group, send an email to:
Firebird-Java-unsubscribe@yahoogroups.com



Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/