-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathindex_optimized_loader
executable file
·73 lines (58 loc) · 1.94 KB
/
index_optimized_loader
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
#! /bin/bash
echo Starting Scrip
echo There were $# parameters supplied
set -e
conf_file=$1
complete_arguments=$@
echo complete_arguments $complete_arguments
shift
while [ -n "$1" ]
do
echo "$1"
case "$1" in
-d) data_dir=$2
echo Found data_dir: $data_dir
shift;;
-s) dbname=$2
echo dbname: $dbname
shift;;
-t) echo Found threads: $2
shift;;
-v) echo Found verbose: $2
shift;;
*) echo $1 is not an option ;;
esac
shift
done
temp_dir="${data_dir}"_temp
echo temp_dir: temp_dir
mkdir -p "$temp_dir"
shopt -s extglob
echo "${data_dir}/"!(*schema*.sql|metadata)
mv "${data_dir}/"!(*schema*.sql|metadata) "${temp_dir}"
#mv "${data_dir}/"*.sql "${temp_dir}/"
echo Moved sql data files to temp dir
myloader --defaults-file="$conf_file" $complete_arguments
echo Loaded base database schema
current_folder=`dirname $(readlink -f $0)`
echo "$current_folder"
mysql --defaults-file="$conf_file" -NBe "set @db='${dbname}'; source "$current_folder"/index_generator.sql;" >"${temp_dir}/add_index.sql"
echo Exported index creation query files
mysql --defaults-file="$conf_file" -NBe "set @db='${dbname}'; source "$current_folder"/drop_generator.sql;" >"${temp_dir}/drop_index.sql"
echo Exported drop index query files
mysql --defaults-file="$conf_file" -NBe "use ${dbname}; source ${temp_dir}/drop_index.sql;"
echo Executed drop queries
mv "${temp_dir}/"!(*_index.sql) "${data_dir}/"
echo Moving data sql queries back to data dir
mv "${data_dir}/"*schema*.sql "${temp_dir}/"
echo Moved schema query to temp dir
myloader --defaults-file="$conf_file" $complete_arguments
echo Loaded Data into database
mv "${temp_dir}/"add_index.sql "${data_dir}/"
mysql --defaults-file="$conf_file" -NBe "use ${dbname}; source ${data_dir}/add_index.sql;"
echo Added Indexes
mv "${temp_dir}/"*schema*.sql "${data_dir}/"
mv "${data_dir}/"*_index.sql "${temp_dir}/"
echo Cleaning up
shopt -u extglob
echo Done!!