You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
Yoni Fogel 324c278a31 Addresses #2257 refs[t:2257] Merge windows port back into main. 13 years ago
..
Makefile Do subtransactions properly (without an fsync) 18 years ago
README Rename 19 years ago
bdbw.c Addresses #2257 refs[t:2257] Merge windows port back into main. 13 years ago
bdbw.h Do subtransactions properly (without an fsync) 18 years ago
noticecall.c More test cases 19 years ago
wrapper-design.text Rename 19 years ago
ydb-uniq.h Do subtransactions properly (without an fsync) 18 years ago
ydb.c Addresses #2257 refs[t:2257] Merge windows port back into main. 13 years ago

README

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:

cd ~/mysql/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/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: compile mysql with 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

and
~/usr/bin/mysql -u root

Note: Had to change mysql to declare berkeley_cmp_hidden_key and berkeley_cmp_packed_key to be extern, not static.

----
To start the mysql clean:
rm -r /home/bradley/usr/var/
/home/bradley/usr/bin/mysql_install_db
then run mysqld and mysql do
$ ~/usr/bin/mysql -u root
mysql> create database yobitest;
mysql> use yobitest;
mysql> create table t1 (i int) engine=bdb;
mysql> insert t1 values (3);
mysql> quit

~/usr/bin/mysqladmin -u root shutdown

Then create the trace1 from ydbtrace.c
(copy the output onto traces/trace1.c
cd traces
make

rm ~/usr/var/log.0000000001
rm ~/usr/var/yobitest/t1.db
./runtrace1