Add tab completion syntax for PREPARE 2-phase commit syntax.
authorBruce Momjian
Thu, 28 Jul 2005 22:14:30 +0000 (22:14 +0000)
committerBruce Momjian
Thu, 28 Jul 2005 22:14:30 +0000 (22:14 +0000)
There's no tab-completion for "PREPARE TRANSACTION 'xxx'" since that
would be ambigous with "PREPARE xxx AS xx".

Heikki Linnakangas

src/bin/psql/tab-complete.c

index 64737ac007d2e34bd58c8165f078e59638436bc2..80441733fb1fcf64e01afe6d2c4e5345cea291e5 100644 (file)
@@ -3,7 +3,7 @@
  *
  * 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,16 +927,23 @@ psql_completion(char *text, int start, int end)
             pg_strcasecmp(prev_wd, "USER") == 0)
        COMPLETE_WITH_QUERY(Query_for_list_of_users);
 
-/* BEGIN, END, COMMIT, ABORT */
+/* BEGIN, END, ABORT */
    else if (pg_strcasecmp(prev_wd, "BEGIN") == 0 ||
             pg_strcasecmp(prev_wd, "END") == 0 ||
-            pg_strcasecmp(prev_wd, "COMMIT") == 0 ||
             pg_strcasecmp(prev_wd, "ABORT") == 0)
    {
        static const char *const list_TRANS[] =
        {"WORK", "TRANSACTION", NULL};
 
        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 */
    else if (pg_strcasecmp(prev_wd, "RELEASE") == 0)
@@ -945,7 +952,7 @@ psql_completion(char *text, int start, int end)
    else if (pg_strcasecmp(prev_wd, "ROLLBACK") == 0)
    {
        static const char *const list_TRANS[] =
-       {"WORK", "TRANSACTION", "TO SAVEPOINT", NULL};
+       {"WORK", "TRANSACTION", "TO SAVEPOINT", "PREPARED", NULL};
 
        COMPLETE_WITH_LIST(list_TRANS);
    }