现在的位置: 首页 > 综合 > 正文

存储引擎开发日志4

2014年08月26日 ⁄ 综合 ⁄ 共 2280字 ⁄ 字号 评论关闭
12月18日:
后续几天工作安排:

12月19日安排:

实现例子,截图,做PPT
利用网上下载的<存储引擎介绍>做PPT。
12月20日安排: 实习报告。
12月21号上午:演练PPT。
12月19日:
按照:
进行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存储引擎了:

抱歉!评论已关闭.