/toybox

Simple Storage Engine for MySQL

Primary LanguageC++GNU General Public License v2.0GPL-2.0

Toybox

Simple Storage Engine for MySQL

How to build

Clone mysql-server from github

$ git clone git@github.com:mysql/mysql-server.git
$ cd mysql-server

Clone this repository

mysql-server/$ cd storage/
mysql-server/storage$ git clone git@github.com:lrf141/toybox.git

Build with MySQL Server

mysql-server$ mkdir build && cd $_
mysql-server/build$ cmake ../ -DCMAKE_BUILD_TYPE=Debug -DWITH_BOOST=./boost -DDOWNLOAD_BOOST=1

(Optional) Run mysql-test-run

mysql-server/storage/toybox$ ./mtr/setup-test.sh
mysql-server/storage/toybox$ cd ../../build/mysql-test
mysql-server/build/mysql-test$ ./mtr --suite toybox

Run with rr-debugger

mysql-server/storage/toybox$ sudo sysctl -w kernel.perf_event_paranoid=1
mysql-server/storage/toybox$ ./mtr/setup-test.sh
mysql-server/storage/toybox$ cd ../../build/mysql-test
mysql-server/build/mysql-test$ ./mtr --suite toybox --rr

(Optional) Run unit test

mysql-server/build$ ./runtime_output_directory/toybox_tests 

(Deprecated) Install/Uninstall Plugin

mysql> INSTALL PLUGIN toybox SONAME 'ha_toybox.so';

mysql> UNINSTALL PLUGIN toybox;