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

Matthijs van der Vleuten <postgresql@zr40.nl>

From: postgresql@zr40.nl
To: pgsql-bugs@postgresql.org
Date: 2015-10-12T17:47:31Z
Lists: pgsql-bugs
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=#