psql: tab completion for \encoding
authorBruce Momjian
Thu, 12 Jun 2003 01:38:08 +0000 (01:38 +0000)
committerBruce Momjian
Thu, 12 Jun 2003 01:38:08 +0000 (01:38 +0000)
Ian Barwick

src/bin/psql/tab-complete.c

index d1e1272a32c0bdfc25a71968fd6a4035a5faf4d0..f0de8f6c0e674f29b040b6dd5005cef86fc48731 100644 (file)
@@ -3,7 +3,7 @@
  *
  * Copyright 2000-2002 by PostgreSQL Global Development Group
  *
- * $Header: /cvsroot/pgsql/src/bin/psql/tab-complete.c,v 1.79 2003/06/11 22:13:22 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/bin/psql/tab-complete.c,v 1.80 2003/06/12 01:38:08 momjian Exp $
  */
 
 /*----------------------------------------------------------------------
@@ -207,6 +207,11 @@ initialize_readline(void)
 "          WHERE substr(nspname,1,%d)='%s' "\
 "         HAVING COUNT(nspname)=1))"
 
+#define Query_for_list_of_encodings \
+" SELECT DISTINCT pg_catalog.pg_encoding_to_char(conforencoding) "\
+"   FROM pg_catalog.pg_conversion "\
+"  WHERE substr(pg_catalog.pg_encoding_to_char(conforencoding),1,%d)=UPPER('%s')"
+
 #define Query_for_list_of_functions \
 " SELECT DISTINCT proname || '()' "\
 "   FROM pg_catalog.pg_proc p, pg_catalog.pg_namespace n "\
@@ -1273,6 +1278,8 @@ psql_completion(char *text, int start, int end)
        COMPLETE_WITH_QUERY(Query_for_list_of_users);
    else if (strcmp(prev_wd, "\\dv") == 0 || strcmp(prev_wd, "\\dv+") == 0)
        COMPLETE_WITH_SCHEMA_QUERY(Query_for_list_of_views);
+   else if (strcmp(prev_wd, "\\encoding") == 0)
+       COMPLETE_WITH_QUERY(Query_for_list_of_encodings);
    else if (strcmp(prev_wd, "\\h") == 0 || strcmp(prev_wd, "\\help") == 0)
        COMPLETE_WITH_LIST(sql_commands);
    else if (strcmp(prev_wd, "\\pset") == 0)