*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/tcop/postgres.c,v 1.182 2000/10/26 17:31:35 tgl Exp $
+ * $Header: /cvsroot/pgsql/src/backend/tcop/postgres.c,v 1.183 2000/10/28 01:07:00 petere Exp $
*
* NOTES
* this is the "main" module of the postgres backend and
optind = 1; /* reset after postmaster's usage */
- while ((flag = getopt(argc, argv, "A:B:CD:d:Eef:FiLNOPo:p:S:st:v:W:x:-:")) != EOF)
+ while ((flag = getopt(argc, argv, "A:B:CD:d:Eef:FiLNOPo:p:S:st:v:W:x:-:?")) != EOF)
switch (flag)
{
case 'A':
char *name, *value;
ParseLongOption(optarg, &name, &value);
+ if (strcmp(name, "help")==0)
+ {
+ usage(argv[0]);
+ exit(0);
+ }
+ else if (strcmp(name, "version")==0)
+ {
+ puts("postgres (PostgreSQL) " PG_VERSION);
+ exit(0);
+ }
if (!value)
elog(ERROR, "--%s requires argument", optarg);
break;
}
+ case '?':
+ if (strcmp(argv[optind - 1], "-?") == 0)
+ {
+ usage(argv[0]);
+ exit(0);
+ }
+ else
+ errs++;
+ break;
+
default:
- /* ----------------
- * default: bad command line option
- * ----------------
- */
+ /* shouldn't get here */
errs++;
break;
}
+
if (Show_query_stats &&
(Show_parser_stats || Show_planner_stats || Show_executor_stats))
{
/* noninteractive case: nothing should be left after switches */
if (errs || argc != optind || DBName == NULL)
{
- usage(argv[0]);
- proc_exit(0);
+ fprintf(stderr, "%s: invalid command line arguments\nTry -? for help.\n", argv[0]);
+ proc_exit(1);
}
pq_init(); /* initialize libpq at backend startup */
whereToSendOutput = Remote;
whereToSendOutput = Debug;
if (errs || argc - optind > 1)
{
- usage(argv[0]);
- proc_exit(0);
+ fprintf(stderr, "%s: invalid command line arguments\nTry -? for help.\n", argv[0]);
+ proc_exit(1);
}
else if (argc - optind == 1)
DBName = argv[optind];
{
fprintf(stderr, "%s: user name undefined and no database specified\n",
argv[0]);
- proc_exit(0);
+ proc_exit(1);
}
/*
if (!IsUnderPostmaster)
{
puts("\nPOSTGRES backend interactive interface ");
- puts("$Revision: 1.182 $ $Date: 2000/10/26 17:31:35 $\n");
+ puts("$Revision: 1.183 $ $Date: 2000/10/28 01:07:00 $\n");
}
/*