mirror of
https://git.postgresql.org/git/postgresql.git
synced 2024-10-01 11:11:19 +02:00
Add psql tab completion for DO blocks.
Also adjust documentation of DO. Patch from David Fetter and subsequent discussion.
This commit is contained in:
parent
34ebccddcd
commit
714f279457
@ -1,5 +1,5 @@
|
|||||||
<!--
|
<!--
|
||||||
$PostgreSQL: pgsql/doc/src/sgml/ref/do.sgml,v 1.3 2010/01/26 16:33:40 tgl Exp $
|
$PostgreSQL: pgsql/doc/src/sgml/ref/do.sgml,v 1.4 2010/02/15 02:55:01 itagaki Exp $
|
||||||
PostgreSQL documentation
|
PostgreSQL documentation
|
||||||
-->
|
-->
|
||||||
|
|
||||||
@ -25,7 +25,7 @@ PostgreSQL documentation
|
|||||||
|
|
||||||
<refsynopsisdiv>
|
<refsynopsisdiv>
|
||||||
<synopsis>
|
<synopsis>
|
||||||
DO <replaceable class="PARAMETER">code</replaceable> [ LANGUAGE <replaceable class="PARAMETER">lang_name</replaceable> ]
|
DO { [ LANGUAGE <replaceable class="PARAMETER">lang_name</replaceable> ] | <replaceable class="PARAMETER">code</replaceable> } ...
|
||||||
</synopsis>
|
</synopsis>
|
||||||
</refsynopsisdiv>
|
</refsynopsisdiv>
|
||||||
|
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
*
|
*
|
||||||
* Copyright (c) 2000-2010, PostgreSQL Global Development Group
|
* Copyright (c) 2000-2010, PostgreSQL Global Development Group
|
||||||
*
|
*
|
||||||
* $PostgreSQL: pgsql/src/bin/psql/tab-complete.c,v 1.192 2010/01/25 18:23:09 heikki Exp $
|
* $PostgreSQL: pgsql/src/bin/psql/tab-complete.c,v 1.193 2010/02/15 02:55:01 itagaki Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/*----------------------------------------------------------------------
|
/*----------------------------------------------------------------------
|
||||||
@ -618,7 +618,7 @@ psql_completion(char *text, int start, int end)
|
|||||||
static const char *const sql_commands[] = {
|
static const char *const sql_commands[] = {
|
||||||
"ABORT", "ALTER", "ANALYZE", "BEGIN", "CHECKPOINT", "CLOSE", "CLUSTER",
|
"ABORT", "ALTER", "ANALYZE", "BEGIN", "CHECKPOINT", "CLOSE", "CLUSTER",
|
||||||
"COMMENT", "COMMIT", "COPY", "CREATE", "DEALLOCATE", "DECLARE",
|
"COMMENT", "COMMIT", "COPY", "CREATE", "DEALLOCATE", "DECLARE",
|
||||||
"DELETE FROM", "DISCARD", "DROP", "END", "EXECUTE", "EXPLAIN", "FETCH",
|
"DELETE FROM", "DISCARD", "DO", "DROP", "END", "EXECUTE", "EXPLAIN", "FETCH",
|
||||||
"GRANT", "INSERT", "LISTEN", "LOAD", "LOCK", "MOVE", "NOTIFY", "PREPARE",
|
"GRANT", "INSERT", "LISTEN", "LOAD", "LOCK", "MOVE", "NOTIFY", "PREPARE",
|
||||||
"REASSIGN", "REINDEX", "RELEASE", "RESET", "REVOKE", "ROLLBACK",
|
"REASSIGN", "REINDEX", "RELEASE", "RESET", "REVOKE", "ROLLBACK",
|
||||||
"SAVEPOINT", "SELECT", "SET", "SHOW", "START", "TABLE", "TRUNCATE", "UNLISTEN",
|
"SAVEPOINT", "SELECT", "SET", "SHOW", "START", "TABLE", "TRUNCATE", "UNLISTEN",
|
||||||
@ -1532,6 +1532,18 @@ psql_completion(char *text, int start, int end)
|
|||||||
COMPLETE_WITH_LIST(list_DISCARD);
|
COMPLETE_WITH_LIST(list_DISCARD);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* DO */
|
||||||
|
/*
|
||||||
|
* Complete DO with LANGUAGE.
|
||||||
|
*/
|
||||||
|
else if (pg_strcasecmp(prev_wd, "DO") == 0)
|
||||||
|
{
|
||||||
|
static const char *const list_DO[] =
|
||||||
|
{"LANGUAGE", NULL};
|
||||||
|
|
||||||
|
COMPLETE_WITH_LIST(list_DO);
|
||||||
|
}
|
||||||
|
|
||||||
/* DROP (when not the previous word) */
|
/* DROP (when not the previous word) */
|
||||||
/* DROP AGGREGATE */
|
/* DROP AGGREGATE */
|
||||||
else if (pg_strcasecmp(prev3_wd, "DROP") == 0 &&
|
else if (pg_strcasecmp(prev3_wd, "DROP") == 0 &&
|
||||||
|
Loading…
Reference in New Issue
Block a user