存储引擎开发日志4

12月18日:

后续几天工作安排:

12月19日安排:
实现例子,截图,做PPT
利用网上下载的<存储引擎介绍>做PPT。
12月20日安排: 实习报告。
12月21号上午:演练PPT。


12月19日:
按照:
http://wenku.baidu.com/view/e9f4689e51e79b896802268f.htm
进行example的编译和安装。

在编译和安装之前,查看目前所有的存储引擎:


在执行show engine csv status\G;
出现了:

Access denied; you need the SUPER privilege for this operation

问题:


先不这个问题了,先把innoDB插进去再说:


插入的权限也没有啊!
看书吧!


12月20日:


插入存储引擎之前




卸载archive引擎:
UNINSTALL PLUGIN archive ;




mysql默认的管理员是root:
应该以root用户身份登录:






install plugin example soname 'ha_exmple.so';
UNINSTALL PLUGIN ha_example;


插入一个新的存储引擎:




一月份工作安排:

1月1日::
看MySQL书

1月3日::
继续看MySQL书


1月4日::
看MySQL书


1月7日::
看MySQL相关代码


1月10日::
看MySQL相关代码


1月13日::
看MySQL相关代码





二月份工作安排:



2月18日:
在/home/yugao/mysql-5.1.34/storage下,建立文件夹lillian,开始把所有的文件都整理清楚了。


2月19日::


2月20日::
书上P232 复制storage/example目录下的*.cc和*.h到storage/lillian目录去。
替换大小写:
:1, $s/EXAMPLE/LILLIAN/g
:1, $s/exaple/lillian/g


P233下:
修改configure文件:
在Optional Packages部分找到csv,没有找到csv的相关代码: ????????????????

--with-csv-storage-engine
enable csv storage engine (default is "yes")




看来自己的确用的就是光盘里面的代码:
mysql5.1.34

下次直接查找configure文件里面的:
# Check whether --with-plugins was given.
即可


2月21日:
修改configure里面的代码:

在Optional Packages:部分
--with-plugins=PLUGIN[[[,PLUGIN..]]] 里面添加 lillian

在# Check whether --with-plugins was given部分做如下修改:
case "$mysql_plugins" in
all )
mysql_plugins='partition daemon_example ftexample archive blackhole csv lillian example federated heap ibmdb2i innobase myisam myisammrg ndbcluster'


同时接着添加代码:
lillian )



mysql_plugin_lillian=yes



;;



采用了Beyondcompare3分析了相关代码:
archive与blackhole一样的。
archive与csv, federate还是有些区别的。

既然书上P233代码在源文件configure里面找不到,那么就先不按照书上的代码来改了, 直接按照文件里面archive的代码来进行修改:(即把archive里面的archive换成lillian即可)




修改Config.h.in文件:


修改configure.in文件


修改handler.h文件时发现书上的代码跟自己mysql-5.1.34里面的代码的确不相同: 书上的存储引擎要少些


handler.cc处代码跟自己的mysql-5.1.34里面的代码的确也不相同: sys_table_aliases[]是有,但是结构体名却不同了

mysql_priv.h文件的代码: 已经添加。

set.var.cc处代码跟自己的mysql-5.1.34里面的代码的确也不相同: 参数个数都不相同,只能依葫芦画瓢了。
sys_var_have_variable 参数不同;
SHOW_VAR init_vars[]= {
........................
........................
........................

没有找到这部分代码。



2月22日:

虽然在mysqld.cc处没有找到相关的代码:
#undef have_berkeley_db
......................
......................
......................
SHOW_COMP_OPTION have_bekeley_db= SHOW_OPTION_NO;
......................
......................
......................

但是我依然在相关代码处添加了如下两行代码:
#undef have_lillian_db
......................
......................
......................
SHOW_COMP_OPTION have_lillian_db= SHOW_OPTION_NO;


接着开始编译Lillian存储引擎了:

你可能感兴趣的:(存储引擎开发日志4)