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