├── .gitignore ├── images ├── InnoDB_Structures.pdf ├── InnoDB_Log_Structures.pdf ├── InnoDB_Structures │ ├── FSEG Header.png │ ├── FSP Header.png │ ├── INODE Entry.png │ ├── List Nodes.png │ ├── Undo Record.png │ ├── XDES Entry.png │ ├── INDEX Header.png │ ├── Record Header.png │ ├── Record History.png │ ├── B+Tree Structure.png │ ├── List Base Nodes.png │ ├── TRX_SYS Overview.png │ ├── Undo Log Header.png │ ├── Undo Page Header.png │ ├── Basic Page Overview.png │ ├── High-level Overview.png │ ├── History Structure.png │ ├── IBD File Overview.png │ ├── IBUF_BITMAP Entry.png │ ├── INDEX Page Overview.png │ ├── INODE Page Overview.png │ ├── Space File Overview.png │ ├── UNDO_LOG Overview.png │ ├── Undo Segment Header.png │ ├── FSP_HDR Page Overview.png │ ├── INDEX Page Directory.png │ ├── INDEX System Records.png │ ├── Record Clustered Leaf.png │ ├── Record Secondary Leaf.png │ ├── ibdata1 File Overview.png │ ├── B+Tree Record Delete 1.png │ ├── B+Tree Record Delete 2.png │ ├── B+Tree Simplified Level.png │ ├── Compressed INDEX Data 1.png │ ├── Compressed INDEX Data 2.png │ ├── Compressed INDEX Data 3.png │ ├── FIL Header and Trailer.png │ ├── Record Format - Header.png │ ├── Record Format - Overview.png │ ├── Record Header Overview.png │ ├── Rollback Segment Header.png │ ├── SYS_RSEG_HEADER Overview.png │ ├── TRX_SYS MySQL Log Info.png │ ├── Undo Record for Update.png │ ├── IBUF_BITMAP Page Overview.png │ ├── Record Clustered Non-Leaf.png │ ├── Record Secondary Non-Leaf.png │ ├── B+Tree Record Initial State.png │ ├── B+Tree Record Update - Larger.png │ ├── B+Tree Simplified Leaf Page.png │ ├── Index File Segment Structure.png │ ├── Rollback Pointer (ROLL_PTR).png │ ├── B+Tree Detailed Page Structure.png │ ├── B+Tree Page Directory Structure.png │ ├── B+Tree Record Update - Smaller.png │ ├── B+Tree Simplified Non-Leaf Page.png │ ├── Compressed INDEX Page Directory.png │ ├── Compressed INDEX Page Overview.png │ ├── Record Change Buffer Index Leaf.png │ ├── TRX_SYS Doublewrite Buffer Info.png │ ├── Compressed INDEX Page Trailer Data.png │ └── Compressed INDEX Page Modification Log.png └── InnoDB_Log_Structures │ ├── Log Block.png │ ├── Log Checkpoint.png │ ├── Log File Header.png │ ├── Log File 0 Overview.png │ ├── Log Group Structure.png │ ├── Log Record Overview.png │ ├── Log File 1+ Overview 2.png │ ├── Log Record MLOG_nBYTE.png │ ├── Log Record MLOG_nBYTE 2.png │ └── Log Record MLOG_COMP_REC_INSERT.png ├── InnoDB_Log_Structures.graffle ├── README.md └── LICENSE /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | -------------------------------------------------------------------------------- /images/InnoDB_Structures.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeremycole/innodb_diagrams/HEAD/images/InnoDB_Structures.pdf -------------------------------------------------------------------------------- /InnoDB_Log_Structures.graffle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeremycole/innodb_diagrams/HEAD/InnoDB_Log_Structures.graffle -------------------------------------------------------------------------------- /images/InnoDB_Log_Structures.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeremycole/innodb_diagrams/HEAD/images/InnoDB_Log_Structures.pdf -------------------------------------------------------------------------------- /images/InnoDB_Structures/FSEG Header.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeremycole/innodb_diagrams/HEAD/images/InnoDB_Structures/FSEG Header.png -------------------------------------------------------------------------------- /images/InnoDB_Structures/FSP Header.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeremycole/innodb_diagrams/HEAD/images/InnoDB_Structures/FSP Header.png -------------------------------------------------------------------------------- /images/InnoDB_Structures/INODE Entry.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeremycole/innodb_diagrams/HEAD/images/InnoDB_Structures/INODE Entry.png -------------------------------------------------------------------------------- /images/InnoDB_Structures/List Nodes.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeremycole/innodb_diagrams/HEAD/images/InnoDB_Structures/List Nodes.png -------------------------------------------------------------------------------- /images/InnoDB_Structures/Undo Record.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeremycole/innodb_diagrams/HEAD/images/InnoDB_Structures/Undo Record.png -------------------------------------------------------------------------------- /images/InnoDB_Structures/XDES Entry.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeremycole/innodb_diagrams/HEAD/images/InnoDB_Structures/XDES Entry.png -------------------------------------------------------------------------------- /images/InnoDB_Log_Structures/Log Block.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeremycole/innodb_diagrams/HEAD/images/InnoDB_Log_Structures/Log Block.png -------------------------------------------------------------------------------- /images/InnoDB_Structures/INDEX Header.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeremycole/innodb_diagrams/HEAD/images/InnoDB_Structures/INDEX Header.png -------------------------------------------------------------------------------- /images/InnoDB_Structures/Record Header.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeremycole/innodb_diagrams/HEAD/images/InnoDB_Structures/Record Header.png -------------------------------------------------------------------------------- /images/InnoDB_Structures/Record History.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeremycole/innodb_diagrams/HEAD/images/InnoDB_Structures/Record History.png -------------------------------------------------------------------------------- /images/InnoDB_Structures/B+Tree Structure.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeremycole/innodb_diagrams/HEAD/images/InnoDB_Structures/B+Tree Structure.png -------------------------------------------------------------------------------- /images/InnoDB_Structures/List Base Nodes.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeremycole/innodb_diagrams/HEAD/images/InnoDB_Structures/List Base Nodes.png -------------------------------------------------------------------------------- /images/InnoDB_Structures/TRX_SYS Overview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeremycole/innodb_diagrams/HEAD/images/InnoDB_Structures/TRX_SYS Overview.png -------------------------------------------------------------------------------- /images/InnoDB_Structures/Undo Log Header.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeremycole/innodb_diagrams/HEAD/images/InnoDB_Structures/Undo Log Header.png -------------------------------------------------------------------------------- /images/InnoDB_Structures/Undo Page Header.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeremycole/innodb_diagrams/HEAD/images/InnoDB_Structures/Undo Page Header.png -------------------------------------------------------------------------------- /images/InnoDB_Log_Structures/Log Checkpoint.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeremycole/innodb_diagrams/HEAD/images/InnoDB_Log_Structures/Log Checkpoint.png -------------------------------------------------------------------------------- /images/InnoDB_Log_Structures/Log File Header.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeremycole/innodb_diagrams/HEAD/images/InnoDB_Log_Structures/Log File Header.png -------------------------------------------------------------------------------- /images/InnoDB_Structures/Basic Page Overview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeremycole/innodb_diagrams/HEAD/images/InnoDB_Structures/Basic Page Overview.png -------------------------------------------------------------------------------- /images/InnoDB_Structures/High-level Overview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeremycole/innodb_diagrams/HEAD/images/InnoDB_Structures/High-level Overview.png -------------------------------------------------------------------------------- /images/InnoDB_Structures/History Structure.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeremycole/innodb_diagrams/HEAD/images/InnoDB_Structures/History Structure.png -------------------------------------------------------------------------------- /images/InnoDB_Structures/IBD File Overview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeremycole/innodb_diagrams/HEAD/images/InnoDB_Structures/IBD File Overview.png -------------------------------------------------------------------------------- /images/InnoDB_Structures/IBUF_BITMAP Entry.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeremycole/innodb_diagrams/HEAD/images/InnoDB_Structures/IBUF_BITMAP Entry.png -------------------------------------------------------------------------------- /images/InnoDB_Structures/INDEX Page Overview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeremycole/innodb_diagrams/HEAD/images/InnoDB_Structures/INDEX Page Overview.png -------------------------------------------------------------------------------- /images/InnoDB_Structures/INODE Page Overview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeremycole/innodb_diagrams/HEAD/images/InnoDB_Structures/INODE Page Overview.png -------------------------------------------------------------------------------- /images/InnoDB_Structures/Space File Overview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeremycole/innodb_diagrams/HEAD/images/InnoDB_Structures/Space File Overview.png -------------------------------------------------------------------------------- /images/InnoDB_Structures/UNDO_LOG Overview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeremycole/innodb_diagrams/HEAD/images/InnoDB_Structures/UNDO_LOG Overview.png -------------------------------------------------------------------------------- /images/InnoDB_Structures/Undo Segment Header.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeremycole/innodb_diagrams/HEAD/images/InnoDB_Structures/Undo Segment Header.png -------------------------------------------------------------------------------- /images/InnoDB_Structures/FSP_HDR Page Overview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeremycole/innodb_diagrams/HEAD/images/InnoDB_Structures/FSP_HDR Page Overview.png -------------------------------------------------------------------------------- /images/InnoDB_Structures/INDEX Page Directory.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeremycole/innodb_diagrams/HEAD/images/InnoDB_Structures/INDEX Page Directory.png -------------------------------------------------------------------------------- /images/InnoDB_Structures/INDEX System Records.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeremycole/innodb_diagrams/HEAD/images/InnoDB_Structures/INDEX System Records.png -------------------------------------------------------------------------------- /images/InnoDB_Structures/Record Clustered Leaf.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeremycole/innodb_diagrams/HEAD/images/InnoDB_Structures/Record Clustered Leaf.png -------------------------------------------------------------------------------- /images/InnoDB_Structures/Record Secondary Leaf.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeremycole/innodb_diagrams/HEAD/images/InnoDB_Structures/Record Secondary Leaf.png -------------------------------------------------------------------------------- /images/InnoDB_Structures/ibdata1 File Overview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeremycole/innodb_diagrams/HEAD/images/InnoDB_Structures/ibdata1 File Overview.png -------------------------------------------------------------------------------- /images/InnoDB_Log_Structures/Log File 0 Overview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeremycole/innodb_diagrams/HEAD/images/InnoDB_Log_Structures/Log File 0 Overview.png -------------------------------------------------------------------------------- /images/InnoDB_Log_Structures/Log Group Structure.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeremycole/innodb_diagrams/HEAD/images/InnoDB_Log_Structures/Log Group Structure.png -------------------------------------------------------------------------------- /images/InnoDB_Log_Structures/Log Record Overview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeremycole/innodb_diagrams/HEAD/images/InnoDB_Log_Structures/Log Record Overview.png -------------------------------------------------------------------------------- /images/InnoDB_Structures/B+Tree Record Delete 1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeremycole/innodb_diagrams/HEAD/images/InnoDB_Structures/B+Tree Record Delete 1.png -------------------------------------------------------------------------------- /images/InnoDB_Structures/B+Tree Record Delete 2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeremycole/innodb_diagrams/HEAD/images/InnoDB_Structures/B+Tree Record Delete 2.png -------------------------------------------------------------------------------- /images/InnoDB_Structures/B+Tree Simplified Level.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeremycole/innodb_diagrams/HEAD/images/InnoDB_Structures/B+Tree Simplified Level.png -------------------------------------------------------------------------------- /images/InnoDB_Structures/Compressed INDEX Data 1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeremycole/innodb_diagrams/HEAD/images/InnoDB_Structures/Compressed INDEX Data 1.png -------------------------------------------------------------------------------- /images/InnoDB_Structures/Compressed INDEX Data 2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeremycole/innodb_diagrams/HEAD/images/InnoDB_Structures/Compressed INDEX Data 2.png -------------------------------------------------------------------------------- /images/InnoDB_Structures/Compressed INDEX Data 3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeremycole/innodb_diagrams/HEAD/images/InnoDB_Structures/Compressed INDEX Data 3.png -------------------------------------------------------------------------------- /images/InnoDB_Structures/FIL Header and Trailer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeremycole/innodb_diagrams/HEAD/images/InnoDB_Structures/FIL Header and Trailer.png -------------------------------------------------------------------------------- /images/InnoDB_Structures/Record Format - Header.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeremycole/innodb_diagrams/HEAD/images/InnoDB_Structures/Record Format - Header.png -------------------------------------------------------------------------------- /images/InnoDB_Structures/Record Format - Overview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeremycole/innodb_diagrams/HEAD/images/InnoDB_Structures/Record Format - Overview.png -------------------------------------------------------------------------------- /images/InnoDB_Structures/Record Header Overview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeremycole/innodb_diagrams/HEAD/images/InnoDB_Structures/Record Header Overview.png -------------------------------------------------------------------------------- /images/InnoDB_Structures/Rollback Segment Header.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeremycole/innodb_diagrams/HEAD/images/InnoDB_Structures/Rollback Segment Header.png -------------------------------------------------------------------------------- /images/InnoDB_Structures/SYS_RSEG_HEADER Overview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeremycole/innodb_diagrams/HEAD/images/InnoDB_Structures/SYS_RSEG_HEADER Overview.png -------------------------------------------------------------------------------- /images/InnoDB_Structures/TRX_SYS MySQL Log Info.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeremycole/innodb_diagrams/HEAD/images/InnoDB_Structures/TRX_SYS MySQL Log Info.png -------------------------------------------------------------------------------- /images/InnoDB_Structures/Undo Record for Update.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeremycole/innodb_diagrams/HEAD/images/InnoDB_Structures/Undo Record for Update.png -------------------------------------------------------------------------------- /images/InnoDB_Log_Structures/Log File 1+ Overview 2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeremycole/innodb_diagrams/HEAD/images/InnoDB_Log_Structures/Log File 1+ Overview 2.png -------------------------------------------------------------------------------- /images/InnoDB_Log_Structures/Log Record MLOG_nBYTE.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeremycole/innodb_diagrams/HEAD/images/InnoDB_Log_Structures/Log Record MLOG_nBYTE.png -------------------------------------------------------------------------------- /images/InnoDB_Structures/IBUF_BITMAP Page Overview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeremycole/innodb_diagrams/HEAD/images/InnoDB_Structures/IBUF_BITMAP Page Overview.png -------------------------------------------------------------------------------- /images/InnoDB_Structures/Record Clustered Non-Leaf.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeremycole/innodb_diagrams/HEAD/images/InnoDB_Structures/Record Clustered Non-Leaf.png -------------------------------------------------------------------------------- /images/InnoDB_Structures/Record Secondary Non-Leaf.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeremycole/innodb_diagrams/HEAD/images/InnoDB_Structures/Record Secondary Non-Leaf.png -------------------------------------------------------------------------------- /images/InnoDB_Log_Structures/Log Record MLOG_nBYTE 2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeremycole/innodb_diagrams/HEAD/images/InnoDB_Log_Structures/Log Record MLOG_nBYTE 2.png -------------------------------------------------------------------------------- /images/InnoDB_Structures/B+Tree Record Initial State.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeremycole/innodb_diagrams/HEAD/images/InnoDB_Structures/B+Tree Record Initial State.png -------------------------------------------------------------------------------- /images/InnoDB_Structures/B+Tree Record Update - Larger.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeremycole/innodb_diagrams/HEAD/images/InnoDB_Structures/B+Tree Record Update - Larger.png -------------------------------------------------------------------------------- /images/InnoDB_Structures/B+Tree Simplified Leaf Page.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeremycole/innodb_diagrams/HEAD/images/InnoDB_Structures/B+Tree Simplified Leaf Page.png -------------------------------------------------------------------------------- /images/InnoDB_Structures/Index File Segment Structure.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeremycole/innodb_diagrams/HEAD/images/InnoDB_Structures/Index File Segment Structure.png -------------------------------------------------------------------------------- /images/InnoDB_Structures/Rollback Pointer (ROLL_PTR).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeremycole/innodb_diagrams/HEAD/images/InnoDB_Structures/Rollback Pointer (ROLL_PTR).png -------------------------------------------------------------------------------- /images/InnoDB_Structures/B+Tree Detailed Page Structure.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeremycole/innodb_diagrams/HEAD/images/InnoDB_Structures/B+Tree Detailed Page Structure.png -------------------------------------------------------------------------------- /images/InnoDB_Structures/B+Tree Page Directory Structure.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeremycole/innodb_diagrams/HEAD/images/InnoDB_Structures/B+Tree Page Directory Structure.png -------------------------------------------------------------------------------- /images/InnoDB_Structures/B+Tree Record Update - Smaller.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeremycole/innodb_diagrams/HEAD/images/InnoDB_Structures/B+Tree Record Update - Smaller.png -------------------------------------------------------------------------------- /images/InnoDB_Structures/B+Tree Simplified Non-Leaf Page.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeremycole/innodb_diagrams/HEAD/images/InnoDB_Structures/B+Tree Simplified Non-Leaf Page.png -------------------------------------------------------------------------------- /images/InnoDB_Structures/Compressed INDEX Page Directory.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeremycole/innodb_diagrams/HEAD/images/InnoDB_Structures/Compressed INDEX Page Directory.png -------------------------------------------------------------------------------- /images/InnoDB_Structures/Compressed INDEX Page Overview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeremycole/innodb_diagrams/HEAD/images/InnoDB_Structures/Compressed INDEX Page Overview.png -------------------------------------------------------------------------------- /images/InnoDB_Structures/Record Change Buffer Index Leaf.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeremycole/innodb_diagrams/HEAD/images/InnoDB_Structures/Record Change Buffer Index Leaf.png -------------------------------------------------------------------------------- /images/InnoDB_Structures/TRX_SYS Doublewrite Buffer Info.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeremycole/innodb_diagrams/HEAD/images/InnoDB_Structures/TRX_SYS Doublewrite Buffer Info.png -------------------------------------------------------------------------------- /images/InnoDB_Structures/Compressed INDEX Page Trailer Data.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeremycole/innodb_diagrams/HEAD/images/InnoDB_Structures/Compressed INDEX Page Trailer Data.png -------------------------------------------------------------------------------- /images/InnoDB_Log_Structures/Log Record MLOG_COMP_REC_INSERT.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeremycole/innodb_diagrams/HEAD/images/InnoDB_Log_Structures/Log Record MLOG_COMP_REC_INSERT.png -------------------------------------------------------------------------------- /images/InnoDB_Structures/Compressed INDEX Page Modification Log.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeremycole/innodb_diagrams/HEAD/images/InnoDB_Structures/Compressed INDEX Page Modification Log.png -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # InnoDB Diagrams # 2 | 3 | The purpose of this project is to build complete and understandable InnoDB internals diagrams. This project is a work in progress and should not be considered complete. These diagrams are based on intensive study of the InnoDB code in addition to re-implementation of the data structures therein in Ruby in the [innodb_ruby](http://github.com/jeremycole/innodb_ruby/) project. 4 | 5 | This work has primarily been completed by: 6 | * Jeremy Cole ([jeremycole](http://github.com/jeremycole/)) 7 | * Davi Arnaut ([darnaut](http://github.com/darnaut/)) 8 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | This software is licensed under the Revised (3-clause) BSD license as follows: 2 | 3 | Copyright (c) 2013, Twitter, Inc. 4 | Copyright (c) 2013, Jeremy Cole 5 | Copyright (c) 2013, Davi Arnaut 6 | 7 | All rights reserved. 8 | 9 | Redistribution and use in source and binary forms, with or without 10 | modification, are permitted provided that the following conditions are met: 11 | * Redistributions of source code must retain the above copyright 12 | notice, this list of conditions and the following disclaimer. 13 | * Redistributions in binary form must reproduce the above copyright 14 | notice, this list of conditions and the following disclaimer in the 15 | documentation and/or other materials provided with the distribution. 16 | * Neither the name of the nor the 17 | names of its contributors may be used to endorse or promote products 18 | derived from this software without specific prior written permission. 19 | 20 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 21 | ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 22 | WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 23 | DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY 24 | DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 25 | (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 26 | LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 27 | ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 28 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 29 | SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 30 | --------------------------------------------------------------------------------