Magellan Linux

Contents of /alx-src/trunk/alxconfig-ng/functions/mysqlfunctions

Parent Directory Parent Directory | Revision Log Revision Log


Revision 293 - (show annotations) (download)
Thu Aug 18 03:03:25 2005 UTC (18 years, 8 months ago) by niro
File size: 2463 byte(s)
typo

1 #!/bin/bash
2
3 #
4 # mysql functions for the bash
5 # Version 0.1
6 #
7 # Niels Rogalla <niro@magellan-linux.de>
8 #
9 # $Header: /home/cvsd/alx-cvs/alx-src/alxconfig-ng/functions/mysqlfunctions,v 1.6 2005-08-18 03:03:25 niro Exp $
10
11 mysql_command(){
12
13 local SQL_USER
14 local SQL_PASS
15 local SQL_HOST
16 local SQL_DB
17 local SQL_COMMAND
18
19 SQL_USER=$1
20 SQL_PASS=$2
21 SQL_HOST=$3
22 SQL_DB=$4
23 SQL_COMMAND=$5
24
25 #fallback (SQL_OPTS not, they are optional )
26 if [ -z "${SQL_USER}" \
27 -o -z "${SQL_PASS}" \
28 -o -z "${SQL_HOST}" \
29 -o -z "${SQL_DB}" \
30 -o -z "${SQL_COMMAND}" ]
31 then
32 echo
33 echo "Usage:"
34 echo -e " mysql_command user pass host db \"sql-command\""
35 echo
36 return 1
37 fi
38
39 mysql \
40 --user="${SQL_USER}" \
41 --password="${SQL_PASS}" \
42 --host="${SQL_HOST}" \
43 --database="${SQL_DB}" \
44 --batch \
45 --skip-column-names \
46 --execute="${SQL_COMMAND}" \
47 || return 1
48
49 return 0
50 }
51
52 mysql_enum_colums(){
53 local SQL_USER
54 local SQL_PASS
55 local SQL_HOST
56 local SQL_DB
57 local SQL_TABLE
58
59 local SHOWTABLES
60 local i
61 local read
62 local field
63 local type
64 local null
65 local key
66 local default
67 local extra
68
69 SQL_USER=$1
70 SQL_PASS=$2
71 SQL_HOST=$3
72 SQL_DB=$4
73 SQL_TABLE=$5
74
75 #show the column names ?
76 if [ -n "${6}" -a "${6}" == "show" ]
77 then
78 SHOWTABLES=true
79 else
80 SHOWTABLES=false
81 fi
82
83 #fallback (SQL_OPTS not, they are optional )
84 if [ -z "${SQL_USER}" \
85 -o -z "${SQL_PASS}" \
86 -o -z "${SQL_HOST}" \
87 -o -z "${SQL_DB}" \
88 -o -z "${SQL_TABLE}" ]
89 then
90 echo
91 echo "Usage:"
92 echo -e " mysql_enum_columns user pass host db table [show]"
93 echo
94 return 1
95 fi
96
97 declare -i i=0
98 while read field type null key default extra
99 do
100 i=${i}+1
101 [ "${SHOWTABLES}" == true ] && echo "${field}"
102 done << EOF
103 $(mysql_command ${SQL_USER} ${SQL_PASS} ${SQL_HOST} ${SQL_DB} "show columns from ${SQL_TABLE};")
104 EOF
105 [ "${SHOWTABLES}" == true ] || echo "${i}"
106 }
107
108 beep3x() {
109 echo -en "\a"
110 sleep 0.7
111 echo -en "\a"
112 sleep 0.7
113 echo -en "\a"
114 }
115
116 reach_mysql_server()
117 {
118 # set connection timeout to 10 secs
119 mysql --connect_timeout=10 \
120 --user="${SQL_USER}" \
121 --password="${SQL_PASS}" \
122 --host="${SQL_HOST}" \
123 --database="${SQL_DB}" \
124 --batch \
125 --execute="" &> /dev/null && return 0 || \
126 (
127 echo -e ${COLRED}
128 echo "Cannot reach a mysql-server at '${SQL_HOST}'."
129 echo "None of the current settings of this client will be touched."
130 echo "Please inform your system-administrator."
131 echo -e ${COLDEFAULT}
132 beep3x
133 sleep 5
134 return 1
135 )
136 }

Properties

Name Value
svn:executable *