• T
    Don't try to trim "../" in join_path_components(). · 79400281
    Tom Lane 提交于
    join_path_components() tried to remove leading ".." components from its
    tail argument, but it was not nearly bright enough to do so correctly
    unless the head argument was (a) absolute and (b) canonicalized.
    Rather than try to fix that logic, let's just get rid of it: there is no
    correctness reason to remove "..", and cosmetic concerns can be taken
    care of by a subsequent canonicalize_path() call.  Per bug #6715 from
    Greg Davidson.
    
    Back-patch to all supported branches.  It appears that pre-9.2, this
    function is only used with absolute paths as head arguments, which is why
    we'd not noticed the breakage before.  However, third-party code might be
    expecting this function to work in more general cases, so it seems wise
    to back-patch.
    
    In HEAD and 9.2, also make some minor cosmetic improvements to callers.
    79400281
path.c 15.9 KB