Subject Re: [firebird-support] BLOB not found
Author Santini
Helen,

> I think you have more investigation to do and I can only offer some
thoughts:
>
> The first thing to do for your test (and in production!!) is to break the
> operation into batches and commit after each 20,000 rows. There's an
upper
> limit on how many rows you should insert in a single transaction (in all
> events!). You were lucky to get 159,999 good writes. A million is a
> far-far stretch.

Each record is commited, this is, there are 1.000.000 of commits too.

> You have extra overhead on the server with respect to your blobs because
> you are passing a string, which has to be converted to a blob before the
> server can begin laying it down in segments. Since the data are identical
> for every insert, you can discount invalid data. After 159,999 inserts
you
> began to get garbage (cross-linking of blob-ids or similar).

This is just a test. The program, in fact, is rudimentary.

> On the 160,000th write, the server created a blob-id but was unable to
> store the blob (for whatever reason: memory? not enough disk space to
> allocate another page?). You should have got an exception during the
> insert operation. If you didn't, I'd consider that a bug.

I have not a exception.

> I simply don't believe you ever successfully did this test on Fb 1.0.3
with
> a million inserts in a single transaction.

Try to do this with 1.0.3. You will believe.

> I think you are not helping yourself by refusing to raise this problem on
> the Java list.

Now, I will to build a Delphi program.

> You asked me what I think. That's what I think.

Thank you for your time.

> /heLen

Rafael Santini