BUG #16304: ECPG won't accept input from STDIN

The Post Office <noreply@postgresql.org>

From: PG Bug reporting form <noreply@postgresql.org>
To: pgsql-bugs@lists.postgresql.org
Cc: jim_gray@cox.net
Date: 2020-03-16T20:48:22Z
Lists: pgsql-bugs
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

Commits

  1. Fix our getopt_long's behavior for a command line argument of just "-".