Free Sample
+ Collection

MySQL 5.1 Plugin Development

Andrew Hutchings, Sergei Golubchik

Extend MySQL to suit your needs with this unique guide into the world of MySQL plugins
RRP $26.99
RRP $44.99
Print + eBook

Want this title & more?

$12.99 p/month

Subscribe to PacktLib

Enjoy full and instant access to over 2000 books and videos – you’ll find everything you need to stay ahead of the curve and make sure you can always get the job done.

Book Details

ISBN 139781849510608
Paperback288 pages

About This Book

  • 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

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.

Table of Contents

Chapter 1: Compiling and Using MySQL Plugins
UDF libraries
Plugin libraries
Automatic builds, packaging
Chapter 2: User Defined Functions
Writing UDFs
A constant integer output UDF
An integer echoing UDF
A simple static text output UDF
A summing aggregate UDF
Further reading
Chapter 3: Daemon Plugins
A look inside a Daemon plugin
A Hello World! Daemon plugin
A system and status variables demo plugin
A simple monitoring plugin
System Status Variables plugin
Chapter 4: Information Schema Plugins
Why write Information Schema plugins
The creation of Information Schema plugins
A Static Table example
A System Information plugin
Chapter 5: Advanced Information Schema Plugins
Accessing MySQL internals
Condition pushdown
A User Variables Information Schema plugin
A Binary Logs Information Schema plugin
Chapter 6: Full-text Parser Plugins
The full-text parser plugin architecture
A PHP full-text parser
Chapter 7: Practical Full-text Parsers
Boolean parsers
A Boolean full-text parser
An Image Metadata processor
A Soundex full-text parser
Chapter 8: Storage Engine Plugins
Introducing storage engines
A read-only storage engine
Chapter 9: HTML Storage Engine—Reads and Writes
An idea of the HTML engine
Creating, opening, and closing the table
Reading data
Updating the table
Optimizing and analyzing
What's left
Compiling and linking
Putting it all together
Chapter 10: TOCAB Storage Engine — Implementing Indexes
B-tree library
Storage engine API for indexes
Describing the engine
Creating, opening, and closing the table
Searching in the index
Rows and keys
Table scan and random access
Inserting rows
What's left
Compiling and linking
Putting it all together
Possible extensions

What You Will Learn

  • 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

In Detail

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.


Read More