C comment: clarify why psql's help/exit/quit must alone
authorBruce Momjian <bruce@momjian.us>
Sat, 21 Dec 2019 22:02:38 +0000 (17:02 -0500)
committerBruce Momjian <bruce@momjian.us>
Sat, 21 Dec 2019 22:02:38 +0000 (17:02 -0500)
Document why no indentation and why no non-whitespace postfix is
supported.

Backpatch-through: master

src/bin/psql/mainloop.c

index f7b1b94599dc939777f6d816645ffb11b5f21b38..440bcd7df4ddd5ed35a56fd5bfac685cd030f48e 100644 (file)
@@ -237,7 +237,13 @@ MainLoop(FILE *source)
                        bool            found_exit_or_quit = false;
                        bool            found_q = false;
 
-                       /* Search for the words we recognize;  must be first word */
+                       /*
+                        * The assistance words, help/exit/quit, must have no
+                        * whitespace before them, and only whitespace after, with an
+                        * optional semicolon.  This prevents indented use of these
+                        * words, perhaps as identifiers, from invoking the assistance
+                        * behavior.
+                        */
                        if (pg_strncasecmp(first_word, "help", 4) == 0)
                        {
                                rest_of_line = first_word + 4;
@@ -249,7 +255,6 @@ MainLoop(FILE *source)
                                rest_of_line = first_word + 4;
                                found_exit_or_quit = true;
                        }
-
                        else if (strncmp(first_word, "\\q", 2) == 0)
                        {
                                rest_of_line = first_word + 2;