further-extension-version-tab-hacking.patch
text/x-diff
Filename: further-extension-version-tab-hacking.patch
Type: text/x-diff
Part: 0
Patch
Format: unified
| File | + | − |
|---|---|---|
| src/bin/psql/tab-complete.c | 6 | 18 |
diff --git a/src/bin/psql/tab-complete.c b/src/bin/psql/tab-complete.c
index 7f0ab5acb9..941daaeb7c 100644
--- a/src/bin/psql/tab-complete.c
+++ b/src/bin/psql/tab-complete.c
@@ -1081,19 +1081,10 @@ static const SchemaQuery Query_for_trigger_of_table = {
" FROM pg_catalog.pg_available_extensions "\
" WHERE name LIKE '%s' AND installed_version IS NULL"
-/* the result of this query is not a raw identifier, so use VERBATIM */
#define Query_for_list_of_available_extension_versions \
-" SELECT pg_catalog.quote_ident(version) "\
+" SELECT version "\
" FROM pg_catalog.pg_available_extension_versions "\
-" WHERE pg_catalog.quote_ident(version) LIKE '%s'"\
-" AND name='%s'"
-
-/* the result of this query is not a raw identifier, so use VERBATIM */
-#define Query_for_list_of_available_extension_versions_with_TO \
-" SELECT 'TO ' || pg_catalog.quote_ident(version) "\
-" FROM pg_catalog.pg_available_extension_versions "\
-" WHERE ('TO ' || pg_catalog.quote_ident(version)) LIKE '%s'"\
-" AND name='%s'"
+" WHERE version LIKE '%s' AND name='%s'"
#define Query_for_list_of_prepared_statements \
" SELECT name "\
@@ -1934,20 +1925,17 @@ psql_completion(const char *text, int start, int end)
/* ALTER EXTENSION <name> */
else if (Matches("ALTER", "EXTENSION", MatchAny))
- COMPLETE_WITH("ADD", "DROP", "UPDATE", "SET SCHEMA");
+ COMPLETE_WITH("ADD", "DROP", "UPDATE TO", "SET SCHEMA");
/* ALTER EXTENSION <name> UPDATE */
else if (Matches("ALTER", "EXTENSION", MatchAny, "UPDATE"))
- {
- set_completion_reference(prev2_wd);
- COMPLETE_WITH_QUERY_VERBATIM(Query_for_list_of_available_extension_versions_with_TO);
- }
+ COMPLETE_WITH("TO");
/* ALTER EXTENSION <name> UPDATE TO */
else if (Matches("ALTER", "EXTENSION", MatchAny, "UPDATE", "TO"))
{
set_completion_reference(prev3_wd);
- COMPLETE_WITH_QUERY_VERBATIM(Query_for_list_of_available_extension_versions);
+ COMPLETE_WITH_QUERY(Query_for_list_of_available_extension_versions);
}
/* ALTER FOREIGN */
@@ -2824,7 +2812,7 @@ psql_completion(const char *text, int start, int end)
else if (Matches("CREATE", "EXTENSION", MatchAny, "VERSION"))
{
set_completion_reference(prev2_wd);
- COMPLETE_WITH_QUERY_VERBATIM(Query_for_list_of_available_extension_versions);
+ COMPLETE_WITH_QUERY(Query_for_list_of_available_extension_versions);
}
/* CREATE FOREIGN */