Tom Lane wrote:
"Magnus Hagander" <[EMAIL PROTECTED]> 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
Index: src/port/path.c =================================================================== RCS file: /projects/cvsroot/pgsql-server/src/port/path.c,v retrieving revision 1.20 diff -c -r1.20 path.c *** src/port/path.c 11 Jun 2004 17:09:13 -0000 1.20 --- src/port/path.c 21 Jun 2004 00:19:27 -0000 *************** *** 115,121 **** --- 115,144 ---- if (*p == '\\') *p = '/'; } + + /* skip network and drive specifiers for win32 */ + if (strlen(path) >= 2) + { + if (path[0] == '/' && path[1] == '/') + { + /* network drive */ + path = strstr(path + 2, "/"); + if (path == NULL) + return; + } + else if (path[1] == ':' && + ((path[0] >= 'a' && path[0] <= 'z') || + (path[0] >= 'A' && path[0] <= 'Z'))) + { + /* local drive */ + path += 2; + } + } + #endif + + if (path[0] == '/') /* don't trim leading '/'. */ + ++path; trim_trailing_separator(path); }
---------------------------(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