summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVille Skyttä <ville.skytta@iki.fi>2011-01-08 23:28:38 +0200
committerVille Skyttä <ville.skytta@iki.fi>2011-01-08 23:28:38 +0200
commitfe2d7645df9f619a33feb8c8d7c89b1ea5fcad6b (patch)
tree24bca861ae85cfb7485baf5e62f9aaaf7a19f700
parentb1dbd1d7123c1541833db4e78383dade281ac702 (diff)
downloadbash-completion-fe2d7645df9f619a33feb8c8d7c89b1ea5fcad6b.tar.gz
Re-enable postgresql database and user completion (Alioth: #312914, Ubuntu: #164772).
This implementation uses -w which is available only in psql >= 8.4, but the net effect with earlier versions should be the same as when the completions were disabled.
-rw-r--r--CHANGES2
-rw-r--r--completions/postgresql17
2 files changed, 10 insertions, 9 deletions
diff --git a/CHANGES b/CHANGES
index b6d10539..046cb595 100644
--- a/CHANGES
+++ b/CHANGES
@@ -42,6 +42,8 @@ bash-completion (2.x)
* Add *.apk to unzip and jar filename completions.
* Do not load bash_completion in profile.d script if progcomp is not enabled.
* Ignore muttrc source entries that are not files (Alioth: #312881).
+ * Re-enable postgresql database and user completion (Alioth: #312914,
+ Ubuntu: #164772).
[ Freddy Vulto ]
* Added _tilde(), fix ~username completion (Alioth: #312613, Debian: #587095)
diff --git a/completions/postgresql b/completions/postgresql
index d42d6e17..f874b67b 100644
--- a/completions/postgresql
+++ b/completions/postgresql
@@ -3,19 +3,18 @@
have psql && {
_pg_databases()
{
- return # See https://launchpad.net/bugs/164772
- COMPREPLY=( $( compgen -W "$( psql -l 2>/dev/null | \
- sed -e '1,/^-/d' -e '/^(/,$d' | \
- awk '{print $1}' )" -- "$cur" ) )
+ # -w was introduced in 8.4, https://launchpad.net/bugs/164772
+ # "Access privileges" in output may contain linefeeds, hence the NF > 1
+ COMPREPLY=( $( compgen -W "$( psql -AtqwlF $'\t' 2>/dev/null | \
+ awk 'NF > 1 { print $1 }' )" -- "$cur" ) )
}
_pg_users()
{
- # See https://launchpad.net/bugs/164772
- #COMPREPLY=( $( psql -qtc 'select usename from pg_user' template1 2>/dev/null | \
- # command grep "^ $cur" ) )
- #[ ${#COMPREPLY[@]} -eq 0 ] && COMPREPLY=( $( compgen -u -- $cur ) )
- COMPREPLY=( $( compgen -u -- "$cur" ) )
+ # -w was introduced in 8.4, https://launchpad.net/bugs/164772
+ COMPREPLY=( $( compgen -W "$( psql -Atqwc 'select usename from pg_user' \
+ template1 2>/dev/null )" -- "$cur" ) )
+ [ ${#COMPREPLY[@]} -eq 0 ] && COMPREPLY=( $( compgen -u -- "$cur" ) )
}
# createdb(1) completion