Commit dc565af4 authored by Bruce Momjian's avatar Bruce Momjian

Allow 'help' in psql to show \? help, for novice assistance.

Greg Sabino Mullane
parent a051ab0a
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
* *
* Copyright (c) 2000-2008, PostgreSQL Global Development Group * Copyright (c) 2000-2008, PostgreSQL Global Development Group
* *
* $PostgreSQL: pgsql/src/bin/psql/help.c,v 1.124 2008/03/29 19:40:12 tgl Exp $ * $PostgreSQL: pgsql/src/bin/psql/help.c,v 1.125 2008/04/04 17:42:43 momjian Exp $
*/ */
#include "postgres_fe.h" #include "postgres_fe.h"
...@@ -188,6 +188,7 @@ slashUsage(unsigned short int pager) ...@@ -188,6 +188,7 @@ slashUsage(unsigned short int pager)
ON(pset.timing)); ON(pset.timing));
fprintf(output, _(" \\unset NAME unset (delete) internal variable\n")); fprintf(output, _(" \\unset NAME unset (delete) internal variable\n"));
fprintf(output, _(" \\! [COMMAND] execute command in shell or start interactive shell\n")); fprintf(output, _(" \\! [COMMAND] execute command in shell or start interactive shell\n"));
fprintf(output, _(" \\? display this help output\n"));
fprintf(output, "\n"); fprintf(output, "\n");
fprintf(output, _("Query Buffer\n")); fprintf(output, _("Query Buffer\n"));
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
* *
* Copyright (c) 2000-2008, PostgreSQL Global Development Group * Copyright (c) 2000-2008, PostgreSQL Global Development Group
* *
* $PostgreSQL: pgsql/src/bin/psql/mainloop.c,v 1.87 2008/01/01 19:45:56 momjian Exp $ * $PostgreSQL: pgsql/src/bin/psql/mainloop.c,v 1.88 2008/04/04 17:42:43 momjian Exp $
*/ */
#include "postgres_fe.h" #include "postgres_fe.h"
#include "mainloop.h" #include "mainloop.h"
...@@ -11,6 +11,7 @@ ...@@ -11,6 +11,7 @@
#include "command.h" #include "command.h"
#include "common.h" #include "common.h"
#include "help.h"
#include "input.h" #include "input.h"
#include "settings.h" #include "settings.h"
...@@ -171,6 +172,16 @@ MainLoop(FILE *source) ...@@ -171,6 +172,16 @@ MainLoop(FILE *source)
continue; continue;
} }
/* A request for help? Be friendly and show them the slash way of doing things */
if (pset.cur_cmd_interactive && query_buf->len == 0 &&
pg_strncasecmp(line, "help", 4) == 0 &&
(line[4] == '\0' || line[4] == ';' || isspace(line[4])))
{
free(line);
slashUsage(pset.popt.topt.pager);
continue;
}
/* echo back if flag is set */ /* echo back if flag is set */
if (pset.echo == PSQL_ECHO_ALL && !pset.cur_cmd_interactive) if (pset.echo == PSQL_ECHO_ALL && !pset.cur_cmd_interactive)
puts(line); puts(line);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment