mariadb/src
Yoni Fogel 216aec3fb9 refs #5149 Fix up ydb layer read-only txn optimizations.
The is_read_only function already took into account children, so we don't need complicated logic.

git-svn-id: file:///svn/toku/tokudb@45205 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:00:56 -04:00
..
lock_tree refs #5153 minor cleanups from review 2013-04-17 00:00:54 -04:00
range_tree [t:5094] merge to main, delete dev branch. closes #5094. 2013-04-17 00:00:52 -04:00
tests refs #4871 increase timeout for test_groupcommit_count.bdb 2013-04-17 00:00:56 -04:00
CMakeLists.txt [t:5094] merge to main, delete dev branch. closes #5094. 2013-04-17 00:00:52 -04:00
errors.c [t:4872], remove more superfluous usage of ydb lock 2013-04-17 00:00:42 -04:00
export.map [t:5062] txnid becomes separate from lsn, and optimizations for read-only txns 2013-04-17 00:00:49 -04:00
indexer-internal.h [t:5133] properly fix the memory leak introduced earlier today. 2013-04-17 00:00:55 -04:00
indexer-undo-do.c refs #5170 Fix memory allocation (and use macros) during hot indexing. 2013-04-17 00:00:55 -04:00
indexer.c refs #5179 improve comment for get_next_ule that fixed hot indexing but, and document the client contract regarding hot db writes and index create/abort/close 2013-04-17 00:00:56 -04:00
indexer.h refs #5179 improve comment for get_next_ule that fixed hot indexing but, and document the client contract regarding hot db writes and index create/abort/close 2013-04-17 00:00:56 -04:00
loader.c [t:5029], revert fix, solution does not work 2013-04-17 00:00:48 -04:00
loader.h closes [t:4913]. Modelines now synchronized in every source/header file (and always top two lines) 2013-04-17 00:00:36 -04:00
Makefile.old [t:4901] merging brt->ft rename to main 2013-04-17 00:00:35 -04:00
README Rename 2007-07-13 19:37:47 +00:00
tokuglobals.py #3239 allow all ^toku symbols in the globals list refs[t:3239] 2013-04-16 23:59:35 -04:00
ydb-internal.h refs #5153 minor cleanups from review 2013-04-17 00:00:55 -04:00
ydb.c closes #5182 Remove oldest_living_xid(and time) from engine status. 2013-04-17 00:00:56 -04:00
ydb.h [t:4920], [t:4953], separate ydb lock from hot indexing and checkpointing 2013-04-17 00:00:43 -04:00
ydb_cursor.c closes [t:4913]. Modelines now synchronized in every source/header file (and always top two lines) 2013-04-17 00:00:36 -04:00
ydb_cursor.h closes [t:4913]. Modelines now synchronized in every source/header file (and always top two lines) 2013-04-17 00:00:36 -04:00
ydb_db.c refs #4964, add some comments for changing a descriptor 2013-04-17 00:00:55 -04:00
ydb_db.h [t:5062] txnid becomes separate from lsn, and optimizations for read-only txns 2013-04-17 00:00:49 -04:00
ydb_env_func.c [t:5062] txnid becomes separate from lsn, and optimizations for read-only txns 2013-04-17 00:00:49 -04:00
ydb_env_func.h [t:5062] txnid becomes separate from lsn, and optimizations for read-only txns 2013-04-17 00:00:49 -04:00
ydb_lib.c [t:4920], [t:4953], separate ydb lock from hot indexing and checkpointing 2013-04-17 00:00:43 -04:00
ydb_load.h [t:4749] [t:4878] [t:4929] [t:4947] merging these changes to main. 2013-04-17 00:00:38 -04:00
ydb_row_lock.c closes [t:4913]. Modelines now synchronized in every source/header file (and always top two lines) 2013-04-17 00:00:36 -04:00
ydb_row_lock.h closes [t:4913]. Modelines now synchronized in every source/header file (and always top two lines) 2013-04-17 00:00:36 -04:00
ydb_txn.c refs #5149 Fix up ydb layer read-only txn optimizations. 2013-04-17 00:00:56 -04:00
ydb_txn.h [t:5062] txnid becomes separate from lsn, and optimizations for read-only txns 2013-04-17 00:00:49 -04:00
ydb_write.c refs #4964 fix compiler warnings 2013-04-17 00:00:55 -04:00
ydb_write.h [t:4877], [t:4966], [t:4952], [t:4881], [t:4918], merge to main 2013-04-17 00:00:42 -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