What is included with this book?
Sasha Pachev graduated from the Brigham Young University in 1998 with a degree in Computer Science, worked on the MySQL development team in 2000-2002, and was the original developer of replication in MySQL. In 2003 he wrote his first book MySQL Enterprise Solutions. He currently lives in Provo, Utah with his wife Sarah and his five children working as an independent consultant with the emphasis on MySQL.
In spite of his great interest in computers, Sasha is equally passionate about distance running. He has won a number of marathons, has a personal best of 2:24:47, and is attempting to qualify for the US Olympic Trials. He feels it is important to help other runners reach their potential, and operates a web site http://FastRunningBlog.Com dedicated to that purpose.
Preface | p. xi |
MySQL History and Architecture | p. 1 |
MySQL History | p. 1 |
MySQL Architecture | p. 4 |
Nuts and Bolts of Working with the MySQL Source Code | p. 19 |
Unix Shell | p. 19 |
BitKeeper | p. 19 |
Preparing the System to Build MySQL from BitKeeper Tree | p. 22 |
Building MySQL from BitKeeper Tree | p. 24 |
Building from Source Distribution | p. 25 |
Installing MySQL into a System Directory | p. 26 |
Source Code Directory Layout | p. 27 |
Preparing the System to Run MySQL in a Debugger | p. 28 |
Debugger-Guided Source Tour | p. 29 |
Basics of Working with gdb | p. 30 |
Finding Things in the Source | p. 33 |
Interesting Breakpoints and Variables | p. 34 |
Making a Source Modification | p. 36 |
Coding Guidelines | p. 37 |
Keeping Your BitKeeper Repository Up to Date | p. 39 |
Submitting a Patch | p. 40 |
Core Classes, Structures, Variables, and APIs | p. 41 |
THD | p. 41 |
Net | p. 46 |
Table | p. 48 |
Field | p. 51 |
Utility API Calls | p. 54 |
Preprocessor Macros | p. 57 |
Global Variables | p. 59 |
Client/Server Communication | p. 62 |
Protocol Overview | p. 62 |
Packet Format | p. 62 |
Relationship Between MySQL Protocol and OS Layer | p. 63 |
Authenticating Handshake | p. 64 |
Command Packet | p. 69 |
Server Responses | p. 74 |
Configuration Variables | p. 80 |
Configuration Variables Tutorial | p. 80 |
Interesting Aspects of Specific Configuration Variables | p. 88 |
Thread-Based Request Handling | p. 107 |
Threads Versus Processes | p. 107 |
Implementation of Request Handling | p. 109 |
Thread Programming Issues | p. 113 |
The Storage Engine Interface | p. 119 |
The handler Class | p. 120 |
Adding a Custom Storage Engine to MySQL | p. 136 |
Concurrent Access and Locking | p. 161 |
Table Lock Manager | p. 162 |
Parser and Optimizer | p. 167 |
Parser | p. 167 |
Optimizer | p. 170 |
Storage Engines | p. 194 |
Shared Aspects of Architecture | p. 195 |
InnoDB | p. 202 |
Memory (Heap) | p. 204 |
MyISAM Merge | p. 205 |
NDB | p. 205 |
Archive | p. 206 |
Federated | p. 207 |
Transactions | p. 208 |
Overview of Transactional Storage Engine Implementation | p. 208 |
Implementing the handler Subclass | p. 209 |
Defining the handlerton | p. 212 |
Working with the Query Cache | p. 213 |
Working with the Replication Binary Log | p. 214 |
Avoiding Deadlocks | p. 214 |
Replication | p. 216 |
Overview | p. 216 |
Statement-Based Versus Row-Based Replication | p. 217 |
Two-Threaded Slave | p. 218 |
Multi-Master | p. 219 |
SQL Commands to Help Understand Replication | p. 220 |
Binary Log Format | p. 223 |
Creating a Custom Replication Utility | p. 227 |
Index | p. 229 |
Table of Contents provided by Ingram. All Rights Reserved. |
The New copy of this book will include any supplemental materials advertised. Please check the title of the book to determine if it should include any access cards, study guides, lab manuals, CDs, etc.
The Used, Rental and eBook copies of this book are not guaranteed to include any supplemental materials. Typically, only the book itself is included. This is true even if the title states it includes any access cards, study guides, lab manuals, CDs, etc.