8
8
*
9
9
*
10
10
* IDENTIFICATION
11
- * $Header: /cvsroot/pgsql/src/backend/tcop/postgres.c,v 1.182 2000/10/26 17:31:35 tgl Exp $
11
+ * $Header: /cvsroot/pgsql/src/backend/tcop/postgres.c,v 1.183 2000/10/28 01:07:00 petere Exp $
12
12
*
13
13
* NOTES
14
14
* this is the "main" module of the postgres backend and
@@ -1111,7 +1111,7 @@ PostgresMain(int argc, char *argv[], int real_argc, char *real_argv[], const cha
1111
1111
1112
1112
optind = 1 ; /* reset after postmaster's usage */
1113
1113
1114
- while ((flag = getopt (argc , argv , "A:B:CD:d:Eef:FiLNOPo:p:S:st:v:W:x:-:" )) != EOF )
1114
+ while ((flag = getopt (argc , argv , "A:B:CD:d:Eef:FiLNOPo:p:S:st:v:W:x:-:? " )) != EOF )
1115
1115
switch (flag )
1116
1116
{
1117
1117
case 'A' :
@@ -1385,6 +1385,16 @@ PostgresMain(int argc, char *argv[], int real_argc, char *real_argv[], const cha
1385
1385
char * name , * value ;
1386
1386
1387
1387
ParseLongOption (optarg , & name , & value );
1388
+ if (strcmp (name , "help" )== 0 )
1389
+ {
1390
+ usage (argv [0 ]);
1391
+ exit (0 );
1392
+ }
1393
+ else if (strcmp (name , "version" )== 0 )
1394
+ {
1395
+ puts ("postgres (PostgreSQL) " PG_VERSION );
1396
+ exit (0 );
1397
+ }
1388
1398
if (!value )
1389
1399
elog (ERROR , "--%s requires argument" , optarg );
1390
1400
@@ -1395,15 +1405,23 @@ PostgresMain(int argc, char *argv[], int real_argc, char *real_argv[], const cha
1395
1405
break ;
1396
1406
}
1397
1407
1408
+ case '?' :
1409
+ if (strcmp (argv [optind - 1 ], "-?" ) == 0 )
1410
+ {
1411
+ usage (argv [0 ]);
1412
+ exit (0 );
1413
+ }
1414
+ else
1415
+ errs ++ ;
1416
+ break ;
1417
+
1398
1418
default :
1399
- /* ----------------
1400
- * default: bad command line option
1401
- * ----------------
1402
- */
1419
+ /* shouldn't get here */
1403
1420
errs ++ ;
1404
1421
break ;
1405
1422
}
1406
1423
1424
+
1407
1425
if (Show_query_stats &&
1408
1426
(Show_parser_stats || Show_planner_stats || Show_executor_stats ))
1409
1427
{
@@ -1470,8 +1488,8 @@ PostgresMain(int argc, char *argv[], int real_argc, char *real_argv[], const cha
1470
1488
/* noninteractive case: nothing should be left after switches */
1471
1489
if (errs || argc != optind || DBName == NULL )
1472
1490
{
1473
- usage ( argv [0 ]);
1474
- proc_exit (0 );
1491
+ fprintf ( stderr , "%s: invalid command line arguments\nTry -? for help.\n" , argv [0 ]);
1492
+ proc_exit (1 );
1475
1493
}
1476
1494
pq_init (); /* initialize libpq at backend startup */
1477
1495
whereToSendOutput = Remote ;
@@ -1483,16 +1501,16 @@ PostgresMain(int argc, char *argv[], int real_argc, char *real_argv[], const cha
1483
1501
whereToSendOutput = Debug ;
1484
1502
if (errs || argc - optind > 1 )
1485
1503
{
1486
- usage ( argv [0 ]);
1487
- proc_exit (0 );
1504
+ fprintf ( stderr , "%s: invalid command line arguments\nTry -? for help.\n" , argv [0 ]);
1505
+ proc_exit (1 );
1488
1506
}
1489
1507
else if (argc - optind == 1 )
1490
1508
DBName = argv [optind ];
1491
1509
else if ((DBName = username ) == NULL )
1492
1510
{
1493
1511
fprintf (stderr , "%s: user name undefined and no database specified\n" ,
1494
1512
argv [0 ]);
1495
- proc_exit (0 );
1513
+ proc_exit (1 );
1496
1514
}
1497
1515
1498
1516
/*
@@ -1618,7 +1636,7 @@ PostgresMain(int argc, char *argv[], int real_argc, char *real_argv[], const cha
1618
1636
if (!IsUnderPostmaster )
1619
1637
{
1620
1638
puts ("\nPOSTGRES backend interactive interface " );
1621
- puts ("$Revision: 1.182 $ $Date: 2000/10/26 17:31:35 $\n" );
1639
+ puts ("$Revision: 1.183 $ $Date: 2000/10/28 01:07:00 $\n" );
1622
1640
}
1623
1641
1624
1642
/*
0 commit comments