Thread

  1. Re: multiple -f support

    Mark Wong <markwkm@gmail.com> — 2010-07-14T03:03:43Z

    Hi all,
    
    I took a stab at changing this up a little bit.  I pushed the logic
    that David introduced down into process_file().  In doing so I changed
    up the declaration of process_file() to accept an additional parameter
    specifying how many files are being passed to the function.  Doing it
    this way also makes use of the logic for the current single
    transaction flag without turning it into dead code.
    
    I also added a check to return EXIT_FAILURE if any error was thrown
    from any of the sql files used, thus stopping execution of any further
    file.  Gabrielle tells me the error echoed in this event is not clear
    so there is still a little more work that needs to be done.
    
    Regards,
    Mark
    
  2. Re: multiple -f support

    Bruce Momjian <bruce@momjian.us> — 2011-02-06T16:16:31Z

    I assume having psql support multiple -f files is not a high priority or
    something we don't want.
    
    ---------------------------------------------------------------------------
    
    Mark Wong wrote:
    > Hi all,
    > 
    > I took a stab at changing this up a little bit.  I pushed the logic
    > that David introduced down into process_file().  In doing so I changed
    > up the declaration of process_file() to accept an additional parameter
    > specifying how many files are being passed to the function.  Doing it
    > this way also makes use of the logic for the current single
    > transaction flag without turning it into dead code.
    > 
    > I also added a check to return EXIT_FAILURE if any error was thrown
    > from any of the sql files used, thus stopping execution of any further
    > file.  Gabrielle tells me the error echoed in this event is not clear
    > so there is still a little more work that needs to be done.
    > 
    > Regards,
    > Mark
    
    [ Attachment, skipping... ]
    
    > 
    > -- 
    > Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
    > To make changes to your subscription:
    > http://www.postgresql.org/mailpref/pgsql-hackers
    
    -- 
      Bruce Momjian  <bruce@momjian.us>        http://momjian.us
      EnterpriseDB                             http://enterprisedb.com
    
      + It's impossible for everything to be true. +
    
    
  3. Re: multiple -f support

    Robert Haas <robertmhaas@gmail.com> — 2011-02-06T17:07:26Z

    On Sun, Feb 6, 2011 at 11:16 AM, Bruce Momjian <bruce@momjian.us> wrote:
    > I assume having psql support multiple -f files is not a high priority or
    > something we don't want.
    
    IIRC, nobody objected to the basic concept, and it seems useful.  I
    thought we were pretty close to committing something along those lines
    at one point, actually.  I don't remember exactly where the wheels
    came off.
    
    Maybe a TODO?
    
    -- 
    Robert Haas
    EnterpriseDB: http://www.enterprisedb.com
    The Enterprise PostgreSQL Company
    
    
  4. Re: multiple -f support

    Simon Riggs <simon@2ndquadrant.com> — 2011-02-06T22:18:58Z

    On Sun, 2011-02-06 at 12:07 -0500, Robert Haas wrote:
    > On Sun, Feb 6, 2011 at 11:16 AM, Bruce Momjian <bruce@momjian.us> wrote:
    > > I assume having psql support multiple -f files is not a high priority or
    > > something we don't want.
    > 
    > IIRC, nobody objected to the basic concept, and it seems useful.  I
    > thought we were pretty close to committing something along those lines
    > at one point, actually.  I don't remember exactly where the wheels
    > came off.
    > 
    > Maybe a TODO?
    
    As Andrew pointed out, IIRC, you can do this with a little shell
    programming already.
    
    -- 
     Simon Riggs           http://www.2ndQuadrant.com/books/
     PostgreSQL Development, 24x7 Support, Training and Services
     
    
    
    
  5. Re: multiple -f support

    Bruce Momjian <bruce@momjian.us> — 2011-03-11T12:17:31Z

    Robert Haas wrote:
    > On Sun, Feb 6, 2011 at 11:16 AM, Bruce Momjian <bruce@momjian.us> wrote:
    > > I assume having psql support multiple -f files is not a high priority or
    > > something we don't want.
    > 
    > IIRC, nobody objected to the basic concept, and it seems useful.  I
    > thought we were pretty close to committing something along those lines
    > at one point, actually.  I don't remember exactly where the wheels
    > came off.
    > 
    > Maybe a TODO?
    
    Added to the psql section:
    
    	|Allow processing of multiple -f (file) options
    
    -- 
      Bruce Momjian  <bruce@momjian.us>        http://momjian.us
      EnterpriseDB                             http://enterprisedb.com
    
      + It's impossible for everything to be true. +
    
    
  6. Re: multiple -f support

    David Christensen <david@endpoint.com> — 2011-03-11T16:30:36Z

    On Mar 11, 2011, at 6:17 AM, Bruce Momjian wrote:
    
    > Robert Haas wrote:
    >> On Sun, Feb 6, 2011 at 11:16 AM, Bruce Momjian <bruce@momjian.us> wrote:
    >>> I assume having psql support multiple -f files is not a high priority or
    >>> something we don't want.
    >> 
    >> IIRC, nobody objected to the basic concept, and it seems useful.  I
    >> thought we were pretty close to committing something along those lines
    >> at one point, actually.  I don't remember exactly where the wheels
    >> came off.
    >> 
    >> Maybe a TODO?
    > 
    > Added to the psql section:
    > 
    > 	|Allow processing of multiple -f (file) options
    
    
    The original patch was a fairly trivial WIP one, which I started working on to add support for multiple -c flags interspersed as well.  I haven't looked at it in quite some time, though; there had been some concerns about how it worked in single-transaction mode and some other issues I don't recall off the top of my head.
    
    On this topic, I was thinking that it may be useful to provide an alternate multi-file syntax, a la git, with any argument following '--' in the argument list being interpreted as a file to process; i.e.,:
    
    $ psql -U user [option] database -- file1.sql file2.sql file3.sql
    
    This would allow things like shell expansion to work as expected:
    
    $ ls
    01-schema.sql    02-data1.sql    03-fixups.sql
    
    $ psql database -- *.sql
    
    etc.
    
    Regards,
    
    David
    --
    David Christensen
    End Point Corporation
    david@endpoint.com
    
    
    
    
    
    
  7. Re: multiple -f support

    Robert Haas <robertmhaas@gmail.com> — 2011-03-11T16:45:50Z

    On Fri, Mar 11, 2011 at 11:30 AM, David Christensen <david@endpoint.com> wrote:
    >
    > On Mar 11, 2011, at 6:17 AM, Bruce Momjian wrote:
    >
    >> Robert Haas wrote:
    >>> On Sun, Feb 6, 2011 at 11:16 AM, Bruce Momjian <bruce@momjian.us> wrote:
    >>>> I assume having psql support multiple -f files is not a high priority or
    >>>> something we don't want.
    >>>
    >>> IIRC, nobody objected to the basic concept, and it seems useful.  I
    >>> thought we were pretty close to committing something along those lines
    >>> at one point, actually.  I don't remember exactly where the wheels
    >>> came off.
    >>>
    >>> Maybe a TODO?
    >>
    >> Added to the psql section:
    >>
    >>       |Allow processing of multiple -f (file) options
    >
    >
    > The original patch was a fairly trivial WIP one, which I started working on to add support for multiple -c flags interspersed as well.  I haven't looked at it in quite some time, though; there had been some concerns about how it worked in single-transaction mode and some other issues I don't recall off the top of my head.
    >
    > On this topic, I was thinking that it may be useful to provide an alternate multi-file syntax, a la git, with any argument following '--' in the argument list being interpreted as a file to process; i.e.,:
    >
    > $ psql -U user [option] database -- file1.sql file2.sql file3.sql
    >
    > This would allow things like shell expansion to work as expected:
    >
    > $ ls
    > 01-schema.sql    02-data1.sql    03-fixups.sql
    >
    > $ psql database -- *.sql
    >
    > etc.
    
    +1.
    
    -- 
    Robert Haas
    EnterpriseDB: http://www.enterprisedb.com
    The Enterprise PostgreSQL Company