Re: Fwd: psql include file using relative path - Mailing list pgsql-hackers

From Gurjeet Singh
Subject Re: Fwd: psql include file using relative path
Date
Msg-id AANLkTimaYPn33dmUV_HWyH-=uOXa1aR2G=zkM3N+WEZK@mail.gmail.com
Whole thread Raw
In response to Re: Fwd: psql include file using relative path  (David Fetter <david@fetter.org>)
Responses Re: Fwd: psql include file using relative path
List pgsql-hackers
On Wed, Mar 9, 2011 at 7:32 PM, David Fetter <david@fetter.org> wrote:
On Wed, Mar 09, 2011 at 07:05:19PM -0500, Gurjeet Singh wrote:
> Good question, I hadn't thought of that either, and thinking about
> it a bit I think we'd want to keep the current behaviour of \i and
> provide new behaviour using a new command.
>
> Say when we are processing a pretty nested file after multiple \ir
> commands, a \i <relative path file> in any of those files should
> look for that file in psql's CWD/PWD. That is what the user expects
> from \i command currently and I don't think it'd be desirable to
> break that assumption.

I'm not sure I understand.  Stuff that worked before would still work.

files present:
~/1.sql
~/package/main.sql
~/package/1.sql

psql's CWD: $HOME
psql executed as: psql -f ~/package/main.sql

Now if we kept \i and \ir separate then if main.sql does

\i 1.sql

it'd read ~/1.sql, which is the current behaviour,

and

\ir 1.sql

would read ~/package/1.sql .

If we folded \ir into \i then what would you want `\i 1.sql` to do? Read 1.sql from $HOME or the one that is main.sql's sibling.
 

Should stuff break when it has a legitimately accessible path in it
just because that path is relative?

Given the above test case, I think it'd be best if we introduced a new command for  this feature.

Regards,
--
Gurjeet Singh
EnterpriseDB Corporation
The Enterprise PostgreSQL Company

pgsql-hackers by date:

Previous
From: Bruce Momjian
Date:
Subject: Re: Sync Rep v19
Next
From: Fujii Masao
Date:
Subject: Re: How should the waiting backends behave in sync rep?