Book Image

MySQL 5.1 Plugin Development

Book Image

MySQL 5.1 Plugin Development

Overview of this book

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.
Table of Contents (16 chapters)
MySQL 5.1 Plugin Development
Credits
About the Authors
About the Reviewer
Preface

A Soundex full-text parser


We have seen the "tokenizer" and "extractor" plugins. We finish this chapter with a "post-processor" plugin. Such a plugin is interested in doing something with the individual words of the text, but not in splitting the text into words. It puts itself after the mysql_parse() function, but before mysql_add_word(). In this position it can see every word and modify it if needed, but it will be MySQL that will do the parsing job. Again, just as in the case of "extractor" plugins, this technique allows us to implement only the main functionality of the plugin, only what makes it unique, and not repeat the parsing code that already exists in the server. As an example of a "post-processor" plugin we will create a Soundex plugin—a plugin that replaces every word with its Soundex code, making the full-text search insensitive to typos.

The Soundex algorithm

The Soundex algorithm was patented in 1918. It is a phonetic algorithm that converts words to codes, which mainly corresponds...