From: | Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us> |
---|---|
To: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
Cc: | pgsql-hackers(at)postgreSQL(dot)org |
Subject: | Re: relative_path() seems overly complicated and buggy |
Date: | 2004-11-06 20:52:44 |
Message-ID: | 200411062052.iA6Kqid10669@candle.pha.pa.us |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Tom Lane wrote:
> There's at least one bug in path.c's relative_path(): it will think
> "/foo/a/b" is equal to "/foo/ab" because it skips directory separators
> independently in the two strings. The code is sufficiently complex that
> I have little faith in it not having any other bugs, either.
>
> I believe that it's unnecessary for relative_path to be so tense
> about trying to implement platform-weirdness-aware comparison of paths.
> It is not called on arbitrary paths, but only on the compiled-in
> paths that were generated by configure. Therefore it is reasonable
> to assume that the common prefix we are trying to identify is spelled
> exactly the same in both paths.
>
> What I'd like to do is simplify it to just check for exact equality
> up through the last directory separator in bin_path. Any objections?
If you can simplify it, feel free. I found that code much more complex
than I liked but couldn't simplify it. Originally I thought that would
be used in more generic places but that hasn't happened.
--
Bruce Momjian | http://candle.pha.pa.us
pgman(at)candle(dot)pha(dot)pa(dot)us | (610) 359-1001
+ If your life is a hard drive, | 13 Roberts Road
+ Christ can be your backup. | Newtown Square, Pennsylvania 19073
From | Date | Subject | |
---|---|---|---|
Next Message | Tom Lane | 2004-11-06 20:53:46 | Re: Increasing the length of pg_stat_activity.current_query... |
Previous Message | Sean Chittenden | 2004-11-06 20:43:09 | Re: Increasing the length of pg_stat_activity.current_query... |