Exeption in table.Flush

Thomas Flemming tf at ttqv.com
Mon May 17 08:31:36 CDT 2010


Hi Ruslan,


>> while saveing a big amount of records, some 100.000, suddenly I got error
>> 9952A ERR_INTERNAL_SEGMENTMAP_CORRUPTED in Vtable.Flush.
>> The vdb is 2.1.GB on harddisk at this time.
>>
>> Is there a limitation in size? What can cause this?
>
> 1) by idea no limit
>
glad to hear!


> 2) what cache size ?
1MB

>
> 3) if db.Flush() give the same error?
> It is a good idea to have in your loop db.Flush() for each N records,
> Where N can be 100 or 1000, up to you.


didnt try, but will do so now.
Currently I have table.flush after every single addrecord.
Maybe not good?

Btw: do I always have to take care about the "flushing" on my own?
Or do you anyway flush on vdb.Close?

Regards,
Tom




>
>> Its a freshly created database, just one table with one blob- ond one ulong
>> field. Blobs are in average 10-15kbyte each.
>
> Can we get this on hands then?
>
> Where from you take records to add?
>
>
> =============
> 4) BIG POINT:  for Jon (jda) also:
>
> This can be workaround or way to improve stability:
>
> For such big import or batch inserts,
> It is a good idea to have in your loop db.Flush() for each N records,
> Where N can be 100 or 1000, up to you.
>
>
> INFO: we going in transactions support for Valentina provide rule that
> single transaction cannot modify data more than can keep your db cache.
>
>
>

-- 
/****************************************
**   Dipl.-Ing. Thomas Flemming
**   Software Development
**
**   Touratech AG
**   Auf dem Zimmermann 7-9
**   D-78078 Niedereschach
**
**   mail  tf at ttqv.com
**   fon   +49 (0) 7728 9279-206
**   fax   +49 (0) 7728 9279-29
**
**   http://www.ttqv.com
**   http://www.touratech.de
**
**   ... und immer dem Pfeil nach!
***************************************/


More information about the Valentina mailing list