Magellan Linux

Annotation of /alx-src/branches/alxconf-060/functions/mysqlfunctions

Parent Directory Parent Directory | Revision Log Revision Log


Revision 239 - (hide annotations) (download)
Tue Apr 12 20:46:52 2005 UTC (19 years, 1 month ago) by niro
Original Path: alx-src/trunk/alxconfig-ng/functions/mysqlfunctions
File size: 1861 byte(s)
import from aka-cvs

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 239 # $Header: /home/cvsd/alx-cvs/alx-src/alxconfig-ng/functions/mysqlfunctions,v 1.3 2005-04-12 20:45:55 niro Exp $
10 niro 219
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     }

Properties

Name Value
svn:executable *