|
30 | 30 | * |
31 | 31 | * |
32 | 32 | * IDENTIFICATION |
33 | | - * $PostgreSQL: pgsql/src/backend/replication/walsender.c,v 1.15 2010/04/1209:52:29 heikki Exp $ |
| 33 | + * $PostgreSQL: pgsql/src/backend/replication/walsender.c,v 1.16 2010/04/1210:18:50 heikki Exp $ |
34 | 34 | * |
35 | 35 | *------------------------------------------------------------------------- |
36 | 36 | */ |
@@ -506,15 +506,16 @@ WalSndKill(int code, Datum arg) |
506 | 506 | void |
507 | 507 | XLogRead(char*buf,XLogRecPtrrecptr,Sizenbytes) |
508 | 508 | { |
| 509 | +XLogRecPtrstartRecPtr=recptr; |
509 | 510 | charpath[MAXPGPATH]; |
510 | | -uint32startoff; |
511 | 511 | uint32lastRemovedLog; |
512 | 512 | uint32lastRemovedSeg; |
513 | 513 | uint32log; |
514 | 514 | uint32seg; |
515 | 515 |
|
516 | 516 | while (nbytes>0) |
517 | 517 | { |
| 518 | +uint32startoff; |
518 | 519 | intsegbytes; |
519 | 520 | intreadbytes; |
520 | 521 |
|
@@ -596,7 +597,7 @@ XLogRead(char *buf, XLogRecPtr recptr, Size nbytes) |
596 | 597 | * already have been overwritten with new WAL records. |
597 | 598 | */ |
598 | 599 | XLogGetLastRemoved(&lastRemovedLog,&lastRemovedSeg); |
599 | | -XLByteToPrevSeg(recptr,log,seg); |
| 600 | +XLByteToSeg(startRecPtr,log,seg); |
600 | 601 | if (log<lastRemovedLog|| |
601 | 602 | (log==lastRemovedLog&&seg <=lastRemovedSeg)) |
602 | 603 | { |
|