mariadb/src
Rich Prohaska 748b061350 test recovery after a crash with open databases. closes #1845
git-svn-id: file:///svn/toku/tokudb@13127 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:55 -04:00
..
lock_tree abstract stdint.h for solaris. addresses #1789 2013-04-16 23:57:54 -04:00
range_tree abstract stdint.h for solaris. addresses #1789 2013-04-16 23:57:54 -04:00
tests test recovery after a crash with open databases. closes #1845 2013-04-16 23:57:55 -04:00
.gitignore Closes #1378 Merged all changes into main. 2013-04-16 23:57:41 -04:00
elocks.c Merge 2.0.0 back into main 2013-04-16 23:57:53 -04:00
errors.c Addresses #1765 Merge [12079] into main (pthreads-win32 for windows) 2013-04-16 23:57:53 -04:00
export.map Merge 2.0.0 back into main 2013-04-16 23:57:53 -04:00
Makefile Fixes #1775 (logformat execv error) 2013-04-16 23:57:53 -04:00
README Rename 2007-07-13 19:37:47 +00:00
tokuglobals.py add db_env_set_checkpoint_callback to the tokuglobals. closes #1695 2013-04-16 23:57:49 -04:00
ydb-internal.h Merge 2.0.0 back into main 2013-04-16 23:57:53 -04:00
ydb.c throw a better error message for row size errors. addresses #1766 2013-04-16 23:57:54 -04:00
ydb.h Merge 2.0.0 back into main 2013-04-16 23:57:53 -04:00
ydb_lib.c abstract stdint.h for solaris. addresses #1789 2013-04-16 23:57:54 -04:00

cd ~/yobiduck/ydb/src
make


cd ~/mysql/bdbi/mysql-5.0.27/
export LD_RUN_PATH=/home/bradley/yobiduck/ydb/src
./configure --with-berkeley-db-includes=/home/bradley/yobiduck/ydb/include --with-berkeley-db --with-berkeley-db-libs=/home/bradley/yobiduck/ydb/src --prefix=/home/bradley/usr

make

make install

#This one may not be needed
~/mysql/bdbi/usr/bin/mysql_install_db

#
pushd /home/bradley/mysql/bdbi/usr/ ; /home/bradley/mysql/bdbi/usr//bin/mysqld_safe &
popd

~/mysql/bdbi/usr/bin/mysql -u root
mysql> show databases;
mysql> create database yobitest;
mysql> use yobitest;
mysql> create table t1 (i int) engine=bdb;

Look for the error in /home/bradley/mysql/bdbi/usr/var/yobert.err



----
This links right:
 LD_LIBRARY_PATH=/home/bradley/mysql/bdbi/usr/lib/mysql/ ldd sql/mysqld
----
This works, 
 LD_LIBRARY_PATH=/home/bradley/mysql/bdbi/usr/lib/mysql/ /home/bradley/mysql/bdbi/usr//bin/mysqld
producing the following in the log

061208 16:11:35  InnoDB: Started; log sequence number 0 43655
ydb.c:78 db_env_create flags=0

----
 the LD_RUN_PATH thing above works.


--- on laptop I did this instead:

export LD_RUN_PATH=/home/bradley/yobiduck/ydb/src
./configure --with-berkeley-db-includes=/home/bradley/yobiduck/ydb/include --with-berkeley-db --with-berkeley-db-libs=/home/bradley/yobiduck/src --prefix=/home/bradley/usr

make
make install
/home/bradley/usr/bin/mysql_install_db 
/home/bradley/usr/bin/mysqld_safe &
/home/bradley/usr/bin/mysql -u root
~/mysql/bdbi/usr/bin/mysql -u root
mysql> show databases;
mysql> create database yobitest;
mysql> use yobitest;
mysql> create table t1 (i int) engine=bdb;

Look for the error in ~/usr/var/localhost.localdomain.err

---
To clean up after a total screwup:

rm -rf ~/usr/var/

Didn't manage to clean it up very well.

---
Goal: compiler mysql wiht debugging

export LD_RUN_PATH=/home/bradley/yobiduck/ydb/src
./configure CFLAGS="-g -O2" --with-berkeley-db-includes=/home/bradley/yobiduck/ydb/include --with-berkeley-db --with-berkeley-db-libs=/home/bradley/yobiduck/src --prefix=/home/bradley/usr

If you want to debug, you might need to start mysqld without using mysqld_safe.
Here is one way to do it:

gdb ~/usr/libexec/mysqld
(gdb) run --basedir=/home/bradley/usr --datadir=/home/bradley/usr/var --pid-file=/home/bradley/usr/var/localhost.localdomain.pid --skip-external-locking


That was screwed up (the configure args were wrong.)  Try again:

---
export LD_RUN_PATH=/home/bradley/yobiduck/ydb/src
./configure CXXFLAGS="-g -O2" CFLAGS="-g -O2" --with-berkeley-db-includes=/home/bradley/yobiduck/ydb/include --with-berkeley-db --with-berkeley-db-libs=/home/bradley/yobiduck/ydb/src --prefix=/home/bradley/usr

gdb ~/usr/libexec/mysqld
(gdb) run --basedir=/home/bradley/usr --datadir=/home/bradley/usr/var --pid-file=/home/bradley/usr/var/localhost.localdomain.pid --skip-external-locking