This engine is similar to MinTemplate, and you will find the article about MinTemplate in the archive of this blog.
When you look into the source-code of MaxTemplate you will see that there is a lot more of code in this engine then in MinTemplate. Every function in the base class MyIsam is found in MinTemplate; this explains the amount of code. I will give a reason for this later.
And also we will encounter differences when compiling the code in the two environments: my code compiled unchanged on MySQL (version 5.5.8) and did require some modifications for MariaDB (10.0.4). Some functions have been removed, others are private now, some have different parameters - normal modifications when software develops. For handling the difference between MySQL and MariaDB I needed a define, which exists in MariaDB but not in MySQL (or vice versa), so I can use this define to handle the different parts of the code. If you look into the code please look for MARIADB_BASE_VERSION.
I did some tests to demonstrate that this engine works. You will find them in the file Skripte/Tests.log in the tar.gz-file. I only included the tests for MariaDB, I did the same tests with MySQL and I hope you will trust me when I write that this code did work in this environment too.
In the end this engine is identical to MyIsam - as you can see when you do your own tests. But this engine needs more time for the same work then MyIsam because it produces a lot of output in the console of Eclipse.
what is it good for?
Do not use this engine in a production-environment! The purpose of this engine is to monitor the activities of a storage engine, e.g.- which function is called
- the order functions are called
- what are the parameters on entering a function
- what are the return-values
And that's what I used it for.
Corrections
During my tests I found that I needed a define in the code:
#define MYSQL_SERVER 1
Please excuse, but you have to add it to dummy.tar.gz and MinTemplate.tar.gz; It's already included in the source-code in MaxTemplate.tar.gz.