Re: [HACKERS] Fwd: psql include file using relative path

2011-03-09 Thread David Fetter
Being able to include relative paths is a really great feature, but
should it have a UI (well, API) distinct from fixed-path includes?  My
first instinct is that it shouldn't, but I haven't really thought it
through thoroughly.

Cheers,
David (the tough coughs as he ploughs the dough)
On Tue, Mar 08, 2011 at 03:19:40PM -0500, Gurjeet Singh wrote:
 Attached patch implements tab completion. It also introduces the long-form
 alternative \include_relative for \ir
 
 Regards,
 
 On Tue, Mar 8, 2011 at 2:18 PM, Ibrar Ahmed ibrar.ah...@gmail.com wrote:
 
  Gurjeet!
 
  What about tab completion, like in \i command?
 
  On Fri, Feb 25, 2011 at 5:07 AM, Robert Haas robertmh...@gmail.com
  wrote:
   On Thu, Feb 24, 2011 at 6:21 PM, Gurjeet Singh singh.gurj...@gmail.com
  wrote:
   psql has the ability to execute commands from a file, but if one
  wishes
   to develop and provide a modularized set of sql files, then psql is not
  very
   helpful because the \i command can open file paths either if they are
   absolute paths or if they are palced correctly relative to psql's
  current
   working directory.
  
   Attached patch adds a new meta-command to psql, '\ir' that allows the
  user
   to process files relative to currently processing file.
  
   Please add this patch to the currently open CommitFest at:
  
   https://commitfest.postgresql.org/action/commitfest_view/open
  
   --
   Robert Haas
   EnterpriseDB: http://www.enterprisedb.com
   The Enterprise PostgreSQL Company
  
   --
   Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
   To make changes to your subscription:
   http://www.postgresql.org/mailpref/pgsql-hackers
  
 
 
 
  --
 Ibrar Ahmed
 
 
 
 
 -- 
 Gurjeet Singh
 EnterpriseDB http://www.enterprisedb.com/ Corporation
 The Enterprise PostgreSQL http://www.postgresql.org/ Company


 
 -- 
 Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
 To make changes to your subscription:
 http://www.postgresql.org/mailpref/pgsql-hackers


-- 
David Fetter da...@fetter.org http://fetter.org/
Phone: +1 415 235 3778  AIM: dfetter666  Yahoo!: dfetter
Skype: davidfetter  XMPP: david.fet...@gmail.com
iCal: webcal://www.tripit.com/feed/ical/people/david74/tripit.ics

Remember to vote!
Consider donating to Postgres: http://www.postgresql.org/about/donate

-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [HACKERS] Fwd: psql include file using relative path

2011-03-09 Thread Gurjeet Singh
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.

Regards,

On Wed, Mar 9, 2011 at 4:41 PM, David Fetter da...@fetter.org wrote:

 Being able to include relative paths is a really great feature, but
 should it have a UI (well, API) distinct from fixed-path includes?  My
 first instinct is that it shouldn't, but I haven't really thought it
 through thoroughly.

 Cheers,
 David (the tough coughs as he ploughs the dough)
 On Tue, Mar 08, 2011 at 03:19:40PM -0500, Gurjeet Singh wrote:
  Attached patch implements tab completion. It also introduces the
 long-form
  alternative \include_relative for \ir
 
  Regards,
 
  On Tue, Mar 8, 2011 at 2:18 PM, Ibrar Ahmed ibrar.ah...@gmail.com
 wrote:
 
   Gurjeet!
  
   What about tab completion, like in \i command?
  
   On Fri, Feb 25, 2011 at 5:07 AM, Robert Haas robertmh...@gmail.com
   wrote:
On Thu, Feb 24, 2011 at 6:21 PM, Gurjeet Singh 
 singh.gurj...@gmail.com
   wrote:
psql has the ability to execute commands from a file, but if one
   wishes
to develop and provide a modularized set of sql files, then psql is
 not
   very
helpful because the \i command can open file paths either if they
 are
absolute paths or if they are palced correctly relative to psql's
   current
working directory.
   
Attached patch adds a new meta-command to psql, '\ir' that allows
 the
   user
to process files relative to currently processing file.
   
Please add this patch to the currently open CommitFest at:
   
https://commitfest.postgresql.org/action/commitfest_view/open
   
--
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company
   
--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers
   
  
  
  
   --
  Ibrar Ahmed
  
 
 
 
  --
  Gurjeet Singh
  EnterpriseDB http://www.enterprisedb.com/ Corporation
  The Enterprise PostgreSQL http://www.postgresql.org/ Company


 
  --
  Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
  To make changes to your subscription:
  http://www.postgresql.org/mailpref/pgsql-hackers


 --
 David Fetter da...@fetter.org http://fetter.org/
 Phone: +1 415 235 3778  AIM: dfetter666  Yahoo!: dfetter
 Skype: davidfetter  XMPP: david.fet...@gmail.com
 iCal: webcal://www.tripit.com/feed/ical/people/david74/tripit.ics

 Remember to vote!
 Consider donating to Postgres: http://www.postgresql.org/about/donate




-- 
Gurjeet Singh
EnterpriseDB http://www.enterprisedb.com/ Corporation
The Enterprise PostgreSQL http://www.postgresql.org/ Company


Re: [HACKERS] Fwd: psql include file using relative path

2011-03-09 Thread David Fetter
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.

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

Cheers,
David.
-- 
David Fetter da...@fetter.org http://fetter.org/
Phone: +1 415 235 3778  AIM: dfetter666  Yahoo!: dfetter
Skype: davidfetter  XMPP: david.fet...@gmail.com
iCal: webcal://www.tripit.com/feed/ical/people/david74/tripit.ics

Remember to vote!
Consider donating to Postgres: http://www.postgresql.org/about/donate

-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [HACKERS] Fwd: psql include file using relative path

2011-03-09 Thread Gurjeet Singh
On Wed, Mar 9, 2011 at 7:32 PM, David Fetter da...@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 http://www.enterprisedb.com/ Corporation
The Enterprise PostgreSQL http://www.postgresql.org/ Company


Re: [HACKERS] Fwd: psql include file using relative path

2011-03-09 Thread Andrew Dunstan



On 03/09/2011 09:36 PM, Gurjeet Singh wrote:
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.





I agree there's a good case for the new feature. I think someone 
mentioned tab completion upthread, and that doesn't make so much sense 
to me. This only makes sense nested in a script - in fact if it's not 
called from inside an included script (via -f or \i) it should possibly 
error out (if it already does this I apologise - I haven't looked at the 
patch).


cheers

andrew

--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [HACKERS] Fwd: psql include file using relative path

2011-03-09 Thread Gurjeet Singh
On Wed, Mar 9, 2011 at 10:07 PM, Andrew Dunstan and...@dunslane.net wrote:


 I agree there's a good case for the new feature. I think someone mentioned
 tab completion upthread, and that doesn't make so much sense to me. This
 only makes sense nested in a script - in fact if it's not called from inside
 an included script (via -f or \i) it should possibly error out (if it
 already does this I apologise - I haven't looked at the patch).


I think \ir can stand on its own. In the patch, the \ir command falls back
to \i behaviour if there's no file being processed currently. So, I think
tab-completion makes sense for this command. And if someone wishes they can
stop using \i altogether and \ir will give them old and new bheaviour
seamlessly.

Regards,
-- 
Gurjeet Singh
EnterpriseDB http://www.enterprisedb.com/ Corporation
The Enterprise PostgreSQL http://www.postgresql.org/ Company


Re: [HACKERS] Fwd: psql include file using relative path

2011-03-09 Thread Robert Haas
On Wed, Mar 9, 2011 at 7:32 PM, David Fetter da...@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.

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

You're confused.  The point is whether the path is relative to PWD or
to the directory in which the currently executing script is located.
If you want to allow people to get either interpretation, you need two
commands.

In interactive use, I believe there's no difference between the two.

-- 
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company

-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [HACKERS] Fwd: psql include file using relative path

2011-03-09 Thread David Fetter
On Wed, Mar 09, 2011 at 10:57:53PM -0500, Robert Haas wrote:
 On Wed, Mar 9, 2011 at 7:32 PM, David Fetter da...@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.
 
  Should stuff break when it has a legitimately accessible path in
  it just because that path is relative?
 
 You're confused.  The point is whether the path is relative to PWD
 or to the directory in which the currently executing script is
 located.  If you want to allow people to get either interpretation,
 you need two commands.
 
 In interactive use, I believe there's no difference between the two.

Thanks for clearing that up :)

OK, nothing to see here.  Move along ;)

Cheers,
David.
-- 
David Fetter da...@fetter.org http://fetter.org/
Phone: +1 415 235 3778  AIM: dfetter666  Yahoo!: dfetter
Skype: davidfetter  XMPP: david.fet...@gmail.com
iCal: webcal://www.tripit.com/feed/ical/people/david74/tripit.ics

Remember to vote!
Consider donating to Postgres: http://www.postgresql.org/about/donate

-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [HACKERS] Fwd: psql include file using relative path

2011-03-08 Thread Ibrar Ahmed
Gurjeet!

What about tab completion, like in \i command?

On Fri, Feb 25, 2011 at 5:07 AM, Robert Haas robertmh...@gmail.com wrote:
 On Thu, Feb 24, 2011 at 6:21 PM, Gurjeet Singh singh.gurj...@gmail.com 
 wrote:
     psql has the ability to execute commands from a file, but if one wishes
 to develop and provide a modularized set of sql files, then psql is not very
 helpful because the \i command can open file paths either if they are
 absolute paths or if they are palced correctly relative to psql's current
 working directory.

 Attached patch adds a new meta-command to psql, '\ir' that allows the user
 to process files relative to currently processing file.

 Please add this patch to the currently open CommitFest at:

 https://commitfest.postgresql.org/action/commitfest_view/open

 --
 Robert Haas
 EnterpriseDB: http://www.enterprisedb.com
 The Enterprise PostgreSQL Company

 --
 Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
 To make changes to your subscription:
 http://www.postgresql.org/mailpref/pgsql-hackers




-- 
   Ibrar Ahmed

-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [HACKERS] Fwd: psql include file using relative path

2011-03-08 Thread Gurjeet Singh
Attached patch implements tab completion. It also introduces the long-form
alternative \include_relative for \ir

Regards,

On Tue, Mar 8, 2011 at 2:18 PM, Ibrar Ahmed ibrar.ah...@gmail.com wrote:

 Gurjeet!

 What about tab completion, like in \i command?

 On Fri, Feb 25, 2011 at 5:07 AM, Robert Haas robertmh...@gmail.com
 wrote:
  On Thu, Feb 24, 2011 at 6:21 PM, Gurjeet Singh singh.gurj...@gmail.com
 wrote:
  psql has the ability to execute commands from a file, but if one
 wishes
  to develop and provide a modularized set of sql files, then psql is not
 very
  helpful because the \i command can open file paths either if they are
  absolute paths or if they are palced correctly relative to psql's
 current
  working directory.
 
  Attached patch adds a new meta-command to psql, '\ir' that allows the
 user
  to process files relative to currently processing file.
 
  Please add this patch to the currently open CommitFest at:
 
  https://commitfest.postgresql.org/action/commitfest_view/open
 
  --
  Robert Haas
  EnterpriseDB: http://www.enterprisedb.com
  The Enterprise PostgreSQL Company
 
  --
  Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
  To make changes to your subscription:
  http://www.postgresql.org/mailpref/pgsql-hackers
 



 --
Ibrar Ahmed




-- 
Gurjeet Singh
EnterpriseDB http://www.enterprisedb.com/ Corporation
The Enterprise PostgreSQL http://www.postgresql.org/ Company


psql_ir.patch.gz
Description: GNU Zip compressed data

-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [HACKERS] Fwd: psql include file using relative path

2011-02-24 Thread Robert Haas
On Thu, Feb 24, 2011 at 6:21 PM, Gurjeet Singh singh.gurj...@gmail.com wrote:
     psql has the ability to execute commands from a file, but if one wishes
 to develop and provide a modularized set of sql files, then psql is not very
 helpful because the \i command can open file paths either if they are
 absolute paths or if they are palced correctly relative to psql's current
 working directory.

 Attached patch adds a new meta-command to psql, '\ir' that allows the user
 to process files relative to currently processing file.

Please add this patch to the currently open CommitFest at:

https://commitfest.postgresql.org/action/commitfest_view/open

-- 
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company

-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers