• Stars
    star
    1,658
  • Rank 28,199 (Top 0.6 %)
  • Language
    Ruby
  • License
    Other
  • Created about 12 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A parser for InnoDB file formats, in Ruby

A parser for InnoDB file formats, in Ruby

rspec test status rubocop style check status

The purpose for this library and tools is to expose some otherwise hidden internals of InnoDB. This code is not intended for critical production usage. It is definitely buggy, and it may be dangerous. Neither its internal APIs or its output are considered stable and are subject to change at any time.

It is intended as for a few purposes:

  • As a learning tool. What better way to improve your understanding of a structure than to implement it in another language?
  • As a teaching tool. Using irb to interactively investigate the actual structures on disk is invaluable for demonstrating (to yourself or others) what is actually happening.
  • As an investigative tool. InnoDB unfortunately doesn't provide enough information about what it is doing or has done with its on-disk storage. How full are pages? Exactly how many records per page? How is the B+tree structured for a particular table? All of these questions can be answered easily with innodb_ruby.
  • As a debugging tool. While making changes to the structures or behaviors of InnoDB, it is necessary to have tools to expose the results both of the original behavior and the new one, in order to validate that the changes have the desired effect.

Various parts of this library and the tools included may have wildly differing maturity levels, as it is worked on primarily based on immediate needs of the authors.

Resources

  • The innodb_ruby wiki contains some additional references and documentation to help you get started.
  • See the RubyGems page for innodb_ruby ā€” Gem packaged releases are published regularly to RubyGems.org, which also provides online documentation.

More Repositories

1

innodb_diagrams

Diagrams for InnoDB data structures and behaviors
1,420
star
2

mysql_binlog

Library for parsing MySQL binary logs in Ruby
Ruby
121
star
3

avr

Jeremy Cole's AVR Projects
C
33
star
4

yesmark

YesMarkā„¢ ā€” the world's most advanced Open Source benchmarking platform.
15
star
5

Temperature_LM75_Derived

Arduino library for IĀ²C Temperature Sensors derived from the LM75
C++
13
star
6

iohist

Histograms from Linux diskstats
9
star
7

blog-files

Files for reference in blog.jcole.us
Perl
8
star
8

mysql_cache_manager

MySQL Cache Manager: Save and restore InnoDB Buffer Pool contents
Ruby
7
star
9

floating_head

Open Source Pan/Tilt Skype Camera for remote workers
Ruby
6
star
10

Maxim_DS2782

Arduino library for the Maxim DS2782 Stand-Alone Fuel Gauge IC
C++
5
star
11

mysql_management_tools

MySQL Management Tools
Ruby
4
star
12

aviation

Aviation
4
star
13

easypxe

A dynamic DHCP+PXE server
Perl
4
star
14

eagle-projects

Electronics design projects in Eagle by Jeremy Cole
3
star
15

AllSensors_DLHR

Arduino library for the AllSensors DLHR Series Low Voltage Digital Pressure Sensors
C++
3
star
16

avruby

An AVR emulator, crazily written in Ruby.
Ruby
3
star
17

unifi_protect

An unofficial implementation of the Ubiquiti UniFi Protect API in Ruby
Ruby
2
star
18

hello

Hello World, ten times in a loop
Assembly
2
star
19

pegged

Cracker Barrel Peg Game Solver
Ruby
2
star
20

TI_TCA9548A

Arduino library for TI TCA9548A Low-Voltage 8-Channel IĀ²C Switch with Reset
C++
2
star
21

metrics_channel

Ruby
2
star
22

weatherlink

Unofficial Davis Instruments WeatherLink/AirLink API in Ruby
Ruby
1
star
23

AllSensors_DLV

Arduino library for the AllSensors DLV Series Low Voltage Digital Pressure Sensors
C++
1
star
24

headshot

Headshots of myself for use in publications
1
star
25

system-summary

Summarize hardware present in a Linux system
Perl
1
star
26

dot-vim

VIM Configuration
Vim Script
1
star
27

rubulator

A stupid Ruby-based calculator which uses only prefix operators.
Ruby
1
star
28

flipper

Tool for managing access to MySQL master-master pairs
Perl
1
star
29

logic_ruby

Simulating transistors in Ruby, why not?
Ruby
1
star
30

ftc_event

A library for accessing a FIRST Tech Challenge scorekeeper event database
Ruby
1
star
31

metrics-channel-java

Java
1
star
32

buffer_cursor

Ruby
1
star
33

coronavirus

R
1
star
34

patches

Patches to various OSS projects
1
star
35

weather_gov

Ruby API for api.weather.gov
Ruby
1
star
36

game_engine_math_ruby

Musings on Foundations of Game Engine Development, Volume 1: Mathematics
Ruby
1
star