MySQL 5.1 Plugin Development
|Also available on:|
- A practical guide with working examples explained line by line
- Add new functions to MySQL with User Defined Functions
- Export information via SQL using the INFORMATION_SCHEMA plugins
- Search within PDFs, MP3s, and images; offset user typing errors with fulltext parser plugins
- Access your custom data formats with a storage engine plugin
Table of Contents
Chapter 1: Compiling and Using MySQL Plugins
Chapter 2: User Defined Functions
Chapter 3: Daemon Plugins
Chapter 4: Information Schema Plugins
Chapter 5: Advanced Information Schema Plugins
Chapter 6: Full-text Parser Plugins
Chapter 7: Practical Full-text Parsers
Chapter 8: Storage Engine Plugins
Chapter 9: HTML Storage Engine—Reads and Writes
Chapter 10: TOCAB Storage Engine—Implementing Indexes
Appendix: Beyond MySQL 5.1
This book brings together valuable information that is otherwise tedious to find — scattered throughout the API source code, official documentation, and online forum threads. Michael J. Ross, Web developer
Download the code and support files for this book.
Please let us know if you have found any errors not listed on this list by completing our errata submission form. Our editors will check them and add them to this list. Thank you.
What you will learn from this book
- Build and install a plugin, and learn how to package it for distributing separately from MySQL
- Add new functions to MySQL using the UDF interface
- Declare new MySQL status and configuration variables from a plugin, and use Daemon plugins for a simple push style server monitoring
- Add a new table to the INFORMATION_SCHEMA that shows anything you like with an INFORMATION_SCHEMA plugin
- Use fulltext parser plugins to tolerate user errors, and search for text in binary data formats, for example, JPEG, or text that is stored outside the database
- Store and retrieve rows and convert your custom data format to what MySQL understands using the storage engine plugin
- Create a parser that indexes comments from JPEG files using the libexif library
- Understand how the indexing API works, and how to work around the incompatibilities between your indexing engine and MySQL expectations
- Learn about new features of the Plugin API, available beyond MySQL 5.1
MySQL has introduced a Plugin API with its latest version – a robust, powerful, and easy way of extending the server functionality with loadable modules on the fly. But until now anyone wishing to develop a plugin would almost certainly need to dig into the MySQL source code and search the Web for missing bits of the information.
This is the first book on the MySQL Plugin API. Written together with one of the Plugin API primary architects, it contains all the details you need to build a plugin. It shows what a plugin should contain and how to compile, install, and package it. Every chapter illustrates the material with thoroughly explained source code examples.
Starting from the basic features, common to all plugin types, and the structure of the plugin framework, this book will guide you through the different plugin types, from simple examples to advanced ones. Server monitoring, full-text search in JPEG comments, typo-tolerant searches, getting the list of all user variables, system usage statistics, or a complete storage engine with indexes – these and other plugins are developed in different chapters of this book, demonstrating the power and versatility of the MySQL Plugin API and explaining the intricate details of MySQL Plugin programming.
A hands-on guide for MySQL application developers to creating feature-rich plug-ins
This book is written in a hands-on style that actively involves you while you read through its chapters. In every chapter you, along with the author, will be implementing one or more fully working example plugins. The process is accompanied with a detailed step-by-step explanation of the code, at the same time providing you with resources to create your own plugins.
Who this book is for
If you are a MySQL application developer or a programmer who wants to interface with MySQL server, this book is for you. Basic knowledge of C/C++, SQL, and MySQL in particular is assumed in the book, but no deep familiarity with any of the topics is required.