line |
stmt |
bran |
cond |
sub |
pod |
time |
code |
1
|
|
|
|
|
|
|
package SQL::Load::Util; |
2
|
|
|
|
|
|
|
|
3
|
7
|
|
|
7
|
|
132881
|
use strict; |
|
7
|
|
|
|
|
34
|
|
|
7
|
|
|
|
|
195
|
|
4
|
7
|
|
|
7
|
|
34
|
use warnings; |
|
7
|
|
|
|
|
13
|
|
|
7
|
|
|
|
|
198
|
|
5
|
7
|
|
|
|
|
413
|
use String::CamelCase qw/ |
6
|
|
|
|
|
|
|
camelize |
7
|
|
|
|
|
|
|
decamelize |
8
|
7
|
|
|
7
|
|
3096
|
/; |
|
7
|
|
|
|
|
4059
|
|
9
|
7
|
|
|
7
|
|
48
|
use base qw/Exporter/; |
|
7
|
|
|
|
|
14
|
|
|
7
|
|
|
|
|
3577
|
|
10
|
|
|
|
|
|
|
|
11
|
|
|
|
|
|
|
our @EXPORT_OK = qw/ |
12
|
|
|
|
|
|
|
name_list |
13
|
|
|
|
|
|
|
parse |
14
|
|
|
|
|
|
|
remove_extension |
15
|
|
|
|
|
|
|
trim |
16
|
|
|
|
|
|
|
/; |
17
|
|
|
|
|
|
|
|
18
|
|
|
|
|
|
|
sub name_list { |
19
|
157
|
|
|
157
|
1
|
12059
|
my $name = shift; |
20
|
|
|
|
|
|
|
|
21
|
157
|
|
|
|
|
191
|
my @list; |
22
|
|
|
|
|
|
|
|
23
|
157
|
|
|
|
|
227
|
$name = remove_extension($name); |
24
|
|
|
|
|
|
|
|
25
|
157
|
|
|
|
|
347
|
$name =~ s/-/_/xg; |
26
|
157
|
|
|
|
|
325
|
push @list, camelize $name; |
27
|
|
|
|
|
|
|
|
28
|
157
|
|
|
|
|
1970
|
$name = decamelize $name; |
29
|
157
|
|
|
|
|
1533
|
push @list, $name; |
30
|
|
|
|
|
|
|
|
31
|
157
|
|
|
|
|
299
|
$name =~ s/_/-/xg; |
32
|
157
|
|
|
|
|
214
|
push @list, $name; |
33
|
|
|
|
|
|
|
|
34
|
157
|
100
|
|
|
|
487
|
return wantarray ? @list : \@list; |
35
|
|
|
|
|
|
|
} |
36
|
|
|
|
|
|
|
|
37
|
|
|
|
|
|
|
sub parse { |
38
|
30
|
|
|
30
|
1
|
7888
|
my $content = shift; |
39
|
|
|
|
|
|
|
|
40
|
|
|
|
|
|
|
# get all sql by name |
41
|
30
|
|
|
|
|
369
|
my (@data) = $content =~ /--\s*(?:#|\[|\()\s*([\w-]+)\s*(?:|]|\))\n([^;]+;)/g; |
42
|
|
|
|
|
|
|
|
43
|
|
|
|
|
|
|
# get all sql without name |
44
|
30
|
100
|
|
|
|
85
|
unless (@data) { |
45
|
11
|
|
|
|
|
126
|
my (@list) = $content =~ /([^;]+;)/g; |
46
|
|
|
|
|
|
|
|
47
|
11
|
|
|
|
|
28
|
my $num = 1; |
48
|
11
|
|
|
|
|
22
|
for my $sql (@list) { |
49
|
28
|
|
|
|
|
44
|
push(@data, $num++); |
50
|
28
|
|
|
|
|
63
|
push(@data, trim($sql)); |
51
|
|
|
|
|
|
|
} |
52
|
|
|
|
|
|
|
|
53
|
|
|
|
|
|
|
# if got one or nothing, set content as default |
54
|
11
|
50
|
|
|
|
34
|
unless (@data) { |
55
|
0
|
|
|
|
|
0
|
push(@data, 'default'); |
56
|
0
|
|
|
|
|
0
|
push(@data, trim($content)); |
57
|
|
|
|
|
|
|
} |
58
|
|
|
|
|
|
|
} |
59
|
|
|
|
|
|
|
|
60
|
30
|
50
|
|
|
|
156
|
return wantarray ? @data : \@data; |
61
|
|
|
|
|
|
|
} |
62
|
|
|
|
|
|
|
|
63
|
|
|
|
|
|
|
sub remove_extension { |
64
|
187
|
|
|
187
|
1
|
1297
|
my $value = shift; |
65
|
|
|
|
|
|
|
|
66
|
187
|
50
|
|
|
|
476
|
$value =~ s/\.sql$//i if $value; |
67
|
|
|
|
|
|
|
|
68
|
187
|
|
|
|
|
353
|
return $value; |
69
|
|
|
|
|
|
|
} |
70
|
|
|
|
|
|
|
|
71
|
|
|
|
|
|
|
sub trim { |
72
|
32
|
|
|
32
|
1
|
1493
|
my $value = shift; |
73
|
|
|
|
|
|
|
|
74
|
32
|
|
|
|
|
1035
|
$value =~ s/^\s+|\s+$//g; |
75
|
|
|
|
|
|
|
|
76
|
32
|
|
|
|
|
86
|
return $value; |
77
|
|
|
|
|
|
|
} |
78
|
|
|
|
|
|
|
|
79
|
|
|
|
|
|
|
1; |
80
|
|
|
|
|
|
|
|
81
|
|
|
|
|
|
|
__END__ |