Re: BUG #16304: ECPG won't accept input from STDIN
Bruce Momjian <bruce@momjian.us>
From: Bruce Momjian <bruce@momjian.us>
To: jim_gray@cox.net, pgsql-bugs@lists.postgresql.org
Date: 2020-03-23T02:45:09Z
Lists: pgsql-bugs
On Mon, Mar 16, 2020 at 08:48:22PM +0000, PG Bug reporting form wrote: > The following bug has been logged on the website: > > Bug reference: 16304 > Logged by: James Gray > Email address: jim_gray@cox.net > PostgreSQL version: 11.5 > Operating system: AIX > Description: > > On an older version (9.6.3) of Postgres on CentOS 7.7.1908, ECPG accepts > input from STDIN: > > [singha7] (jgray) ~> psql --version > psql (PostgreSQL) 9.6.3 > [singha7] (jgray) ~> > > [singha7] (jgray) ~> ecpg -o - - > /* Processed by ecpg (4.12.0) */ > /* These include files are added by the preprocessor */ > #include <ecpglib.h> > #include <ecpgerrno.h> > #include <sqlca.h> > /* End of automatic include section */ > > #line 1 "stdin" > ^C > [singha7] (jgray) ~> > > On a newer version (11.5) of Postgres on AIX 7.2, ECPG does NOT accept input > from STDIN: > > bash-5.0$ psql --version > psql (PostgreSQL) 11.5 > bash-5.0$ > > bash-5.0$ ecpg -o - - > Try "ecpg --help" for more information. > bash-5.0$ > > I suspect a problem in the Postgres version of getopt_long.c Yeah, you might be right. In some cases we use the libc (maybe GNU) getopt-long, and in other cases we use our own version, and there are behavioral differences between the two. The fact you are testing on CentOS and the other on AIX probably explains it. I think using /dev/stdin should work on both. -- Bruce Momjian <bruce@momjian.us> https://momjian.us EnterpriseDB https://enterprisedb.com + As you are, so once was I. As I am, so you will be. + + Ancient Roman grave inscription +
Commits
-
Fix our getopt_long's behavior for a command line argument of just "-".
- ef7d6d79af43 10.13 landed
- c0eb57dd989b 9.6.18 landed
- aae7e8530dac 11.8 landed
- 5f9eace5db4e 9.5.22 landed
- 036fdf6be2eb 12.3 landed
- 980a70b9763e 13.0 landed