innodb_ruby 0.9.5 → 0.9.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/bin/innodb_space +11 -4
- data/lib/innodb/page/index.rb +1 -2
- data/lib/innodb/page/inode.rb +27 -7
- data/lib/innodb/space.rb +1 -1
- data/lib/innodb/version.rb +1 -1
- metadata +2 -2
data/bin/innodb_space
CHANGED
@@ -613,13 +613,13 @@ def print_inode_detail(inode)
|
|
613
613
|
end
|
614
614
|
|
615
615
|
def space_inodes_summary(space)
|
616
|
-
space.
|
616
|
+
space.each_allocated_inode do |inode|
|
617
617
|
print_inode_summary(inode)
|
618
618
|
end
|
619
619
|
end
|
620
620
|
|
621
621
|
def space_inodes_detail(space)
|
622
|
-
space.
|
622
|
+
space.each_allocated_inode do |inode|
|
623
623
|
print_inode_detail(inode)
|
624
624
|
end
|
625
625
|
end
|
@@ -666,7 +666,7 @@ def page_account(innodb_system, space, page_number)
|
|
666
666
|
end
|
667
667
|
|
668
668
|
page_inode = nil
|
669
|
-
space.
|
669
|
+
space.each_allocated_inode do |inode|
|
670
670
|
inode.each_list do |name, list|
|
671
671
|
if list.include? xdes
|
672
672
|
page_inode = inode
|
@@ -755,7 +755,7 @@ def page_directory_summary(page_number)
|
|
755
755
|
end
|
756
756
|
|
757
757
|
def page_illustrate(page)
|
758
|
-
width =
|
758
|
+
width = 64
|
759
759
|
blocks = Array.new(page.size, " ")
|
760
760
|
identifiers = {}
|
761
761
|
identifier_sort = 0
|
@@ -1062,6 +1062,10 @@ The following modes are supported:
|
|
1062
1062
|
color and Unicode box drawing characters to show page usage throughout
|
1063
1063
|
the space.
|
1064
1064
|
|
1065
|
+
space-lsn-age-illustrate
|
1066
|
+
Iterate through all pages, producing a heat map colored by the page LSN
|
1067
|
+
allowing the user to get an overview of page modification recency.
|
1068
|
+
|
1065
1069
|
space-inodes-summary
|
1066
1070
|
Iterate through all inodes, printing a short summary of each FSEG.
|
1067
1071
|
|
@@ -1113,6 +1117,9 @@ The following modes are supported:
|
|
1113
1117
|
Summarize the record contents of the page directory in a page. If a record
|
1114
1118
|
describer is available, the key of each record will be printed.
|
1115
1119
|
|
1120
|
+
page-illustrate
|
1121
|
+
Produce an illustration of the contents of a page.
|
1122
|
+
|
1116
1123
|
END_OF_USAGE
|
1117
1124
|
|
1118
1125
|
exit exit_code
|
data/lib/innodb/page/index.rb
CHANGED
@@ -973,7 +973,6 @@ class Innodb::Page::Index < Innodb::Page
|
|
973
973
|
:info => "Supremum",
|
974
974
|
})
|
975
975
|
|
976
|
-
|
977
976
|
directory_slots.times do |n|
|
978
977
|
yield({
|
979
978
|
:offset => pos_directory - (n * 2),
|
@@ -1002,7 +1001,7 @@ class Innodb::Page::Index < Innodb::Page
|
|
1002
1001
|
|
1003
1002
|
yield({
|
1004
1003
|
:offset => record.offset,
|
1005
|
-
:length => record.length,
|
1004
|
+
:length => record.length || 1,
|
1006
1005
|
:name => :record_data,
|
1007
1006
|
:info => "Record Data",
|
1008
1007
|
})
|
data/lib/innodb/page/inode.rb
CHANGED
@@ -67,11 +67,22 @@ class Innodb::Page::Inode < Innodb::Page
|
|
67
67
|
inodes_per_page.times do |n|
|
68
68
|
inode_cursor.name("inode[#{n}]") do |c|
|
69
69
|
this_inode = Innodb::Inode.new_from_cursor(@space, c)
|
70
|
-
yield this_inode
|
70
|
+
yield this_inode
|
71
71
|
end
|
72
72
|
end
|
73
73
|
end
|
74
74
|
|
75
|
+
# Iterate through all allocated inodes in the inode array.
|
76
|
+
def each_allocated_inode
|
77
|
+
unless block_given?
|
78
|
+
return enum_for(:each_allocated_inode)
|
79
|
+
end
|
80
|
+
|
81
|
+
each_inode do |this_inode|
|
82
|
+
yield this_inode if this_inode.allocated?
|
83
|
+
end
|
84
|
+
end
|
85
|
+
|
75
86
|
def each_region
|
76
87
|
unless block_given?
|
77
88
|
return enum_for(:each_region)
|
@@ -89,12 +100,21 @@ class Innodb::Page::Inode < Innodb::Page
|
|
89
100
|
})
|
90
101
|
|
91
102
|
each_inode do |inode|
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
103
|
+
if inode.allocated?
|
104
|
+
yield({
|
105
|
+
:offset => inode.offset,
|
106
|
+
:length => Innodb::Inode::SIZE,
|
107
|
+
:name => :inode_used,
|
108
|
+
:info => "Inode (used)",
|
109
|
+
})
|
110
|
+
else
|
111
|
+
yield({
|
112
|
+
:offset => inode.offset,
|
113
|
+
:length => Innodb::Inode::SIZE,
|
114
|
+
:name => :inode_free,
|
115
|
+
:info => "Inode (free)",
|
116
|
+
})
|
117
|
+
end
|
98
118
|
end
|
99
119
|
|
100
120
|
nil
|
data/lib/innodb/space.rb
CHANGED
data/lib/innodb/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: innodb_ruby
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.9.
|
4
|
+
version: 0.9.6
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2014-04-
|
13
|
+
date: 2014-04-03 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: bindata
|