Re: [pgsql-hackers-win32] Data directory with trailing [back]slash - Mailing list pgsql-patches

From Bruce Momjian
Subject Re: [pgsql-hackers-win32] Data directory with trailing [back]slash
Date
Msg-id 200407112133.i6BLX3v15476@candle.pha.pa.us
Whole thread Raw
In response to Re: [pgsql-hackers-win32] Data directory with trailing [back]slash  (Bruce Momjian <pgman@candle.pha.pa.us>)
List pgsql-patches
OK, I found the problem.  While we did canonicalize_path for client apps
like initdb, we didn't do it for server-side paths, for the most part.

This applied patch does canonicalize_path for -D, GUC variables, and
environment variables supplying paths.  This should fix the Win32
problem you saw.

Are there other places where paths come into the system?

---------------------------------------------------------------------------

Bruce Momjian wrote:
>
> I think this still is not fixed.  I think we need to add a call to
> trim_trailing_separator() in checkDataDir().  Magnus, can you confirm
> this will fix it?
>
> ---------------------------------------------------------------------------
>
> Bruce Momjian wrote:
> >
> > I am now confused about the original report.  I don't see how my fix
> > would correct the reported problem.  trim_trailing_separator() would
> > have handled d:\pgdata\ and d:\pgdata just fine.  The fix only corrects
> > d:\.
> >
> > Magnus, does current CVS fix the problem?
> >
> > ---------------------------------------------------------------------------
> >
> > Andrew Dunstan wrote:
> > >
> > >
> > > Tom Lane wrote:
> > >
> > > >"Magnus Hagander" <mha@sollentuna.net> writes:
> > > >
> > > >
> > > >>It's not possible to start the postmaster on win32 with:
> > > >>postmaster -D d:\pgdata\
> > > >>or
> > > >>postmaster -D d:/pgdata/
> > > >>
> > > >>
> > > >
> > > >Sounds like canonicalize_path() needs to be applied a bit sooner than
> > > >it is.
> > > >
> > > >BTW I think canonicalize_path() is a few bricks shy of a load yet:
> > > >I'm not sure it works well with Windows drive-letters, and it definitely
> > > >will strip significant slashes when given input like '/' or 'C:\'.
> > > >Feel free to fix those problems while at it...
> > > >
> > > >
> > >
> > > Or use the attached patch, which I think does it right.
> > >
> > > cheers
> > >
> > > andrew
> >
> >
> > >
> > > ---------------------------(end of broadcast)---------------------------
> > > TIP 9: the planner will ignore your desire to choose an index scan if your
> > >       joining column's datatypes do not match
> >
> > --
> >   Bruce Momjian                        |  http://candle.pha.pa.us
> >   pgman@candle.pha.pa.us               |  (610) 359-1001
> >   +  If your life is a hard drive,     |  13 Roberts Road
> >   +  Christ can be your backup.        |  Newtown Square, Pennsylvania 19073
> >
> > ---------------------------(end of broadcast)---------------------------
> > TIP 2: you can get off all lists at once with the unregister command
> >     (send "unregister YourEmailAddressHere" to majordomo@postgresql.org)
> >
>
> --
>   Bruce Momjian                        |  http://candle.pha.pa.us
>   pgman@candle.pha.pa.us               |  (610) 359-1001
>   +  If your life is a hard drive,     |  13 Roberts Road
>   +  Christ can be your backup.        |  Newtown Square, Pennsylvania 19073
>
> ---------------------------(end of broadcast)---------------------------
> TIP 9: the planner will ignore your desire to choose an index scan if your
>       joining column's datatypes do not match
>

--
  Bruce Momjian                        |  http://candle.pha.pa.us
  pgman@candle.pha.pa.us               |  (610) 359-1001
  +  If your life is a hard drive,     |  13 Roberts Road
  +  Christ can be your backup.        |  Newtown Square, Pennsylvania 19073

pgsql-patches by date:

Previous
From: "Ralph Counts"
Date:
Subject:
Next
From: Bruce Momjian
Date:
Subject: Re: [pgsql-hackers-win32] Data directory with trailing [back]slash