#! /bin/ksh PATH=$(getconf PATH):$PATH usage() { echo >&2 "usage: $0 [-r | -u] [command]" echo >&2 " -r Connect to round-robin database" echo >&2 " -u Connect to user database" exit 1 } uflag=0 rflag=0 while getopts ru opt; do case $opt in u) uflag=1;; r) rflag=1;; *) usage;; esac done shift $(( OPTIND - 1 )) if [[ $rflag = 1 && $uflag = 1 ]]; then echo >&2 "-u and -r cannot both be specified" usage fi if [[ $# = 0 ]]; then usage fi if [[ $# > 1 ]]; then query=$2 fi if [[ $1 == "toolserver" ]]; then server=sql-toolserver elif echo "$1" | grep -q '^[up]_'; then server=sql elif [[ $1 == "centralauth_p" ]]; then server=z-dat-s7-a else db=$(mysql -BN -hsql-toolserver -e "select server from wiki where dbname='$1';" toolserver) if [[ -z "$db" ]]; then echo >&2 "$0: no such database \"$1\"" exit 1 fi if (( $uflag )); then server=sql-s${db}-user elif (( $rflag )); then server=sql-s${db}-rr else server=sql-s${db} fi fi if [[ -z "$query" ]]; then mysql -h $server --comments $1 else mysql -h $server --comments $1 -e "$query" fi