Thread

  1. BUG #13674: psql: \i from a script run through \e misparses SQL as \i arguments

    Matthijs van der Vleuten <postgresql@zr40.nl> — 2015-10-12T17:47:31Z

    The following bug has been logged on the website:
    
    Bug reference:      13674
    Logged by:          Matthijs van der Vleuten
    Email address:      postgresql@zr40.nl
    PostgreSQL version: 9.4.5
    Operating system:   Mac OS X
    Description:        
    
    Reproduction:
    
    1. Create file a.sql with the following contents:
    
    BEGIN;
    \i b.sql
    ROLLBACK;
    
    2. Create an empty file b.sql (smallest reproduction; bug also occurs with
    non-empty files)
    3. In psql, execute: \e a.sql
    4. In $EDITOR, save and exit
    
    Actual output:
    
    ~/test % psql -Xe
    psql (9.4.5)
    Type "help" for help.
    
    zr40=# \e foo2.sql 
    BEGIN;
    BEGIN
    \i: extra argument "ROLLBACK;" ignored
    zr40=# 
    
    Expected output:
    
    ~/test % psql -Xe
    psql (9.4.5)
    Type "help" for help.
    
    zr40=# \e foo2.sql 
    BEGIN;
    BEGIN
    ROLLBACK;
    ROLLBACK
    zr40=# 
    
    
    
  2. Re: BUG #13674: psql: \i from a script run through \e misparses SQL as \i arguments

    David G. Johnston <david.g.johnston@gmail.com> — 2015-10-13T04:21:32Z

    On Monday, October 12, 2015, <postgresql@zr40.nl> wrote:
    
    > The following bug has been logged on the website:
    >
    > Bug reference:      13674
    > Logged by:          Matthijs van der Vleuten
    > Email address:      postgresql@zr40.nl <javascript:;>
    > PostgreSQL version: 9.4.5
    > Operating system:   Mac OS X
    > Description:
    >
    > Reproduction:
    >
    > 1. Create file a.sql with the following contents:
    >
    > BEGIN;
    > \i b.sql
    > ROLLBACK;
    >
    > 2. Create an empty file b.sql (smallest reproduction; bug also occurs with
    > non-empty files)
    > 3. In psql, execute: \e a.sql
    > 4. In $EDITOR, save and exit
    >
    > Actual output:
    >
    > ~/test % psql -Xe
    > psql (9.4.5)
    > Type "help" for help.
    >
    > zr40=# \e foo2.sql
    > BEGIN;
    > BEGIN
    > \i: extra argument "ROLLBACK;" ignored
    > zr40=#
    >
    > Expected output:
    >
    > ~/test % psql -Xe
    > psql (9.4.5)
    > Type "help" for help.
    >
    > zr40=# \e foo2.sql
    > BEGIN;
    > BEGIN
    > ROLLBACK;
    > ROLLBACK
    > zr40=#
    >
    >
    Working as documented.   Namely the "...whole buffer as a single line."
    part of \e.  Hence the warning about not making scripts with this command.
    
    David J.