diff options
author | Tom Lane <tgl@sss.pgh.pa.us> | 2020-03-23 11:58:01 -0400 |
---|---|---|
committer | Tom Lane <tgl@sss.pgh.pa.us> | 2020-03-23 11:58:01 -0400 |
commit | 036fdf6be2ebc6cddd045ba83efdc62810b84483 (patch) | |
tree | 83db625836fcb7069ba2df073c5b5a02680f7896 /src/include/executor/execParallel.h | |
parent | d2159c677812e60bcc43222a8297ca2103821314 (diff) | |
download | postgresql-036fdf6be2ebc6cddd045ba83efdc62810b84483.tar.gz postgresql-036fdf6be2ebc6cddd045ba83efdc62810b84483.zip |
Fix our getopt_long's behavior for a command line argument of just "-".
src/port/getopt_long.c failed on such an argument, always seeing it
as an unrecognized switch. This is unhelpful; better is to treat such
an item as a non-switch argument. That behavior is what we find in
GNU's getopt_long(); it's what src/port/getopt.c does; and it is
required by POSIX for getopt(), which getopt_long() ought to be
generally a superset of. Moreover, it's expected by ecpg, which
intends an argument of "-" to mean "read from stdin". So fix it.
Also add some documentation about ecpg's behavior in this area, since
that was miserably underdocumented. I had to reverse-engineer it
from the code.
Per bug #16304 from James Gray. Back-patch to all supported branches,
since this has been broken forever.
Discussion: https://postgr.es/m/16304-c662b00a1322db7f@postgresql.org
Diffstat (limited to 'src/include/executor/execParallel.h')
0 files changed, 0 insertions, 0 deletions