| |
| |
Preface | |
| |
| |
| |
MySQL History and Architecture | |
| |
| |
MySQL History | |
| |
| |
MySQL Architecture | |
| |
| |
| |
Nuts and Bolts of Working with the MySQL Source Code | |
| |
| |
Unix Shell | |
| |
| |
BitKeeper | |
| |
| |
Preparing the System to Build MySQL from BitKeeper Tree | |
| |
| |
Building MySQL from BitKeeper Tree | |
| |
| |
Building from Source Distribution | |
| |
| |
Installing MySQL into a System Directory | |
| |
| |
Source Code Directory Layout | |
| |
| |
Preparing the System to Run MySQL in a Debugger | |
| |
| |
Debugger-Guided Source Tour | |
| |
| |
Basics of Working with gdb | |
| |
| |
Finding Things in the Source | |
| |
| |
Interesting Breakpoints and Variables | |
| |
| |
Making a Source Modification | |
| |
| |
Coding Guidelines | |
| |
| |
Keeping Your BitKeeper Repository Up to Date | |
| |
| |
Submitting a Patch | |
| |
| |
| |
Core Classes, Structures, Variables, and APIs | |
| |
| |
THD | |
| |
| |
Net | |
| |
| |
Table | |
| |
| |
Field | |
| |
| |
Utility API Calls | |
| |
| |
Preprocessor Macros | |
| |
| |
Global Variables | |
| |
| |
| |
Client/Server Communication | |
| |
| |
Protocol Overview | |
| |
| |
Packet Format | |
| |
| |
Relationship Between MySQL Protocol and OS Layer | |
| |
| |
Authenticating Handshake | |
| |
| |
Command Packet | |
| |
| |
Server Responses | |
| |
| |
| |
Configuration Variables | |
| |
| |
Configuration Variables Tutorial | |
| |
| |
Interesting Aspects of Specific Configuration Variables | |
| |
| |
| |
Thread-Based Request Handling | |
| |
| |
Threads Versus Processes | |
| |
| |
Implementation of Request Handling | |
| |
| |
Thread Programming Issues | |
| |
| |
| |
The Storage Engine Interface | |
| |
| |
The handler Class | |
| |
| |
Adding a Custom Storage Engine to MySQL | |
| |
| |
| |
Concurrent Access and Locking | |
| |
| |
Table Lock Manager | |
| |
| |
| |
Parser and Optimizer | |
| |
| |
Parser | |
| |
| |
Optimizer | |
| |
| |
| |
Storage Engines | |
| |
| |
Shared Aspects of Architecture | |
| |
| |
InnoDB | |
| |
| |
Memory (Heap) | |
| |
| |
MyISAM Merge | |
| |
| |
NDB | |
| |
| |
Archive | |
| |
| |
Federated | |
| |
| |
| |
Transactions | |
| |
| |
Overview of Transactional Storage Engine Implementation | |
| |
| |
Implementing the handler Subclass | |
| |
| |
Defining the handlerton | |
| |
| |
Working with the Query Cache | |
| |
| |
Working with the Replication Binary Log | |
| |
| |
Avoiding Deadlocks | |
| |
| |
| |
Replication | |
| |
| |
Overview | |
| |
| |
Statement-Based Versus Row-Based Replication | |
| |
| |
Two-Threaded Slave | |
| |
| |
Multi-Master | |
| |
| |
SQL Commands to Help Understand Replication | |
| |
| |
Binary Log Format | |
| |
| |
Creating a Custom Replication Utility | |
| |
| |
Index | |