> If read or write fails. Position will left the same. This situation is already tracked
> in File routines, but a little bit incorrectly.
After small survey in Linux kernel code, I am not sure about it.
New patch set pos to unknown in the case of read/write fails. And do
lseek again.
> Here is the full patch for this. This patch reduce amount of lseek call ten times
> for update statement and twenty times for select statement. I tested joined update
> and count(*) select for table with rows > 170000 and 10 indices.
> I think this is worse of trying. Before lseek calls account for more than 5% of time.
> Now they are 0.89 and 0.15 respectevly.
>
> Due to only one file modification patch should be applied in src/backedn/storage/file/ dir.
--
Sincerely Yours,
Denis Perchine
----------------------------------
E-Mail: dyp@perchine.com
HomePage: http://www.perchine.com/dyp/
FidoNet: 2:5000/120.5
----------------------------------