diff --git a/src/bin/psql/tab-complete.c b/src/bin/psql/tab-complete.c index 12af60ffa6d26bd11468ce16c4bd7f4123a9d115..bcd01b7516557e6f9c010703dcb5acd568b6860f 100644 --- a/src/bin/psql/tab-complete.c +++ b/src/bin/psql/tab-complete.c @@ -3,7 +3,7 @@ * * Copyright (c) 2000-2003, PostgreSQL Global Development Group * - * $Header: /cvsroot/pgsql/src/bin/psql/tab-complete.c,v 1.89 2003/10/17 11:52:06 petere Exp $ + * $Header: /cvsroot/pgsql/src/bin/psql/tab-complete.c,v 1.90 2003/10/28 23:35:52 tgl Exp $ */ /*---------------------------------------------------------------------- @@ -142,7 +142,7 @@ initialize_readline(void) " UNION" \ " SELECT pg_catalog.quote_ident(nspname) || '.'" \ " FROM pg_catalog.pg_namespace" \ -" WHERE substring(pg_catalog.quote_ident(nspname) || '.',1,%d)='%s'" \ +" WHERE substring(pg_catalog.quote_ident(nspname),1,%d)='%s'" \ " UNION" \ " SELECT pg_catalog.quote_ident(nspname) || '.' || pg_catalog.quote_ident(proname)" \ " FROM pg_catalog.pg_proc p, pg_catalog.pg_namespace n" \ @@ -180,7 +180,7 @@ initialize_readline(void) " UNION "\ " SELECT pg_catalog.quote_ident(nspname) || '.'"\ " FROM pg_catalog.pg_namespace "\ -" WHERE substring(pg_catalog.quote_ident(nspname) || '.',1,%d)='%s' "\ +" WHERE substring(pg_catalog.quote_ident(nspname),1,%d)='%s' "\ " UNION "\ " SELECT pg_catalog.quote_ident(nspname) || '.' || pg_catalog.format_type(t.oid, NULL)"\ " FROM pg_catalog.pg_type t, pg_catalog.pg_namespace n "\ @@ -204,7 +204,7 @@ initialize_readline(void) " UNION" \ " SELECT pg_catalog.quote_ident(nspname) || '.'"\ " FROM pg_catalog.pg_namespace "\ -" WHERE substring(pg_catalog.quote_ident(nspname) || '.',1,%d)='%s' "\ +" WHERE substring(pg_catalog.quote_ident(nspname),1,%d)='%s' "\ " UNION "\ " SELECT pg_catalog.quote_ident(nspname) || '.' || pg_catalog.quote_ident(typname)"\ " FROM pg_catalog.pg_type t, pg_catalog.pg_namespace n "\ @@ -230,7 +230,7 @@ initialize_readline(void) " UNION "\ " SELECT pg_catalog.quote_ident(nspname) || '.' "\ " FROM pg_catalog.pg_namespace "\ -" WHERE substring(pg_catalog.quote_ident(nspname) || '.',1,%d)='%s' "\ +" WHERE substring(pg_catalog.quote_ident(nspname),1,%d)='%s' "\ " UNION "\ " SELECT pg_catalog.quote_ident(nspname) || '.' || pg_catalog.quote_ident(proname) "\ " FROM pg_catalog.pg_proc p, pg_catalog.pg_namespace n "\ @@ -253,7 +253,7 @@ initialize_readline(void) " UNION "\ " SELECT pg_catalog.quote_ident(nspname) || '.' "\ " FROM pg_catalog.pg_namespace "\ -" WHERE substring(pg_catalog.quote_ident(nspname) || '.',1,%d)='%s' "\ +" WHERE substring(pg_catalog.quote_ident(nspname),1,%d)='%s' "\ " UNION "\ " SELECT pg_catalog.quote_ident(nspname) || '.' || pg_catalog.quote_ident(relname) "\ " FROM pg_catalog.pg_class c, pg_catalog.pg_namespace n "\ @@ -288,7 +288,7 @@ initialize_readline(void) " UNION "\ " SELECT pg_catalog.quote_ident(nspname) || '.' "\ " FROM pg_catalog.pg_namespace "\ -" WHERE substring(pg_catalog.quote_ident(nspname) || '.',1,%d)='%s' "\ +" WHERE substring(pg_catalog.quote_ident(nspname),1,%d)='%s' "\ " UNION "\ " SELECT pg_catalog.quote_ident(nspname) || '.' || pg_catalog.quote_ident(relname) "\ " FROM pg_catalog.pg_class c, pg_catalog.pg_namespace n "\ @@ -321,7 +321,7 @@ initialize_readline(void) " UNION "\ " SELECT pg_catalog.quote_ident(nspname) || '.' "\ " FROM pg_catalog.pg_namespace "\ -" WHERE substring(pg_catalog.quote_ident(nspname) || '.',1,%d)='%s' "\ +" WHERE substring(pg_catalog.quote_ident(nspname),1,%d)='%s' "\ " UNION "\ " SELECT pg_catalog.quote_ident(nspname) || '.' || pg_catalog.quote_ident(relname) "\ " FROM pg_catalog.pg_class c, pg_catalog.pg_namespace n "\ @@ -345,7 +345,7 @@ initialize_readline(void) " UNION "\ " SELECT pg_catalog.quote_ident(nspname) || '.' "\ " FROM pg_catalog.pg_namespace "\ -" WHERE substring(pg_catalog.quote_ident(nspname) || '.',1,%d)='%s' "\ +" WHERE substring(pg_catalog.quote_ident(nspname),1,%d)='%s' "\ " UNION "\ " SELECT pg_catalog.quote_ident(nspname) || '.' || pg_catalog.quote_ident(relname) "\ " FROM pg_catalog.pg_class c, pg_catalog.pg_namespace n "\ @@ -369,7 +369,7 @@ initialize_readline(void) " UNION "\ " SELECT pg_catalog.quote_ident(nspname) || '.' "\ " FROM pg_catalog.pg_namespace "\ -" WHERE substring(pg_catalog.quote_ident(nspname) || '.',1,%d)='%s' "\ +" WHERE substring(pg_catalog.quote_ident(nspname),1,%d)='%s' "\ " UNION "\ " SELECT pg_catalog.quote_ident(nspname) || '.' || pg_catalog.quote_ident(relname) "\ " FROM pg_catalog.pg_class c, pg_catalog.pg_namespace n "\ @@ -393,7 +393,7 @@ initialize_readline(void) " UNION "\ " SELECT pg_catalog.quote_ident(nspname) || '.' "\ " FROM pg_catalog.pg_namespace "\ -" WHERE substring(pg_catalog.quote_ident(nspname) || '.',1,%d)='%s' "\ +" WHERE substring(pg_catalog.quote_ident(nspname),1,%d)='%s' "\ " UNION "\ " SELECT pg_catalog.quote_ident(nspname) || '.' || pg_catalog.quote_ident(relname) "\ " FROM pg_catalog.pg_class c, pg_catalog.pg_namespace n "\ @@ -991,20 +991,11 @@ psql_completion(char *text, int start, int end) else if ((strcasecmp(prev3_wd, "GRANT") == 0 || strcasecmp(prev3_wd, "REVOKE") == 0) && strcasecmp(prev_wd, "ON") == 0) - COMPLETE_WITH_QUERY("SELECT pg_catalog.quote_ident(relname) FROM pg_catalog.pg_class c, pg_catalog.pg_namespace n " - " WHERE relkind in ('r','S','v') " - " AND substring(pg_catalog.quote_ident(relname),1,%d)='%s' " - " AND pg_catalog.pg_table_is_visible(c.oid) " - " AND relnamespace = n.oid " - " AND n.nspname NOT IN ('pg_catalog', 'pg_toast') " - " UNION " - "SELECT 'DATABASE' " - " UNION " - "SELECT 'FUNCTION' " - " UNION " - "SELECT 'LANGUAGE' " - " UNION " - "SELECT 'SCHEMA' "); + COMPLETE_WITH_SCHEMA_QUERY(Query_for_list_of_tsv + " UNION SELECT 'DATABASE'" + " UNION SELECT 'FUNCTION'" + " UNION SELECT 'LANGUAGE'" + " UNION SELECT 'SCHEMA'"); /* Complete "GRANT/REVOKE * ON * " with "TO" */ else if ((strcasecmp(prev4_wd, "GRANT") == 0 || @@ -1251,7 +1242,10 @@ psql_completion(char *text, int start, int end) /* VACUUM */ else if (strcasecmp(prev_wd, "VACUUM") == 0) - COMPLETE_WITH_QUERY("SELECT pg_catalog.quote_ident(relname) FROM pg_catalog.pg_class WHERE relkind='r' and substring(pg_catalog.quote_ident(relname),1,%d)='%s' and pg_catalog.pg_table_is_visible(oid) UNION SELECT 'FULL' UNION SELECT 'ANALYZE' UNION SELECT 'VERBOSE'"); + COMPLETE_WITH_SCHEMA_QUERY(Query_for_list_of_tables + " UNION SELECT 'FULL'" + " UNION SELECT 'ANALYZE'" + " UNION SELECT 'VERBOSE'"); else if (strcasecmp(prev2_wd, "VACUUM") == 0 && (strcasecmp(prev_wd, "FULL") == 0 || strcasecmp(prev_wd, "ANALYZE") == 0 ||