Simplify coding around path_contains_parent_reference().
authorTom Lane <tgl@sss.pgh.pa.us>
Mon, 31 Jan 2022 18:53:38 +0000 (13:53 -0500)
committerTom Lane <tgl@sss.pgh.pa.us>
Mon, 31 Jan 2022 18:53:38 +0000 (13:53 -0500)
commitb426bd48ee3f5a6890038421f81df7ed919d73dc
tree4dd6902ccd50a53d3e7555e7ce5d3924146106b0
parentc10f830c511f0ba3e6f4c9d99f444d39e30440c8
Simplify coding around path_contains_parent_reference().

Given the existing stipulation that path_contains_parent_reference()
must only be invoked on canonicalized paths, we can simplify things
in the wake of commit c10f830c5.  It is now only possible to see
".." at the start of a relative path.  That means we can simplify
path_contains_parent_reference() itself quite a bit, and it makes
the two existing outside call sites dead code, since they'd already
checked that the path is absolute.

We could now fold path_contains_parent_reference() into its only
remaining caller path_is_relative_and_below_cwd().  But it seems
better to leave it as a separately callable function, in case any
extensions are using it.

Also document the pre-existing requirement for
path_is_relative_and_below_cwd's input to be likewise canonicalized.

Shenhao Wang and Tom Lane

Discussion: https://postgr.es/m/OSBPR01MB4214FA221FFE046F11F2AD74F2D49@OSBPR01MB4214.jpnprd01.prod.outlook.com
contrib/adminpack/adminpack.c
src/backend/utils/adt/genfile.c
src/port/path.c