Commit d0f2f53c authored by Peter Eisentraut's avatar Peter Eisentraut

psql: Add tab completion for COPY with query

From: Andreas Karlsson <andreas@proxel.se>
parent 422a55a6
......@@ -1934,11 +1934,18 @@ psql_completion(const char *text, int start, int end)
/* COPY */
/*
* If we have COPY [BINARY] (which you'd have to type yourself), offer
* list of tables (Also cover the analogous backslash command)
* If we have COPY, offer list of tables or "(" (Also cover the analogous
* backslash command).
*/
else if (Matches1("COPY|\\copy") || Matches2("COPY", "BINARY"))
else if (Matches1("COPY|\\copy"))
COMPLETE_WITH_SCHEMA_QUERY(Query_for_list_of_tables,
" UNION ALL SELECT '('");
/* If we have COPY BINARY, complete with list of tables */
else if (Matches2("COPY", "BINARY"))
COMPLETE_WITH_SCHEMA_QUERY(Query_for_list_of_tables, NULL);
/* If we have COPY (, complete it with legal commands */
else if (Matches2("COPY|\\copy", "("))
COMPLETE_WITH_LIST7("SELECT", "TABLE", "VALUES", "INSERT", "UPDATE", "DELETE", "WITH");
/* If we have COPY [BINARY] <sth>, complete it with "TO" or "FROM" */
else if (Matches2("COPY|\\copy", MatchAny) ||
Matches3("COPY", "BINARY", MatchAny))
......
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