Contents of /alx-src/branches/alxconf-060/functions/mysqlfunctions
Parent Directory | Revision Log
Revision 286 -
(show annotations)
(download)
Wed Aug 17 22:09:59 2005 UTC (19 years, 1 month ago) by niro
Original Path: alx-src/trunk/alxconfig-ng/functions/mysqlfunctions
File size: 2463 byte(s)
Wed Aug 17 22:09:59 2005 UTC (19 years, 1 month ago) by niro
Original Path: alx-src/trunk/alxconfig-ng/functions/mysqlfunctions
File size: 2463 byte(s)
changed timeout to 10 seconds; quoting the cars
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.5 2005-08-17 22:09:59 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 | * |