Commit ef85f5fa authored by Bruce Momjian's avatar Bruce Momjian

Add tab completion syntax for PREPARE 2-phase commit syntax.

There's no tab-completion for "PREPARE TRANSACTION 'xxx'" since that
would be ambigous with "PREPARE xxx AS xx".

Heikki Linnakangas
parent a4ca8423
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
* *
* Copyright (c) 2000-2005, PostgreSQL Global Development Group * Copyright (c) 2000-2005, PostgreSQL Global Development Group
* *
* $PostgreSQL: pgsql/src/bin/psql/tab-complete.c,v 1.134 2005/07/23 21:05:47 tgl Exp $ * $PostgreSQL: pgsql/src/bin/psql/tab-complete.c,v 1.135 2005/07/28 22:14:30 momjian Exp $
*/ */
/*---------------------------------------------------------------------- /*----------------------------------------------------------------------
...@@ -927,10 +927,9 @@ psql_completion(char *text, int start, int end) ...@@ -927,10 +927,9 @@ psql_completion(char *text, int start, int end)
pg_strcasecmp(prev_wd, "USER") == 0) pg_strcasecmp(prev_wd, "USER") == 0)
COMPLETE_WITH_QUERY(Query_for_list_of_users); COMPLETE_WITH_QUERY(Query_for_list_of_users);
/* BEGIN, END, COMMIT, ABORT */ /* BEGIN, END, ABORT */
else if (pg_strcasecmp(prev_wd, "BEGIN") == 0 || else if (pg_strcasecmp(prev_wd, "BEGIN") == 0 ||
pg_strcasecmp(prev_wd, "END") == 0 || pg_strcasecmp(prev_wd, "END") == 0 ||
pg_strcasecmp(prev_wd, "COMMIT") == 0 ||
pg_strcasecmp(prev_wd, "ABORT") == 0) pg_strcasecmp(prev_wd, "ABORT") == 0)
{ {
static const char *const list_TRANS[] = static const char *const list_TRANS[] =
...@@ -938,6 +937,14 @@ psql_completion(char *text, int start, int end) ...@@ -938,6 +937,14 @@ psql_completion(char *text, int start, int end)
COMPLETE_WITH_LIST(list_TRANS); COMPLETE_WITH_LIST(list_TRANS);
} }
/* COMMIT */
else if(pg_strcasecmp(prev_wd, "COMMIT") == 0)
{
static const char *const list_COMMIT[] =
{"WORK", "TRANSACTION", "PREPARED", NULL};
COMPLETE_WITH_LIST(list_COMMIT);
}
/* RELEASE SAVEPOINT */ /* RELEASE SAVEPOINT */
else if (pg_strcasecmp(prev_wd, "RELEASE") == 0) else if (pg_strcasecmp(prev_wd, "RELEASE") == 0)
COMPLETE_WITH_CONST("SAVEPOINT"); COMPLETE_WITH_CONST("SAVEPOINT");
...@@ -945,7 +952,7 @@ psql_completion(char *text, int start, int end) ...@@ -945,7 +952,7 @@ psql_completion(char *text, int start, int end)
else if (pg_strcasecmp(prev_wd, "ROLLBACK") == 0) else if (pg_strcasecmp(prev_wd, "ROLLBACK") == 0)
{ {
static const char *const list_TRANS[] = static const char *const list_TRANS[] =
{"WORK", "TRANSACTION", "TO SAVEPOINT", NULL}; {"WORK", "TRANSACTION", "TO SAVEPOINT", "PREPARED", NULL};
COMPLETE_WITH_LIST(list_TRANS); COMPLETE_WITH_LIST(list_TRANS);
} }
......
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