mirror of
https://git.postgresql.org/git/postgresql.git
synced 2024-09-04 17:37:19 +02:00
Docs: improve description of psql's %R prompt escape sequence.
Dilian Palauzov pointed out in bug #14201 that the docs failed to mention the possibility of %R producing '(' due to an unmatched parenthesis. He proposed just adding that in the same style as the other options were listed; but it seemed to me that the sentence was already nearly unintelligible, so I rewrote it a bit more extensively. Report: <20160619121113.5789.68274@wrigleys.postgresql.org>
This commit is contained in:
parent
6fce92a7d7
commit
a3eb19ba4a
@ -3294,11 +3294,12 @@ testdb=> <userinput>INSERT INTO my_table VALUES (:'content');</userinput>
|
|||||||
and special escape sequences that describe the appearance of the
|
and special escape sequences that describe the appearance of the
|
||||||
prompt. Prompt 1 is the normal prompt that is issued when
|
prompt. Prompt 1 is the normal prompt that is issued when
|
||||||
<application>psql</application> requests a new command. Prompt 2 is
|
<application>psql</application> requests a new command. Prompt 2 is
|
||||||
issued when more input is expected during command input because the
|
issued when more input is expected during command entry, for example
|
||||||
command was not terminated with a semicolon or a quote was not closed.
|
because the command was not terminated with a semicolon or a quote
|
||||||
Prompt 3 is issued when you run an <acronym>SQL</acronym>
|
was not closed.
|
||||||
<command>COPY</command> command and you are expected to type in the
|
Prompt 3 is issued when you are running an <acronym>SQL</acronym>
|
||||||
row values on the terminal.
|
<command>COPY FROM STDIN</command> command and you need to type in
|
||||||
|
a row value on the terminal.
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
@ -3378,17 +3379,20 @@ testdb=> <userinput>INSERT INTO my_table VALUES (:'content');</userinput>
|
|||||||
<term><literal>%R</literal></term>
|
<term><literal>%R</literal></term>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
In prompt 1 normally <literal>=</literal>, but <literal>^</literal> if
|
In prompt 1 normally <literal>=</literal>,
|
||||||
in single-line mode, and <literal>!</literal> if the session is
|
but <literal>^</literal> if in single-line mode,
|
||||||
disconnected from the database (which can happen if
|
or <literal>!</literal> if the session is disconnected from the
|
||||||
<command>\connect</command> fails). In prompt 2 the sequence is
|
database (which can happen if <command>\connect</command> fails).
|
||||||
replaced by <literal>-</literal>, <literal>*</literal>, a single quote,
|
In prompt 2 <literal>%R</literal> is replaced by a character that
|
||||||
a double quote, or a dollar sign, depending on whether
|
depends on why <application>psql</application> expects more input:
|
||||||
<application>psql</application> expects more input because the
|
<literal>-</literal> if the command simply wasn't terminated yet,
|
||||||
command wasn't terminated yet, because you are inside a
|
but <literal>*</literal> if there is an unfinished
|
||||||
<literal>/* ... */</literal> comment, or because you are inside
|
<literal>/* ... */</literal> comment,
|
||||||
a quoted or dollar-escaped string. In prompt 3 the sequence doesn't
|
a single quote if there is an unfinished quoted string,
|
||||||
produce anything.
|
a double quote if there is an unfinished quoted identifier,
|
||||||
|
a dollar sign if there is an unfinished dollar-quoted string,
|
||||||
|
or <literal>(</literal> if there is an unmatched left parenthesis.
|
||||||
|
In prompt 3 <literal>%R</literal> doesn't produce anything.
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
|
Loading…
Reference in New Issue
Block a user