]> granicus.if.org Git - postgresql/commit
> If read or write fails. Position will left the same. This
authorBruce Momjian <bruce@momjian.us>
Wed, 14 Jun 2000 03:19:24 +0000 (03:19 +0000)
committerBruce Momjian <bruce@momjian.us>
Wed, 14 Jun 2000 03:19:24 +0000 (03:19 +0000)
commita194574ddee4dd1876835516aed2f4fbd7a4a4c7
tree6bce8e7d4aa8a5ecd4751224e94b5e612308e64f
parent434adee656cbebb18bf9526eecc97124361eca34
> 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 ti mes for update statement and twenty times for
> select statement. I tested joined up date 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% o
> f time.  Now they are 0.89 and 0.15 respectevly.
>
> Due to only one file modification patch should be applied in
> src/backedn/stora ge/file/ dir.

-- Sincerely Yours,
Denis Perchine
src/backend/storage/file/fd.c