Обсуждение: Re: [COMMITTERS] pgsql: Convert wal_sync_method to guc enum.
Magnus Hagander wrote: > Tom Lane wrote: > > mha@postgresql.org (Magnus Hagander) writes: > > > Convert wal_sync_method to guc enum. > > > > Buildfarm says you broke things for Windows. > > Yeah, working on that with Dave. First part was to unbreak the error > message so we can actually figure out what's broken :-( > I need to leave for a couple of hours, will look again when I get back. But so far, I'm quite surprised. Here's my reasoning, please poke holes in it :-) 1) Win32 always defines O_DSYNC (win32.h) 2) That means we should always define OPEN_DATASYNC_FLAG (xlogdefs.h, line 107) 3) That means that the error should not happen at all, because of xlog.c line 6358. Anybody who can kill this argument before I get back ;-) It's obviously flawed somewhere... //Magnus
Magnus Hagander <magnus@hagander.net> writes: > I need to leave for a couple of hours, will look again when I get back. > But so far, I'm quite surprised. Here's my reasoning, please poke holes > in it :-) I think you forgot to handle SYNC_METHOD_OPEN_DSYNC in issue_xlog_fsync. If you are going to split SYNC_METHOD_OPEN into two codes, you need to handle both those codes everywhere SYNC_METHOD_OPEN was formerly referenced ... regards, tom lane
Tom Lane wrote: > Magnus Hagander <magnus@hagander.net> writes: > > I need to leave for a couple of hours, will look again when I get > > back. But so far, I'm quite surprised. Here's my reasoning, please > > poke holes in it :-) > > I think you forgot to handle SYNC_METHOD_OPEN_DSYNC in > issue_xlog_fsync. If you are going to split SYNC_METHOD_OPEN into two > codes, you need to handle both those codes everywhere > SYNC_METHOD_OPEN was formerly referenced ... That was it, fixed. I missed the fact that the same error message occured twice in the file. I blame lack of caffeine comined with having hacked Latex code. It just kills the brain. Thanks for the pointer! //Magnus