developers
Threads by month
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
September 2009
- 15 participants
- 172 discussions
[Maria-developers] Rev 2734: Post-merge fixes in file:///home/psergey/bzr-new/mysql-5.1-maria-contd3/
by Sergey Petrunya 15 Sep '09
by Sergey Petrunya 15 Sep '09
15 Sep '09
At file:///home/psergey/bzr-new/mysql-5.1-maria-contd3/
------------------------------------------------------------
revno: 2734
revision-id: psergey(a)askmonty.org-20090915112239-pkxmusmef54rs7u4
parent: psergey(a)askmonty.org-20090915104635-bpj3pwfr05v9fjul
committer: Sergey Petrunya <psergey(a)askmonty.org>
branch nick: mysql-5.1-maria-contd3
timestamp: Tue 2009-09-15 15:22:39 +0400
message:
Post-merge fixes
=== modified file 'extra/yassl/src/handshake.cpp'
--- a/extra/yassl/src/handshake.cpp 2009-09-15 10:46:35 +0000
+++ b/extra/yassl/src/handshake.cpp 2009-09-15 11:22:39 +0000
@@ -789,7 +789,7 @@
{
if (ssl.GetError()) return;
- if (DoProcessReply(ssl)) {
+ if (DoProcessReply(ssl))
{
// didn't complete process
if (!ssl.getSocket().IsNonBlocking()) {
@@ -874,7 +874,7 @@
// send change cipher
void sendChangeCipher(SSL& ssl, BufferOutput buffer)
{
- if (ssl.getSecurity().get_parms().entity_ == server_end) {
+ if (ssl.getSecurity().get_parms().entity_ == server_end)
{
if (ssl.getSecurity().get_resuming())
ssl.verifyState(clientKeyExchangeComplete);
=== modified file 'extra/yassl/src/yassl_imp.cpp'
--- a/extra/yassl/src/yassl_imp.cpp 2009-09-15 10:46:35 +0000
+++ b/extra/yassl/src/yassl_imp.cpp 2009-09-15 11:22:39 +0000
@@ -1305,7 +1305,6 @@
ssl.useSecurity().use_connection().sessionID_Set_ = false;
if (ssl.getSecurity().get_resuming()) {
- {
if (memcmp(session_id_, ssl.getSecurity().get_resume().GetID(),
ID_LEN) == 0) {
ssl.set_masterSecret(ssl.getSecurity().get_resume().GetSecret());
=== modified file 'extra/yassl/taocrypt/include/modes.hpp'
--- a/extra/yassl/taocrypt/include/modes.hpp 2009-09-15 10:46:35 +0000
+++ b/extra/yassl/taocrypt/include/modes.hpp 2009-09-15 11:22:39 +0000
@@ -95,7 +95,7 @@
{
if (mode_ == ECB)
ECB_Process(out, in, sz);
- else if (mode_ == CBC) {
+ else if (mode_ == CBC)
{
if (dir_ == ENCRYPTION)
CBC_Encrypt(out, in, sz);
=== modified file 'extra/yassl/taocrypt/src/asn.cpp'
--- a/extra/yassl/taocrypt/src/asn.cpp 2009-09-15 10:46:35 +0000
+++ b/extra/yassl/taocrypt/src/asn.cpp 2009-09-15 11:22:39 +0000
@@ -1063,7 +1063,7 @@
return 0;
}
word32 rLen = GetLength(source);
- if (rLen != 20) {
+ if (rLen != 20)
{
if (rLen == 21) { // zero at front, eat
source.next();
@@ -1087,7 +1087,7 @@
return 0;
}
word32 sLen = GetLength(source);
- if (sLen != 20) {
+ if (sLen != 20)
{
if (sLen == 21) {
source.next(); // zero at front, eat
=== modified file 'storage/maria/ma_rt_index.c'
--- a/storage/maria/ma_rt_index.c 2009-09-15 10:46:35 +0000
+++ b/storage/maria/ma_rt_index.c 2009-09-15 11:22:39 +0000
@@ -1136,8 +1136,6 @@
uchar *page_buf;
MARIA_PAGE page;
MARIA_KEY tmp_key;
- uchar *page_buf;
- MARIA_PAGE page;
tmp_key.keyinfo= key->keyinfo;
tmp_key.data_length= key->data_length;
tmp_key.ref_length= key->ref_length;
1
0
[Maria-developers] Rev 2733: Merge lp:maria -> lp:~maria-captains/maria/maria-5.1-merge in file:///home/psergey/bzr-new/mysql-5.1-maria-contd3/
by Sergey Petrunya 15 Sep '09
by Sergey Petrunya 15 Sep '09
15 Sep '09
At file:///home/psergey/bzr-new/mysql-5.1-maria-contd3/
------------------------------------------------------------
revno: 2733
revision-id: psergey(a)askmonty.org-20090915104635-bpj3pwfr05v9fjul
parent: psergey(a)askmonty.org-20090915010415-ntacv5ln6fqyb202
parent: igor(a)mysql.com-20090909181131-6jb3y48zxnz42zyb
committer: Sergey Petrunya <psergey(a)askmonty.org>
branch nick: mysql-5.1-maria-contd3
timestamp: Tue 2009-09-15 14:46:35 +0400
message:
Merge lp:maria -> lp:~maria-captains/maria/maria-5.1-merge
removed:
storage/pbxt/src/streaming_xt.cc streaming_xt.cc-20090326121724-x683v32twzr3fi0y-57
storage/pbxt/src/streaming_xt.h streaming_xt.h-20090326121724-x683v32twzr3fi0y-58
added:
mysql-test/lib/process-purecov-annotations.pl processpurecovannota-20090825145959-3tgucpo20ms8b5yb-1
mysql-test/r/log_slow.result log_slow.result-20090903130213-g4uekoxftd69o7cr-1
mysql-test/r/mysqld_option_err.result mysqld_option_err.re-20090903125847-d311kra14ipqyi2o-1
mysql-test/r/table_elim.result table_elim.result-20090603125022-nge13y0ohk1g2tt2-1
mysql-test/suite/pbxt/t/lowercase_table_grant-master.opt lowercase_table_gran-20090828130852-3duj73io0g345hxj-1
mysql-test/suite/pbxt/t/lowercase_table_qcache-master.opt lowercase_table_qcac-20090828130852-3duj73io0g345hxj-2
mysql-test/suite/pbxt/t/lowercase_view-master.opt lowercase_viewmaster-20090828130852-3duj73io0g345hxj-3
mysql-test/suite/pbxt/t/udf-master.opt udfmaster.opt-20090828130852-3duj73io0g345hxj-4
mysql-test/t/log_slow.test log_slow.test-20090903130444-i0i8h0k5qt9xatcx-2
mysql-test/t/mysqld_option_err.test mysqld_option_err.te-20090903125847-d311kra14ipqyi2o-2
mysql-test/t/table_elim.test table_elim.test-20090603125018-ka3vcfrm07bsldz8-1
sql-bench/test-table-elimination.sh testtableelimination-20090616194329-gai92muve732qknl-1
sql/log_slow.h log_slow.h-20090903130444-i0i8h0k5qt9xatcx-1
sql/opt_table_elimination.cc opt_table_eliminatio-20090625095316-7ka9w3zr7n5114iv-1
storage/pbxt/src/pbms_enabled.cc pbms_enabled.cc-20090818074502-tybcb62hp1kdrk3l-1
storage/pbxt/src/pbms_enabled.h pbms_enabled.h-20090818074502-tybcb62hp1kdrk3l-2
support-files/ccfilter ccfilter-20090903130840-kgbb9xgba492f3z4-1
modified:
.bzrignore sp1f-ignore-20001018235455-q4gxfbritt5f42nwix354ufpsvrf5ebj
BUILD/Makefile.am sp1f-makefile.am-20020102192940-dza66ux2yxyklupzjz4q3km3hvye5rnj
KNOWN_BUGS.txt sp1f-known_bugs.txt-20080112111653-zzflmm3ji2fwldqezas63y53pssozvb7
README sp1f-readme-19700101030959-ipf4glwvob7zbr3norl5feyy3jwy3sod
config/ac-macros/misc.m4 sp1f-misc.m4-20041202010047-eedogcoko3sndn3nhe3krdole675uamr
extra/yassl/include/yassl_int.hpp sp1f-yassl_int.hpp-20050428132307-uqdopnog3njo2nicimdqmt7fco35gagn
extra/yassl/src/handshake.cpp sp1f-handshake.cpp-20050428132310-fmtqaesmdo3txlm6dnhqmef23jgyrmih
extra/yassl/src/yassl_imp.cpp sp1f-yassl_imp.cpp-20050428132311-kbtb6sfna2iec57rsngc5wa76djjl76p
extra/yassl/src/yassl_int.cpp sp1f-yassl_int.cpp-20050428132311-hjgnphdasudo2ncxocoetyb7twor5fpq
extra/yassl/taocrypt/include/modes.hpp sp1f-modes.hpp-20050428132316-td6cnzuargeuvsxs2vqse74d62tzbxtj
extra/yassl/taocrypt/src/asn.cpp sp1f-asn.cpp-20050428132318-okq6hllvtur6rcfg4gc5pbxebunf764v
include/my_global.h sp1f-my_global.h-20010915021246-4vawdgfw4vg3tuxq6mejt7lrchcnceha
libmysqld/Makefile.am sp1f-makefile.am-20010411110351-26htpk3ynkyh7pkfvnshztqrxx3few4g
mysql-test/lib/mtr_gcov.pl sp1f-mtr_gcov.pl-20041230152646-g7ukx2aojk6vlfbrurijutdkqshwljue
mysql-test/mysql-test-run.pl sp1f-mysqltestrun.pl-20041230152716-xjnn5ndv4rr4by6ijmj5a4ysubxc7qh3
mysql-test/r/mysql-bug41486.result mysqlbug41486.result-20090323135900-fobg67a3yzg0b7e8-1
mysql-test/r/ps_11bugs.result sp1f-ps_11bugs.result-20041012140047-4pktjlfeq27q6bxqfdsbcszr5nybv6zz
mysql-test/r/select.result sp1f-select.result-20010103001548-znkoalxem6wchsbxizfosjhpfmhfyxuk
mysql-test/r/subselect.result sp1f-subselect.result-20020512204640-zgegcsgavnfd7t7eyrf7ibuqomsw7uzo
mysql-test/r/union.result sp1f-unions_one.result-20010725122836-ofxtwraxeohz7whhrmfdz57sl4a5prmp
mysql-test/r/variables.result sp1f-variables.result-20001228015635-w5m2doorn7gzhyyhpqrlqsupnwn6f6xh
mysql-test/suite/pbxt/r/alter_table.result alter_table.result-20090402100035-4ilk9i91sh65vjcb-5
mysql-test/suite/pbxt/r/analyze.result analyze.result-20090402100035-4ilk9i91sh65vjcb-7
mysql-test/suite/pbxt/r/auto_increment.result auto_increment.resul-20090402100035-4ilk9i91sh65vjcb-9
mysql-test/suite/pbxt/r/delete.result delete.result-20090402100035-4ilk9i91sh65vjcb-31
mysql-test/suite/pbxt/r/distinct.result distinct.result-20090402100035-4ilk9i91sh65vjcb-34
mysql-test/suite/pbxt/r/func_group.result func_group.result-20090402100035-4ilk9i91sh65vjcb-50
mysql-test/suite/pbxt/r/func_math.result func_math.result-20090402100035-4ilk9i91sh65vjcb-55
mysql-test/suite/pbxt/r/func_str.result func_str.result-20090402100035-4ilk9i91sh65vjcb-61
mysql-test/suite/pbxt/r/grant.result grant.result-20090402100035-4ilk9i91sh65vjcb-65
mysql-test/suite/pbxt/r/group_min_max.result group_min_max.result-20090402100035-4ilk9i91sh65vjcb-69
mysql-test/suite/pbxt/r/join.result join.result-20090402100035-4ilk9i91sh65vjcb-79
mysql-test/suite/pbxt/r/join_nested.result join_nested.result-20090402100035-4ilk9i91sh65vjcb-81
mysql-test/suite/pbxt/r/key.result key.result-20090402100035-4ilk9i91sh65vjcb-83
mysql-test/suite/pbxt/r/key_cache.result key_cache.result-20090402100035-4ilk9i91sh65vjcb-84
mysql-test/suite/pbxt/r/key_diff.result key_diff.result-20090402100035-4ilk9i91sh65vjcb-85
mysql-test/suite/pbxt/r/lowercase_view.result lowercase_view.resul-20090402100035-4ilk9i91sh65vjcb-96
mysql-test/suite/pbxt/r/mysqlshow.result mysqlshow.result-20090402100035-4ilk9i91sh65vjcb-101
mysql-test/suite/pbxt/r/null.result null.result-20090402100035-4ilk9i91sh65vjcb-104
mysql-test/suite/pbxt/r/null_key.result null_key.result-20090402100035-4ilk9i91sh65vjcb-105
mysql-test/suite/pbxt/r/partition_pruning.result partition_pruning.re-20090402100035-4ilk9i91sh65vjcb-117
mysql-test/suite/pbxt/r/pbxt_bugs.result pbxt_bugs.result-20090402100035-4ilk9i91sh65vjcb-120
mysql-test/suite/pbxt/r/pbxt_ref_int.result pbxt_ref_int.result-20090402100035-4ilk9i91sh65vjcb-123
mysql-test/suite/pbxt/r/preload.result preload.result-20090402100035-4ilk9i91sh65vjcb-127
mysql-test/suite/pbxt/r/ps_1general.result ps_1general.result-20090402100035-4ilk9i91sh65vjcb-130
mysql-test/suite/pbxt/r/range.result range.result-20090402100035-4ilk9i91sh65vjcb-132
mysql-test/suite/pbxt/r/schema.result schema.result-20090402100035-4ilk9i91sh65vjcb-138
mysql-test/suite/pbxt/r/select.result select.result-20090402100035-4ilk9i91sh65vjcb-139
mysql-test/suite/pbxt/r/select_safe.result select_safe.result-20090402100035-4ilk9i91sh65vjcb-141
mysql-test/suite/pbxt/r/subselect.result subselect.result-20090402100035-4ilk9i91sh65vjcb-146
mysql-test/suite/pbxt/r/type_enum.result type_enum.result-20090402100035-4ilk9i91sh65vjcb-155
mysql-test/suite/pbxt/r/type_ranges.result type_ranges.result-20090402100035-4ilk9i91sh65vjcb-159
mysql-test/suite/pbxt/r/type_timestamp.result type_timestamp.resul-20090402100035-4ilk9i91sh65vjcb-162
mysql-test/suite/pbxt/r/union.result union.result-20090402100035-4ilk9i91sh65vjcb-166
mysql-test/suite/pbxt/r/view_grant.result view_grant.result-20090402100035-4ilk9i91sh65vjcb-169
mysql-test/suite/pbxt/t/auto_increment.test auto_increment.test-20090402100035-4ilk9i91sh65vjcb-176
mysql-test/suite/pbxt/t/delete.test delete.test-20090402100035-4ilk9i91sh65vjcb-198
mysql-test/suite/pbxt/t/join_nested.test join_nested.test-20090402100035-4ilk9i91sh65vjcb-248
mysql-test/suite/pbxt/t/null.test null.test-20090402100035-4ilk9i91sh65vjcb-271
mysql-test/suite/pbxt/t/pbxt_bugs.test pbxt_bugs.test-20090402100035-4ilk9i91sh65vjcb-287
mysql-test/suite/pbxt/t/rename.test rename.test-20090402100035-4ilk9i91sh65vjcb-301
mysql-test/suite/pbxt/t/schema.test schema.test-20090402100035-4ilk9i91sh65vjcb-305
mysql-test/suite/pbxt/t/type_enum.test type_enum.test-20090402100035-4ilk9i91sh65vjcb-322
mysql-test/suite/pbxt/t/union.test union.test-20090402100035-4ilk9i91sh65vjcb-333
mysql-test/t/index_merge_myisam.test sp1f-index_merge_myisam.t-20060816114353-3p3p5fylcfj754j3d3td6zs6shnc5nu3
mysql-test/t/mysql-bug41486.test mysqlbug41486.test-20090323135900-fobg67a3yzg0b7e8-2
mysql-test/valgrind.supp sp1f-valgrind.supp-20050406142216-yg7xhezklqhgqlc3inx36vbghodhbovy
mysys/my_compress.c sp1f-my_compress.c-19700101030959-vzixvitc7v3ffbqmhphz73hoeuaxmspm
mysys/my_getopt.c sp1f-my_getopt.c-20020125212008-5ppwsdqmfhny46gxkjxph22zh3phetir
sql/CMakeLists.txt sp1f-cmakelists.txt-20060831175237-esoeu5kpdtwjvehkghwy6fzbleniq2wy
sql/Makefile.am sp1f-makefile.am-19700101030959-xsjdiakci3nqcdd4xl4yomwdl5eo2f3q
sql/event_data_objects.cc sp1f-event_timed.cc-20051205104456-ckd2gzuwhr4u5umqbncmt43nvv45pxmf
sql/events.cc sp1f-event.cc-20051202122200-as66hughd4bhrhu2uqbb6mpogou2yihk
sql/filesort.cc sp1f-filesort.cc-19700101030959-mfm2vmdgqqru7emm2meeecleb2q3zdso
sql/item.cc sp1f-item.cc-19700101030959-u7hxqopwpfly4kf5ctlyk2dvrq4l3dhn
sql/item.h sp1f-item.h-19700101030959-rrkb43htudd62batmoteashkebcwykpa
sql/item_cmpfunc.cc sp1f-item_cmpfunc.cc-19700101030959-hrk7pi2n6qpwxauufnkizirsoucdcx2e
sql/item_cmpfunc.h sp1f-item_cmpfunc.h-19700101030959-pcvbjplo4e4ng7ibynfhcd6pjyem57gr
sql/item_subselect.cc sp1f-item_subselect.cc-20020512204640-qep43aqhsfrwkqmrobni6czc3fqj36oo
sql/item_subselect.h sp1f-item_subselect.h-20020512204640-qdg77wil56cxyhtc2bjjdrppxq3wqgh3
sql/item_sum.cc sp1f-item_sum.cc-19700101030959-4woo23bi3am2t2zvsddqbpxk7xbttdkm
sql/item_sum.h sp1f-item_sum.h-19700101030959-ecgohlekwm355wxl5fv4zzq3alalbwyl
sql/log.cc sp1f-log.cc-19700101030959-r3hdfovek4kl6nd64ovoaknmirota6bq
sql/mysql_priv.h sp1f-mysql_priv.h-19700101030959-4fl65tqpop5zfgxaxkqotu2fa2ree5ci
sql/mysqld.cc sp1f-mysqld.cc-19700101030959-zpswdvekpvixxzxf7gdtofzel7nywtfj
sql/opt_range.h sp1f-opt_range.h-19700101030959-c2qbh5kplyvzfgawblxt4md4ubdpxfdy
sql/set_var.cc sp1f-set_var.cc-20020723153119-nwbpg2pwpz55pfw7yfzaxt7hsszzy7y3
sql/set_var.h sp1f-set_var.h-20020723153119-2yomygq3s4xjbqvuue3cdlpbjtj3kwmk
sql/slave.cc sp1f-slave.cc-19700101030959-a636aj3mjxgu7fnznrg5kt77p3u2bvhh
sql/sp_head.cc sp1f-sp_head.cc-20021208185920-jtgc5wvyqdnu2gvcdus3gazrfhxbofxd
sql/sql_bitmap.h sp1f-sql_bitmap.h-20031024204444-g4eiad7vopzqxe2trxmt3fn3xsvnomvj
sql/sql_cache.cc sp1f-sql_cache.cc-19700101030959-74bsqwcnhboovijsogcenqana5inu6wo
sql/sql_class.cc sp1f-sql_class.cc-19700101030959-rpotnweaff2pikkozh3butrf7mv3oero
sql/sql_class.h sp1f-sql_class.h-19700101030959-jnqnbrjyqsvgncsibnumsmg3lyi7pa5s
sql/sql_lex.cc sp1f-sql_lex.cc-19700101030959-4pizwlu5rqkti27gcwsvxkawq6bc2kph
sql/sql_lex.h sp1f-sql_lex.h-19700101030959-sgldb2sooc7twtw5q7pgjx7qzqiaa3sn
sql/sql_list.h sp1f-sql_list.h-19700101030959-hyddr5nvvtrgbk7llgnah4i4bf6ugspn
sql/sql_parse.cc sp1f-sql_parse.cc-19700101030959-ehcre3rwhv5l3mlxqhaxg36ujenxnrcd
sql/sql_select.cc sp1f-sql_select.cc-19700101030959-egb7whpkh76zzvikycs5nsnuviu4fdlb
sql/sql_select.h sp1f-sql_select.h-19700101030959-oqegfxr76xlgmrzd6qlevonoibfnwzoz
sql/sql_show.cc sp1f-sql_show.cc-19700101030959-umlljfnpplg452h7reeyqr4xnbmlkvfj
sql/strfunc.cc sp1f-strfunc.cc-20031103120156-rnws3w4cqo456ougd7imfvrm2shcf25b
sql/table.h sp1f-table.h-19700101030959-dv72bajftxj5fbdjuajquappanuv2ija
storage/maria/CMakeLists.txt sp1f-cmakelists.txt-20060904145307-qtvi5bxnxyt7nzs4gtpsyte5vv3fwm2i
storage/maria/ma_rt_index.c sp1f-ma_rt_index.c-20060411134435-knxi5ehzzeww7thlm3ppvtx6v3cppiao
storage/myisam/mi_extra.c sp1f-mi_extra.c-19700101030959-y5yhfph7parv3zdbew22zss3ho57dgvr
storage/myisam/mi_locking.c sp1f-mi_locking.c-19700101030959-27f7n7juexzv4qrhkiwcoylzh4yfibbl
storage/pbxt/ChangeLog changelog-20090326121724-x683v32twzr3fi0y-3
storage/pbxt/src/Makefile.am makefile.am-20090326121724-x683v32twzr3fi0y-13
storage/pbxt/src/cache_xt.cc cache_xt.cc-20090326121724-x683v32twzr3fi0y-16
storage/pbxt/src/cache_xt.h cache_xt.h-20090326121724-x683v32twzr3fi0y-17
storage/pbxt/src/ccutils_xt.cc ccutils_xt.cc-20090326121724-x683v32twzr3fi0y-18
storage/pbxt/src/database_xt.cc database_xt.cc-20090326121724-x683v32twzr3fi0y-20
storage/pbxt/src/datadic_xt.cc datadic_xt.cc-20090326121724-x683v32twzr3fi0y-22
storage/pbxt/src/datadic_xt.h datadic_xt.h-20090326121724-x683v32twzr3fi0y-23
storage/pbxt/src/datalog_xt.cc datalog_xt.cc-20090326121724-x683v32twzr3fi0y-24
storage/pbxt/src/datalog_xt.h datalog_xt.h-20090326121724-x683v32twzr3fi0y-25
storage/pbxt/src/discover_xt.cc discover_xt.cc-20090326121724-x683v32twzr3fi0y-26
storage/pbxt/src/filesys_xt.cc filesys_xt.cc-20090326121724-x683v32twzr3fi0y-28
storage/pbxt/src/filesys_xt.h filesys_xt.h-20090326121724-x683v32twzr3fi0y-29
storage/pbxt/src/ha_pbxt.cc ha_pbxt.cc-20090326121724-x683v32twzr3fi0y-30
storage/pbxt/src/ha_pbxt.h ha_pbxt.h-20090326121724-x683v32twzr3fi0y-31
storage/pbxt/src/ha_xtsys.cc ha_xtsys.cc-20090326121724-x683v32twzr3fi0y-32
storage/pbxt/src/ha_xtsys.h ha_xtsys.h-20090326121724-x683v32twzr3fi0y-33
storage/pbxt/src/hashtab_xt.cc hashtab_xt.cc-20090326121724-x683v32twzr3fi0y-34
storage/pbxt/src/heap_xt.cc heap_xt.cc-20090326121724-x683v32twzr3fi0y-36
storage/pbxt/src/heap_xt.h heap_xt.h-20090326121724-x683v32twzr3fi0y-37
storage/pbxt/src/index_xt.cc index_xt.cc-20090326121724-x683v32twzr3fi0y-38
storage/pbxt/src/index_xt.h index_xt.h-20090326121724-x683v32twzr3fi0y-39
storage/pbxt/src/lock_xt.cc lock_xt.cc-20090326121724-x683v32twzr3fi0y-42
storage/pbxt/src/lock_xt.h lock_xt.h-20090326121724-x683v32twzr3fi0y-43
storage/pbxt/src/locklist_xt.cc locklist_xt.cc-20090326121724-x683v32twzr3fi0y-44
storage/pbxt/src/locklist_xt.h locklist_xt.h-20090326121724-x683v32twzr3fi0y-45
storage/pbxt/src/memory_xt.cc memory_xt.cc-20090326121724-x683v32twzr3fi0y-46
storage/pbxt/src/memory_xt.h memory_xt.h-20090326121724-x683v32twzr3fi0y-47
storage/pbxt/src/myxt_xt.cc myxt_xt.cc-20090326121724-x683v32twzr3fi0y-48
storage/pbxt/src/myxt_xt.h myxt_xt.h-20090326121724-x683v32twzr3fi0y-49
storage/pbxt/src/pbms.h pbms.h-20090326121724-x683v32twzr3fi0y-50
storage/pbxt/src/pthread_xt.cc pthread_xt.cc-20090326121724-x683v32twzr3fi0y-51
storage/pbxt/src/restart_xt.cc restart_xt.cc-20090326121724-x683v32twzr3fi0y-53
storage/pbxt/src/restart_xt.h restart_xt.h-20090326121724-x683v32twzr3fi0y-54
storage/pbxt/src/sortedlist_xt.cc sortedlist_xt.cc-20090326121724-x683v32twzr3fi0y-55
storage/pbxt/src/strutil_xt.cc strutil_xt.cc-20090326121724-x683v32twzr3fi0y-59
storage/pbxt/src/systab_xt.cc systab_xt.cc-20090326121724-x683v32twzr3fi0y-61
storage/pbxt/src/systab_xt.h systab_xt.h-20090326121724-x683v32twzr3fi0y-62
storage/pbxt/src/tabcache_xt.cc tabcache_xt.cc-20090326121724-x683v32twzr3fi0y-63
storage/pbxt/src/tabcache_xt.h tabcache_xt.h-20090326121724-x683v32twzr3fi0y-64
storage/pbxt/src/table_xt.cc table_xt.cc-20090326121724-x683v32twzr3fi0y-65
storage/pbxt/src/table_xt.h table_xt.h-20090326121724-x683v32twzr3fi0y-66
storage/pbxt/src/thread_xt.cc thread_xt.cc-20090326121724-x683v32twzr3fi0y-67
storage/pbxt/src/thread_xt.h thread_xt.h-20090326121724-x683v32twzr3fi0y-68
storage/pbxt/src/trace_xt.cc trace_xt.cc-20090326121724-x683v32twzr3fi0y-69
storage/pbxt/src/trace_xt.h trace_xt.h-20090326121724-x683v32twzr3fi0y-70
storage/pbxt/src/util_xt.cc util_xt.cc-20090326121724-x683v32twzr3fi0y-71
storage/pbxt/src/xaction_xt.cc xaction_xt.cc-20090326121724-x683v32twzr3fi0y-74
storage/pbxt/src/xaction_xt.h xaction_xt.h-20090326121724-x683v32twzr3fi0y-75
storage/pbxt/src/xactlog_xt.cc xactlog_xt.cc-20090326121724-x683v32twzr3fi0y-76
storage/pbxt/src/xactlog_xt.h xactlog_xt.h-20090326121724-x683v32twzr3fi0y-77
storage/pbxt/src/xt_config.h xt_config.h-20090326121724-x683v32twzr3fi0y-78
storage/pbxt/src/xt_defs.h xt_defs.h-20090326121724-x683v32twzr3fi0y-79
storage/pbxt/src/xt_errno.h xt_errno.h-20090326121724-x683v32twzr3fi0y-80
storage/xtradb/Makefile.am makefile.am-20081201061010-zymrrwrczns2vrex-4
storage/xtradb/buf/buf0flu.c buf0flu.c-20081201061010-zymrrwrczns2vrex-50
storage/xtradb/fil/fil0fil.c fil0fil.c-20081201061010-zymrrwrczns2vrex-63
storage/xtradb/handler/i_s.cc i_s.cc-20081201061010-zymrrwrczns2vrex-73
storage/xtradb/mtr/mtr0mtr.c mtr0mtr.c-20081201061010-zymrrwrczns2vrex-277
storage/xtradb/srv/srv0srv.c srv0srv.c-20081201061010-zymrrwrczns2vrex-347
storage/xtradb/srv/srv0start.c srv0start.c-20081201061010-zymrrwrczns2vrex-348
strings/decimal.c sp1f-decimal.c-20041018120639-qqm4oeadwhbdhuxgwlc657il4tu44n6m
support-files/compiler_warnings.supp sp1f-disabled_compiler_wa-20070110170439-wzgdkamsch2nrkgvcp2hytmquqeorohi
unittest/mysys/waiting_threads-t.c waiting_threadst.c-20080623170213-r8baqa2porlpxzq1-5
------------------------------------------------------------
revno: 2719.1.12
revision-id: igor(a)mysql.com-20090909181131-6jb3y48zxnz42zyb
parent: knielsen(a)knielsen-hq.org-20090907131358-6bq1e3qfcgi30hu8
committer: Igor Babaev <igor(a)mysql.com>
branch nick: maria-5.1-fix-windows
timestamp: Wed 2009-09-09 11:11:31 -0700
message:
Added a missing dependency to build maria lib
modified:
storage/maria/CMakeLists.txt sp1f-cmakelists.txt-20060904145307-qtvi5bxnxyt7nzs4gtpsyte5vv3fwm2i
------------------------------------------------------------
revno: 2719.1.11
revision-id: knielsen(a)knielsen-hq.org-20090907131358-6bq1e3qfcgi30hu8
parent: knielsen(a)knielsen-hq.org-20090907071238-98y89j10q2jgyd52
committer: knielsen(a)knielsen-hq.org
branch nick: work
timestamp: Mon 2009-09-07 15:13:58 +0200
message:
Fix that thd->query_plan_flags was not initialised prior to executing non-query commands
(also fixes a Valgrind warning in Buildbot).
modified:
sql/sql_parse.cc sp1f-sql_parse.cc-19700101030959-ehcre3rwhv5l3mlxqhaxg36ujenxnrcd
------------------------------------------------------------
revno: 2719.1.10
revision-id: knielsen(a)knielsen-hq.org-20090907071238-98y89j10q2jgyd52
parent: psergey(a)askmonty.org-20090906154940-bdwpqtizq0v9wb4q
committer: knielsen(a)knielsen-hq.org
branch nick: work
timestamp: Mon 2009-09-07 09:12:38 +0200
message:
Fix compiler warnings.
modified:
sql/opt_table_elimination.cc opt_table_eliminatio-20090625095316-7ka9w3zr7n5114iv-1
------------------------------------------------------------
revno: 2719.1.9
revision-id: psergey(a)askmonty.org-20090906154940-bdwpqtizq0v9wb4q
parent: knielsen(a)knielsen-hq.org-20090904074534-tyya4rfwjgvbt5ch
committer: Sergey Petrunya <psergey(a)askmonty.org>
branch nick: maria-5.1-fixwindows
timestamp: Sun 2009-09-06 19:49:40 +0400
message:
Fix ha_maria to compile on Windows
modified:
storage/maria/ma_rt_index.c sp1f-ma_rt_index.c-20060411134435-knxi5ehzzeww7thlm3ppvtx6v3cppiao
------------------------------------------------------------
revno: 2719.1.8
revision-id: knielsen(a)knielsen-hq.org-20090904074534-tyya4rfwjgvbt5ch
parent: monty(a)mysql.com-20090903145646-0cis6dfct2c8gee7
parent: knielsen(a)knielsen-hq.org-20090904072934-eonhxvxy96mxirqi
committer: knielsen(a)knielsen-hq.org
branch nick: work
timestamp: Fri 2009-09-04 09:45:34 +0200
message:
Merge.
- PBXT fixes.
- MBug#423035 fix.
- Compiler warning fixes.
added:
mysql-test/r/mysqld_option_err.result mysqld_option_err.re-20090903125847-d311kra14ipqyi2o-1
mysql-test/t/mysqld_option_err.test mysqld_option_err.te-20090903125847-d311kra14ipqyi2o-2
support-files/ccfilter ccfilter-20090903130840-kgbb9xgba492f3z4-1
modified:
client/mysqlbinlog.cc sp1f-mysqlbinlog.cc-19700101030959-b3vgyo47ljent5mhbyj6ik33bi4bukad
config/ac-macros/misc.m4 sp1f-misc.m4-20041202010047-eedogcoko3sndn3nhe3krdole675uamr
extra/yassl/include/yassl_int.hpp sp1f-yassl_int.hpp-20050428132307-uqdopnog3njo2nicimdqmt7fco35gagn
extra/yassl/src/handshake.cpp sp1f-handshake.cpp-20050428132310-fmtqaesmdo3txlm6dnhqmef23jgyrmih
extra/yassl/src/yassl_imp.cpp sp1f-yassl_imp.cpp-20050428132311-kbtb6sfna2iec57rsngc5wa76djjl76p
extra/yassl/src/yassl_int.cpp sp1f-yassl_int.cpp-20050428132311-hjgnphdasudo2ncxocoetyb7twor5fpq
extra/yassl/taocrypt/include/modes.hpp sp1f-modes.hpp-20050428132316-td6cnzuargeuvsxs2vqse74d62tzbxtj
extra/yassl/taocrypt/src/asn.cpp sp1f-asn.cpp-20050428132318-okq6hllvtur6rcfg4gc5pbxebunf764v
mysql-test/mysql-test-run.pl sp1f-mysqltestrun.pl-20041230152716-xjnn5ndv4rr4by6ijmj5a4ysubxc7qh3
mysys/my_compress.c sp1f-my_compress.c-19700101030959-vzixvitc7v3ffbqmhphz73hoeuaxmspm
mysys/my_getopt.c sp1f-my_getopt.c-20020125212008-5ppwsdqmfhny46gxkjxph22zh3phetir
sql/mysqld.cc sp1f-mysqld.cc-19700101030959-zpswdvekpvixxzxf7gdtofzel7nywtfj
storage/pbxt/ChangeLog changelog-20090326121724-x683v32twzr3fi0y-3
storage/pbxt/src/Makefile.am makefile.am-20090326121724-x683v32twzr3fi0y-13
storage/pbxt/src/datalog_xt.cc datalog_xt.cc-20090326121724-x683v32twzr3fi0y-24
storage/pbxt/src/discover_xt.cc discover_xt.cc-20090326121724-x683v32twzr3fi0y-26
storage/pbxt/src/filesys_xt.cc filesys_xt.cc-20090326121724-x683v32twzr3fi0y-28
storage/pbxt/src/ha_pbxt.cc ha_pbxt.cc-20090326121724-x683v32twzr3fi0y-30
storage/pbxt/src/memory_xt.cc memory_xt.cc-20090326121724-x683v32twzr3fi0y-46
storage/pbxt/src/myxt_xt.cc myxt_xt.cc-20090326121724-x683v32twzr3fi0y-48
storage/pbxt/src/myxt_xt.h myxt_xt.h-20090326121724-x683v32twzr3fi0y-49
storage/pbxt/src/restart_xt.cc restart_xt.cc-20090326121724-x683v32twzr3fi0y-53
storage/pbxt/src/restart_xt.h restart_xt.h-20090326121724-x683v32twzr3fi0y-54
storage/pbxt/src/strutil_xt.cc strutil_xt.cc-20090326121724-x683v32twzr3fi0y-59
storage/pbxt/src/tabcache_xt.cc tabcache_xt.cc-20090326121724-x683v32twzr3fi0y-63
storage/pbxt/src/thread_xt.cc thread_xt.cc-20090326121724-x683v32twzr3fi0y-67
storage/pbxt/src/xaction_xt.cc xaction_xt.cc-20090326121724-x683v32twzr3fi0y-74
storage/pbxt/src/xactlog_xt.cc xactlog_xt.cc-20090326121724-x683v32twzr3fi0y-76
storage/pbxt/src/xt_errno.h xt_errno.h-20090326121724-x683v32twzr3fi0y-80
storage/xtradb/fil/fil0fil.c fil0fil.c-20081201061010-zymrrwrczns2vrex-63
storage/xtradb/mtr/mtr0mtr.c mtr0mtr.c-20081201061010-zymrrwrczns2vrex-277
storage/xtradb/srv/srv0srv.c srv0srv.c-20081201061010-zymrrwrczns2vrex-347
storage/xtradb/srv/srv0start.c srv0start.c-20081201061010-zymrrwrczns2vrex-348
strings/decimal.c sp1f-decimal.c-20041018120639-qqm4oeadwhbdhuxgwlc657il4tu44n6m
support-files/compiler_warnings.supp sp1f-disabled_compiler_wa-20070110170439-wzgdkamsch2nrkgvcp2hytmquqeorohi
------------------------------------------------------------
revno: 2719.6.4
revision-id: knielsen(a)knielsen-hq.org-20090904072934-eonhxvxy96mxirqi
parent: knielsen(a)knielsen-hq.org-20090903132022-os4s3x7l68smzet2
committer: knielsen(a)knielsen-hq.org
branch nick: bug-422550
timestamp: Fri 2009-09-04 09:29:34 +0200
message:
PBXT fixes.
- Silence a compiler warning.
- Don't build pbms object files now that we disabled pbms.
modified:
storage/pbxt/src/Makefile.am makefile.am-20090326121724-x683v32twzr3fi0y-13
storage/pbxt/src/datalog_xt.cc datalog_xt.cc-20090326121724-x683v32twzr3fi0y-24
------------------------------------------------------------
revno: 2719.6.3
revision-id: knielsen(a)knielsen-hq.org-20090903132022-os4s3x7l68smzet2
parent: knielsen(a)knielsen-hq.org-20090903130502-7t4rceyb52rjtm0a
committer: knielsen(a)knielsen-hq.org
branch nick: bug-422550
timestamp: Thu 2009-09-03 15:20:22 +0200
message:
Fix most Compiler warnings seen in buildbot.
Add suppressions for a few warnings that cannot be meaningfully fixed by
MariaDB developers.
Changes for XtraDB, PBXT, and YaSSL also submitted upstream.
Also add a `ccfilter` wrapper that can be used to filter out suppressed warnings in a
local build (to check that new warnings are not introduced).
added:
support-files/ccfilter ccfilter-20090903130840-kgbb9xgba492f3z4-1
modified:
client/mysqlbinlog.cc sp1f-mysqlbinlog.cc-19700101030959-b3vgyo47ljent5mhbyj6ik33bi4bukad
config/ac-macros/misc.m4 sp1f-misc.m4-20041202010047-eedogcoko3sndn3nhe3krdole675uamr
extra/yassl/include/yassl_int.hpp sp1f-yassl_int.hpp-20050428132307-uqdopnog3njo2nicimdqmt7fco35gagn
extra/yassl/src/handshake.cpp sp1f-handshake.cpp-20050428132310-fmtqaesmdo3txlm6dnhqmef23jgyrmih
extra/yassl/src/yassl_imp.cpp sp1f-yassl_imp.cpp-20050428132311-kbtb6sfna2iec57rsngc5wa76djjl76p
extra/yassl/src/yassl_int.cpp sp1f-yassl_int.cpp-20050428132311-hjgnphdasudo2ncxocoetyb7twor5fpq
extra/yassl/taocrypt/include/modes.hpp sp1f-modes.hpp-20050428132316-td6cnzuargeuvsxs2vqse74d62tzbxtj
extra/yassl/taocrypt/src/asn.cpp sp1f-asn.cpp-20050428132318-okq6hllvtur6rcfg4gc5pbxebunf764v
mysys/my_compress.c sp1f-my_compress.c-19700101030959-vzixvitc7v3ffbqmhphz73hoeuaxmspm
sql/mysqld.cc sp1f-mysqld.cc-19700101030959-zpswdvekpvixxzxf7gdtofzel7nywtfj
sql/strfunc.cc sp1f-strfunc.cc-20031103120156-rnws3w4cqo456ougd7imfvrm2shcf25b
storage/pbxt/src/discover_xt.cc discover_xt.cc-20090326121724-x683v32twzr3fi0y-26
storage/xtradb/fil/fil0fil.c fil0fil.c-20081201061010-zymrrwrczns2vrex-63
storage/xtradb/mtr/mtr0mtr.c mtr0mtr.c-20081201061010-zymrrwrczns2vrex-277
storage/xtradb/srv/srv0srv.c srv0srv.c-20081201061010-zymrrwrczns2vrex-347
storage/xtradb/srv/srv0start.c srv0start.c-20081201061010-zymrrwrczns2vrex-348
strings/decimal.c sp1f-decimal.c-20041018120639-qqm4oeadwhbdhuxgwlc657il4tu44n6m
support-files/compiler_warnings.supp sp1f-disabled_compiler_wa-20070110170439-wzgdkamsch2nrkgvcp2hytmquqeorohi
------------------------------------------------------------
revno: 2719.6.2
revision-id: knielsen(a)knielsen-hq.org-20090903130502-7t4rceyb52rjtm0a
parent: paul.mccullagh(a)primebase.org-20090903061503-xxq1y709oooeg4m6
committer: knielsen(a)knielsen-hq.org
branch nick: bug-422550
timestamp: Thu 2009-09-03 15:05:02 +0200
message:
MBug#423035: error in parsing enum value for plugin variable in mysqld command-line option
Fix parsing of invalid plugin enum option value.
Previous patch to fix plugin enum option parsing on big-endian introduced another bug due
to incorrect comparison of unsigned value. This would cause an incorrect value to be
parsed as value 0.
See also MySQL Bug#41010 and Bug#32034.
added:
mysql-test/r/mysqld_option_err.result mysqld_option_err.re-20090903125847-d311kra14ipqyi2o-1
mysql-test/t/mysqld_option_err.test mysqld_option_err.te-20090903125847-d311kra14ipqyi2o-2
modified:
mysql-test/mysql-test-run.pl sp1f-mysqltestrun.pl-20041230152716-xjnn5ndv4rr4by6ijmj5a4ysubxc7qh3
mysys/my_getopt.c sp1f-my_getopt.c-20020125212008-5ppwsdqmfhny46gxkjxph22zh3phetir
------------------------------------------------------------
revno: 2719.6.1
revision-id: paul.mccullagh(a)primebase.org-20090903061503-xxq1y709oooeg4m6
parent: psergey(a)askmonty.org-20090901115954-nge2brzh3akkmtlz
committer: Paul McCullagh <paul.mccullagh(a)primebase.org>
branch nick: trunk
timestamp: Thu 2009-09-03 08:15:03 +0200
message:
Fixed a bug that caused MySQL to crash on shutdown, if startup fails due to an incorrect command line parameter
modified:
storage/pbxt/ChangeLog changelog-20090326121724-x683v32twzr3fi0y-3
storage/pbxt/src/datalog_xt.cc datalog_xt.cc-20090326121724-x683v32twzr3fi0y-24
storage/pbxt/src/filesys_xt.cc filesys_xt.cc-20090326121724-x683v32twzr3fi0y-28
storage/pbxt/src/ha_pbxt.cc ha_pbxt.cc-20090326121724-x683v32twzr3fi0y-30
storage/pbxt/src/memory_xt.cc memory_xt.cc-20090326121724-x683v32twzr3fi0y-46
storage/pbxt/src/myxt_xt.cc myxt_xt.cc-20090326121724-x683v32twzr3fi0y-48
storage/pbxt/src/myxt_xt.h myxt_xt.h-20090326121724-x683v32twzr3fi0y-49
storage/pbxt/src/restart_xt.cc restart_xt.cc-20090326121724-x683v32twzr3fi0y-53
storage/pbxt/src/restart_xt.h restart_xt.h-20090326121724-x683v32twzr3fi0y-54
storage/pbxt/src/strutil_xt.cc strutil_xt.cc-20090326121724-x683v32twzr3fi0y-59
storage/pbxt/src/tabcache_xt.cc tabcache_xt.cc-20090326121724-x683v32twzr3fi0y-63
storage/pbxt/src/thread_xt.cc thread_xt.cc-20090326121724-x683v32twzr3fi0y-67
storage/pbxt/src/xaction_xt.cc xaction_xt.cc-20090326121724-x683v32twzr3fi0y-74
storage/pbxt/src/xactlog_xt.cc xactlog_xt.cc-20090326121724-x683v32twzr3fi0y-76
storage/pbxt/src/xt_errno.h xt_errno.h-20090326121724-x683v32twzr3fi0y-80
------------------------------------------------------------
revno: 2719.1.7
revision-id: monty(a)mysql.com-20090903145646-0cis6dfct2c8gee7
parent: psergey(a)askmonty.org-20090902084228-3ttm7xalqglzgjvs
parent: monty(a)mysql.com-20090903140538-hqrn5qvchi1ss5o8
committer: Michael Widenius <monty(a)mysql.com>
branch nick: maria
timestamp: Thu 2009-09-03 17:56:46 +0300
message:
Updated documentation files to reflect MariaDB and not the Maria storage engine or MySQL
Added (rewritten) patch from Percona to get extended statistics in slow.log:
- Added handling of 'set' variables to set_var.cc. Changed sql_mode to use this
- Added extra logging to slow log of 'Thread_id, Schema, Query Cache hit, Rows sent and Rows examined'
- Added optional logging to slow log, through log_slow_verbosity, of query plan statistics
- Added new user variables log_slow_rate_limit, log_slow_verbosity, log_slow_filter
- Added log-slow-file as synonym for 'slow-log-file', as most slow-log variables starts with 'log-slow'
- Added log-slow-time as synonym for long-query-time
Some trivial MyISAM optimizations:
- In prepare for drop, flush key blocks
- Don't call mi_lock_database if my_disable_locking is used
******
Automatic merge with trunc
******
Updated documentation files to reflect MariaDB and not the Maria storage engine or MySQL
Added (rewritten) patch from Percona to get extended statistics in slow.log:
- Added handling of 'set' variables to set_var.cc. Changed sql_mode to use this
- Added extra logging to slow log of 'Thread_id, Schema, Query Cache hit, Rows sent and Rows examined'
- Added optional logging to slow log, through log_slow_verbosity, of query plan statistics
- Added new user variables log_slow_rate_limit, log_slow_verbosity, log_slow_filter
- Added log-slow-file as synonym for 'slow-log-file', as most slow-log variables starts with 'log-slow'
- Added log-slow-time as synonym for long-query-time
Some trivial MyISAM optimizations:
- In prepare for drop, flush key blocks
- Don't call mi_lock_database if my_disable_locking is used
added:
mysql-test/r/log_slow.result log_slow.result-20090903130213-g4uekoxftd69o7cr-1
mysql-test/t/log_slow.test log_slow.test-20090903130444-i0i8h0k5qt9xatcx-2
sql/log_slow.h log_slow.h-20090903130444-i0i8h0k5qt9xatcx-1
modified:
KNOWN_BUGS.txt sp1f-known_bugs.txt-20080112111653-zzflmm3ji2fwldqezas63y53pssozvb7
README sp1f-readme-19700101030959-ipf4glwvob7zbr3norl5feyy3jwy3sod
mysql-test/r/variables.result sp1f-variables.result-20001228015635-w5m2doorn7gzhyyhpqrlqsupnwn6f6xh
sql/Makefile.am sp1f-makefile.am-19700101030959-xsjdiakci3nqcdd4xl4yomwdl5eo2f3q
sql/event_data_objects.cc sp1f-event_timed.cc-20051205104456-ckd2gzuwhr4u5umqbncmt43nvv45pxmf
sql/events.cc sp1f-event.cc-20051202122200-as66hughd4bhrhu2uqbb6mpogou2yihk
sql/filesort.cc sp1f-filesort.cc-19700101030959-mfm2vmdgqqru7emm2meeecleb2q3zdso
sql/log.cc sp1f-log.cc-19700101030959-r3hdfovek4kl6nd64ovoaknmirota6bq
sql/mysql_priv.h sp1f-mysql_priv.h-19700101030959-4fl65tqpop5zfgxaxkqotu2fa2ree5ci
sql/mysqld.cc sp1f-mysqld.cc-19700101030959-zpswdvekpvixxzxf7gdtofzel7nywtfj
sql/set_var.cc sp1f-set_var.cc-20020723153119-nwbpg2pwpz55pfw7yfzaxt7hsszzy7y3
sql/set_var.h sp1f-set_var.h-20020723153119-2yomygq3s4xjbqvuue3cdlpbjtj3kwmk
sql/slave.cc sp1f-slave.cc-19700101030959-a636aj3mjxgu7fnznrg5kt77p3u2bvhh
sql/sp_head.cc sp1f-sp_head.cc-20021208185920-jtgc5wvyqdnu2gvcdus3gazrfhxbofxd
sql/sql_cache.cc sp1f-sql_cache.cc-19700101030959-74bsqwcnhboovijsogcenqana5inu6wo
sql/sql_class.cc sp1f-sql_class.cc-19700101030959-rpotnweaff2pikkozh3butrf7mv3oero
sql/sql_class.h sp1f-sql_class.h-19700101030959-jnqnbrjyqsvgncsibnumsmg3lyi7pa5s
sql/sql_parse.cc sp1f-sql_parse.cc-19700101030959-ehcre3rwhv5l3mlxqhaxg36ujenxnrcd
sql/sql_select.cc sp1f-sql_select.cc-19700101030959-egb7whpkh76zzvikycs5nsnuviu4fdlb
sql/sql_show.cc sp1f-sql_show.cc-19700101030959-umlljfnpplg452h7reeyqr4xnbmlkvfj
sql/strfunc.cc sp1f-strfunc.cc-20031103120156-rnws3w4cqo456ougd7imfvrm2shcf25b
storage/myisam/mi_extra.c sp1f-mi_extra.c-19700101030959-y5yhfph7parv3zdbew22zss3ho57dgvr
storage/myisam/mi_locking.c sp1f-mi_locking.c-19700101030959-27f7n7juexzv4qrhkiwcoylzh4yfibbl
------------------------------------------------------------
revno: 2719.5.1
revision-id: monty(a)mysql.com-20090903140538-hqrn5qvchi1ss5o8
parent: knielsen(a)knielsen-hq.org-20090831112339-td6t7ljy4w2oamvt
committer: Michael Widenius <monty(a)mysql.com>
branch nick: mysql-maria
timestamp: Thu 2009-09-03 17:05:38 +0300
message:
Updated documentation files to reflect MariaDB and not the Maria storage engine or MySQL
Added (rewritten) patch from Percona to get extended statistics in slow.log:
- Added handling of 'set' variables to set_var.cc. Changed sql_mode to use this
- Added extra logging to slow log of 'Thread_id, Schema, Query Cache hit, Rows sent and Rows examined'
- Added optional logging to slow log, through log_slow_verbosity, of query plan statistics
- Added new user variables log_slow_rate_limit, log_slow_verbosity, log_slow_filter
- Added log-slow-file as synonym for 'slow-log-file', as most slow-log variables starts with 'log-slow'
- Added log-slow-time as synonym for long-query-time
Some trivial MyISAM optimizations:
- In prepare for drop, flush key blocks
- Don't call mi_lock_database if my_disable_locking is used
added:
mysql-test/r/log_slow.result log_slow.result-20090903130213-g4uekoxftd69o7cr-1
mysql-test/t/log_slow.test log_slow.test-20090903130444-i0i8h0k5qt9xatcx-2
sql/log_slow.h log_slow.h-20090903130444-i0i8h0k5qt9xatcx-1
modified:
KNOWN_BUGS.txt sp1f-known_bugs.txt-20080112111653-zzflmm3ji2fwldqezas63y53pssozvb7
README sp1f-readme-19700101030959-ipf4glwvob7zbr3norl5feyy3jwy3sod
mysql-test/r/variables.result sp1f-variables.result-20001228015635-w5m2doorn7gzhyyhpqrlqsupnwn6f6xh
sql/Makefile.am sp1f-makefile.am-19700101030959-xsjdiakci3nqcdd4xl4yomwdl5eo2f3q
sql/event_data_objects.cc sp1f-event_timed.cc-20051205104456-ckd2gzuwhr4u5umqbncmt43nvv45pxmf
sql/events.cc sp1f-event.cc-20051202122200-as66hughd4bhrhu2uqbb6mpogou2yihk
sql/filesort.cc sp1f-filesort.cc-19700101030959-mfm2vmdgqqru7emm2meeecleb2q3zdso
sql/log.cc sp1f-log.cc-19700101030959-r3hdfovek4kl6nd64ovoaknmirota6bq
sql/mysql_priv.h sp1f-mysql_priv.h-19700101030959-4fl65tqpop5zfgxaxkqotu2fa2ree5ci
sql/mysqld.cc sp1f-mysqld.cc-19700101030959-zpswdvekpvixxzxf7gdtofzel7nywtfj
sql/set_var.cc sp1f-set_var.cc-20020723153119-nwbpg2pwpz55pfw7yfzaxt7hsszzy7y3
sql/set_var.h sp1f-set_var.h-20020723153119-2yomygq3s4xjbqvuue3cdlpbjtj3kwmk
sql/slave.cc sp1f-slave.cc-19700101030959-a636aj3mjxgu7fnznrg5kt77p3u2bvhh
sql/sp_head.cc sp1f-sp_head.cc-20021208185920-jtgc5wvyqdnu2gvcdus3gazrfhxbofxd
sql/sql_cache.cc sp1f-sql_cache.cc-19700101030959-74bsqwcnhboovijsogcenqana5inu6wo
sql/sql_class.cc sp1f-sql_class.cc-19700101030959-rpotnweaff2pikkozh3butrf7mv3oero
sql/sql_class.h sp1f-sql_class.h-19700101030959-jnqnbrjyqsvgncsibnumsmg3lyi7pa5s
sql/sql_parse.cc sp1f-sql_parse.cc-19700101030959-ehcre3rwhv5l3mlxqhaxg36ujenxnrcd
sql/sql_select.cc sp1f-sql_select.cc-19700101030959-egb7whpkh76zzvikycs5nsnuviu4fdlb
sql/sql_show.cc sp1f-sql_show.cc-19700101030959-umlljfnpplg452h7reeyqr4xnbmlkvfj
sql/strfunc.cc sp1f-strfunc.cc-20031103120156-rnws3w4cqo456ougd7imfvrm2shcf25b
storage/myisam/mi_extra.c sp1f-mi_extra.c-19700101030959-y5yhfph7parv3zdbew22zss3ho57dgvr
storage/myisam/mi_locking.c sp1f-mi_locking.c-19700101030959-27f7n7juexzv4qrhkiwcoylzh4yfibbl
------------------------------------------------------------
revno: 2719.1.6
revision-id: psergey(a)askmonty.org-20090902084228-3ttm7xalqglzgjvs
parent: psergey(a)askmonty.org-20090902084018-lv3qet4nhooc4cnu
parent: psergey(a)askmonty.org-20090901222415-c3142zs9nstn2af0
committer: Sergey Petrunya <psergey(a)askmonty.org>
branch nick: maria-5.1
timestamp: Wed 2009-09-02 12:42:28 +0400
message:
MWL#17: Table elimination
Pre-push merge to main. This should give the complete WL entry diff.
added:
mysql-test/lib/process-purecov-annotations.pl processpurecovannota-20090825145959-3tgucpo20ms8b5yb-1
mysql-test/r/table_elim.result table_elim.result-20090603125022-nge13y0ohk1g2tt2-1
mysql-test/t/table_elim.test table_elim.test-20090603125018-ka3vcfrm07bsldz8-1
sql-bench/test-table-elimination.sh testtableelimination-20090616194329-gai92muve732qknl-1
sql/opt_table_elimination.cc opt_table_eliminatio-20090625095316-7ka9w3zr7n5114iv-1
modified:
.bzrignore sp1f-ignore-20001018235455-q4gxfbritt5f42nwix354ufpsvrf5ebj
include/my_global.h sp1f-my_global.h-20010915021246-4vawdgfw4vg3tuxq6mejt7lrchcnceha
libmysqld/Makefile.am sp1f-makefile.am-20010411110351-26htpk3ynkyh7pkfvnshztqrxx3few4g
mysql-test/lib/mtr_gcov.pl sp1f-mtr_gcov.pl-20041230152646-g7ukx2aojk6vlfbrurijutdkqshwljue
mysql-test/mysql-test-run.pl sp1f-mysqltestrun.pl-20041230152716-xjnn5ndv4rr4by6ijmj5a4ysubxc7qh3
mysql-test/r/mysql-bug41486.result mysqlbug41486.result-20090323135900-fobg67a3yzg0b7e8-1
mysql-test/r/ps_11bugs.result sp1f-ps_11bugs.result-20041012140047-4pktjlfeq27q6bxqfdsbcszr5nybv6zz
mysql-test/r/select.result sp1f-select.result-20010103001548-znkoalxem6wchsbxizfosjhpfmhfyxuk
mysql-test/r/subselect.result sp1f-subselect.result-20020512204640-zgegcsgavnfd7t7eyrf7ibuqomsw7uzo
mysql-test/r/union.result sp1f-unions_one.result-20010725122836-ofxtwraxeohz7whhrmfdz57sl4a5prmp
mysql-test/t/index_merge_myisam.test sp1f-index_merge_myisam.t-20060816114353-3p3p5fylcfj754j3d3td6zs6shnc5nu3
mysql-test/t/mysql-bug41486.test mysqlbug41486.test-20090323135900-fobg67a3yzg0b7e8-2
mysql-test/valgrind.supp sp1f-valgrind.supp-20050406142216-yg7xhezklqhgqlc3inx36vbghodhbovy
sql/CMakeLists.txt sp1f-cmakelists.txt-20060831175237-esoeu5kpdtwjvehkghwy6fzbleniq2wy
sql/Makefile.am sp1f-makefile.am-19700101030959-xsjdiakci3nqcdd4xl4yomwdl5eo2f3q
sql/item.cc sp1f-item.cc-19700101030959-u7hxqopwpfly4kf5ctlyk2dvrq4l3dhn
sql/item.h sp1f-item.h-19700101030959-rrkb43htudd62batmoteashkebcwykpa
sql/item_cmpfunc.cc sp1f-item_cmpfunc.cc-19700101030959-hrk7pi2n6qpwxauufnkizirsoucdcx2e
sql/item_cmpfunc.h sp1f-item_cmpfunc.h-19700101030959-pcvbjplo4e4ng7ibynfhcd6pjyem57gr
sql/item_subselect.cc sp1f-item_subselect.cc-20020512204640-qep43aqhsfrwkqmrobni6czc3fqj36oo
sql/item_subselect.h sp1f-item_subselect.h-20020512204640-qdg77wil56cxyhtc2bjjdrppxq3wqgh3
sql/item_sum.cc sp1f-item_sum.cc-19700101030959-4woo23bi3am2t2zvsddqbpxk7xbttdkm
sql/item_sum.h sp1f-item_sum.h-19700101030959-ecgohlekwm355wxl5fv4zzq3alalbwyl
sql/mysql_priv.h sp1f-mysql_priv.h-19700101030959-4fl65tqpop5zfgxaxkqotu2fa2ree5ci
sql/mysqld.cc sp1f-mysqld.cc-19700101030959-zpswdvekpvixxzxf7gdtofzel7nywtfj
sql/sql_bitmap.h sp1f-sql_bitmap.h-20031024204444-g4eiad7vopzqxe2trxmt3fn3xsvnomvj
sql/sql_lex.cc sp1f-sql_lex.cc-19700101030959-4pizwlu5rqkti27gcwsvxkawq6bc2kph
sql/sql_lex.h sp1f-sql_lex.h-19700101030959-sgldb2sooc7twtw5q7pgjx7qzqiaa3sn
sql/sql_list.h sp1f-sql_list.h-19700101030959-hyddr5nvvtrgbk7llgnah4i4bf6ugspn
sql/sql_select.cc sp1f-sql_select.cc-19700101030959-egb7whpkh76zzvikycs5nsnuviu4fdlb
sql/sql_select.h sp1f-sql_select.h-19700101030959-oqegfxr76xlgmrzd6qlevonoibfnwzoz
sql/table.h sp1f-table.h-19700101030959-dv72bajftxj5fbdjuajquappanuv2ija
------------------------------------------------------------
revno: 2719.3.31
revision-id: psergey(a)askmonty.org-20090901222415-c3142zs9nstn2af0
parent: psergey(a)askmonty.org-20090901222000-st4iicaxopeex2s1
parent: psergey(a)askmonty.org-20090901214116-n5bzyqlhgl0lamno
committer: Sergey Petrunya <psergey(a)askmonty.org>
branch nick: maria-5.1-table-elim-r12
timestamp: Wed 2009-09-02 02:24:15 +0400
message:
Merge
modified:
include/my_global.h sp1f-my_global.h-20010915021246-4vawdgfw4vg3tuxq6mejt7lrchcnceha
sql-bench/test-table-elimination.sh testtableelimination-20090616194329-gai92muve732qknl-1
sql/item.cc sp1f-item.cc-19700101030959-u7hxqopwpfly4kf5ctlyk2dvrq4l3dhn
sql/item.h sp1f-item.h-19700101030959-rrkb43htudd62batmoteashkebcwykpa
sql/item_cmpfunc.cc sp1f-item_cmpfunc.cc-19700101030959-hrk7pi2n6qpwxauufnkizirsoucdcx2e
sql/item_subselect.cc sp1f-item_subselect.cc-20020512204640-qep43aqhsfrwkqmrobni6czc3fqj36oo
sql/item_subselect.h sp1f-item_subselect.h-20020512204640-qdg77wil56cxyhtc2bjjdrppxq3wqgh3
sql/opt_table_elimination.cc opt_table_eliminatio-20090625095316-7ka9w3zr7n5114iv-1
sql/sql_list.h sp1f-sql_list.h-19700101030959-hyddr5nvvtrgbk7llgnah4i4bf6ugspn
sql/sql_select.cc sp1f-sql_select.cc-19700101030959-egb7whpkh76zzvikycs5nsnuviu4fdlb
------------------------------------------------------------
revno: 2719.4.2
revision-id: psergey(a)askmonty.org-20090901214116-n5bzyqlhgl0lamno
parent: psergey(a)askmonty.org-20090831200209-7gbnkr7omjbgld1x
committer: Sergey Petrunya <psergey(a)askmonty.org>
branch nick: maria-5.1-table-elim-r11
timestamp: Wed 2009-09-02 01:41:16 +0400
message:
MWL#17: Table elimination
- Address review feedback R4: better comments, formatting
modified:
sql-bench/test-table-elimination.sh testtableelimination-20090616194329-gai92muve732qknl-1
sql/opt_table_elimination.cc opt_table_eliminatio-20090625095316-7ka9w3zr7n5114iv-1
------------------------------------------------------------
revno: 2719.4.1
revision-id: psergey(a)askmonty.org-20090831200209-7gbnkr7omjbgld1x
parent: psergey(a)askmonty.org-20090826210140-y2pba3ucdwnvr956
committer: Sergey Petrunya <psergey(a)askmonty.org>
branch nick: maria-5.1-table-elim-r11
timestamp: Tue 2009-09-01 00:02:09 +0400
message:
MWL#17: Table-elimination
- Addressing review feedback, generation 4.
modified:
include/my_global.h sp1f-my_global.h-20010915021246-4vawdgfw4vg3tuxq6mejt7lrchcnceha
sql/item.cc sp1f-item.cc-19700101030959-u7hxqopwpfly4kf5ctlyk2dvrq4l3dhn
sql/item.h sp1f-item.h-19700101030959-rrkb43htudd62batmoteashkebcwykpa
sql/item_cmpfunc.cc sp1f-item_cmpfunc.cc-19700101030959-hrk7pi2n6qpwxauufnkizirsoucdcx2e
sql/item_subselect.cc sp1f-item_subselect.cc-20020512204640-qep43aqhsfrwkqmrobni6czc3fqj36oo
sql/item_subselect.h sp1f-item_subselect.h-20020512204640-qdg77wil56cxyhtc2bjjdrppxq3wqgh3
sql/opt_table_elimination.cc opt_table_eliminatio-20090625095316-7ka9w3zr7n5114iv-1
sql/sql_list.h sp1f-sql_list.h-19700101030959-hyddr5nvvtrgbk7llgnah4i4bf6ugspn
sql/sql_select.cc sp1f-sql_select.cc-19700101030959-egb7whpkh76zzvikycs5nsnuviu4fdlb
------------------------------------------------------------
revno: 2719.3.30
revision-id: psergey(a)askmonty.org-20090901222000-st4iicaxopeex2s1
parent: psergey(a)askmonty.org-20090826210140-y2pba3ucdwnvr956
parent: psergey(a)askmonty.org-20090901115954-nge2brzh3akkmtlz
committer: Sergey Petrunya <psergey(a)askmonty.org>
branch nick: maria-5.1-table-elim-r12
timestamp: Wed 2009-09-02 02:20:00 +0400
message:
Merge
removed:
storage/pbxt/src/streaming_xt.cc streaming_xt.cc-20090326121724-x683v32twzr3fi0y-57
storage/pbxt/src/streaming_xt.h streaming_xt.h-20090326121724-x683v32twzr3fi0y-58
added:
mysql-test/suite/pbxt/t/lowercase_table_grant-master.opt lowercase_table_gran-20090828130852-3duj73io0g345hxj-1
mysql-test/suite/pbxt/t/lowercase_table_qcache-master.opt lowercase_table_qcac-20090828130852-3duj73io0g345hxj-2
mysql-test/suite/pbxt/t/lowercase_view-master.opt lowercase_viewmaster-20090828130852-3duj73io0g345hxj-3
mysql-test/suite/pbxt/t/udf-master.opt udfmaster.opt-20090828130852-3duj73io0g345hxj-4
storage/pbxt/src/pbms_enabled.cc pbms_enabled.cc-20090818074502-tybcb62hp1kdrk3l-1
storage/pbxt/src/pbms_enabled.h pbms_enabled.h-20090818074502-tybcb62hp1kdrk3l-2
modified:
BUILD/Makefile.am sp1f-makefile.am-20020102192940-dza66ux2yxyklupzjz4q3km3hvye5rnj
libmysql/CMakeLists.txt sp1f-cmakelists.txt-20060831175237-3bbprkzqdl3gopcnlt3evmaikau67bcq
mysql-test/suite/pbxt/r/alter_table.result alter_table.result-20090402100035-4ilk9i91sh65vjcb-5
mysql-test/suite/pbxt/r/analyze.result analyze.result-20090402100035-4ilk9i91sh65vjcb-7
mysql-test/suite/pbxt/r/auto_increment.result auto_increment.resul-20090402100035-4ilk9i91sh65vjcb-9
mysql-test/suite/pbxt/r/delete.result delete.result-20090402100035-4ilk9i91sh65vjcb-31
mysql-test/suite/pbxt/r/distinct.result distinct.result-20090402100035-4ilk9i91sh65vjcb-34
mysql-test/suite/pbxt/r/func_group.result func_group.result-20090402100035-4ilk9i91sh65vjcb-50
mysql-test/suite/pbxt/r/func_math.result func_math.result-20090402100035-4ilk9i91sh65vjcb-55
mysql-test/suite/pbxt/r/func_str.result func_str.result-20090402100035-4ilk9i91sh65vjcb-61
mysql-test/suite/pbxt/r/grant.result grant.result-20090402100035-4ilk9i91sh65vjcb-65
mysql-test/suite/pbxt/r/group_min_max.result group_min_max.result-20090402100035-4ilk9i91sh65vjcb-69
mysql-test/suite/pbxt/r/join.result join.result-20090402100035-4ilk9i91sh65vjcb-79
mysql-test/suite/pbxt/r/join_nested.result join_nested.result-20090402100035-4ilk9i91sh65vjcb-81
mysql-test/suite/pbxt/r/key.result key.result-20090402100035-4ilk9i91sh65vjcb-83
mysql-test/suite/pbxt/r/key_cache.result key_cache.result-20090402100035-4ilk9i91sh65vjcb-84
mysql-test/suite/pbxt/r/key_diff.result key_diff.result-20090402100035-4ilk9i91sh65vjcb-85
mysql-test/suite/pbxt/r/lowercase_view.result lowercase_view.resul-20090402100035-4ilk9i91sh65vjcb-96
mysql-test/suite/pbxt/r/mysqlshow.result mysqlshow.result-20090402100035-4ilk9i91sh65vjcb-101
mysql-test/suite/pbxt/r/null.result null.result-20090402100035-4ilk9i91sh65vjcb-104
mysql-test/suite/pbxt/r/null_key.result null_key.result-20090402100035-4ilk9i91sh65vjcb-105
mysql-test/suite/pbxt/r/partition_pruning.result partition_pruning.re-20090402100035-4ilk9i91sh65vjcb-117
mysql-test/suite/pbxt/r/pbxt_bugs.result pbxt_bugs.result-20090402100035-4ilk9i91sh65vjcb-120
mysql-test/suite/pbxt/r/pbxt_ref_int.result pbxt_ref_int.result-20090402100035-4ilk9i91sh65vjcb-123
mysql-test/suite/pbxt/r/preload.result preload.result-20090402100035-4ilk9i91sh65vjcb-127
mysql-test/suite/pbxt/r/ps_1general.result ps_1general.result-20090402100035-4ilk9i91sh65vjcb-130
mysql-test/suite/pbxt/r/range.result range.result-20090402100035-4ilk9i91sh65vjcb-132
mysql-test/suite/pbxt/r/schema.result schema.result-20090402100035-4ilk9i91sh65vjcb-138
mysql-test/suite/pbxt/r/select.result select.result-20090402100035-4ilk9i91sh65vjcb-139
mysql-test/suite/pbxt/r/select_safe.result select_safe.result-20090402100035-4ilk9i91sh65vjcb-141
mysql-test/suite/pbxt/r/subselect.result subselect.result-20090402100035-4ilk9i91sh65vjcb-146
mysql-test/suite/pbxt/r/type_enum.result type_enum.result-20090402100035-4ilk9i91sh65vjcb-155
mysql-test/suite/pbxt/r/type_ranges.result type_ranges.result-20090402100035-4ilk9i91sh65vjcb-159
mysql-test/suite/pbxt/r/type_timestamp.result type_timestamp.resul-20090402100035-4ilk9i91sh65vjcb-162
mysql-test/suite/pbxt/r/union.result union.result-20090402100035-4ilk9i91sh65vjcb-166
mysql-test/suite/pbxt/r/view_grant.result view_grant.result-20090402100035-4ilk9i91sh65vjcb-169
mysql-test/suite/pbxt/t/auto_increment.test auto_increment.test-20090402100035-4ilk9i91sh65vjcb-176
mysql-test/suite/pbxt/t/delete.test delete.test-20090402100035-4ilk9i91sh65vjcb-198
mysql-test/suite/pbxt/t/join_nested.test join_nested.test-20090402100035-4ilk9i91sh65vjcb-248
mysql-test/suite/pbxt/t/null.test null.test-20090402100035-4ilk9i91sh65vjcb-271
mysql-test/suite/pbxt/t/pbxt_bugs.test pbxt_bugs.test-20090402100035-4ilk9i91sh65vjcb-287
mysql-test/suite/pbxt/t/rename.test rename.test-20090402100035-4ilk9i91sh65vjcb-301
mysql-test/suite/pbxt/t/schema.test schema.test-20090402100035-4ilk9i91sh65vjcb-305
mysql-test/suite/pbxt/t/type_enum.test type_enum.test-20090402100035-4ilk9i91sh65vjcb-322
mysql-test/suite/pbxt/t/union.test union.test-20090402100035-4ilk9i91sh65vjcb-333
sql/CMakeLists.txt sp1f-cmakelists.txt-20060831175237-esoeu5kpdtwjvehkghwy6fzbleniq2wy
storage/pbxt/ChangeLog changelog-20090326121724-x683v32twzr3fi0y-3
storage/pbxt/src/Makefile.am makefile.am-20090326121724-x683v32twzr3fi0y-13
storage/pbxt/src/cache_xt.cc cache_xt.cc-20090326121724-x683v32twzr3fi0y-16
storage/pbxt/src/cache_xt.h cache_xt.h-20090326121724-x683v32twzr3fi0y-17
storage/pbxt/src/ccutils_xt.cc ccutils_xt.cc-20090326121724-x683v32twzr3fi0y-18
storage/pbxt/src/database_xt.cc database_xt.cc-20090326121724-x683v32twzr3fi0y-20
storage/pbxt/src/datadic_xt.cc datadic_xt.cc-20090326121724-x683v32twzr3fi0y-22
storage/pbxt/src/datadic_xt.h datadic_xt.h-20090326121724-x683v32twzr3fi0y-23
storage/pbxt/src/datalog_xt.cc datalog_xt.cc-20090326121724-x683v32twzr3fi0y-24
storage/pbxt/src/datalog_xt.h datalog_xt.h-20090326121724-x683v32twzr3fi0y-25
storage/pbxt/src/discover_xt.cc discover_xt.cc-20090326121724-x683v32twzr3fi0y-26
storage/pbxt/src/filesys_xt.cc filesys_xt.cc-20090326121724-x683v32twzr3fi0y-28
storage/pbxt/src/filesys_xt.h filesys_xt.h-20090326121724-x683v32twzr3fi0y-29
storage/pbxt/src/ha_pbxt.cc ha_pbxt.cc-20090326121724-x683v32twzr3fi0y-30
storage/pbxt/src/ha_pbxt.h ha_pbxt.h-20090326121724-x683v32twzr3fi0y-31
storage/pbxt/src/ha_xtsys.cc ha_xtsys.cc-20090326121724-x683v32twzr3fi0y-32
storage/pbxt/src/ha_xtsys.h ha_xtsys.h-20090326121724-x683v32twzr3fi0y-33
storage/pbxt/src/hashtab_xt.cc hashtab_xt.cc-20090326121724-x683v32twzr3fi0y-34
storage/pbxt/src/heap_xt.cc heap_xt.cc-20090326121724-x683v32twzr3fi0y-36
storage/pbxt/src/heap_xt.h heap_xt.h-20090326121724-x683v32twzr3fi0y-37
storage/pbxt/src/index_xt.cc index_xt.cc-20090326121724-x683v32twzr3fi0y-38
storage/pbxt/src/index_xt.h index_xt.h-20090326121724-x683v32twzr3fi0y-39
storage/pbxt/src/lock_xt.cc lock_xt.cc-20090326121724-x683v32twzr3fi0y-42
storage/pbxt/src/lock_xt.h lock_xt.h-20090326121724-x683v32twzr3fi0y-43
storage/pbxt/src/locklist_xt.cc locklist_xt.cc-20090326121724-x683v32twzr3fi0y-44
storage/pbxt/src/locklist_xt.h locklist_xt.h-20090326121724-x683v32twzr3fi0y-45
storage/pbxt/src/memory_xt.cc memory_xt.cc-20090326121724-x683v32twzr3fi0y-46
storage/pbxt/src/memory_xt.h memory_xt.h-20090326121724-x683v32twzr3fi0y-47
storage/pbxt/src/myxt_xt.cc myxt_xt.cc-20090326121724-x683v32twzr3fi0y-48
storage/pbxt/src/myxt_xt.h myxt_xt.h-20090326121724-x683v32twzr3fi0y-49
storage/pbxt/src/pbms.h pbms.h-20090326121724-x683v32twzr3fi0y-50
storage/pbxt/src/pthread_xt.cc pthread_xt.cc-20090326121724-x683v32twzr3fi0y-51
storage/pbxt/src/restart_xt.cc restart_xt.cc-20090326121724-x683v32twzr3fi0y-53
storage/pbxt/src/restart_xt.h restart_xt.h-20090326121724-x683v32twzr3fi0y-54
storage/pbxt/src/sortedlist_xt.cc sortedlist_xt.cc-20090326121724-x683v32twzr3fi0y-55
storage/pbxt/src/strutil_xt.cc strutil_xt.cc-20090326121724-x683v32twzr3fi0y-59
storage/pbxt/src/systab_xt.cc systab_xt.cc-20090326121724-x683v32twzr3fi0y-61
storage/pbxt/src/systab_xt.h systab_xt.h-20090326121724-x683v32twzr3fi0y-62
storage/pbxt/src/tabcache_xt.cc tabcache_xt.cc-20090326121724-x683v32twzr3fi0y-63
storage/pbxt/src/tabcache_xt.h tabcache_xt.h-20090326121724-x683v32twzr3fi0y-64
storage/pbxt/src/table_xt.cc table_xt.cc-20090326121724-x683v32twzr3fi0y-65
storage/pbxt/src/table_xt.h table_xt.h-20090326121724-x683v32twzr3fi0y-66
storage/pbxt/src/thread_xt.cc thread_xt.cc-20090326121724-x683v32twzr3fi0y-67
storage/pbxt/src/thread_xt.h thread_xt.h-20090326121724-x683v32twzr3fi0y-68
storage/pbxt/src/trace_xt.cc trace_xt.cc-20090326121724-x683v32twzr3fi0y-69
storage/pbxt/src/trace_xt.h trace_xt.h-20090326121724-x683v32twzr3fi0y-70
storage/pbxt/src/util_xt.cc util_xt.cc-20090326121724-x683v32twzr3fi0y-71
storage/pbxt/src/xaction_xt.cc xaction_xt.cc-20090326121724-x683v32twzr3fi0y-74
storage/pbxt/src/xaction_xt.h xaction_xt.h-20090326121724-x683v32twzr3fi0y-75
storage/pbxt/src/xactlog_xt.cc xactlog_xt.cc-20090326121724-x683v32twzr3fi0y-76
storage/pbxt/src/xactlog_xt.h xactlog_xt.h-20090326121724-x683v32twzr3fi0y-77
storage/pbxt/src/xt_config.h xt_config.h-20090326121724-x683v32twzr3fi0y-78
storage/pbxt/src/xt_defs.h xt_defs.h-20090326121724-x683v32twzr3fi0y-79
storage/xtradb/Makefile.am makefile.am-20081201061010-zymrrwrczns2vrex-4
storage/xtradb/btr/btr0cur.c btr0cur.c-20081201061010-zymrrwrczns2vrex-45
storage/xtradb/buf/buf0buddy.c buf0buddy.c-20081201061010-zymrrwrczns2vrex-48
storage/xtradb/buf/buf0flu.c buf0flu.c-20081201061010-zymrrwrczns2vrex-50
storage/xtradb/fil/fil0fil.c fil0fil.c-20081201061010-zymrrwrczns2vrex-63
storage/xtradb/handler/i_s.cc i_s.cc-20081201061010-zymrrwrczns2vrex-73
storage/xtradb/srv/srv0srv.c srv0srv.c-20081201061010-zymrrwrczns2vrex-347
strings/CMakeLists.txt sp1f-cmakelists.txt-20060831175237-zpsnblto443qz4bb5okg23rsacehr4d2
unittest/mysys/waiting_threads-t.c waiting_threadst.c-20080623170213-r8baqa2porlpxzq1-5
------------------------------------------------------------
revno: 2719.3.29
revision-id: psergey(a)askmonty.org-20090826210140-y2pba3ucdwnvr956
parent: psergey(a)askmonty.org-20090825150255-46i5gvl2ctd0jcm2
committer: Sergey Petrunya <psergey(a)askmonty.org>
branch nick: maria-5.1-table-elim-r11-gcov
timestamp: Thu 2009-08-27 01:01:40 +0400
message:
MWL#17: Table elimination:
- Fix a trivial problem when OR-merging two multi-equalities
- Amend testsuite to provide full gcov coverage
modified:
mysql-test/r/table_elim.result table_elim.result-20090603125022-nge13y0ohk1g2tt2-1
mysql-test/t/table_elim.test table_elim.test-20090603125018-ka3vcfrm07bsldz8-1
sql/opt_table_elimination.cc opt_table_eliminatio-20090625095316-7ka9w3zr7n5114iv-1
------------------------------------------------------------
revno: 2719.3.28
revision-id: psergey(a)askmonty.org-20090825150255-46i5gvl2ctd0jcm2
parent: psergey(a)askmonty.org-20090825145915-rxwmfczgqe69r5ju
committer: Sergey Petrunya <psergey(a)askmonty.org>
branch nick: maria-5.1-table-elim-r11-gcov
timestamp: Tue 2009-08-25 18:02:55 +0300
message:
Gcov support improvements
- add process-gcov-annotations.pl script that processes .gcov files
according to purecov annotations in source code
- add --gcov-src-dir=subdir option to mysql-test-run so that one can
do gcov processing only for source files in a certain directory.
added:
mysql-test/lib/process-purecov-annotations.pl processpurecovannota-20090825145959-3tgucpo20ms8b5yb-1
modified:
mysql-test/lib/mtr_gcov.pl sp1f-mtr_gcov.pl-20041230152646-g7ukx2aojk6vlfbrurijutdkqshwljue
mysql-test/mysql-test-run.pl sp1f-mysqltestrun.pl-20041230152716-xjnn5ndv4rr4by6ijmj5a4ysubxc7qh3
------------------------------------------------------------
revno: 2719.3.27
revision-id: psergey(a)askmonty.org-20090825145915-rxwmfczgqe69r5ju
parent: psergey(a)askmonty.org-20090825103822-ldmjinfdh7ymc35r
committer: Sergey Petrunya <psergey(a)askmonty.org>
branch nick: maria-5.1-table-elim-r11-gcov
timestamp: Tue 2009-08-25 17:59:15 +0300
message:
MWL#17: Table elimination
- Mark gcov deadcode
modified:
sql/opt_table_elimination.cc opt_table_eliminatio-20090625095316-7ka9w3zr7n5114iv-1
------------------------------------------------------------
revno: 2719.3.26
revision-id: psergey(a)askmonty.org-20090825103822-ldmjinfdh7ymc35r
parent: psergey(a)askmonty.org-20090825092750-mnmatimn7cxm4rl8
committer: Sergey Petrunya <psergey(a)askmonty.org>
branch nick: maria-5.1-table-elim-r11-gcov
timestamp: Tue 2009-08-25 13:38:22 +0300
message:
MWL#17: Table elimination
- More test coverage
- Remove unused code
modified:
mysql-test/r/table_elim.result table_elim.result-20090603125022-nge13y0ohk1g2tt2-1
mysql-test/t/table_elim.test table_elim.test-20090603125018-ka3vcfrm07bsldz8-1
sql/opt_table_elimination.cc opt_table_eliminatio-20090625095316-7ka9w3zr7n5114iv-1
------------------------------------------------------------
revno: 2719.3.25
revision-id: psergey(a)askmonty.org-20090825092750-mnmatimn7cxm4rl8
parent: psergey(a)askmonty.org-20090824191048-xev0gm1miw6ezz2r
committer: Sergey Petrunya <psergey(a)askmonty.org>
branch nick: maria-5.1-table-elim-r11-gcov
timestamp: Tue 2009-08-25 12:27:50 +0300
message:
MWL#17: Table elimination
- Add more testcases.
- Fix trivial compile failure
- Remove handling of "column IN (one_element)". This is converted to equality
elsewhere
modified:
mysql-test/r/table_elim.result table_elim.result-20090603125022-nge13y0ohk1g2tt2-1
mysql-test/t/table_elim.test table_elim.test-20090603125018-ka3vcfrm07bsldz8-1
sql/mysqld.cc sp1f-mysqld.cc-19700101030959-zpswdvekpvixxzxf7gdtofzel7nywtfj
sql/opt_table_elimination.cc opt_table_eliminatio-20090625095316-7ka9w3zr7n5114iv-1
------------------------------------------------------------
revno: 2719.3.24
revision-id: psergey(a)askmonty.org-20090824191048-xev0gm1miw6ezz2r
parent: psergey(a)askmonty.org-20090824081242-32o90vv8awk27sut
committer: Sergey Petrunya <psergey(a)askmonty.org>
branch nick: maria-5.1-table-elim-r11
timestamp: Mon 2009-08-24 22:10:48 +0300
message:
MWL#17: Table elimination: last fixes
- Add an @@optimizer_switch flag for table_elimination for debug build
- Better comments
modified:
mysql-test/t/index_merge_myisam.test sp1f-index_merge_myisam.t-20060816114353-3p3p5fylcfj754j3d3td6zs6shnc5nu3
sql/mysql_priv.h sp1f-mysql_priv.h-19700101030959-4fl65tqpop5zfgxaxkqotu2fa2ree5ci
sql/mysqld.cc sp1f-mysqld.cc-19700101030959-zpswdvekpvixxzxf7gdtofzel7nywtfj
sql/opt_table_elimination.cc opt_table_eliminatio-20090625095316-7ka9w3zr7n5114iv-1
------------------------------------------------------------
revno: 2719.3.23
revision-id: psergey(a)askmonty.org-20090824081242-32o90vv8awk27sut
parent: psergey(a)askmonty.org-20090821133606-2t7hib7wuctqller
committer: Sergey Petrunya <psergey(a)askmonty.org>
branch nick: maria-5.1-table-elim-r11
timestamp: Mon 2009-08-24 10:12:42 +0200
message:
MWL#17: Table elimination
- Correctly handle the case where we have multi-table DELETE and a table
that we're deleting from looks like it could be eliminated.
modified:
mysql-test/r/table_elim.result table_elim.result-20090603125022-nge13y0ohk1g2tt2-1
mysql-test/t/table_elim.test table_elim.test-20090603125018-ka3vcfrm07bsldz8-1
sql/opt_table_elimination.cc opt_table_eliminatio-20090625095316-7ka9w3zr7n5114iv-1
------------------------------------------------------------
revno: 2719.3.22
revision-id: psergey(a)askmonty.org-20090821133606-2t7hib7wuctqller
parent: psergey(a)askmonty.org-20090821074822-6x2gv01r9ltt2bhc
committer: Sergey Petrunya <psergey(a)askmonty.org>
branch nick: maria-5.1-table-elim-r11
timestamp: Fri 2009-08-21 15:36:06 +0200
message:
MWL#17: Table elimination
- Remove a piece of code that's not needed anymore.
modified:
sql/opt_table_elimination.cc opt_table_eliminatio-20090625095316-7ka9w3zr7n5114iv-1
------------------------------------------------------------
revno: 2719.3.21
revision-id: psergey(a)askmonty.org-20090821074822-6x2gv01r9ltt2bhc
parent: psergey(a)askmonty.org-20090820155102-5zvm1m6idmie9mmv
committer: Sergey Petrunya <psergey(a)askmonty.org>
branch nick: maria-5.1-table-elim-r11
timestamp: Fri 2009-08-21 09:48:22 +0200
message:
MWL#17: Table elimination
- More testcases
- Set correct dependencies for non-bound multi-equalities.
modified:
mysql-test/r/table_elim.result table_elim.result-20090603125022-nge13y0ohk1g2tt2-1
mysql-test/t/table_elim.test table_elim.test-20090603125018-ka3vcfrm07bsldz8-1
sql/opt_table_elimination.cc opt_table_eliminatio-20090625095316-7ka9w3zr7n5114iv-1
------------------------------------------------------------
revno: 2719.3.20
revision-id: psergey(a)askmonty.org-20090820155102-5zvm1m6idmie9mmv
parent: psergey(a)askmonty.org-20090819120659-0ndd6mqxeetgee2n
committer: Sergey Petrunya <psergey(a)askmonty.org>
branch nick: maria-5.1-table-elim-r11
timestamp: Thu 2009-08-20 17:51:02 +0200
message:
MWL#17: Table elimination
- Multiple-equality handling
modified:
sql/item_cmpfunc.h sp1f-item_cmpfunc.h-19700101030959-pcvbjplo4e4ng7ibynfhcd6pjyem57gr
sql/opt_table_elimination.cc opt_table_eliminatio-20090625095316-7ka9w3zr7n5114iv-1
------------------------------------------------------------
revno: 2719.3.19
revision-id: psergey(a)askmonty.org-20090819120659-0ndd6mqxeetgee2n
parent: psergey(a)askmonty.org-20090819101838-55ys0h923olqz4q9
committer: Sergey Petrunya <psergey(a)askmonty.org>
branch nick: maria-5.1-table-elim-r11
timestamp: Wed 2009-08-19 15:06:59 +0300
message:
Variable/function renames
modified:
sql/opt_table_elimination.cc opt_table_eliminatio-20090625095316-7ka9w3zr7n5114iv-1
------------------------------------------------------------
revno: 2719.3.18
revision-id: psergey(a)askmonty.org-20090819101838-55ys0h923olqz4q9
parent: psergey(a)askmonty.org-20090818221948-f2mg0szfqrve06f9
committer: Sergey Petrunya <psergey(a)askmonty.org>
branch nick: maria-5.1-table-elim-r11
timestamp: Wed 2009-08-19 13:18:38 +0300
message:
MWL#17: Table elimination
- Use Table_elimination only for functional dependency checking for
individual objects and rename it to Func_dep_analyzer
modified:
sql/opt_table_elimination.cc opt_table_eliminatio-20090625095316-7ka9w3zr7n5114iv-1
------------------------------------------------------------
revno: 2719.3.17
revision-id: psergey(a)askmonty.org-20090818221948-f2mg0szfqrve06f9
parent: psergey(a)askmonty.org-20090818211810-48v6pb8dt0sqkysi
committer: Sergey Petrunya <psergey(a)askmonty.org>
branch nick: maria-5.1-table-elim-r11
timestamp: Wed 2009-08-19 01:19:48 +0300
message:
More code cleanups
modified:
sql/opt_table_elimination.cc opt_table_eliminatio-20090625095316-7ka9w3zr7n5114iv-1
------------------------------------------------------------
revno: 2719.3.16
revision-id: psergey(a)askmonty.org-20090818211810-48v6pb8dt0sqkysi
parent: psergey(a)askmonty.org-20090818150151-uef38y50m8m1mgnu
committer: Sergey Petrunya <psergey(a)askmonty.org>
branch nick: maria-5.1-table-elim-r11
timestamp: Wed 2009-08-19 00:18:10 +0300
message:
MWL#17: Table elimination
- Better comments
- Switch from "type" enum and switch to virtual functions for member funcs.
modified:
sql/opt_table_elimination.cc opt_table_eliminatio-20090625095316-7ka9w3zr7n5114iv-1
------------------------------------------------------------
revno: 2719.3.15
revision-id: psergey(a)askmonty.org-20090818150151-uef38y50m8m1mgnu
parent: psergey(a)askmonty.org-20090818130358-akd84j4m2i91lw5a
committer: Sergey Petrunya <psergey(a)askmonty.org>
branch nick: maria-5.1-table-elim-r11
timestamp: Tue 2009-08-18 18:01:51 +0300
message:
MWL#17: Table elimination
- Code cleanup
modified:
sql/opt_table_elimination.cc opt_table_eliminatio-20090625095316-7ka9w3zr7n5114iv-1
------------------------------------------------------------
revno: 2719.3.14
revision-id: psergey(a)askmonty.org-20090818130358-akd84j4m2i91lw5a
parent: psergey(a)askmonty.org-20090817160724-fmmrmwp8zorzn82q
committer: Sergey Petrunya <psergey(a)askmonty.org>
branch nick: maria-5.1-table-elim-r11
timestamp: Tue 2009-08-18 16:03:58 +0300
message:
MWL#17: Table elimination
- Switch from trying to eliminate all tables at once (which didn't work)
to the original approach of bottom-up elimination.
modified:
sql/opt_table_elimination.cc opt_table_eliminatio-20090625095316-7ka9w3zr7n5114iv-1
------------------------------------------------------------
revno: 2719.3.13
revision-id: psergey(a)askmonty.org-20090817160724-fmmrmwp8zorzn82q
parent: psergey(a)askmonty.org-20090817150229-jy461nqbmk8nzhha
committer: Sergey Petrunya <psergey(a)askmonty.org>
branch nick: maria-5.1-table-elim-r10
timestamp: Mon 2009-08-17 19:07:24 +0300
message:
MWL#17: Table elimination
- More testcases
modified:
mysql-test/r/table_elim.result table_elim.result-20090603125022-nge13y0ohk1g2tt2-1
mysql-test/t/table_elim.test table_elim.test-20090603125018-ka3vcfrm07bsldz8-1
------------------------------------------------------------
revno: 2719.3.12
revision-id: psergey(a)askmonty.org-20090817150229-jy461nqbmk8nzhha
parent: psergey(a)askmonty.org-20090816180159-z3lfkjpjfsm7zbp0
committer: Sergey Petrunya <psergey(a)askmonty.org>
branch nick: maria-5.1-table-elim-r10
timestamp: Mon 2009-08-17 18:02:29 +0300
message:
MWL#17: Table elimination
- More dbug printouts
- More testcases
modified:
mysql-test/r/table_elim.result table_elim.result-20090603125022-nge13y0ohk1g2tt2-1
mysql-test/t/table_elim.test table_elim.test-20090603125018-ka3vcfrm07bsldz8-1
sql/opt_table_elimination.cc opt_table_eliminatio-20090625095316-7ka9w3zr7n5114iv-1
------------------------------------------------------------
revno: 2719.3.11
revision-id: psergey(a)askmonty.org-20090816180159-z3lfkjpjfsm7zbp0
parent: psergey(a)askmonty.org-20090816143547-16hyle50tbt31xen
committer: Sergey Petrunya <psergey(a)askmonty.org>
branch nick: maria-5.1-table-elim-r10
timestamp: Sun 2009-08-16 21:01:59 +0300
message:
MWL#17: Table elimination
- More comments
modified:
sql/opt_table_elimination.cc opt_table_eliminatio-20090625095316-7ka9w3zr7n5114iv-1
------------------------------------------------------------
revno: 2719.3.10
revision-id: psergey(a)askmonty.org-20090816143547-16hyle50tbt31xen
parent: psergey(a)askmonty.org-20090816124331-gd53m2alc0jb3ws4
committer: Sergey Petrunya <psergey(a)askmonty.org>
branch nick: maria-5.1-table-elim-r10
timestamp: Sun 2009-08-16 17:35:47 +0300
message:
MWL#17: Table elimination
- Better comments
- More OOM checks
modified:
sql/opt_table_elimination.cc opt_table_eliminatio-20090625095316-7ka9w3zr7n5114iv-1
sql/sql_select.cc sp1f-sql_select.cc-19700101030959-egb7whpkh76zzvikycs5nsnuviu4fdlb
------------------------------------------------------------
revno: 2719.3.9
revision-id: psergey(a)askmonty.org-20090816124331-gd53m2alc0jb3ws4
parent: psergey(a)askmonty.org-20090816121708-v42h3mehvoy4c7yu
committer: Sergey Petrunya <psergey(a)askmonty.org>
branch nick: maria-5.1-table-elim-r10
timestamp: Sun 2009-08-16 15:43:31 +0300
message:
- Better comments
- Add OOM error checking
modified:
sql/opt_table_elimination.cc opt_table_eliminatio-20090625095316-7ka9w3zr7n5114iv-1
------------------------------------------------------------
revno: 2719.3.8
revision-id: psergey(a)askmonty.org-20090816121708-v42h3mehvoy4c7yu
parent: psergey(a)askmonty.org-20090816091549-da84w3nlmx8prmvm
committer: Sergey Petrunya <psergey(a)askmonty.org>
branch nick: maria-5.1-table-elim-r10
timestamp: Sun 2009-08-16 15:17:08 +0300
message:
MWL#17: Table elimination
- Address review feedback: change expression analyzer used to be a copy-paste
of ref analyzer. ref analyzer, besides doing ref analysis, also collected
info about keys which had sargable predicates. We didn't need that part here.
modified:
sql/opt_table_elimination.cc opt_table_eliminatio-20090625095316-7ka9w3zr7n5114iv-1
------------------------------------------------------------
revno: 2719.3.7
revision-id: psergey(a)askmonty.org-20090816091549-da84w3nlmx8prmvm
parent: psergey(a)askmonty.org-20090816072524-w9fu2hy23pjwlr8z
committer: Sergey Petrunya <psergey(a)askmonty.org>
branch nick: maria-5.1-table-elim-r10
timestamp: Sun 2009-08-16 12:15:49 +0300
message:
MWL#17: Table elimination
- code cleanup
modified:
sql/opt_table_elimination.cc opt_table_eliminatio-20090625095316-7ka9w3zr7n5114iv-1
------------------------------------------------------------
revno: 2719.3.6
revision-id: psergey(a)askmonty.org-20090816072524-w9fu2hy23pjwlr8z
parent: psergey(a)askmonty.org-20090815153912-q47vfp1j22ilmup2
committer: Sergey Petrunya <psergey(a)askmonty.org>
branch nick: maria-5.1-table-elim-r10-vg
timestamp: Sun 2009-08-16 10:25:24 +0300
message:
MWL#17: Table elimination
- Fix trivial valgrind failures that shown up after review
modified:
sql/opt_table_elimination.cc opt_table_eliminatio-20090625095316-7ka9w3zr7n5114iv-1
------------------------------------------------------------
revno: 2719.3.5
revision-id: psergey(a)askmonty.org-20090815153912-q47vfp1j22ilmup2
parent: psergey(a)askmonty.org-20090815121442-706m9ujn8km4u4y1
committer: Sergey Petrunya <psergey(a)askmonty.org>
branch nick: maria-5.1-table-elim-r10
timestamp: Sat 2009-08-15 18:39:12 +0300
message:
MWL#17: Table elimination
- Review feedback, more variable renames
modified:
sql/opt_table_elimination.cc opt_table_eliminatio-20090625095316-7ka9w3zr7n5114iv-1
------------------------------------------------------------
revno: 2719.3.4
revision-id: psergey(a)askmonty.org-20090815121442-706m9ujn8km4u4y1
parent: psergey(a)askmonty.org-20090815102953-7s0jb470ibwq58qz
committer: Sergey Petrunya <psergey(a)askmonty.org>
branch nick: maria-5.1-table-elim-r10
timestamp: Sat 2009-08-15 16:14:42 +0400
message:
Fix trivial typo
modified:
sql/opt_table_elimination.cc opt_table_eliminatio-20090625095316-7ka9w3zr7n5114iv-1
------------------------------------------------------------
revno: 2719.3.3
revision-id: psergey(a)askmonty.org-20090815102953-7s0jb470ibwq58qz
parent: psergey(a)askmonty.org-20090815060803-0yvp5mmgo87emykp
committer: Sergey Petrunya <psergey(a)askmonty.org>
branch nick: maria-5.1-table-elim-r10
timestamp: Sat 2009-08-15 14:29:53 +0400
message:
MWL#17: Table elimination
Continue with addressing review feedback part two:
- rename enum members
- add checking for out of memory errors on allocation
modified:
sql/opt_table_elimination.cc opt_table_eliminatio-20090625095316-7ka9w3zr7n5114iv-1
------------------------------------------------------------
revno: 2719.3.2
revision-id: psergey(a)askmonty.org-20090815060803-0yvp5mmgo87emykp
parent: psergey(a)askmonty.org-20090813211212-jghejwxsl6adtopl
committer: Sergey Petrunya <psergey(a)askmonty.org>
branch nick: maria-5.1-table-elim-r10
timestamp: Sat 2009-08-15 10:08:03 +0400
message:
MWL#17: Address 2nd post-review feedback
- Switch from uniform graph to bipartite graph with two kinds of nodes:
"values" (tables and fields) and "modules" (t.col=func(...) equalities,
multi-equalities, unique keys, inner sides of outer joins).
- Rename functions, classes, etc.
modified:
sql/opt_table_elimination.cc opt_table_eliminatio-20090625095316-7ka9w3zr7n5114iv-1
------------------------------------------------------------
revno: 2719.3.1
revision-id: psergey(a)askmonty.org-20090813211212-jghejwxsl6adtopl
parent: knielsen(a)knielsen-hq.org-20090805072137-wg97dcem1cxnzt3p
parent: psergey(a)askmonty.org-20090813204452-o8whzlbio19cgkyv
committer: Sergey Petrunya <psergey(a)askmonty.org>
branch nick: maria-5.1-table-elim-r10
timestamp: Fri 2009-08-14 01:12:12 +0400
message:
Merge maria-5.1 -> maria-5.1-table-elimination
added:
mysql-test/r/table_elim.result table_elim.result-20090603125022-nge13y0ohk1g2tt2-1
mysql-test/t/table_elim.test table_elim.test-20090603125018-ka3vcfrm07bsldz8-1
sql-bench/test-table-elimination.sh testtableelimination-20090616194329-gai92muve732qknl-1
sql/opt_table_elimination.cc opt_table_eliminatio-20090625095316-7ka9w3zr7n5114iv-1
modified:
.bzrignore sp1f-ignore-20001018235455-q4gxfbritt5f42nwix354ufpsvrf5ebj
libmysqld/Makefile.am sp1f-makefile.am-20010411110351-26htpk3ynkyh7pkfvnshztqrxx3few4g
mysql-test/r/mysql-bug41486.result mysqlbug41486.result-20090323135900-fobg67a3yzg0b7e8-1
mysql-test/r/ps_11bugs.result sp1f-ps_11bugs.result-20041012140047-4pktjlfeq27q6bxqfdsbcszr5nybv6zz
mysql-test/r/select.result sp1f-select.result-20010103001548-znkoalxem6wchsbxizfosjhpfmhfyxuk
mysql-test/r/subselect.result sp1f-subselect.result-20020512204640-zgegcsgavnfd7t7eyrf7ibuqomsw7uzo
mysql-test/r/union.result sp1f-unions_one.result-20010725122836-ofxtwraxeohz7whhrmfdz57sl4a5prmp
mysql-test/t/mysql-bug41486.test mysqlbug41486.test-20090323135900-fobg67a3yzg0b7e8-2
mysql-test/valgrind.supp sp1f-valgrind.supp-20050406142216-yg7xhezklqhgqlc3inx36vbghodhbovy
sql/CMakeLists.txt sp1f-cmakelists.txt-20060831175237-esoeu5kpdtwjvehkghwy6fzbleniq2wy
sql/Makefile.am sp1f-makefile.am-19700101030959-xsjdiakci3nqcdd4xl4yomwdl5eo2f3q
sql/item.cc sp1f-item.cc-19700101030959-u7hxqopwpfly4kf5ctlyk2dvrq4l3dhn
sql/item.h sp1f-item.h-19700101030959-rrkb43htudd62batmoteashkebcwykpa
sql/item_subselect.cc sp1f-item_subselect.cc-20020512204640-qep43aqhsfrwkqmrobni6czc3fqj36oo
sql/item_subselect.h sp1f-item_subselect.h-20020512204640-qdg77wil56cxyhtc2bjjdrppxq3wqgh3
sql/item_sum.cc sp1f-item_sum.cc-19700101030959-4woo23bi3am2t2zvsddqbpxk7xbttdkm
sql/item_sum.h sp1f-item_sum.h-19700101030959-ecgohlekwm355wxl5fv4zzq3alalbwyl
sql/sql_bitmap.h sp1f-sql_bitmap.h-20031024204444-g4eiad7vopzqxe2trxmt3fn3xsvnomvj
sql/sql_lex.cc sp1f-sql_lex.cc-19700101030959-4pizwlu5rqkti27gcwsvxkawq6bc2kph
sql/sql_lex.h sp1f-sql_lex.h-19700101030959-sgldb2sooc7twtw5q7pgjx7qzqiaa3sn
sql/sql_select.cc sp1f-sql_select.cc-19700101030959-egb7whpkh76zzvikycs5nsnuviu4fdlb
sql/sql_select.h sp1f-sql_select.h-19700101030959-oqegfxr76xlgmrzd6qlevonoibfnwzoz
sql/table.h sp1f-table.h-19700101030959-dv72bajftxj5fbdjuajquappanuv2ija
------------------------------------------------------------
revno: 2707.1.27
revision-id: psergey(a)askmonty.org-20090813204452-o8whzlbio19cgkyv
parent: psergey(a)askmonty.org-20090813191053-g1xfeieoti4bqgbc
committer: Sergey Petrunya <psergey(a)askmonty.org>
branch nick: maria-5.1-table-elim-r5
timestamp: Fri 2009-08-14 00:44:52 +0400
message:
MWL#17: Table elimination
- More function renames, added comments
modified:
sql/opt_table_elimination.cc opt_table_eliminatio-20090625095316-7ka9w3zr7n5114iv-1
------------------------------------------------------------
revno: 2707.1.26
revision-id: psergey(a)askmonty.org-20090813191053-g1xfeieoti4bqgbc
parent: psergey(a)askmonty.org-20090813093613-hy7tdlsgdy83xszq
committer: Sergey Petrunya <psergey(a)askmonty.org>
branch nick: maria-5.1-table-elim-r5
timestamp: Thu 2009-08-13 23:10:53 +0400
message:
MWL#17: Table elimination
- Better comments
modified:
sql/opt_table_elimination.cc opt_table_eliminatio-20090625095316-7ka9w3zr7n5114iv-1
sql/sql_select.cc sp1f-sql_select.cc-19700101030959-egb7whpkh76zzvikycs5nsnuviu4fdlb
------------------------------------------------------------
revno: 2707.1.25
revision-id: psergey(a)askmonty.org-20090813093613-hy7tdlsgdy83xszq
parent: psergey(a)askmonty.org-20090813092402-jlqucf6nultxlv4b
committer: Sergey Petrunya <psergey(a)askmonty.org>
branch nick: maria-5.1-table-elim-r5
timestamp: Thu 2009-08-13 13:36:13 +0400
message:
MWL#17: Table elimination
Fixes after post-review fixes:
- Don't search for tables in JOIN_TAB array. it's not initialized yet.
use select_lex->leaf_tables instead.
modified:
sql/opt_table_elimination.cc opt_table_eliminatio-20090625095316-7ka9w3zr7n5114iv-1
------------------------------------------------------------
revno: 2707.1.24
revision-id: psergey(a)askmonty.org-20090813092402-jlqucf6nultxlv4b
parent: psergey(a)askmonty.org-20090813000143-dukzk352hjywidk7
committer: Sergey Petrunya <psergey(a)askmonty.org>
branch nick: maria-5.1-table-elim-r5
timestamp: Thu 2009-08-13 13:24:02 +0400
message:
MWL#17: Table elimination
- Post-postreview changes fix: Do set NESTED_JOIN::n_tables to number of
tables left after elimination.
modified:
sql/sql_select.cc sp1f-sql_select.cc-19700101030959-egb7whpkh76zzvikycs5nsnuviu4fdlb
------------------------------------------------------------
revno: 2707.1.23
revision-id: psergey(a)askmonty.org-20090813000143-dukzk352hjywidk7
parent: psergey(a)askmonty.org-20090812234302-10es7qmf0m09ahbq
committer: Sergey Petrunya <psergey(a)askmonty.org>
branch nick: maria-5.1-table-elim-r5
timestamp: Thu 2009-08-13 04:01:43 +0400
message:
MWL#17: Table elimination
- When making inferences "field is bound" -> "key is bound", do check
that the field is part of the key
modified:
sql/opt_table_elimination.cc opt_table_eliminatio-20090625095316-7ka9w3zr7n5114iv-1
------------------------------------------------------------
revno: 2707.1.22
revision-id: psergey(a)askmonty.org-20090812234302-10es7qmf0m09ahbq
parent: psergey(a)askmonty.org-20090812223421-w4xyzj7azqgo83ps
committer: Sergey Petrunya <psergey(a)askmonty.org>
branch nick: maria-5.1-table-elim-r5
timestamp: Thu 2009-08-13 03:43:02 +0400
message:
MWL#17: Table elimination
- Continue addressing review feedback: remove "unusable KEYUSEs"
extension as it is no longer needed.
modified:
sql/item.h sp1f-item.h-19700101030959-rrkb43htudd62batmoteashkebcwykpa
sql/opt_table_elimination.cc opt_table_eliminatio-20090625095316-7ka9w3zr7n5114iv-1
sql/sql_select.cc sp1f-sql_select.cc-19700101030959-egb7whpkh76zzvikycs5nsnuviu4fdlb
sql/sql_select.h sp1f-sql_select.h-19700101030959-oqegfxr76xlgmrzd6qlevonoibfnwzoz
------------------------------------------------------------
revno: 2707.1.21
revision-id: psergey(a)askmonty.org-20090812223421-w4xyzj7azqgo83ps
parent: psergey(a)askmonty.org-20090708171038-9nyc3hcg1o7h8635
committer: Sergey Petrunya <psergey(a)askmonty.org>
branch nick: maria-5.1-table-elim-r5
timestamp: Thu 2009-08-13 02:34:21 +0400
message:
MWL#17: Table elimination
Address review feedback:
- Change from Wave-based approach (a-la const table detection) to
building and walking functional dependency graph.
- Change from piggy-backing on ref-access code and KEYUSE structures
to using our own expression analyzer.
modified:
sql/item.cc sp1f-item.cc-19700101030959-u7hxqopwpfly4kf5ctlyk2dvrq4l3dhn
sql/item.h sp1f-item.h-19700101030959-rrkb43htudd62batmoteashkebcwykpa
sql/opt_table_elimination.cc opt_table_eliminatio-20090625095316-7ka9w3zr7n5114iv-1
sql/sql_bitmap.h sp1f-sql_bitmap.h-20031024204444-g4eiad7vopzqxe2trxmt3fn3xsvnomvj
------------------------------------------------------------
revno: 2707.1.20
revision-id: psergey(a)askmonty.org-20090708171038-9nyc3hcg1o7h8635
parent: psergey(a)askmonty.org-20090630132018-8qwou8bqiq5z1qjg
committer: Sergey Petrunya <psergey(a)askmonty.org>
branch nick: maria-5.1-table-elim
timestamp: Wed 2009-07-08 21:10:38 +0400
message:
MWL#17: Table elimination
- When collecting Item_subselect::refers_to, put references to the correct
subselect entry.
modified:
sql/sql_lex.cc sp1f-sql_lex.cc-19700101030959-4pizwlu5rqkti27gcwsvxkawq6bc2kph
------------------------------------------------------------
revno: 2707.1.19
revision-id: psergey(a)askmonty.org-20090630132018-8qwou8bqiq5z1qjg
parent: psergey(a)askmonty.org-20090630131100-r6o8yqzse4yvny9l
committer: Sergey Petrunya <psergey(a)askmonty.org>
branch nick: maria-5.1-table-elim
timestamp: Tue 2009-06-30 17:20:18 +0400
message:
MWL#17: Table elimination
- More comments
- Renove old code
modified:
sql/opt_table_elimination.cc opt_table_eliminatio-20090625095316-7ka9w3zr7n5114iv-1
------------------------------------------------------------
revno: 2707.1.18
revision-id: psergey(a)askmonty.org-20090630131100-r6o8yqzse4yvny9l
parent: psergey(a)askmonty.org-20090629135115-472up9wsj0dq843i
committer: Sergey Petrunya <psergey(a)askmonty.org>
branch nick: maria-5.1-table-elim
timestamp: Tue 2009-06-30 17:11:00 +0400
message:
MWL#17: Table elimination
- Last fixes
modified:
sql/item.cc sp1f-item.cc-19700101030959-u7hxqopwpfly4kf5ctlyk2dvrq4l3dhn
sql/item.h sp1f-item.h-19700101030959-rrkb43htudd62batmoteashkebcwykpa
sql/opt_table_elimination.cc opt_table_eliminatio-20090625095316-7ka9w3zr7n5114iv-1
sql/sql_select.cc sp1f-sql_select.cc-19700101030959-egb7whpkh76zzvikycs5nsnuviu4fdlb
sql/sql_select.h sp1f-sql_select.h-19700101030959-oqegfxr76xlgmrzd6qlevonoibfnwzoz
sql/table.h sp1f-table.h-19700101030959-dv72bajftxj5fbdjuajquappanuv2ija
------------------------------------------------------------
revno: 2707.1.17
revision-id: psergey(a)askmonty.org-20090629135115-472up9wsj0dq843i
parent: psergey(a)askmonty.org-20090625200729-u11xpwwn5ebddx09
committer: Sergey Petrunya <psergey(a)askmonty.org>
branch nick: maria-5.1-table-elim
timestamp: Mon 2009-06-29 17:51:15 +0400
message:
MWL#17: Table elimination
modified:
mysql-test/r/table_elim.result table_elim.result-20090603125022-nge13y0ohk1g2tt2-1
mysql-test/t/table_elim.test table_elim.test-20090603125018-ka3vcfrm07bsldz8-1
sql/opt_table_elimination.cc opt_table_eliminatio-20090625095316-7ka9w3zr7n5114iv-1
sql/sql_select.cc sp1f-sql_select.cc-19700101030959-egb7whpkh76zzvikycs5nsnuviu4fdlb
sql/sql_select.h sp1f-sql_select.h-19700101030959-oqegfxr76xlgmrzd6qlevonoibfnwzoz
sql/table.h sp1f-table.h-19700101030959-dv72bajftxj5fbdjuajquappanuv2ija
------------------------------------------------------------
revno: 2707.1.16
revision-id: psergey(a)askmonty.org-20090625200729-u11xpwwn5ebddx09
parent: psergey(a)askmonty.org-20090625100947-mg9xwnbeyyjgzl3w
committer: Sergey Petrunia <psergey(a)askmonty.org>
branch nick: maria-5.1-table-elim-movearound
timestamp: Fri 2009-06-26 00:07:29 +0400
message:
MWL#17: Table elimination
- Better comments, variable/function renames
modified:
sql/opt_table_elimination.cc opt_table_eliminatio-20090625095316-7ka9w3zr7n5114iv-1
sql/sql_select.cc sp1f-sql_select.cc-19700101030959-egb7whpkh76zzvikycs5nsnuviu4fdlb
sql/sql_select.h sp1f-sql_select.h-19700101030959-oqegfxr76xlgmrzd6qlevonoibfnwzoz
------------------------------------------------------------
revno: 2707.1.15
revision-id: psergey(a)askmonty.org-20090625100947-mg9xwnbeyyjgzl3w
parent: psergey(a)askmonty.org-20090624224414-71xqbljy8jf4z1qs
parent: psergey(a)askmonty.org-20090625100553-j1xenbz3o5nekiu2
committer: Sergey Petrunia <psergey(a)askmonty.org>
branch nick: maria-5.1-table-elim
timestamp: Thu 2009-06-25 14:09:47 +0400
message:
Automerge
added:
sql/opt_table_elimination.cc opt_table_eliminatio-20090625095316-7ka9w3zr7n5114iv-1
modified:
.bzrignore sp1f-ignore-20001018235455-q4gxfbritt5f42nwix354ufpsvrf5ebj
libmysqld/Makefile.am sp1f-makefile.am-20010411110351-26htpk3ynkyh7pkfvnshztqrxx3few4g
sql/CMakeLists.txt sp1f-cmakelists.txt-20060831175237-esoeu5kpdtwjvehkghwy6fzbleniq2wy
sql/Makefile.am sp1f-makefile.am-19700101030959-xsjdiakci3nqcdd4xl4yomwdl5eo2f3q
sql/item.cc sp1f-item.cc-19700101030959-u7hxqopwpfly4kf5ctlyk2dvrq4l3dhn
sql/item.h sp1f-item.h-19700101030959-rrkb43htudd62batmoteashkebcwykpa
sql/item_subselect.cc sp1f-item_subselect.cc-20020512204640-qep43aqhsfrwkqmrobni6czc3fqj36oo
sql/item_sum.h sp1f-item_sum.h-19700101030959-ecgohlekwm355wxl5fv4zzq3alalbwyl
sql/sql_select.cc sp1f-sql_select.cc-19700101030959-egb7whpkh76zzvikycs5nsnuviu4fdlb
sql/sql_select.h sp1f-sql_select.h-19700101030959-oqegfxr76xlgmrzd6qlevonoibfnwzoz
------------------------------------------------------------
revno: 2707.3.1
revision-id: psergey(a)askmonty.org-20090625100553-j1xenbz3o5nekiu2
parent: psergey(a)askmonty.org-20090624090104-c63mp3sfxcxytk0d
committer: Sergey Petrunia <psergey(a)askmonty.org>
branch nick: maria-5.1-table-elim-movearound
timestamp: Thu 2009-06-25 14:05:53 +0400
message:
MWL#17: Table elimination
- Moved table elimination code to sql/opt_table_elimination.cc
- Added comments
added:
sql/opt_table_elimination.cc opt_table_eliminatio-20090625095316-7ka9w3zr7n5114iv-1
modified:
.bzrignore sp1f-ignore-20001018235455-q4gxfbritt5f42nwix354ufpsvrf5ebj
libmysqld/Makefile.am sp1f-makefile.am-20010411110351-26htpk3ynkyh7pkfvnshztqrxx3few4g
sql/CMakeLists.txt sp1f-cmakelists.txt-20060831175237-esoeu5kpdtwjvehkghwy6fzbleniq2wy
sql/Makefile.am sp1f-makefile.am-19700101030959-xsjdiakci3nqcdd4xl4yomwdl5eo2f3q
sql/item.cc sp1f-item.cc-19700101030959-u7hxqopwpfly4kf5ctlyk2dvrq4l3dhn
sql/item.h sp1f-item.h-19700101030959-rrkb43htudd62batmoteashkebcwykpa
sql/item_subselect.cc sp1f-item_subselect.cc-20020512204640-qep43aqhsfrwkqmrobni6czc3fqj36oo
sql/item_sum.h sp1f-item_sum.h-19700101030959-ecgohlekwm355wxl5fv4zzq3alalbwyl
sql/sql_select.cc sp1f-sql_select.cc-19700101030959-egb7whpkh76zzvikycs5nsnuviu4fdlb
sql/sql_select.h sp1f-sql_select.h-19700101030959-oqegfxr76xlgmrzd6qlevonoibfnwzoz
------------------------------------------------------------
revno: 2707.1.14
revision-id: psergey(a)askmonty.org-20090624224414-71xqbljy8jf4z1qs
parent: psergey(a)askmonty.org-20090624090104-c63mp3sfxcxytk0d
committer: Sergey Petrunia <psergey(a)askmonty.org>
branch nick: maria-5.1-table-elim
timestamp: Thu 2009-06-25 02:44:14 +0400
message:
MWL#17: Table elimination
- fix a typo bug in has_eqref_access_candidate()
- Adjust test to remove race condition
modified:
mysql-test/r/mysql-bug41486.result mysqlbug41486.result-20090323135900-fobg67a3yzg0b7e8-1
mysql-test/t/mysql-bug41486.test mysqlbug41486.test-20090323135900-fobg67a3yzg0b7e8-2
sql/item.cc sp1f-item.cc-19700101030959-u7hxqopwpfly4kf5ctlyk2dvrq4l3dhn
------------------------------------------------------------
revno: 2707.1.13
revision-id: psergey(a)askmonty.org-20090624090104-c63mp3sfxcxytk0d
parent: psergey(a)askmonty.org-20090623200613-w9dl8g41ysf51r80
committer: Sergey Petrunia <psergey(a)askmonty.org>
branch nick: maria-5.1-table-elim
timestamp: Wed 2009-06-24 13:01:04 +0400
message:
More comments
modified:
sql/sql_select.cc sp1f-sql_select.cc-19700101030959-egb7whpkh76zzvikycs5nsnuviu4fdlb
------------------------------------------------------------
revno: 2707.1.12
revision-id: psergey(a)askmonty.org-20090623200613-w9dl8g41ysf51r80
parent: psergey(a)askmonty.org-20090622114631-yop0q2p8ktmfnctm
committer: Sergey Petrunia <psergey(a)askmonty.org>
branch nick: maria-5.1-table-elim
timestamp: Wed 2009-06-24 00:06:13 +0400
message:
MWL#17: Table elimination
- More testcases
- Let add_ft_key() set keyuse->usable
modified:
mysql-test/r/table_elim.result table_elim.result-20090603125022-nge13y0ohk1g2tt2-1
mysql-test/t/table_elim.test table_elim.test-20090603125018-ka3vcfrm07bsldz8-1
sql-bench/test-table-elimination.sh testtableelimination-20090616194329-gai92muve732qknl-1
sql/sql_select.cc sp1f-sql_select.cc-19700101030959-egb7whpkh76zzvikycs5nsnuviu4fdlb
------------------------------------------------------------
revno: 2707.1.11
revision-id: psergey(a)askmonty.org-20090622114631-yop0q2p8ktmfnctm
parent: psergey(a)askmonty.org-20090617052739-37i1r8lip0m4ft9r
committer: Sergey Petrunia <psergey(a)askmonty.org>
branch nick: maria-5.1-table-elim
timestamp: Mon 2009-06-22 15:46:31 +0400
message:
MWL#17: Table elimination
- Make elimination check to be able detect cases like t.primary_key_col1=othertbl.col AND t.primary_key_col2=func(t.primary_key_col1).
These are needed to handle e.g. the case of func() being a correlated subquery that selects the latest value.
- If we've removed a condition with subquery predicate, EXPLAIN [EXTENDED] won't show the subquery anymore
modified:
sql/item.cc sp1f-item.cc-19700101030959-u7hxqopwpfly4kf5ctlyk2dvrq4l3dhn
sql/item.h sp1f-item.h-19700101030959-rrkb43htudd62batmoteashkebcwykpa
sql/item_subselect.cc sp1f-item_subselect.cc-20020512204640-qep43aqhsfrwkqmrobni6czc3fqj36oo
sql/item_subselect.h sp1f-item_subselect.h-20020512204640-qdg77wil56cxyhtc2bjjdrppxq3wqgh3
sql/item_sum.cc sp1f-item_sum.cc-19700101030959-4woo23bi3am2t2zvsddqbpxk7xbttdkm
sql/sql_lex.cc sp1f-sql_lex.cc-19700101030959-4pizwlu5rqkti27gcwsvxkawq6bc2kph
sql/sql_lex.h sp1f-sql_lex.h-19700101030959-sgldb2sooc7twtw5q7pgjx7qzqiaa3sn
sql/sql_select.cc sp1f-sql_select.cc-19700101030959-egb7whpkh76zzvikycs5nsnuviu4fdlb
sql/sql_select.h sp1f-sql_select.h-19700101030959-oqegfxr76xlgmrzd6qlevonoibfnwzoz
------------------------------------------------------------
revno: 2707.1.10
revision-id: psergey(a)askmonty.org-20090617052739-37i1r8lip0m4ft9r
parent: psergey(a)askmonty.org-20090616204358-yjkyfxczsomrn9yn
committer: Sergey Petrunia <psergey(a)askmonty.org>
branch nick: maria-5.1-table-elim
timestamp: Wed 2009-06-17 09:27:39 +0400
message:
* Use excessive parentheses to stop compiler warning
* Fix test results to account for changes in previous cset
modified:
mysql-test/r/select.result sp1f-select.result-20010103001548-znkoalxem6wchsbxizfosjhpfmhfyxuk
sql/sql_select.cc sp1f-sql_select.cc-19700101030959-egb7whpkh76zzvikycs5nsnuviu4fdlb
------------------------------------------------------------
revno: 2707.1.9
revision-id: psergey(a)askmonty.org-20090616204358-yjkyfxczsomrn9yn
parent: psergey(a)askmonty.org-20090616195413-rfmi9un20za8gn8g
parent: psergey(a)askmonty.org-20090615162208-p4w8s8jo06bdz1vj
committer: Sergey Petrunia <psergey(a)askmonty.org>
branch nick: maria-5.1-table-elim
timestamp: Wed 2009-06-17 00:43:58 +0400
message:
* Merge
* Change valgrind suppression to work on valgrind 3.3.0
modified:
mysql-test/valgrind.supp sp1f-valgrind.supp-20050406142216-yg7xhezklqhgqlc3inx36vbghodhbovy
------------------------------------------------------------
revno: 2707.2.1
revision-id: psergey(a)askmonty.org-20090615162208-p4w8s8jo06bdz1vj
parent: psergey(a)askmonty.org-20090614205924-1vnfwbuo4brzyfhp
committer: Sergey Petrunia <psergey(a)askmonty.org>
branch nick: maria-5.1-table-elim-movearound
timestamp: Mon 2009-06-15 20:22:08 +0400
message:
Fix spurious valgrind warnings in rpl_trigger.test
modified:
mysql-test/valgrind.supp sp1f-valgrind.supp-20050406142216-yg7xhezklqhgqlc3inx36vbghodhbovy
------------------------------------------------------------
revno: 2707.1.8
revision-id: psergey(a)askmonty.org-20090616195413-rfmi9un20za8gn8g
parent: psergey(a)askmonty.org-20090614205924-1vnfwbuo4brzyfhp
committer: Sergey Petrunia <psergey(a)askmonty.org>
branch nick: maria-5.1-table-elim
timestamp: Tue 2009-06-16 23:54:13 +0400
message:
MWL#17: Table elimination
- Move eliminate_tables() to before constant table detection.
- First code for benchmark
added:
sql-bench/test-table-elimination.sh testtableelimination-20090616194329-gai92muve732qknl-1
modified:
sql/sql_select.cc sp1f-sql_select.cc-19700101030959-egb7whpkh76zzvikycs5nsnuviu4fdlb
------------------------------------------------------------
revno: 2707.1.7
revision-id: psergey(a)askmonty.org-20090614205924-1vnfwbuo4brzyfhp
parent: psergey(a)askmonty.org-20090614123504-jf4pcb333ojwaxfy
committer: Sergey Petrunia <psergey(a)askmonty.org>
branch nick: maria-5.1-table-elim
timestamp: Mon 2009-06-15 00:59:24 +0400
message:
MWL#17: Table elimination
- Fix print_join() to work both for EXPLAIN EXTENDED (after table elimination) and for
CREATE VIEW (after join->prepare() but without any optimization).
modified:
mysql-test/r/union.result sp1f-unions_one.result-20010725122836-ofxtwraxeohz7whhrmfdz57sl4a5prmp
sql/sql_select.cc sp1f-sql_select.cc-19700101030959-egb7whpkh76zzvikycs5nsnuviu4fdlb
------------------------------------------------------------
revno: 2707.1.6
revision-id: psergey(a)askmonty.org-20090614123504-jf4pcb333ojwaxfy
parent: psergey(a)askmonty.org-20090614100110-u7l54gk0b6zbtj50
committer: Sergey Petrunia <psergey(a)askmonty.org>
branch nick: maria-5.1-table-elim
timestamp: Sun 2009-06-14 16:35:04 +0400
message:
MWL#17: Table elimination
- Fix the previous cset: take into account that select_lex may be printed when
1. There is no select_lex->join at all (in that case, assume that no tables were eliminated)
2. select_lex->join exists but there was no JOIN::optimize() call yet. handle this by initializing join->eliminated really early.
modified:
sql/sql_select.cc sp1f-sql_select.cc-19700101030959-egb7whpkh76zzvikycs5nsnuviu4fdlb
sql/sql_select.h sp1f-sql_select.h-19700101030959-oqegfxr76xlgmrzd6qlevonoibfnwzoz
------------------------------------------------------------
revno: 2707.1.5
revision-id: psergey(a)askmonty.org-20090614100110-u7l54gk0b6zbtj50
parent: psergey(a)askmonty.org-20090609211133-wfau2tgwo2vpgc5d
committer: Sergey Petrunia <psergey(a)askmonty.org>
branch nick: maria-5.1-table-elim
timestamp: Sun 2009-06-14 14:01:10 +0400
message:
MWL#17: Table elimination
- Do not show eliminated tables in the output of EXPLAIN EXTENDED
modified:
mysql-test/r/table_elim.result table_elim.result-20090603125022-nge13y0ohk1g2tt2-1
mysql-test/t/table_elim.test table_elim.test-20090603125018-ka3vcfrm07bsldz8-1
sql/sql_select.cc sp1f-sql_select.cc-19700101030959-egb7whpkh76zzvikycs5nsnuviu4fdlb
sql/sql_select.h sp1f-sql_select.h-19700101030959-oqegfxr76xlgmrzd6qlevonoibfnwzoz
sql/table.h sp1f-table.h-19700101030959-dv72bajftxj5fbdjuajquappanuv2ija
------------------------------------------------------------
revno: 2707.1.4
revision-id: psergey(a)askmonty.org-20090609211133-wfau2tgwo2vpgc5d
parent: psergey(a)askmonty.org-20090608135546-ut1yrzbah4gdw6e6
committer: Sergey Petrunia <psergey(a)askmonty.org>
branch nick: maria-5.1-table-elim
timestamp: Wed 2009-06-10 01:11:33 +0400
message:
MWL#17: Table elimination
- Make elimination work with aggregate functions. The problem was that aggregate functions
reported all table bits in used_tables(), and that prevented table elimination. Fixed by
making aggregate functions return more correct value from used_tables().
modified:
mysql-test/r/ps_11bugs.result sp1f-ps_11bugs.result-20041012140047-4pktjlfeq27q6bxqfdsbcszr5nybv6zz
mysql-test/r/subselect.result sp1f-subselect.result-20020512204640-zgegcsgavnfd7t7eyrf7ibuqomsw7uzo
mysql-test/r/table_elim.result table_elim.result-20090603125022-nge13y0ohk1g2tt2-1
mysql-test/t/table_elim.test table_elim.test-20090603125018-ka3vcfrm07bsldz8-1
sql/item.h sp1f-item.h-19700101030959-rrkb43htudd62batmoteashkebcwykpa
sql/item_sum.cc sp1f-item_sum.cc-19700101030959-4woo23bi3am2t2zvsddqbpxk7xbttdkm
sql/item_sum.h sp1f-item_sum.h-19700101030959-ecgohlekwm355wxl5fv4zzq3alalbwyl
------------------------------------------------------------
revno: 2707.1.3
revision-id: psergey(a)askmonty.org-20090608135546-ut1yrzbah4gdw6e6
parent: psergey(a)askmonty.org-20090607182938-ycajee5ozg33b7c8
committer: Sergey Petrunya <psergey(a)askmonty.org>
branch nick: maria-5.1-table-elim-fix
timestamp: Mon 2009-06-08 17:55:46 +0400
message:
Fix valgrind failure: provide an implementation of strmov_overlapp() that really can
handle overlapping.
added:
strings/strmov_overlapp.c strmov_overlapp.c-20090608135132-403c5p4dlnexqwxi-1
modified:
include/m_string.h sp1f-m_string.h-19700101030959-rraattbvw5ffkokv4sixxf3s7brqqaga
libmysql/Makefile.shared sp1f-makefile.shared-20000818182429-m3kdhxi23vorlqjct2y2hl3yw357jtxt
strings/Makefile.am sp1f-makefile.am-19700101030959-jfitkanzc3r4h2otoyaaprgqn7muf4ux
------------------------------------------------------------
revno: 2707.1.2
revision-id: psergey(a)askmonty.org-20090607182938-ycajee5ozg33b7c8
parent: psergey(a)askmonty.org-20090603182330-ll3gc91iowhtgb23
parent: psergey(a)askmonty.org-20090607182403-6sfpvdr7nkkekcy9
committer: Sergey Petrunia <psergey(a)askmonty.org>
branch nick: maria-5.1
timestamp: Sun 2009-06-07 22:29:38 +0400
message:
Merge MWL#17: Table elimination
modified:
sql/sql_select.cc sp1f-sql_select.cc-19700101030959-egb7whpkh76zzvikycs5nsnuviu4fdlb
------------------------------------------------------------
revno: 2705.2.2
revision-id: psergey(a)askmonty.org-20090607182403-6sfpvdr7nkkekcy9
parent: psergey(a)askmonty.org-20090603131045-c8jqhwlanli7eimv
committer: Sergey Petrunia <psergey(a)askmonty.org>
branch nick: maria-5.1-table-elim
timestamp: Sun 2009-06-07 22:24:03 +0400
message:
MWL#17: Table Elimination
- Fix trivial valgrind warning
modified:
sql/sql_select.cc sp1f-sql_select.cc-19700101030959-egb7whpkh76zzvikycs5nsnuviu4fdlb
------------------------------------------------------------
revno: 2707.1.1
revision-id: psergey(a)askmonty.org-20090603182330-ll3gc91iowhtgb23
parent: knielsen(a)knielsen-hq.org-20090602110359-n4q9gof38buucrny
parent: psergey(a)askmonty.org-20090603131045-c8jqhwlanli7eimv
committer: Sergey Petrunia <psergey(a)askmonty.org>
branch nick: maria-5.1
timestamp: Wed 2009-06-03 22:23:30 +0400
message:
Merge MWL#17 with maria/5.1
added:
mysql-test/r/table_elim.result table_elim.result-20090603125022-nge13y0ohk1g2tt2-1
mysql-test/t/table_elim.test table_elim.test-20090603125018-ka3vcfrm07bsldz8-1
modified:
sql/sql_select.cc sp1f-sql_select.cc-19700101030959-egb7whpkh76zzvikycs5nsnuviu4fdlb
sql/sql_select.h sp1f-sql_select.h-19700101030959-oqegfxr76xlgmrzd6qlevonoibfnwzoz
sql/table.h sp1f-table.h-19700101030959-dv72bajftxj5fbdjuajquappanuv2ija
------------------------------------------------------------
revno: 2705.2.1
revision-id: psergey(a)askmonty.org-20090603131045-c8jqhwlanli7eimv
parent: knielsen(a)knielsen-hq.org-20090522175325-xpwm83ilnhqoqjz0
committer: Sergey Petrunia <psergey(a)askmonty.org>
branch nick: maria-5.1-table-elim
timestamp: Wed 2009-06-03 17:10:45 +0400
message:
MWL#17: Table elimination
- First code. Elimination works for simple cases, passes the testsuite.
- Known issues:
= No elimination is done for aggregate functions.
= EXPLAIN EXTENDED shows eliminated tables (I think it better not)
= No benchmark yet
= The code needs some polishing.
added:
mysql-test/r/table_elim.result table_elim.result-20090603125022-nge13y0ohk1g2tt2-1
mysql-test/t/table_elim.test table_elim.test-20090603125018-ka3vcfrm07bsldz8-1
modified:
sql/sql_select.cc sp1f-sql_select.cc-19700101030959-egb7whpkh76zzvikycs5nsnuviu4fdlb
sql/sql_select.h sp1f-sql_select.h-19700101030959-oqegfxr76xlgmrzd6qlevonoibfnwzoz
sql/table.h sp1f-table.h-19700101030959-dv72bajftxj5fbdjuajquappanuv2ija
------------------------------------------------------------
revno: 2719.1.5
revision-id: psergey(a)askmonty.org-20090902084018-lv3qet4nhooc4cnu
parent: psergey(a)askmonty.org-20090901115954-nge2brzh3akkmtlz
committer: Sergey Petrunya <psergey(a)askmonty.org>
branch nick: maria-5.1
timestamp: Wed 2009-09-02 12:40:18 +0400
message:
More comments
modified:
sql/opt_range.h sp1f-opt_range.h-19700101030959-c2qbh5kplyvzfgawblxt4md4ubdpxfdy
------------------------------------------------------------
revno: 2719.1.4
revision-id: psergey(a)askmonty.org-20090901115954-nge2brzh3akkmtlz
parent: knielsen(a)knielsen-hq.org-20090831112339-td6t7ljy4w2oamvt
committer: Sergey Petrunya <psergey(a)askmonty.org>
branch nick: maria-5.1-fixwindows
timestamp: Tue 2009-09-01 15:59:54 +0400
message:
Trivial fixes for windows compile failures
- Add strmov_overlapp.c where it's needed
- Add libevent where it is required
- Fix typo in unittest/mysys/waiting_threads-t.c
- fix xtradb C language source so that they have variable declarations before
any operators, as it is (or was?) required in C.
modified:
libmysql/CMakeLists.txt sp1f-cmakelists.txt-20060831175237-3bbprkzqdl3gopcnlt3evmaikau67bcq
sql/CMakeLists.txt sp1f-cmakelists.txt-20060831175237-esoeu5kpdtwjvehkghwy6fzbleniq2wy
storage/xtradb/btr/btr0cur.c btr0cur.c-20081201061010-zymrrwrczns2vrex-45
storage/xtradb/buf/buf0buddy.c buf0buddy.c-20081201061010-zymrrwrczns2vrex-48
storage/xtradb/buf/buf0flu.c buf0flu.c-20081201061010-zymrrwrczns2vrex-50
storage/xtradb/fil/fil0fil.c fil0fil.c-20081201061010-zymrrwrczns2vrex-63
storage/xtradb/handler/i_s.cc i_s.cc-20081201061010-zymrrwrczns2vrex-73
storage/xtradb/srv/srv0srv.c srv0srv.c-20081201061010-zymrrwrczns2vrex-347
strings/CMakeLists.txt sp1f-cmakelists.txt-20060831175237-zpsnblto443qz4bb5okg23rsacehr4d2
unittest/mysys/waiting_threads-t.c waiting_threadst.c-20080623170213-r8baqa2porlpxzq1-5
------------------------------------------------------------
revno: 2719.1.3
revision-id: knielsen(a)knielsen-hq.org-20090831112339-td6t7ljy4w2oamvt
parent: knielsen(a)knielsen-hq.org-20090829194804-rfq9dbai99do12ub
parent: knielsen(a)knielsen-hq.org-20090831110744-ru07dzndci7cf92k
committer: knielsen(a)knielsen-hq.org
branch nick: work
timestamp: Mon 2009-08-31 13:23:39 +0200
message:
Merge Paul's maria-pbxt-rc2 branch into MariaDB.
Includes disabling PBMS (per Paul's recommendation) and test file fixes.
Signed-off-by: Kristian Nielsen <knielsen(a)knielsen-hq.org>
removed:
storage/pbxt/src/streaming_xt.cc streaming_xt.cc-20090326121724-x683v32twzr3fi0y-57
storage/pbxt/src/streaming_xt.h streaming_xt.h-20090326121724-x683v32twzr3fi0y-58
added:
mysql-test/suite/pbxt/t/lowercase_table_grant-master.opt lowercase_table_gran-20090828130852-3duj73io0g345hxj-1
mysql-test/suite/pbxt/t/lowercase_table_qcache-master.opt lowercase_table_qcac-20090828130852-3duj73io0g345hxj-2
mysql-test/suite/pbxt/t/lowercase_view-master.opt lowercase_viewmaster-20090828130852-3duj73io0g345hxj-3
mysql-test/suite/pbxt/t/udf-master.opt udfmaster.opt-20090828130852-3duj73io0g345hxj-4
storage/pbxt/src/pbms_enabled.cc pbms_enabled.cc-20090818074502-tybcb62hp1kdrk3l-1
storage/pbxt/src/pbms_enabled.h pbms_enabled.h-20090818074502-tybcb62hp1kdrk3l-2
modified:
mysql-test/suite/pbxt/r/alter_table.result alter_table.result-20090402100035-4ilk9i91sh65vjcb-5
mysql-test/suite/pbxt/r/analyze.result analyze.result-20090402100035-4ilk9i91sh65vjcb-7
mysql-test/suite/pbxt/r/auto_increment.result auto_increment.resul-20090402100035-4ilk9i91sh65vjcb-9
mysql-test/suite/pbxt/r/delete.result delete.result-20090402100035-4ilk9i91sh65vjcb-31
mysql-test/suite/pbxt/r/distinct.result distinct.result-20090402100035-4ilk9i91sh65vjcb-34
mysql-test/suite/pbxt/r/func_group.result func_group.result-20090402100035-4ilk9i91sh65vjcb-50
mysql-test/suite/pbxt/r/func_math.result func_math.result-20090402100035-4ilk9i91sh65vjcb-55
mysql-test/suite/pbxt/r/func_str.result func_str.result-20090402100035-4ilk9i91sh65vjcb-61
mysql-test/suite/pbxt/r/grant.result grant.result-20090402100035-4ilk9i91sh65vjcb-65
mysql-test/suite/pbxt/r/group_min_max.result group_min_max.result-20090402100035-4ilk9i91sh65vjcb-69
mysql-test/suite/pbxt/r/join.result join.result-20090402100035-4ilk9i91sh65vjcb-79
mysql-test/suite/pbxt/r/join_nested.result join_nested.result-20090402100035-4ilk9i91sh65vjcb-81
mysql-test/suite/pbxt/r/key.result key.result-20090402100035-4ilk9i91sh65vjcb-83
mysql-test/suite/pbxt/r/key_cache.result key_cache.result-20090402100035-4ilk9i91sh65vjcb-84
mysql-test/suite/pbxt/r/key_diff.result key_diff.result-20090402100035-4ilk9i91sh65vjcb-85
mysql-test/suite/pbxt/r/lowercase_view.result lowercase_view.resul-20090402100035-4ilk9i91sh65vjcb-96
mysql-test/suite/pbxt/r/mysqlshow.result mysqlshow.result-20090402100035-4ilk9i91sh65vjcb-101
mysql-test/suite/pbxt/r/null.result null.result-20090402100035-4ilk9i91sh65vjcb-104
mysql-test/suite/pbxt/r/null_key.result null_key.result-20090402100035-4ilk9i91sh65vjcb-105
mysql-test/suite/pbxt/r/partition_pruning.result partition_pruning.re-20090402100035-4ilk9i91sh65vjcb-117
mysql-test/suite/pbxt/r/pbxt_bugs.result pbxt_bugs.result-20090402100035-4ilk9i91sh65vjcb-120
mysql-test/suite/pbxt/r/pbxt_ref_int.result pbxt_ref_int.result-20090402100035-4ilk9i91sh65vjcb-123
mysql-test/suite/pbxt/r/preload.result preload.result-20090402100035-4ilk9i91sh65vjcb-127
mysql-test/suite/pbxt/r/ps_1general.result ps_1general.result-20090402100035-4ilk9i91sh65vjcb-130
mysql-test/suite/pbxt/r/range.result range.result-20090402100035-4ilk9i91sh65vjcb-132
mysql-test/suite/pbxt/r/schema.result schema.result-20090402100035-4ilk9i91sh65vjcb-138
mysql-test/suite/pbxt/r/select.result select.result-20090402100035-4ilk9i91sh65vjcb-139
mysql-test/suite/pbxt/r/select_safe.result select_safe.result-20090402100035-4ilk9i91sh65vjcb-141
mysql-test/suite/pbxt/r/subselect.result subselect.result-20090402100035-4ilk9i91sh65vjcb-146
mysql-test/suite/pbxt/r/type_enum.result type_enum.result-20090402100035-4ilk9i91sh65vjcb-155
mysql-test/suite/pbxt/r/type_ranges.result type_ranges.result-20090402100035-4ilk9i91sh65vjcb-159
mysql-test/suite/pbxt/r/type_timestamp.result type_timestamp.resul-20090402100035-4ilk9i91sh65vjcb-162
mysql-test/suite/pbxt/r/union.result union.result-20090402100035-4ilk9i91sh65vjcb-166
mysql-test/suite/pbxt/r/view_grant.result view_grant.result-20090402100035-4ilk9i91sh65vjcb-169
mysql-test/suite/pbxt/t/auto_increment.test auto_increment.test-20090402100035-4ilk9i91sh65vjcb-176
mysql-test/suite/pbxt/t/delete.test delete.test-20090402100035-4ilk9i91sh65vjcb-198
mysql-test/suite/pbxt/t/join_nested.test join_nested.test-20090402100035-4ilk9i91sh65vjcb-248
mysql-test/suite/pbxt/t/null.test null.test-20090402100035-4ilk9i91sh65vjcb-271
mysql-test/suite/pbxt/t/pbxt_bugs.test pbxt_bugs.test-20090402100035-4ilk9i91sh65vjcb-287
mysql-test/suite/pbxt/t/rename.test rename.test-20090402100035-4ilk9i91sh65vjcb-301
mysql-test/suite/pbxt/t/schema.test schema.test-20090402100035-4ilk9i91sh65vjcb-305
mysql-test/suite/pbxt/t/type_enum.test type_enum.test-20090402100035-4ilk9i91sh65vjcb-322
mysql-test/suite/pbxt/t/union.test union.test-20090402100035-4ilk9i91sh65vjcb-333
storage/pbxt/ChangeLog changelog-20090326121724-x683v32twzr3fi0y-3
storage/pbxt/src/Makefile.am makefile.am-20090326121724-x683v32twzr3fi0y-13
storage/pbxt/src/cache_xt.cc cache_xt.cc-20090326121724-x683v32twzr3fi0y-16
storage/pbxt/src/cache_xt.h cache_xt.h-20090326121724-x683v32twzr3fi0y-17
storage/pbxt/src/ccutils_xt.cc ccutils_xt.cc-20090326121724-x683v32twzr3fi0y-18
storage/pbxt/src/database_xt.cc database_xt.cc-20090326121724-x683v32twzr3fi0y-20
storage/pbxt/src/datadic_xt.cc datadic_xt.cc-20090326121724-x683v32twzr3fi0y-22
storage/pbxt/src/datadic_xt.h datadic_xt.h-20090326121724-x683v32twzr3fi0y-23
storage/pbxt/src/datalog_xt.cc datalog_xt.cc-20090326121724-x683v32twzr3fi0y-24
storage/pbxt/src/datalog_xt.h datalog_xt.h-20090326121724-x683v32twzr3fi0y-25
storage/pbxt/src/discover_xt.cc discover_xt.cc-20090326121724-x683v32twzr3fi0y-26
storage/pbxt/src/filesys_xt.cc filesys_xt.cc-20090326121724-x683v32twzr3fi0y-28
storage/pbxt/src/filesys_xt.h filesys_xt.h-20090326121724-x683v32twzr3fi0y-29
storage/pbxt/src/ha_pbxt.cc ha_pbxt.cc-20090326121724-x683v32twzr3fi0y-30
storage/pbxt/src/ha_pbxt.h ha_pbxt.h-20090326121724-x683v32twzr3fi0y-31
storage/pbxt/src/ha_xtsys.cc ha_xtsys.cc-20090326121724-x683v32twzr3fi0y-32
storage/pbxt/src/ha_xtsys.h ha_xtsys.h-20090326121724-x683v32twzr3fi0y-33
storage/pbxt/src/hashtab_xt.cc hashtab_xt.cc-20090326121724-x683v32twzr3fi0y-34
storage/pbxt/src/heap_xt.cc heap_xt.cc-20090326121724-x683v32twzr3fi0y-36
storage/pbxt/src/heap_xt.h heap_xt.h-20090326121724-x683v32twzr3fi0y-37
storage/pbxt/src/index_xt.cc index_xt.cc-20090326121724-x683v32twzr3fi0y-38
storage/pbxt/src/index_xt.h index_xt.h-20090326121724-x683v32twzr3fi0y-39
storage/pbxt/src/lock_xt.cc lock_xt.cc-20090326121724-x683v32twzr3fi0y-42
storage/pbxt/src/lock_xt.h lock_xt.h-20090326121724-x683v32twzr3fi0y-43
storage/pbxt/src/locklist_xt.cc locklist_xt.cc-20090326121724-x683v32twzr3fi0y-44
storage/pbxt/src/locklist_xt.h locklist_xt.h-20090326121724-x683v32twzr3fi0y-45
storage/pbxt/src/memory_xt.cc memory_xt.cc-20090326121724-x683v32twzr3fi0y-46
storage/pbxt/src/memory_xt.h memory_xt.h-20090326121724-x683v32twzr3fi0y-47
storage/pbxt/src/myxt_xt.cc myxt_xt.cc-20090326121724-x683v32twzr3fi0y-48
storage/pbxt/src/myxt_xt.h myxt_xt.h-20090326121724-x683v32twzr3fi0y-49
storage/pbxt/src/pbms.h pbms.h-20090326121724-x683v32twzr3fi0y-50
storage/pbxt/src/pthread_xt.cc pthread_xt.cc-20090326121724-x683v32twzr3fi0y-51
storage/pbxt/src/restart_xt.cc restart_xt.cc-20090326121724-x683v32twzr3fi0y-53
storage/pbxt/src/restart_xt.h restart_xt.h-20090326121724-x683v32twzr3fi0y-54
storage/pbxt/src/sortedlist_xt.cc sortedlist_xt.cc-20090326121724-x683v32twzr3fi0y-55
storage/pbxt/src/strutil_xt.cc strutil_xt.cc-20090326121724-x683v32twzr3fi0y-59
storage/pbxt/src/systab_xt.cc systab_xt.cc-20090326121724-x683v32twzr3fi0y-61
storage/pbxt/src/systab_xt.h systab_xt.h-20090326121724-x683v32twzr3fi0y-62
storage/pbxt/src/tabcache_xt.cc tabcache_xt.cc-20090326121724-x683v32twzr3fi0y-63
storage/pbxt/src/tabcache_xt.h tabcache_xt.h-20090326121724-x683v32twzr3fi0y-64
storage/pbxt/src/table_xt.cc table_xt.cc-20090326121724-x683v32twzr3fi0y-65
storage/pbxt/src/table_xt.h table_xt.h-20090326121724-x683v32twzr3fi0y-66
storage/pbxt/src/thread_xt.cc thread_xt.cc-20090326121724-x683v32twzr3fi0y-67
storage/pbxt/src/thread_xt.h thread_xt.h-20090326121724-x683v32twzr3fi0y-68
storage/pbxt/src/trace_xt.cc trace_xt.cc-20090326121724-x683v32twzr3fi0y-69
storage/pbxt/src/trace_xt.h trace_xt.h-20090326121724-x683v32twzr3fi0y-70
storage/pbxt/src/util_xt.cc util_xt.cc-20090326121724-x683v32twzr3fi0y-71
storage/pbxt/src/xaction_xt.cc xaction_xt.cc-20090326121724-x683v32twzr3fi0y-74
storage/pbxt/src/xaction_xt.h xaction_xt.h-20090326121724-x683v32twzr3fi0y-75
storage/pbxt/src/xactlog_xt.cc xactlog_xt.cc-20090326121724-x683v32twzr3fi0y-76
storage/pbxt/src/xactlog_xt.h xactlog_xt.h-20090326121724-x683v32twzr3fi0y-77
storage/pbxt/src/xt_config.h xt_config.h-20090326121724-x683v32twzr3fi0y-78
storage/pbxt/src/xt_defs.h xt_defs.h-20090326121724-x683v32twzr3fi0y-79
------------------------------------------------------------
revno: 2719.2.4
revision-id: knielsen(a)knielsen-hq.org-20090831110744-ru07dzndci7cf92k
parent: paul.mccullagh(a)primebase.org-20090818074653-8mbinxoo0ylqqqr9
committer: knielsen(a)knielsen-hq.org
branch nick: maria-pbxt-rc2
timestamp: Mon 2009-08-31 13:07:44 +0200
message:
PBXT merge fixes.
- Disable PBMS in MariaDB (as per recommendation of Paul).
- Add missing *-master.opt files to make testsuite work on case-sensitive file systems.
- Result file updates.
added:
mysql-test/suite/pbxt/t/lowercase_table_grant-master.opt lowercase_table_gran-20090828130852-3duj73io0g345hxj-1
mysql-test/suite/pbxt/t/lowercase_table_qcache-master.opt lowercase_table_qcac-20090828130852-3duj73io0g345hxj-2
mysql-test/suite/pbxt/t/lowercase_view-master.opt lowercase_viewmaster-20090828130852-3duj73io0g345hxj-3
mysql-test/suite/pbxt/t/udf-master.opt udfmaster.opt-20090828130852-3duj73io0g345hxj-4
modified:
mysql-test/suite/pbxt/r/lowercase_view.result lowercase_view.resul-20090402100035-4ilk9i91sh65vjcb-96
mysql-test/suite/pbxt/r/ps_1general.result ps_1general.result-20090402100035-4ilk9i91sh65vjcb-130
storage/pbxt/src/Makefile.am makefile.am-20090326121724-x683v32twzr3fi0y-13
storage/pbxt/src/xt_config.h xt_config.h-20090326121724-x683v32twzr3fi0y-78
------------------------------------------------------------
revno: 2719.2.3
revision-id: paul.mccullagh(a)primebase.org-20090818074653-8mbinxoo0ylqqqr9
parent: paul.mccullagh(a)primebase.org-20090817155758-zliin5rbosn30az8
committer: Paul McCullagh <paul.mccullagh(a)primebase.org>
branch nick: trunk
timestamp: Tue 2009-08-18 09:46:53 +0200
message:
Merged changes for bug fix update 1.0.08c RC2
removed:
storage/pbxt/src/streaming_xt.cc streaming_xt.cc-20090326121724-x683v32twzr3fi0y-57
storage/pbxt/src/streaming_xt.h streaming_xt.h-20090326121724-x683v32twzr3fi0y-58
added:
storage/pbxt/src/pbms_enabled.cc pbms_enabled.cc-20090818074502-tybcb62hp1kdrk3l-1
storage/pbxt/src/pbms_enabled.h pbms_enabled.h-20090818074502-tybcb62hp1kdrk3l-2
modified:
storage/pbxt/ChangeLog changelog-20090326121724-x683v32twzr3fi0y-3
storage/pbxt/src/datadic_xt.cc datadic_xt.cc-20090326121724-x683v32twzr3fi0y-22
storage/pbxt/src/datadic_xt.h datadic_xt.h-20090326121724-x683v32twzr3fi0y-23
storage/pbxt/src/datalog_xt.cc datalog_xt.cc-20090326121724-x683v32twzr3fi0y-24
storage/pbxt/src/datalog_xt.h datalog_xt.h-20090326121724-x683v32twzr3fi0y-25
storage/pbxt/src/filesys_xt.cc filesys_xt.cc-20090326121724-x683v32twzr3fi0y-28
storage/pbxt/src/ha_pbxt.cc ha_pbxt.cc-20090326121724-x683v32twzr3fi0y-30
storage/pbxt/src/index_xt.cc index_xt.cc-20090326121724-x683v32twzr3fi0y-38
storage/pbxt/src/myxt_xt.cc myxt_xt.cc-20090326121724-x683v32twzr3fi0y-48
storage/pbxt/src/myxt_xt.h myxt_xt.h-20090326121724-x683v32twzr3fi0y-49
storage/pbxt/src/pbms.h pbms.h-20090326121724-x683v32twzr3fi0y-50
storage/pbxt/src/pthread_xt.cc pthread_xt.cc-20090326121724-x683v32twzr3fi0y-51
storage/pbxt/src/restart_xt.cc restart_xt.cc-20090326121724-x683v32twzr3fi0y-53
storage/pbxt/src/strutil_xt.cc strutil_xt.cc-20090326121724-x683v32twzr3fi0y-59
storage/pbxt/src/table_xt.cc table_xt.cc-20090326121724-x683v32twzr3fi0y-65
storage/pbxt/src/table_xt.h table_xt.h-20090326121724-x683v32twzr3fi0y-66
storage/pbxt/src/xactlog_xt.cc xactlog_xt.cc-20090326121724-x683v32twzr3fi0y-76
storage/pbxt/src/xt_config.h xt_config.h-20090326121724-x683v32twzr3fi0y-78
------------------------------------------------------------
revno: 2719.2.2
revision-id: paul.mccullagh(a)primebase.org-20090817155758-zliin5rbosn30az8
parent: paul.mccullagh(a)primebase.org-20090817111236-1pgxzp5x9l74q0ug
committer: Paul McCullagh <paul.mccullagh(a)primebase.org>
branch nick: trunk
timestamp: Mon 2009-08-17 17:57:58 +0200
message:
Updated all tests for RC2
modified:
mysql-test/suite/pbxt/r/analyze.result analyze.result-20090402100035-4ilk9i91sh65vjcb-7
mysql-test/suite/pbxt/r/auto_increment.result auto_increment.resul-20090402100035-4ilk9i91sh65vjcb-9
mysql-test/suite/pbxt/r/delete.result delete.result-20090402100035-4ilk9i91sh65vjcb-31
mysql-test/suite/pbxt/r/distinct.result distinct.result-20090402100035-4ilk9i91sh65vjcb-34
mysql-test/suite/pbxt/r/func_group.result func_group.result-20090402100035-4ilk9i91sh65vjcb-50
mysql-test/suite/pbxt/r/func_math.result func_math.result-20090402100035-4ilk9i91sh65vjcb-55
mysql-test/suite/pbxt/r/func_str.result func_str.result-20090402100035-4ilk9i91sh65vjcb-61
mysql-test/suite/pbxt/r/grant.result grant.result-20090402100035-4ilk9i91sh65vjcb-65
mysql-test/suite/pbxt/r/group_min_max.result group_min_max.result-20090402100035-4ilk9i91sh65vjcb-69
mysql-test/suite/pbxt/r/join.result join.result-20090402100035-4ilk9i91sh65vjcb-79
mysql-test/suite/pbxt/r/join_nested.result join_nested.result-20090402100035-4ilk9i91sh65vjcb-81
mysql-test/suite/pbxt/r/key.result key.result-20090402100035-4ilk9i91sh65vjcb-83
mysql-test/suite/pbxt/r/key_cache.result key_cache.result-20090402100035-4ilk9i91sh65vjcb-84
mysql-test/suite/pbxt/r/key_diff.result key_diff.result-20090402100035-4ilk9i91sh65vjcb-85
mysql-test/suite/pbxt/r/mysqlshow.result mysqlshow.result-20090402100035-4ilk9i91sh65vjcb-101
mysql-test/suite/pbxt/r/null.result null.result-20090402100035-4ilk9i91sh65vjcb-104
mysql-test/suite/pbxt/r/null_key.result null_key.result-20090402100035-4ilk9i91sh65vjcb-105
mysql-test/suite/pbxt/r/partition_pruning.result partition_pruning.re-20090402100035-4ilk9i91sh65vjcb-117
mysql-test/suite/pbxt/r/pbxt_bugs.result pbxt_bugs.result-20090402100035-4ilk9i91sh65vjcb-120
mysql-test/suite/pbxt/r/pbxt_ref_int.result pbxt_ref_int.result-20090402100035-4ilk9i91sh65vjcb-123
mysql-test/suite/pbxt/r/preload.result preload.result-20090402100035-4ilk9i91sh65vjcb-127
mysql-test/suite/pbxt/r/ps_1general.result ps_1general.result-20090402100035-4ilk9i91sh65vjcb-130
mysql-test/suite/pbxt/r/range.result range.result-20090402100035-4ilk9i91sh65vjcb-132
mysql-test/suite/pbxt/r/schema.result schema.result-20090402100035-4ilk9i91sh65vjcb-138
mysql-test/suite/pbxt/r/select.result select.result-20090402100035-4ilk9i91sh65vjcb-139
mysql-test/suite/pbxt/r/select_safe.result select_safe.result-20090402100035-4ilk9i91sh65vjcb-141
mysql-test/suite/pbxt/r/subselect.result subselect.result-20090402100035-4ilk9i91sh65vjcb-146
mysql-test/suite/pbxt/r/type_enum.result type_enum.result-20090402100035-4ilk9i91sh65vjcb-155
mysql-test/suite/pbxt/r/type_ranges.result type_ranges.result-20090402100035-4ilk9i91sh65vjcb-159
mysql-test/suite/pbxt/r/type_timestamp.result type_timestamp.resul-20090402100035-4ilk9i91sh65vjcb-162
mysql-test/suite/pbxt/r/union.result union.result-20090402100035-4ilk9i91sh65vjcb-166
mysql-test/suite/pbxt/r/view_grant.result view_grant.result-20090402100035-4ilk9i91sh65vjcb-169
mysql-test/suite/pbxt/t/auto_increment.test auto_increment.test-20090402100035-4ilk9i91sh65vjcb-176
mysql-test/suite/pbxt/t/delete.test delete.test-20090402100035-4ilk9i91sh65vjcb-198
mysql-test/suite/pbxt/t/join_nested.test join_nested.test-20090402100035-4ilk9i91sh65vjcb-248
mysql-test/suite/pbxt/t/null.test null.test-20090402100035-4ilk9i91sh65vjcb-271
mysql-test/suite/pbxt/t/pbxt_bugs.test pbxt_bugs.test-20090402100035-4ilk9i91sh65vjcb-287
mysql-test/suite/pbxt/t/rename.test rename.test-20090402100035-4ilk9i91sh65vjcb-301
mysql-test/suite/pbxt/t/schema.test schema.test-20090402100035-4ilk9i91sh65vjcb-305
mysql-test/suite/pbxt/t/type_enum.test type_enum.test-20090402100035-4ilk9i91sh65vjcb-322
mysql-test/suite/pbxt/t/union.test union.test-20090402100035-4ilk9i91sh65vjcb-333
------------------------------------------------------------
revno: 2719.2.1
revision-id: paul.mccullagh(a)primebase.org-20090817111236-1pgxzp5x9l74q0ug
parent: knielsen(a)knielsen-hq.org-20090805072137-wg97dcem1cxnzt3p
committer: Paul McCullagh <paul.mccullagh(a)primebase.org>
branch nick: trunk
timestamp: Mon 2009-08-17 13:12:36 +0200
message:
Updated PBXT to version 1.0.08 RC2
modified:
mysql-test/suite/pbxt/r/alter_table.result alter_table.result-20090402100035-4ilk9i91sh65vjcb-5
storage/pbxt/ChangeLog changelog-20090326121724-x683v32twzr3fi0y-3
storage/pbxt/src/cache_xt.cc cache_xt.cc-20090326121724-x683v32twzr3fi0y-16
storage/pbxt/src/cache_xt.h cache_xt.h-20090326121724-x683v32twzr3fi0y-17
storage/pbxt/src/ccutils_xt.cc ccutils_xt.cc-20090326121724-x683v32twzr3fi0y-18
storage/pbxt/src/database_xt.cc database_xt.cc-20090326121724-x683v32twzr3fi0y-20
storage/pbxt/src/datadic_xt.cc datadic_xt.cc-20090326121724-x683v32twzr3fi0y-22
storage/pbxt/src/datadic_xt.h datadic_xt.h-20090326121724-x683v32twzr3fi0y-23
storage/pbxt/src/datalog_xt.cc datalog_xt.cc-20090326121724-x683v32twzr3fi0y-24
storage/pbxt/src/discover_xt.cc discover_xt.cc-20090326121724-x683v32twzr3fi0y-26
storage/pbxt/src/filesys_xt.cc filesys_xt.cc-20090326121724-x683v32twzr3fi0y-28
storage/pbxt/src/filesys_xt.h filesys_xt.h-20090326121724-x683v32twzr3fi0y-29
storage/pbxt/src/ha_pbxt.cc ha_pbxt.cc-20090326121724-x683v32twzr3fi0y-30
storage/pbxt/src/ha_pbxt.h ha_pbxt.h-20090326121724-x683v32twzr3fi0y-31
storage/pbxt/src/ha_xtsys.cc ha_xtsys.cc-20090326121724-x683v32twzr3fi0y-32
storage/pbxt/src/ha_xtsys.h ha_xtsys.h-20090326121724-x683v32twzr3fi0y-33
storage/pbxt/src/hashtab_xt.cc hashtab_xt.cc-20090326121724-x683v32twzr3fi0y-34
storage/pbxt/src/heap_xt.cc heap_xt.cc-20090326121724-x683v32twzr3fi0y-36
storage/pbxt/src/heap_xt.h heap_xt.h-20090326121724-x683v32twzr3fi0y-37
storage/pbxt/src/index_xt.cc index_xt.cc-20090326121724-x683v32twzr3fi0y-38
storage/pbxt/src/index_xt.h index_xt.h-20090326121724-x683v32twzr3fi0y-39
storage/pbxt/src/lock_xt.cc lock_xt.cc-20090326121724-x683v32twzr3fi0y-42
storage/pbxt/src/lock_xt.h lock_xt.h-20090326121724-x683v32twzr3fi0y-43
storage/pbxt/src/locklist_xt.cc locklist_xt.cc-20090326121724-x683v32twzr3fi0y-44
storage/pbxt/src/locklist_xt.h locklist_xt.h-20090326121724-x683v32twzr3fi0y-45
storage/pbxt/src/memory_xt.cc memory_xt.cc-20090326121724-x683v32twzr3fi0y-46
storage/pbxt/src/memory_xt.h memory_xt.h-20090326121724-x683v32twzr3fi0y-47
storage/pbxt/src/myxt_xt.cc myxt_xt.cc-20090326121724-x683v32twzr3fi0y-48
storage/pbxt/src/myxt_xt.h myxt_xt.h-20090326121724-x683v32twzr3fi0y-49
storage/pbxt/src/pbms.h pbms.h-20090326121724-x683v32twzr3fi0y-50
storage/pbxt/src/restart_xt.cc restart_xt.cc-20090326121724-x683v32twzr3fi0y-53
storage/pbxt/src/restart_xt.h restart_xt.h-20090326121724-x683v32twzr3fi0y-54
storage/pbxt/src/sortedlist_xt.cc sortedlist_xt.cc-20090326121724-x683v32twzr3fi0y-55
storage/pbxt/src/streaming_xt.cc streaming_xt.cc-20090326121724-x683v32twzr3fi0y-57
storage/pbxt/src/strutil_xt.cc strutil_xt.cc-20090326121724-x683v32twzr3fi0y-59
storage/pbxt/src/systab_xt.cc systab_xt.cc-20090326121724-x683v32twzr3fi0y-61
storage/pbxt/src/systab_xt.h systab_xt.h-20090326121724-x683v32twzr3fi0y-62
storage/pbxt/src/tabcache_xt.cc tabcache_xt.cc-20090326121724-x683v32twzr3fi0y-63
storage/pbxt/src/tabcache_xt.h tabcache_xt.h-20090326121724-x683v32twzr3fi0y-64
storage/pbxt/src/table_xt.cc table_xt.cc-20090326121724-x683v32twzr3fi0y-65
storage/pbxt/src/table_xt.h table_xt.h-20090326121724-x683v32twzr3fi0y-66
storage/pbxt/src/thread_xt.cc thread_xt.cc-20090326121724-x683v32twzr3fi0y-67
storage/pbxt/src/thread_xt.h thread_xt.h-20090326121724-x683v32twzr3fi0y-68
storage/pbxt/src/trace_xt.cc trace_xt.cc-20090326121724-x683v32twzr3fi0y-69
storage/pbxt/src/trace_xt.h trace_xt.h-20090326121724-x683v32twzr3fi0y-70
storage/pbxt/src/util_xt.cc util_xt.cc-20090326121724-x683v32twzr3fi0y-71
storage/pbxt/src/xaction_xt.cc xaction_xt.cc-20090326121724-x683v32twzr3fi0y-74
storage/pbxt/src/xaction_xt.h xaction_xt.h-20090326121724-x683v32twzr3fi0y-75
storage/pbxt/src/xactlog_xt.cc xactlog_xt.cc-20090326121724-x683v32twzr3fi0y-76
storage/pbxt/src/xactlog_xt.h xactlog_xt.h-20090326121724-x683v32twzr3fi0y-77
storage/pbxt/src/xt_config.h xt_config.h-20090326121724-x683v32twzr3fi0y-78
storage/pbxt/src/xt_defs.h xt_defs.h-20090326121724-x683v32twzr3fi0y-79
------------------------------------------------------------
revno: 2719.1.2
revision-id: knielsen(a)knielsen-hq.org-20090829194804-rfq9dbai99do12ub
parent: knielsen(a)knielsen-hq.org-20090829190446-bm072wpuvueu2o59
committer: knielsen(a)knielsen-hq.org
branch nick: mariadb-5.1
timestamp: Sat 2009-08-29 21:48:04 +0200
message:
Add missign header file to `make dist`.
modified:
storage/xtradb/Makefile.am makefile.am-20081201061010-zymrrwrczns2vrex-4
------------------------------------------------------------
revno: 2719.1.1
revision-id: knielsen(a)knielsen-hq.org-20090829190446-bm072wpuvueu2o59
parent: knielsen(a)knielsen-hq.org-20090805072137-wg97dcem1cxnzt3p
committer: knielsen(a)knielsen-hq.org
branch nick: 5.1
timestamp: Sat 2009-08-29 21:04:46 +0200
message:
Fix `make dist` after solaris build file fixes.
Solaris build scripts under BUILD/ were changed, but Makefile.am was not updated to reflect
the new set of file names.
modified:
BUILD/Makefile.am sp1f-makefile.am-20020102192940-dza66ux2yxyklupzjz4q3km3hvye5rnj
Diff too large for email (22284 lines, the limit is 1000).
1
0
[Maria-developers] Diff for stuff from MySQL 5.1.38 not yet included in the merge
by Kristian Nielsen 15 Sep '09
by Kristian Nielsen 15 Sep '09
15 Sep '09
Hi Sergey,
Here is the diff of the commits that are not yet merged from MySQL 5.1.38
(they are missing from our merge since they were not yet pushed to Launchpad
by the MySQL build team when the merge was done by Jani and Monty).
There is a Windows build one-liner, but don't know if it will help you.
I will merge this into maria-5.1-merge as soon as you have pushed your merge
with latest lp:maria.
- Kristian.
=== modified file '.bzrignore'
--- .bzrignore 2009-02-27 11:20:53 +0000
+++ .bzrignore 2009-08-12 20:06:44 +0000
@@ -3063,3 +3063,4 @@ sql/share/slovak
sql/share/spanish
sql/share/swedish
sql/share/ukrainian
+libmysqld/examples/mysqltest.cc
=== modified file 'CMakeLists.txt'
--- CMakeLists.txt 2009-08-11 15:47:33 +0000
+++ CMakeLists.txt 2009-08-14 15:18:52 +0000
@@ -137,6 +137,7 @@ ENDIF(MSVC)
IF(WIN32)
ADD_DEFINITIONS("-D_WINDOWS -D__WIN__ -D_CRT_SECURE_NO_DEPRECATE")
+ ADD_DEFINITIONS("-D_WIN32_WINNT=0x0501")
ENDIF(WIN32)
# default to x86 platform. We'll check for X64 in a bit
=== modified file 'cmd-line-utils/readline/util.c'
--- cmd-line-utils/readline/util.c 2009-06-29 13:17:01 +0000
+++ cmd-line-utils/readline/util.c 2009-08-14 15:18:52 +0000
@@ -81,8 +81,13 @@ rl_alphabetic (c)
#if defined (HANDLE_MULTIBYTE)
int
-_rl_walphabetic (wc)
- wchar_t wc;
+/*
+ Portability issue with VisualAge C++ Professional / C for AIX Compiler, Version 6:
+ "util.c", line 84.1: 1506-343 (S) Redeclaration of _rl_walphabetic differs
+ from previous declaration on line 110 of "rlmbutil.h".
+ So, put type in the function signature here.
+*/
+_rl_walphabetic (wchar_t wc)
{
int c;
=== modified file 'mysql-test/Makefile.am'
--- mysql-test/Makefile.am 2009-07-14 10:06:04 +0000
+++ mysql-test/Makefile.am 2009-08-21 11:58:33 +0000
@@ -17,7 +17,8 @@
## Process this file with automake to create Makefile.in
-testdir = $(prefix)/mysql-test
+testroot = $(prefix)
+testdir = $(testroot)/mysql-test
test_SCRIPTS = mtr \
mysql-test-run \
=== modified file 'mysql-test/lib/My/SafeProcess/Makefile.am'
--- mysql-test/lib/My/SafeProcess/Makefile.am 2008-03-13 16:07:11 +0000
+++ mysql-test/lib/My/SafeProcess/Makefile.am 2009-08-21 11:58:33 +0000
@@ -13,7 +13,8 @@
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-safedir = $(prefix)/mysql-test/lib/My/SafeProcess
+testroot = $(prefix)
+safedir = $(testroot)/mysql-test/lib/My/SafeProcess
#nobase_bin_PROGRAMS = ...
safe_PROGRAMS = my_safe_process
=== modified file 'scripts/make_win_bin_dist'
--- scripts/make_win_bin_dist 2009-04-14 19:53:00 +0000
+++ scripts/make_win_bin_dist 2009-09-01 06:40:13 +0000
@@ -279,6 +279,7 @@ cp include/mysql/plugin.h $DESTDIR/inclu
# ----------------------------------------------------------------------
mkdir -p $DESTDIR/lib/opt
+mkdir -p $DESTDIR/lib/plugin
cp libmysql/$TARGET/libmysql.dll \
libmysql/$TARGET/libmysql.lib \
libmysql/$TARGET/mysqlclient.lib \
@@ -286,6 +287,10 @@ cp libmysql/$TARGET/libmysql.dll \
regex/$TARGET/regex.lib \
strings/$TARGET/strings.lib \
zlib/$TARGET/zlib.lib $DESTDIR/lib/opt/
+if [ -d storage/innodb_plugin ]; then
+ cp storage/innodb_plugin/$TARGET/ha_innodb_plugin.dll \
+ $DESTDIR/lib/plugin/
+fi
if [ x"$TARGET" != x"release" ] ; then
cp libmysql/$TARGET/libmysql.pdb \
@@ -294,11 +299,17 @@ if [ x"$TARGET" != x"release" ] ; then
regex/$TARGET/regex.pdb \
strings/$TARGET/strings.pdb \
zlib/$TARGET/zlib.pdb $DESTDIR/lib/opt/
+ if [ -d storage/innodb_plugin ]; then
+ cp storage/innodb_plugin/$TARGET/ha_innodb_plugin.pdb \
+ $DESTDIR/lib/plugin/
+ fi
fi
+
if [ x"$PACK_DEBUG" = x"" -a -f "libmysql/debug/libmysql.lib" -o \
x"$PACK_DEBUG" = x"yes" ] ; then
mkdir -p $DESTDIR/lib/debug
+ mkdir -p $DESTDIR/lib/plugin/debug
cp libmysql/debug/libmysql.dll \
libmysql/debug/libmysql.lib \
libmysql/debug/libmysql.pdb \
@@ -312,6 +323,12 @@ if [ x"$PACK_DEBUG" = x"" -a -f "libmysq
strings/debug/strings.pdb \
zlib/debug/zlib.lib \
zlib/debug/zlib.pdb $DESTDIR/lib/debug/
+ if [ -d storage/innodb_plugin ]; then
+ cp storage/innodb_plugin/debug/ha_innodb_plugin.dll \
+ storage/innodb_plugin/debug/ha_innodb_plugin.lib \
+ storage/innodb_plugin/debug/ha_innodb_plugin.pdb \
+ $DESTDIR/lib/plugin/debug/
+ fi
fi
# ----------------------------------------------------------------------
=== modified file 'storage/innodb_plugin/handler/i_s.cc'
--- storage/innodb_plugin/handler/i_s.cc 2009-06-10 08:59:49 +0000
+++ storage/innodb_plugin/handler/i_s.cc 2009-08-14 15:18:52 +0000
@@ -69,14 +69,16 @@ do { \
#define STRUCT_FLD(name, value) value
#endif
-static const ST_FIELD_INFO END_OF_ST_FIELD_INFO =
- {STRUCT_FLD(field_name, NULL),
- STRUCT_FLD(field_length, 0),
- STRUCT_FLD(field_type, MYSQL_TYPE_NULL),
- STRUCT_FLD(value, 0),
- STRUCT_FLD(field_flags, 0),
- STRUCT_FLD(old_name, ""),
- STRUCT_FLD(open_method, SKIP_OPEN_TABLE)};
+/* Don't use a static const variable here, as some C++ compilers (notably
+HPUX aCC: HP ANSI C++ B3910B A.03.65) can't handle it. */
+#define END_OF_ST_FIELD_INFO \
+ {STRUCT_FLD(field_name, NULL), \
+ STRUCT_FLD(field_length, 0), \
+ STRUCT_FLD(field_type, MYSQL_TYPE_NULL), \
+ STRUCT_FLD(value, 0), \
+ STRUCT_FLD(field_flags, 0), \
+ STRUCT_FLD(old_name, ""), \
+ STRUCT_FLD(open_method, SKIP_OPEN_TABLE)}
/*
Use the following types mapping:
=== modified file 'storage/innodb_plugin/include/btr0cur.h'
--- storage/innodb_plugin/include/btr0cur.h 2009-05-27 09:45:59 +0000
+++ storage/innodb_plugin/include/btr0cur.h 2009-08-12 20:06:44 +0000
@@ -618,7 +618,7 @@ enum btr_cur_method {
hash_node, and might be necessary to
update */
BTR_CUR_BINARY, /*!< success using the binary search */
- BTR_CUR_INSERT_TO_IBUF, /*!< performed the intended insert to
+ BTR_CUR_INSERT_TO_IBUF /*!< performed the intended insert to
the insert buffer */
};
=== modified file 'storage/innodb_plugin/include/trx0types.h'
--- storage/innodb_plugin/include/trx0types.h 2009-07-30 12:42:56 +0000
+++ storage/innodb_plugin/include/trx0types.h 2009-08-12 20:06:44 +0000
@@ -70,7 +70,7 @@ typedef struct trx_named_savept_struct t
enum trx_rb_ctx {
RB_NONE = 0, /*!< no rollback */
RB_NORMAL, /*!< normal rollback */
- RB_RECOVERY, /*!< rolling back an incomplete transaction,
+ RB_RECOVERY /*!< rolling back an incomplete transaction,
in crash recovery */
};
=== modified file 'storage/innodb_plugin/include/univ.i'
--- storage/innodb_plugin/include/univ.i 2009-07-30 12:42:56 +0000
+++ storage/innodb_plugin/include/univ.i 2009-08-14 15:18:52 +0000
@@ -408,7 +408,8 @@ it is read. */
/* Minimize cache-miss latency by moving data at addr into a cache before
it is read or written. */
# define UNIV_PREFETCH_RW(addr) __builtin_prefetch(addr, 1, 3)
-#elif defined(__SUNPRO_C) || defined(__SUNPRO_CC)
+/* Sun Studio includes sun_prefetch.h as of version 5.9 */
+#elif (defined(__SUNPRO_C) && __SUNPRO_C >= 0x590) || (defined(__SUNPRO_CC) && __SUNPRO_CC >= 0x590)
# include <sun_prefetch.h>
#if __SUNPRO_C >= 0x550
# undef UNIV_INTERN
=== modified file 'storage/ndb/test/run-test/Makefile.am'
--- storage/ndb/test/run-test/Makefile.am 2007-08-31 14:12:51 +0000
+++ storage/ndb/test/run-test/Makefile.am 2009-08-21 11:58:33 +0000
@@ -13,7 +13,8 @@
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-testdir=$(prefix)/mysql-test/ndb
+testroot=$(prefix)
+testdir=$(testroot)/mysql-test/ndb
include $(top_srcdir)/storage/ndb/config/common.mk.am
include $(top_srcdir)/storage/ndb/config/type_util.mk.am
=== modified file 'support-files/mysql.spec.sh'
--- support-files/mysql.spec.sh 2009-05-27 15:14:09 +0000
+++ support-files/mysql.spec.sh 2009-08-25 11:00:23 +0000
@@ -31,6 +31,20 @@
%{?_with_yassl:%define YASSL_BUILD 1}
%{!?_with_yassl:%define YASSL_BUILD 0}
+# ----------------------------------------------------------------------
+# use "rpmbuild --with bundled_zlib" or "rpm --define '_with_bundled_zlib 1'"
+# (for RPM 3.x) to build using the bundled zlib (off by default)
+# ----------------------------------------------------------------------
+%{?_with_bundled_zlib:%define WITH_BUNDLED_ZLIB 1}
+%{!?_with_bundled_zlib:%define WITH_BUNDLED_ZLIB 0}
+
+# ----------------------------------------------------------------------
+# use "rpmbuild --without innodb_plugin" or "rpm --define '_without_innodb_plugin 1'"
+# (for RPM 3.x) to not build the innodb plugin (on by default with innodb builds)
+# ----------------------------------------------------------------------
+%{?_without_innodb_plugin:%define WITHOUT_INNODB_PLUGIN 1}
+%{!?_without_innodb_plugin:%define WITHOUT_INNODB_PLUGIN 0}
+
# use "rpmbuild --with cluster" or "rpm --define '_with_cluster 1'" (for RPM 3.x)
# to build with cluster support (off by default)
%{?_with_cluster:%define CLUSTER_BUILD 1}
@@ -292,6 +306,9 @@ sh -c "PATH=\"${MYSQL_BUILD_PATH:-$PATH
--enable-thread-safe-client \
--with-readline \
--with-innodb \
+%if %{WITHOUT_INNODB_PLUGIN}
+ --without-plugin-innodb_plugin \
+%endif
%if %{CLUSTER_BUILD}
--with-ndbcluster \
%else
@@ -301,8 +318,13 @@ sh -c "PATH=\"${MYSQL_BUILD_PATH:-$PATH
--with-csv-storage-engine \
--with-blackhole-storage-engine \
--with-federated-storage-engine \
+ --without-plugin-daemon_example \
+ --without-plugin-ftexample \
--with-partition \
--with-big-tables \
+%if %{WITH_BUNDLED_ZLIB}
+ --with-zlib-dir=bundled \
+%endif
--enable-shared \
"
make
@@ -426,7 +448,7 @@ install -d $RBR%{_sbindir}
# Install all binaries
-(cd $MBD && make install DESTDIR=$RBR benchdir_root=%{_datadir})
+(cd $MBD && make install DESTDIR=$RBR testroot=%{_datadir})
# Old packages put shared libs in %{_libdir}/ (not %{_libdir}/mysql), so do
# the same here.
mv $RBR/%{_libdir}/mysql/*.so* $RBR/%{_libdir}/
@@ -693,6 +715,12 @@ fi
%attr(755, root, root) %{_bindir}/resolve_stack_dump
%attr(755, root, root) %{_bindir}/resolveip
+%attr(755, root, root) %{_libdir}/mysql/plugin/ha_example.so*
+%if %{WITHOUT_INNODB_PLUGIN}
+%else
+%attr(755, root, root) %{_libdir}/mysql/plugin/ha_innodb_plugin.so*
+%endif
+
%attr(755, root, root) %{_sbindir}/mysqld
%attr(755, root, root) %{_sbindir}/mysqld-debug
%attr(755, root, root) %{_sbindir}/mysqlmanager
@@ -818,6 +846,13 @@ fi
%{_libdir}/mysql/libvio.a
%{_libdir}/mysql/libz.a
%{_libdir}/mysql/libz.la
+%{_libdir}/mysql/plugin/ha_example.a
+%{_libdir}/mysql/plugin/ha_example.la
+%if %{WITHOUT_INNODB_PLUGIN}
+%else
+%{_libdir}/mysql/plugin/ha_innodb_plugin.a
+%{_libdir}/mysql/plugin/ha_innodb_plugin.la
+%endif
%files shared
%defattr(-, root, root, 0755)
@@ -847,6 +882,19 @@ fi
# itself - note that they must be ordered by date (important when
# merging BK trees)
%changelog
+* Mon Aug 24 2009 Jonathan Perkin <jperkin(a)sun.com>
+
+- Add conditionals for bundled zlib and innodb plugin
+
+* Fri Aug 21 2009 Jonathan Perkin <jperkin(a)sun.com>
+
+- Install plugin libraries in appropriate packages.
+- Disable libdaemon_example and ftexample plugins.
+
+* Thu Aug 20 2009 Jonathan Perkin <jperkin@stripped>
+
+- Update variable used for mysql-test suite location to match source.
+
* Fri Nov 07 2008 Joerg Bruehe <joerg(a)mysql.com>
- Correct yesterday's fix, so that it also works for the last flag,
1
0
15 Sep '09
Hi Sergey,
Here is the diff of the extra stuff that Jani and Monty merged, but which is
not included in MySQL-5.1.38.
As can be seen, none of it really matters (except the version number; I'll fix
that to be 5.1.38-maria-beta1).
I suggest we just leave it in place to simplify future merges.
Still, hopefully the next time we merge, we will make sure we merge some
well-defined release of MySQL ;-)
- Kristian.
=== modified file '.bzrignore'
--- .bzrignore 2009-02-27 11:20:53 +0000
+++ .bzrignore 2009-08-12 19:45:01 +0000
@@ -3063,3 +3063,4 @@ sql/share/slovak
sql/share/spanish
sql/share/swedish
sql/share/ukrainian
+libmysqld/examples/mysqltest.cc
=== modified file 'configure.in'
--- configure.in 2009-07-13 20:43:31 +0000
+++ configure.in 2009-08-13 20:33:00 +0000
@@ -10,7 +10,7 @@ AC_CANONICAL_SYSTEM
#
# When changing major version number please also check switch statement
# in mysqlbinlog::check_master_version().
-AM_INIT_AUTOMAKE(mysql, 5.1.38)
+AM_INIT_AUTOMAKE(mysql, 5.1.39)
AM_CONFIG_HEADER([include/config.h:config.h.in])
PROTOCOL_VERSION=10
=== modified file 'man/Makefile.am'
--- man/Makefile.am 2008-08-27 14:03:39 +0000
+++ man/Makefile.am 2009-08-20 19:41:12 +0000
@@ -23,7 +23,7 @@ EXTRA_DIST = $(man1_MANS) $(man8_MANS)
# "make_win_*" are not needed in Unix binary packages,
install-data-hook:
- rm -f $(DESTDIR)$(manlibdir)/man1/make_win_*
+ rm -f $(DESTDIR)$(mandir)/man1/make_win_*
# Don't update the files from bitkeeper
%::SCCS/s.%
=== modified file 'mysql-test/collections/default.daily'
--- mysql-test/collections/default.daily 2009-02-24 11:53:34 +0000
+++ mysql-test/collections/default.daily 2009-08-12 15:10:15 +0000
@@ -1 +1 @@
-perl mysql-test-run.pl --timer --force --comment=rpl_ndb_row --suite=rpl_ndb,ndb --mysqld=--binlog-format=row --experimental=collections/default.experimental
+perl mysql-test-run.pl --timer --force --comment=rpl_ndb_row --vardir=var-rpl_ndb_row --suite=rpl_ndb,ndb --mysqld=--binlog-format=row --experimental=collections/default.experimental
=== modified file 'mysql-test/collections/default.push'
--- mysql-test/collections/default.push 2009-06-03 10:46:04 +0000
+++ mysql-test/collections/default.push 2009-08-12 15:10:15 +0000
@@ -1,5 +1,5 @@
-perl mysql-test-run.pl --timer --force --parallel=auto --comment=n_mix --mysqld=--binlog-format=mixed --experimental=collections/default.experimental
-perl mysql-test-run.pl --timer --force --parallel=auto --comment=ps_row --ps-protocol --mysqld=--binlog-format=row --experimental=collections/default.experimental
-perl mysql-test-run.pl --timer --force --parallel=auto --comment=embedded --embedded --experimental=collections/default.experimental
-perl mysql-test-run.pl --timer --force --parallel=auto --comment=rpl_binlog_row --suite=rpl,binlog --mysqld=--binlog-format=row --experimental=collections/default.experimental
-perl mysql-test-run.pl --timer --force --parallel=auto --comment=funcs_1 --suite=funcs_1 --experimental=collections/default.experimental
+perl mysql-test-run.pl --timer --force --parallel=auto --comment=n_mix --vardir=var-n_mix --mysqld=--binlog-format=mixed --experimental=collections/default.experimental
+perl mysql-test-run.pl --timer --force --parallel=auto --comment=ps_row --vardir=var-ps_row --ps-protocol --mysqld=--binlog-format=row --experimental=collections/default.experimental
+perl mysql-test-run.pl --timer --force --parallel=auto --comment=embedded --vardir=var-emebbed --embedded --experimental=collections/default.experimental
+perl mysql-test-run.pl --timer --force --parallel=auto --comment=rpl_binlog_row --vardir=var-rpl_binlog_row --suite=rpl,binlog --mysqld=--binlog-format=row --experimental=collections/default.experimental
+perl mysql-test-run.pl --timer --force --parallel=auto --comment=funcs_1 --vardir=var-funcs_1 --suite=funcs_1 --experimental=collections/default.experimental
=== modified file 'mysql-test/lib/mtr_cases.pm'
--- mysql-test/lib/mtr_cases.pm 2009-07-30 12:42:56 +0000
+++ mysql-test/lib/mtr_cases.pm 2009-08-12 12:46:12 +0000
@@ -494,6 +494,7 @@ sub collect_one_suite($)
next if ($test->{'skip'} || !$test->{'innodb_test'});
# Exceptions
next if ($test->{'name'} eq 'main.innodb'); # Failed with wrong errno (fk)
+ next if ($test->{'name'} eq 'main.index_merge_innodb'); # Explain diff
# innodb_file_per_table is rw with innodb_plugin
next if ($test->{'name'} eq 'sys_vars.innodb_file_per_table_basic');
# innodb_lock_wait_timeout is rw with innodb_plugin
=== modified file 'storage/innodb_plugin/include/btr0cur.h'
--- storage/innodb_plugin/include/btr0cur.h 2009-05-27 09:45:59 +0000
+++ storage/innodb_plugin/include/btr0cur.h 2009-08-12 19:43:20 +0000
@@ -618,7 +618,7 @@ enum btr_cur_method {
hash_node, and might be necessary to
update */
BTR_CUR_BINARY, /*!< success using the binary search */
- BTR_CUR_INSERT_TO_IBUF, /*!< performed the intended insert to
+ BTR_CUR_INSERT_TO_IBUF /*!< performed the intended insert to
the insert buffer */
};
=== modified file 'storage/innodb_plugin/include/trx0types.h'
--- storage/innodb_plugin/include/trx0types.h 2009-07-30 12:42:56 +0000
+++ storage/innodb_plugin/include/trx0types.h 2009-08-12 19:43:20 +0000
@@ -70,7 +70,7 @@ typedef struct trx_named_savept_struct t
enum trx_rb_ctx {
RB_NONE = 0, /*!< no rollback */
RB_NORMAL, /*!< normal rollback */
- RB_RECOVERY, /*!< rolling back an incomplete transaction,
+ RB_RECOVERY /*!< rolling back an incomplete transaction,
in crash recovery */
};
=== modified file 'support-files/mysql.spec.sh'
--- support-files/mysql.spec.sh 2009-05-27 15:14:09 +0000
+++ support-files/mysql.spec.sh 2009-08-24 09:13:34 +0000
@@ -31,6 +31,20 @@
%{?_with_yassl:%define YASSL_BUILD 1}
%{!?_with_yassl:%define YASSL_BUILD 0}
+# ----------------------------------------------------------------------
+# use "rpmbuild --with bundled_zlib" or "rpm --define '_with_bundled_zlib 1'"
+# (for RPM 3.x) to build using the bundled zlib (off by default)
+# ----------------------------------------------------------------------
+%{?_with_bundled_zlib:%define WITH_BUNDLED_ZLIB 1}
+%{!?_with_bundled_zlib:%define WITH_BUNDLED_ZLIB 0}
+
+# ----------------------------------------------------------------------
+# use "rpmbuild --without innodb_plugin" or "rpm --define '_without_innodb_plugin 1'"
+# (for RPM 3.x) to not build the innodb plugin (on by default with innodb builds)
+# ----------------------------------------------------------------------
+%{?_without_innodb_plugin:%define WITHOUT_INNODB_PLUGIN 1}
+%{!?_without_innodb_plugin:%define WITHOUT_INNODB_PLUGIN 0}
+
# use "rpmbuild --with cluster" or "rpm --define '_with_cluster 1'" (for RPM 3.x)
# to build with cluster support (off by default)
%{?_with_cluster:%define CLUSTER_BUILD 1}
@@ -292,6 +306,9 @@ sh -c "PATH=\"${MYSQL_BUILD_PATH:-$PATH
--enable-thread-safe-client \
--with-readline \
--with-innodb \
+%if %{WITHOUT_INNODB_PLUGIN}
+ --without-plugin-innodb_plugin \
+%endif
%if %{CLUSTER_BUILD}
--with-ndbcluster \
%else
@@ -301,8 +318,13 @@ sh -c "PATH=\"${MYSQL_BUILD_PATH:-$PATH
--with-csv-storage-engine \
--with-blackhole-storage-engine \
--with-federated-storage-engine \
+ --without-plugin-daemon_example \
+ --without-plugin-example \
--with-partition \
--with-big-tables \
+%if %{WITH_BUNDLED_ZLIB}
+ --with-zlib-dir=bundled \
+%endif
--enable-shared \
"
make
@@ -426,7 +448,7 @@ install -d $RBR%{_sbindir}
# Install all binaries
-(cd $MBD && make install DESTDIR=$RBR benchdir_root=%{_datadir})
+(cd $MBD && make install DESTDIR=$RBR testroot=%{_datadir})
# Old packages put shared libs in %{_libdir}/ (not %{_libdir}/mysql), so do
# the same here.
mv $RBR/%{_libdir}/mysql/*.so* $RBR/%{_libdir}/
@@ -693,6 +715,8 @@ fi
%attr(755, root, root) %{_bindir}/resolve_stack_dump
%attr(755, root, root) %{_bindir}/resolveip
+%attr(755, root, root) %{_libdir}/plugin/*.so*
+
%attr(755, root, root) %{_sbindir}/mysqld
%attr(755, root, root) %{_sbindir}/mysqld-debug
%attr(755, root, root) %{_sbindir}/mysqlmanager
@@ -818,6 +842,8 @@ fi
%{_libdir}/mysql/libvio.a
%{_libdir}/mysql/libz.a
%{_libdir}/mysql/libz.la
+%{_libdir}/plugin/*.a
+%{_libdir}/plugin/*.la
%files shared
%defattr(-, root, root, 0755)
@@ -847,6 +873,19 @@ fi
# itself - note that they must be ordered by date (important when
# merging BK trees)
%changelog
+* Mon Aug 24 2009 Jonathan Perkin <jperkin(a)sun.com>
+
+- Add conditionals for bundled zlib and innodb plugin
+
+* Fri Aug 21 2009 Jonathan Perkin <jperkin(a)sun.com>
+
+- Install plugin libraries in appropriate packages.
+- Disable example plugins.
+
+* Thu Aug 20 2009 Jonathan Perkin <jperkin@stripped>
+
+- Update variable used for mysql-test suite location to match source.
+
* Fri Nov 07 2008 Joerg Bruehe <joerg(a)mysql.com>
- Correct yesterday's fix, so that it also works for the last flag,
1
0
[Maria-developers] Updated (by Guest): Add a mysqlbinlog option to change the used database (36)
by worklog-noreplyï¼ askmonty.org 15 Sep '09
by worklog-noreplyï¼ askmonty.org 15 Sep '09
15 Sep '09
-----------------------------------------------------------------------
WORKLOG TASK
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
TASK...........: Add a mysqlbinlog option to change the used database
CREATION DATE..: Fri, 07 Aug 2009, 14:57
SUPERVISOR.....: Monty
IMPLEMENTOR....:
COPIES TO......:
CATEGORY.......: Server-RawIdeaBin
TASK ID........: 36 (http://askmonty.org/worklog/?tid=36)
VERSION........: Server-9.x
STATUS.........: Un-Assigned
PRIORITY.......: 60
WORKED HOURS...: 0
ESTIMATE.......: 0 (hours remain)
ORIG. ESTIMATE.: 0
PROGRESS NOTES:
-=-=(Guest - Tue, 15 Sep 2009, 12:12)=-=-
Low Level Design modified.
--- /tmp/wklog.36.old.3961 2009-09-15 12:12:26.000000000 +0300
+++ /tmp/wklog.36.new.3961 2009-09-15 12:12:26.000000000 +0300
@@ -144,6 +144,8 @@
3. Supporting rewrite-db for SBR events
---------------------------------------
+Limited to emiting USE <db_to> instead of USE <db_from>.
+
USE statements can be emited by mysqlbinlog as a result of processing the
following events (see process_event() function):
-=-=(Guest - Tue, 15 Sep 2009, 12:08)=-=-
Low Level Design modified.
--- /tmp/wklog.36.old.3794 2009-09-15 12:08:54.000000000 +0300
+++ /tmp/wklog.36.new.3794 2009-09-15 12:08:54.000000000 +0300
@@ -1 +1,229 @@
+Content
+-------
+1. Adding rewrite-db option
+2. Supporting rewrite-db option for RBR events
+3. Supporting rewrite-db option for SBR events
+ (Limited to affecting only USE statements)
+4. Current status
+
+1. Adding rewrite-db option
+---------------------------
+
+1.1. Syntax:
+ --rewrite-db='db_from->db_to'
+
+1.2. Add 'OPT_REWRITE_DB' to 'options_client' (in client_priv.h).
+
+1.3. In mysqlbinlog.cc:
+
+- Add { "rewrite-db", OPT_REWRITE_DB, ...} record to my_long_options:
+- Add Rpl_filter object to mysqlbinlog.cc
+
+ Rpl_filter* binlog_filter;
+
+- Add corresponding switch case to get_one_option():
+
+ case OPT_REWRITE_DB:
+ <extract db-from and db-to strings>
+ binlog_filter->add_db_rewrite(db_from, db_to);
+ break;
+ .
+Note. To make Rpl_filter usable in a MYSQL_CLIENT context, few small
+additional changes are required:
+
+- In sql_list.cc/h, Sql_alloc::new(size_t) and Sql_alloc::new[](size_t)
+ uses sql_alloc() which is THD dependent. These are to be modified
+ as follows:
+
+ #ifdef MYSQL_CLIENT
+ extern MEM_ROOT sql_list_client_mem_root; // defined in sql_list.cc
+ #endif
+
+ class Sql_alloc
+ { ...
+ static void *operator new(size_t size) throw ()
+ {
+ #ifndef MYSQL_CLIENT
+ return sql_alloc(size);
+ #else
+ return alloc_root(&sql_list_client_mem_root, size);
+ #endif
+ }
+ static void *operator new[](size_t size) throw ()
+ {
+ #ifndef MYSQL_CLIENT
+ return sql_alloc(size);
+ #else
+ return alloc_root(&sql_list_client_mem_root, size);
+ #endif
+ }
+ ...
+ }
+
+- In rpl_filter.cc:
+
+ Rpl_filter::Rpl_filter() :
+ ...
+ {
+ #ifdef MYSQL_CLIENT
+ init_alloc_root(&sql_list_client_mem_root, ...);
+ #endif
+ ...
+ }
+
+ Rpl_filter::~Rpl_filter()
+ { ...
+ #ifdef MYSQL_CLIENT
+ free_root(&sql_list_client_mem_root, ...);
+ #endif
+ }
+
+2. Supporting rewrite-db for RBR events
+---------------------------------------
+
+In binlog, each row operation event is preceded by Table map event(s) which maps
+table id(s) to database and table names. So, it's enough to support rewriting
+database name in a Table map.
+
+2.1. Add rewrite_db() member to Table_map_log_event:
+
+ int Table_map_log_event::rewrite_db(
+ const char* new_db,
+ size_t new_db_len,
+ const Format_description_log_event* desc)
+ {
+ /* 1. In temp_buf member (possibly reallocating it) rewrite
+ event length, db length, and db parts
+ 2. Change m_dblen and m_dbnam members
+ */
+ }
+
+Comment. This function assumes that temp_buf member contains Table map
+binlog representaion (temp_buf is used for creating corresponding
+BINLOG statement).
+
+2.2. In mysqlbinlog modify corresponding switch case in the
+process_event() function:
+
+ Exit_status process_event(
+ PRINT_EVENT_INFO *print_event_info,
+ Log_event *ev, ...)
+ {
+ ...
+ switch (ev_type) {
+ ...
+ case TABLE_MAP_EVENT:
+ {
+ Table_map_log_event *map= ((Table_map_log_event *)ev);
+ if (shall_skip_database(map->get_db_name()))
+ { ...
+ }
+ // WL36
+ size_t new_len= 0;
+ const char* new_db= binlog_filter->get_rewrite_db(
+ map->get_db_name(), &new_len);
+ if (new_len && map->rewrite_db(new_db, new_len,
+ glob_description_event))
+ { error("Could not rewrite database name");
+ goto err;
+ }
+ }
+ case WRITE_ROWS_EVENT:
+ case DELETE_ROWS_EVENT:
+ case UPDATE_ROWS_EVENT:
+ ...
+ }
+ ...
+ }
+
+Comment. Rpl_filter::get_rewrite_db(db_from, &len): if filter contains
+a (db_from, db_to) pair, this function returns pointer to db_to and
+sets len = db_to length; otherwise, it returns db_from and does not
+change len value.
+
+3. Supporting rewrite-db for SBR events
+---------------------------------------
+
+USE statements can be emited by mysqlbinlog as a result of processing the
+following events (see process_event() function):
+
+- Query_log_event
+- Execute_load_query_log_event
+- Create_file_log_event
+
+TODO. Needed to check this list requires carefully !!!
+
+Conditions for emiting use-statement:
+- LOG_EVENT_SUPPRESS_USE_F is OFF for the event
+ (e.g. it is ON for 'create database' statement)
+- event's db name differs from db_name in PRINT_EVENT_INFO
+ (PRINT_EVENT_INFO keeps db name of the last issued USE statement;
+ initially, this db name is empty).
+
+3.1. In mysqlbinlog.cc
+
+- Add the following function:
+
+ void print_use_stmt(Log_event* event, PRINT_EVENT_INFO* pinfo)
+ {
+ if (event->flags & LOG_EVENT_SUPPRESS_USE_F)
+ return;
+ /*
+ - For events listed above get db_from = event->db;
+ - If db_from is the same as pinfo->db then return;
+ - If there is rewrite-db rule db_from->db_to,
+ set db = db_to. Else set db = db_from;
+ - Print "use <db>" to mysqlbinlog output
+ - Set pinfo->db = db_from
+ (this suppresses emiting use-statements by corresponding
+ log_event's print-function)
+ */
+ }
+
+- In process_event() function add print_use_stmt() invocations where
+ needed (according to the events lis above), e.g.:
+
+ Exit_status process_event(
+ PRINT_EVENT_INFO *print_event_info,
+ Log_event *ev, ...)
+ {
+ ...
+ switch (ev_type) {
+ case QUERY_EVENT:
+ if (shall_skip_database(((Query_log_event*)ev)->db))
+ goto end;
+ if (opt_base64_output_mode == BASE64_OUTPUT_ALWAYS)
+ {
+ // Possibly in case of rewite-db rule for ev->db
+ // a warning should be emited here (see note below)
+ ... write_event_header_and_base64(ev, ...) ...
+ }
+ else
+ {
+ print_use_stmt((Query_log_event*)ev, print_event_info);
+ ev->print(result_file, print_event_info);
+ }
+ break;
+ ...
+ }
+ ...
+ }
+
+Note. write_event_header_and_base64() does not print use-statement. It
+produces BINLOG statement using ev->temp_buf content (i.e. the binary
+log representation of the event). We don't rewrite temp_buf here with
+db_to name (as we do it for Table map event) - this implies the
+limitation 3 mentioned above.
+Question: Is supporting of rewite_db + --base64-output really needed
+currently?
+
+4. Current status
+-----------------
+
+The outlined design (implemented for mysql-5.1.37) is tested for
+simple test-cases.
+
+TODO. 1. Check list of events which can emit use-statement.
+ 2. Supporting of rewite_db + --base64-output ?
+
-=-=(Guest - Mon, 14 Sep 2009, 11:51)=-=-
Low Level Design modified.
--- /tmp/wklog.36.old.9711 2009-09-14 11:51:43.000000000 +0300
+++ /tmp/wklog.36.new.9711 2009-09-14 11:51:43.000000000 +0300
@@ -1 +1 @@
-Pay no attention: just check for having access
+
-=-=(Guest - Mon, 14 Sep 2009, 11:51)=-=-
Low Level Design modified.
--- /tmp/wklog.36.old.9678 2009-09-14 11:51:28.000000000 +0300
+++ /tmp/wklog.36.new.9678 2009-09-14 11:51:28.000000000 +0300
@@ -1 +1 @@
-
+Pay no attention: just check for having access
-=-=(Knielsen - Mon, 17 Aug 2009, 12:44)=-=-
High-Level Specification modified.
--- /tmp/wklog.36.old.7834 2009-08-17 12:44:17.000000000 +0300
+++ /tmp/wklog.36.new.7834 2009-08-17 12:44:17.000000000 +0300
@@ -13,7 +13,9 @@
statement refers to tables in current database, so that changing the current
database will make the statement to work on a table in a different database).
-See also MySQL BUG#42941.
+See also MySQL BUG#42941. Note this bug is fixed in MySQL 5.1.37, which is not
+merged into MariaDB at the time of writing, but planned to be merged before
+release.
What we could do
----------------
-=-=(Guest - Sun, 16 Aug 2009, 17:11)=-=-
High-Level Specification modified.
--- /tmp/wklog.36.old.27162 2009-08-16 17:11:12.000000000 +0300
+++ /tmp/wklog.36.new.27162 2009-08-16 17:11:12.000000000 +0300
@@ -13,6 +13,8 @@
statement refers to tables in current database, so that changing the current
database will make the statement to work on a table in a different database).
+See also MySQL BUG#42941.
+
What we could do
----------------
-=-=(Psergey - Mon, 10 Aug 2009, 15:41)=-=-
High-Level Specification modified.
--- /tmp/wklog.36.old.13035 2009-08-10 15:41:51.000000000 +0300
+++ /tmp/wklog.36.new.13035 2009-08-10 15:41:51.000000000 +0300
@@ -1,5 +1,7 @@
Context
-------
+(See http://askmonty.org/wiki/index.php/Scratch/ReplicationOptions for global
+overview)
At the moment, the server has a replication slave option
--replicate-rewrite-db="from->to"
-=-=(Guest - Mon, 10 Aug 2009, 11:12)=-=-
High-Level Specification modified.
--- /tmp/wklog.36.old.6580 2009-08-10 11:12:36.000000000 +0300
+++ /tmp/wklog.36.new.6580 2009-08-10 11:12:36.000000000 +0300
@@ -1,4 +1,3 @@
-
Context
-------
At the moment, the server has a replication slave option
@@ -67,6 +66,6 @@
It will be possible to do the rewrites either on the slave (
--replicate-rewrite-db will work for all kinds of statements), or in
-mysqlbinlog (adding a comment is easy and doesn't require use to parse the
-statement).
+mysqlbinlog (adding a comment is easy and doesn't require mysqlbinlog to
+parse the statement).
-=-=(Psergey - Sun, 09 Aug 2009, 23:53)=-=-
High-Level Specification modified.
--- /tmp/wklog.36.old.13425 2009-08-09 23:53:54.000000000 +0300
+++ /tmp/wklog.36.new.13425 2009-08-09 23:53:54.000000000 +0300
@@ -1 +1,72 @@
+Context
+-------
+At the moment, the server has a replication slave option
+
+ --replicate-rewrite-db="from->to"
+
+the option affects
+- Table_map_log_event (all RBR events)
+- Load_log_event (LOAD DATA)
+- Query_log_event (SBR-based updates, with the usual assumption that the
+ statement refers to tables in current database, so that changing the current
+ database will make the statement to work on a table in a different database).
+
+What we could do
+----------------
+
+Option1: make mysqlbinlog accept --replicate-rewrite-db option
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+Make mysqlbinlog accept --replicate-rewrite-db options and process them to the
+same extent as replication slave would process --replicate-rewrite-db option.
+
+
+Option2: Add database-agnostic RBR events and --strip-db option
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+Right now RBR events require a databasename. It is not possible to have RBR
+event stream that won't mention which database the events are for. When I
+tried to use debugger and specify empty database name, attempt to apply the
+binlog resulted in this error:
+
+090809 17:38:44 [ERROR] Slave SQL: Error 'Table '.tablename' doesn't exist' on
+opening tables,
+
+We could do as follows:
+- Make the server interpret empty database name in RBR event (i.e. in a
+ Table_map_log_event) as "use current database". Binlog slave thread
+ probably should not allow such events as it doesn't have a natural current
+ database.
+- Add a mysqlbinlog --strip-db option that would
+ = not produce any "USE dbname" statements
+ = change databasename for all RBR events to be empty
+
+That way, mysqlbinlog output will be database-agnostic and apply to the
+current database.
+(this will have the usual limitations that we assume that all statements in
+the binlog refer to the current database).
+
+Option3: Enhance database rewrite
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+If there is a need to support database change for statements that use
+dbname.tablename notation and are replicated as statements (i.e. are DDL
+statements and/or DML statements that are binlogged as statements),
+then that could be supported as follows:
+
+- Make the server's parser recognize special form of comments
+
+ /* !database-alias(oldname,newname) */
+
+ and save the mapping somewhere
+
+- Put the hooks in table open and name resolution code to use the saved
+ mapping.
+
+
+Once we've done the above, it will be easy to perform a complete,
+no-compromise or restrictions database name change in binary log.
+
+It will be possible to do the rewrites either on the slave (
+--replicate-rewrite-db will work for all kinds of statements), or in
+mysqlbinlog (adding a comment is easy and doesn't require use to parse the
+statement).
+
-=-=(Psergey - Sun, 09 Aug 2009, 12:27)=-=-
Dependency created: 39 now depends on 36
------------------------------------------------------------
-=-=(View All Progress Notes, 11 total)=-=-
http://askmonty.org/worklog/index.pl?tid=36&nolimit=1
DESCRIPTION:
Sometimes there is a need to take a binary log and apply it to a database with
a different name than the original name of the database on binlog producer.
If one is using statement-based replication, he can achieve this by grepping
out "USE dbname" statements out of the output of mysqlbinlog(*). With
row-based replication this is no longer possible, as database name is encoded
within the the BINLOG '....' statement.
This task is about adding an option to mysqlbinlog that would allow to change
the names of used databases in both RBR and SBR events.
(*) this implies that all statements refer to tables in the current database,
doesn't catch updates made inside stored functions and so forth, but still
works for a practially-important subset of cases.
HIGH-LEVEL SPECIFICATION:
Context
-------
(See http://askmonty.org/wiki/index.php/Scratch/ReplicationOptions for global
overview)
At the moment, the server has a replication slave option
--replicate-rewrite-db="from->to"
the option affects
- Table_map_log_event (all RBR events)
- Load_log_event (LOAD DATA)
- Query_log_event (SBR-based updates, with the usual assumption that the
statement refers to tables in current database, so that changing the current
database will make the statement to work on a table in a different database).
See also MySQL BUG#42941. Note this bug is fixed in MySQL 5.1.37, which is not
merged into MariaDB at the time of writing, but planned to be merged before
release.
What we could do
----------------
Option1: make mysqlbinlog accept --replicate-rewrite-db option
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Make mysqlbinlog accept --replicate-rewrite-db options and process them to the
same extent as replication slave would process --replicate-rewrite-db option.
Option2: Add database-agnostic RBR events and --strip-db option
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Right now RBR events require a databasename. It is not possible to have RBR
event stream that won't mention which database the events are for. When I
tried to use debugger and specify empty database name, attempt to apply the
binlog resulted in this error:
090809 17:38:44 [ERROR] Slave SQL: Error 'Table '.tablename' doesn't exist' on
opening tables,
We could do as follows:
- Make the server interpret empty database name in RBR event (i.e. in a
Table_map_log_event) as "use current database". Binlog slave thread
probably should not allow such events as it doesn't have a natural current
database.
- Add a mysqlbinlog --strip-db option that would
= not produce any "USE dbname" statements
= change databasename for all RBR events to be empty
That way, mysqlbinlog output will be database-agnostic and apply to the
current database.
(this will have the usual limitations that we assume that all statements in
the binlog refer to the current database).
Option3: Enhance database rewrite
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
If there is a need to support database change for statements that use
dbname.tablename notation and are replicated as statements (i.e. are DDL
statements and/or DML statements that are binlogged as statements),
then that could be supported as follows:
- Make the server's parser recognize special form of comments
/* !database-alias(oldname,newname) */
and save the mapping somewhere
- Put the hooks in table open and name resolution code to use the saved
mapping.
Once we've done the above, it will be easy to perform a complete,
no-compromise or restrictions database name change in binary log.
It will be possible to do the rewrites either on the slave (
--replicate-rewrite-db will work for all kinds of statements), or in
mysqlbinlog (adding a comment is easy and doesn't require mysqlbinlog to
parse the statement).
LOW-LEVEL DESIGN:
Content
-------
1. Adding rewrite-db option
2. Supporting rewrite-db option for RBR events
3. Supporting rewrite-db option for SBR events
(Limited to affecting only USE statements)
4. Current status
1. Adding rewrite-db option
---------------------------
1.1. Syntax:
--rewrite-db='db_from->db_to'
1.2. Add 'OPT_REWRITE_DB' to 'options_client' (in client_priv.h).
1.3. In mysqlbinlog.cc:
- Add { "rewrite-db", OPT_REWRITE_DB, ...} record to my_long_options:
- Add Rpl_filter object to mysqlbinlog.cc
Rpl_filter* binlog_filter;
- Add corresponding switch case to get_one_option():
case OPT_REWRITE_DB:
<extract db-from and db-to strings>
binlog_filter->add_db_rewrite(db_from, db_to);
break;
.
Note. To make Rpl_filter usable in a MYSQL_CLIENT context, few small
additional changes are required:
- In sql_list.cc/h, Sql_alloc::new(size_t) and Sql_alloc::new[](size_t)
uses sql_alloc() which is THD dependent. These are to be modified
as follows:
#ifdef MYSQL_CLIENT
extern MEM_ROOT sql_list_client_mem_root; // defined in sql_list.cc
#endif
class Sql_alloc
{ ...
static void *operator new(size_t size) throw ()
{
#ifndef MYSQL_CLIENT
return sql_alloc(size);
#else
return alloc_root(&sql_list_client_mem_root, size);
#endif
}
static void *operator new[](size_t size) throw ()
{
#ifndef MYSQL_CLIENT
return sql_alloc(size);
#else
return alloc_root(&sql_list_client_mem_root, size);
#endif
}
...
}
- In rpl_filter.cc:
Rpl_filter::Rpl_filter() :
...
{
#ifdef MYSQL_CLIENT
init_alloc_root(&sql_list_client_mem_root, ...);
#endif
...
}
Rpl_filter::~Rpl_filter()
{ ...
#ifdef MYSQL_CLIENT
free_root(&sql_list_client_mem_root, ...);
#endif
}
2. Supporting rewrite-db for RBR events
---------------------------------------
In binlog, each row operation event is preceded by Table map event(s) which maps
table id(s) to database and table names. So, it's enough to support rewriting
database name in a Table map.
2.1. Add rewrite_db() member to Table_map_log_event:
int Table_map_log_event::rewrite_db(
const char* new_db,
size_t new_db_len,
const Format_description_log_event* desc)
{
/* 1. In temp_buf member (possibly reallocating it) rewrite
event length, db length, and db parts
2. Change m_dblen and m_dbnam members
*/
}
Comment. This function assumes that temp_buf member contains Table map
binlog representaion (temp_buf is used for creating corresponding
BINLOG statement).
2.2. In mysqlbinlog modify corresponding switch case in the
process_event() function:
Exit_status process_event(
PRINT_EVENT_INFO *print_event_info,
Log_event *ev, ...)
{
...
switch (ev_type) {
...
case TABLE_MAP_EVENT:
{
Table_map_log_event *map= ((Table_map_log_event *)ev);
if (shall_skip_database(map->get_db_name()))
{ ...
}
// WL36
size_t new_len= 0;
const char* new_db= binlog_filter->get_rewrite_db(
map->get_db_name(), &new_len);
if (new_len && map->rewrite_db(new_db, new_len,
glob_description_event))
{ error("Could not rewrite database name");
goto err;
}
}
case WRITE_ROWS_EVENT:
case DELETE_ROWS_EVENT:
case UPDATE_ROWS_EVENT:
...
}
...
}
Comment. Rpl_filter::get_rewrite_db(db_from, &len): if filter contains
a (db_from, db_to) pair, this function returns pointer to db_to and
sets len = db_to length; otherwise, it returns db_from and does not
change len value.
3. Supporting rewrite-db for SBR events
---------------------------------------
Limited to emiting USE <db_to> instead of USE <db_from>.
USE statements can be emited by mysqlbinlog as a result of processing the
following events (see process_event() function):
- Query_log_event
- Execute_load_query_log_event
- Create_file_log_event
TODO. Needed to check this list requires carefully !!!
Conditions for emiting use-statement:
- LOG_EVENT_SUPPRESS_USE_F is OFF for the event
(e.g. it is ON for 'create database' statement)
- event's db name differs from db_name in PRINT_EVENT_INFO
(PRINT_EVENT_INFO keeps db name of the last issued USE statement;
initially, this db name is empty).
3.1. In mysqlbinlog.cc
- Add the following function:
void print_use_stmt(Log_event* event, PRINT_EVENT_INFO* pinfo)
{
if (event->flags & LOG_EVENT_SUPPRESS_USE_F)
return;
/*
- For events listed above get db_from = event->db;
- If db_from is the same as pinfo->db then return;
- If there is rewrite-db rule db_from->db_to,
set db = db_to. Else set db = db_from;
- Print "use <db>" to mysqlbinlog output
- Set pinfo->db = db_from
(this suppresses emiting use-statements by corresponding
log_event's print-function)
*/
}
- In process_event() function add print_use_stmt() invocations where
needed (according to the events lis above), e.g.:
Exit_status process_event(
PRINT_EVENT_INFO *print_event_info,
Log_event *ev, ...)
{
...
switch (ev_type) {
case QUERY_EVENT:
if (shall_skip_database(((Query_log_event*)ev)->db))
goto end;
if (opt_base64_output_mode == BASE64_OUTPUT_ALWAYS)
{
// Possibly in case of rewite-db rule for ev->db
// a warning should be emited here (see note below)
... write_event_header_and_base64(ev, ...) ...
}
else
{
print_use_stmt((Query_log_event*)ev, print_event_info);
ev->print(result_file, print_event_info);
}
break;
...
}
...
}
Note. write_event_header_and_base64() does not print use-statement. It
produces BINLOG statement using ev->temp_buf content (i.e. the binary
log representation of the event). We don't rewrite temp_buf here with
db_to name (as we do it for Table map event) - this implies the
limitation 3 mentioned above.
Question: Is supporting of rewite_db + --base64-output really needed
currently?
4. Current status
-----------------
The outlined design (implemented for mysql-5.1.37) is tested for
simple test-cases.
TODO. 1. Check list of events which can emit use-statement.
2. Supporting of rewite_db + --base64-output ?
ESTIMATED WORK TIME
ESTIMATED COMPLETION DATE
-----------------------------------------------------------------------
WorkLog (v3.5.9)
1
0
[Maria-developers] Updated (by Guest): Add a mysqlbinlog option to change the used database (36)
by worklog-noreplyï¼ askmonty.org 15 Sep '09
by worklog-noreplyï¼ askmonty.org 15 Sep '09
15 Sep '09
-----------------------------------------------------------------------
WORKLOG TASK
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
TASK...........: Add a mysqlbinlog option to change the used database
CREATION DATE..: Fri, 07 Aug 2009, 14:57
SUPERVISOR.....: Monty
IMPLEMENTOR....:
COPIES TO......:
CATEGORY.......: Server-RawIdeaBin
TASK ID........: 36 (http://askmonty.org/worklog/?tid=36)
VERSION........: Server-9.x
STATUS.........: Un-Assigned
PRIORITY.......: 60
WORKED HOURS...: 0
ESTIMATE.......: 0 (hours remain)
ORIG. ESTIMATE.: 0
PROGRESS NOTES:
-=-=(Guest - Tue, 15 Sep 2009, 12:12)=-=-
Low Level Design modified.
--- /tmp/wklog.36.old.3961 2009-09-15 12:12:26.000000000 +0300
+++ /tmp/wklog.36.new.3961 2009-09-15 12:12:26.000000000 +0300
@@ -144,6 +144,8 @@
3. Supporting rewrite-db for SBR events
---------------------------------------
+Limited to emiting USE <db_to> instead of USE <db_from>.
+
USE statements can be emited by mysqlbinlog as a result of processing the
following events (see process_event() function):
-=-=(Guest - Tue, 15 Sep 2009, 12:08)=-=-
Low Level Design modified.
--- /tmp/wklog.36.old.3794 2009-09-15 12:08:54.000000000 +0300
+++ /tmp/wklog.36.new.3794 2009-09-15 12:08:54.000000000 +0300
@@ -1 +1,229 @@
+Content
+-------
+1. Adding rewrite-db option
+2. Supporting rewrite-db option for RBR events
+3. Supporting rewrite-db option for SBR events
+ (Limited to affecting only USE statements)
+4. Current status
+
+1. Adding rewrite-db option
+---------------------------
+
+1.1. Syntax:
+ --rewrite-db='db_from->db_to'
+
+1.2. Add 'OPT_REWRITE_DB' to 'options_client' (in client_priv.h).
+
+1.3. In mysqlbinlog.cc:
+
+- Add { "rewrite-db", OPT_REWRITE_DB, ...} record to my_long_options:
+- Add Rpl_filter object to mysqlbinlog.cc
+
+ Rpl_filter* binlog_filter;
+
+- Add corresponding switch case to get_one_option():
+
+ case OPT_REWRITE_DB:
+ <extract db-from and db-to strings>
+ binlog_filter->add_db_rewrite(db_from, db_to);
+ break;
+ .
+Note. To make Rpl_filter usable in a MYSQL_CLIENT context, few small
+additional changes are required:
+
+- In sql_list.cc/h, Sql_alloc::new(size_t) and Sql_alloc::new[](size_t)
+ uses sql_alloc() which is THD dependent. These are to be modified
+ as follows:
+
+ #ifdef MYSQL_CLIENT
+ extern MEM_ROOT sql_list_client_mem_root; // defined in sql_list.cc
+ #endif
+
+ class Sql_alloc
+ { ...
+ static void *operator new(size_t size) throw ()
+ {
+ #ifndef MYSQL_CLIENT
+ return sql_alloc(size);
+ #else
+ return alloc_root(&sql_list_client_mem_root, size);
+ #endif
+ }
+ static void *operator new[](size_t size) throw ()
+ {
+ #ifndef MYSQL_CLIENT
+ return sql_alloc(size);
+ #else
+ return alloc_root(&sql_list_client_mem_root, size);
+ #endif
+ }
+ ...
+ }
+
+- In rpl_filter.cc:
+
+ Rpl_filter::Rpl_filter() :
+ ...
+ {
+ #ifdef MYSQL_CLIENT
+ init_alloc_root(&sql_list_client_mem_root, ...);
+ #endif
+ ...
+ }
+
+ Rpl_filter::~Rpl_filter()
+ { ...
+ #ifdef MYSQL_CLIENT
+ free_root(&sql_list_client_mem_root, ...);
+ #endif
+ }
+
+2. Supporting rewrite-db for RBR events
+---------------------------------------
+
+In binlog, each row operation event is preceded by Table map event(s) which maps
+table id(s) to database and table names. So, it's enough to support rewriting
+database name in a Table map.
+
+2.1. Add rewrite_db() member to Table_map_log_event:
+
+ int Table_map_log_event::rewrite_db(
+ const char* new_db,
+ size_t new_db_len,
+ const Format_description_log_event* desc)
+ {
+ /* 1. In temp_buf member (possibly reallocating it) rewrite
+ event length, db length, and db parts
+ 2. Change m_dblen and m_dbnam members
+ */
+ }
+
+Comment. This function assumes that temp_buf member contains Table map
+binlog representaion (temp_buf is used for creating corresponding
+BINLOG statement).
+
+2.2. In mysqlbinlog modify corresponding switch case in the
+process_event() function:
+
+ Exit_status process_event(
+ PRINT_EVENT_INFO *print_event_info,
+ Log_event *ev, ...)
+ {
+ ...
+ switch (ev_type) {
+ ...
+ case TABLE_MAP_EVENT:
+ {
+ Table_map_log_event *map= ((Table_map_log_event *)ev);
+ if (shall_skip_database(map->get_db_name()))
+ { ...
+ }
+ // WL36
+ size_t new_len= 0;
+ const char* new_db= binlog_filter->get_rewrite_db(
+ map->get_db_name(), &new_len);
+ if (new_len && map->rewrite_db(new_db, new_len,
+ glob_description_event))
+ { error("Could not rewrite database name");
+ goto err;
+ }
+ }
+ case WRITE_ROWS_EVENT:
+ case DELETE_ROWS_EVENT:
+ case UPDATE_ROWS_EVENT:
+ ...
+ }
+ ...
+ }
+
+Comment. Rpl_filter::get_rewrite_db(db_from, &len): if filter contains
+a (db_from, db_to) pair, this function returns pointer to db_to and
+sets len = db_to length; otherwise, it returns db_from and does not
+change len value.
+
+3. Supporting rewrite-db for SBR events
+---------------------------------------
+
+USE statements can be emited by mysqlbinlog as a result of processing the
+following events (see process_event() function):
+
+- Query_log_event
+- Execute_load_query_log_event
+- Create_file_log_event
+
+TODO. Needed to check this list requires carefully !!!
+
+Conditions for emiting use-statement:
+- LOG_EVENT_SUPPRESS_USE_F is OFF for the event
+ (e.g. it is ON for 'create database' statement)
+- event's db name differs from db_name in PRINT_EVENT_INFO
+ (PRINT_EVENT_INFO keeps db name of the last issued USE statement;
+ initially, this db name is empty).
+
+3.1. In mysqlbinlog.cc
+
+- Add the following function:
+
+ void print_use_stmt(Log_event* event, PRINT_EVENT_INFO* pinfo)
+ {
+ if (event->flags & LOG_EVENT_SUPPRESS_USE_F)
+ return;
+ /*
+ - For events listed above get db_from = event->db;
+ - If db_from is the same as pinfo->db then return;
+ - If there is rewrite-db rule db_from->db_to,
+ set db = db_to. Else set db = db_from;
+ - Print "use <db>" to mysqlbinlog output
+ - Set pinfo->db = db_from
+ (this suppresses emiting use-statements by corresponding
+ log_event's print-function)
+ */
+ }
+
+- In process_event() function add print_use_stmt() invocations where
+ needed (according to the events lis above), e.g.:
+
+ Exit_status process_event(
+ PRINT_EVENT_INFO *print_event_info,
+ Log_event *ev, ...)
+ {
+ ...
+ switch (ev_type) {
+ case QUERY_EVENT:
+ if (shall_skip_database(((Query_log_event*)ev)->db))
+ goto end;
+ if (opt_base64_output_mode == BASE64_OUTPUT_ALWAYS)
+ {
+ // Possibly in case of rewite-db rule for ev->db
+ // a warning should be emited here (see note below)
+ ... write_event_header_and_base64(ev, ...) ...
+ }
+ else
+ {
+ print_use_stmt((Query_log_event*)ev, print_event_info);
+ ev->print(result_file, print_event_info);
+ }
+ break;
+ ...
+ }
+ ...
+ }
+
+Note. write_event_header_and_base64() does not print use-statement. It
+produces BINLOG statement using ev->temp_buf content (i.e. the binary
+log representation of the event). We don't rewrite temp_buf here with
+db_to name (as we do it for Table map event) - this implies the
+limitation 3 mentioned above.
+Question: Is supporting of rewite_db + --base64-output really needed
+currently?
+
+4. Current status
+-----------------
+
+The outlined design (implemented for mysql-5.1.37) is tested for
+simple test-cases.
+
+TODO. 1. Check list of events which can emit use-statement.
+ 2. Supporting of rewite_db + --base64-output ?
+
-=-=(Guest - Mon, 14 Sep 2009, 11:51)=-=-
Low Level Design modified.
--- /tmp/wklog.36.old.9711 2009-09-14 11:51:43.000000000 +0300
+++ /tmp/wklog.36.new.9711 2009-09-14 11:51:43.000000000 +0300
@@ -1 +1 @@
-Pay no attention: just check for having access
+
-=-=(Guest - Mon, 14 Sep 2009, 11:51)=-=-
Low Level Design modified.
--- /tmp/wklog.36.old.9678 2009-09-14 11:51:28.000000000 +0300
+++ /tmp/wklog.36.new.9678 2009-09-14 11:51:28.000000000 +0300
@@ -1 +1 @@
-
+Pay no attention: just check for having access
-=-=(Knielsen - Mon, 17 Aug 2009, 12:44)=-=-
High-Level Specification modified.
--- /tmp/wklog.36.old.7834 2009-08-17 12:44:17.000000000 +0300
+++ /tmp/wklog.36.new.7834 2009-08-17 12:44:17.000000000 +0300
@@ -13,7 +13,9 @@
statement refers to tables in current database, so that changing the current
database will make the statement to work on a table in a different database).
-See also MySQL BUG#42941.
+See also MySQL BUG#42941. Note this bug is fixed in MySQL 5.1.37, which is not
+merged into MariaDB at the time of writing, but planned to be merged before
+release.
What we could do
----------------
-=-=(Guest - Sun, 16 Aug 2009, 17:11)=-=-
High-Level Specification modified.
--- /tmp/wklog.36.old.27162 2009-08-16 17:11:12.000000000 +0300
+++ /tmp/wklog.36.new.27162 2009-08-16 17:11:12.000000000 +0300
@@ -13,6 +13,8 @@
statement refers to tables in current database, so that changing the current
database will make the statement to work on a table in a different database).
+See also MySQL BUG#42941.
+
What we could do
----------------
-=-=(Psergey - Mon, 10 Aug 2009, 15:41)=-=-
High-Level Specification modified.
--- /tmp/wklog.36.old.13035 2009-08-10 15:41:51.000000000 +0300
+++ /tmp/wklog.36.new.13035 2009-08-10 15:41:51.000000000 +0300
@@ -1,5 +1,7 @@
Context
-------
+(See http://askmonty.org/wiki/index.php/Scratch/ReplicationOptions for global
+overview)
At the moment, the server has a replication slave option
--replicate-rewrite-db="from->to"
-=-=(Guest - Mon, 10 Aug 2009, 11:12)=-=-
High-Level Specification modified.
--- /tmp/wklog.36.old.6580 2009-08-10 11:12:36.000000000 +0300
+++ /tmp/wklog.36.new.6580 2009-08-10 11:12:36.000000000 +0300
@@ -1,4 +1,3 @@
-
Context
-------
At the moment, the server has a replication slave option
@@ -67,6 +66,6 @@
It will be possible to do the rewrites either on the slave (
--replicate-rewrite-db will work for all kinds of statements), or in
-mysqlbinlog (adding a comment is easy and doesn't require use to parse the
-statement).
+mysqlbinlog (adding a comment is easy and doesn't require mysqlbinlog to
+parse the statement).
-=-=(Psergey - Sun, 09 Aug 2009, 23:53)=-=-
High-Level Specification modified.
--- /tmp/wklog.36.old.13425 2009-08-09 23:53:54.000000000 +0300
+++ /tmp/wklog.36.new.13425 2009-08-09 23:53:54.000000000 +0300
@@ -1 +1,72 @@
+Context
+-------
+At the moment, the server has a replication slave option
+
+ --replicate-rewrite-db="from->to"
+
+the option affects
+- Table_map_log_event (all RBR events)
+- Load_log_event (LOAD DATA)
+- Query_log_event (SBR-based updates, with the usual assumption that the
+ statement refers to tables in current database, so that changing the current
+ database will make the statement to work on a table in a different database).
+
+What we could do
+----------------
+
+Option1: make mysqlbinlog accept --replicate-rewrite-db option
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+Make mysqlbinlog accept --replicate-rewrite-db options and process them to the
+same extent as replication slave would process --replicate-rewrite-db option.
+
+
+Option2: Add database-agnostic RBR events and --strip-db option
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+Right now RBR events require a databasename. It is not possible to have RBR
+event stream that won't mention which database the events are for. When I
+tried to use debugger and specify empty database name, attempt to apply the
+binlog resulted in this error:
+
+090809 17:38:44 [ERROR] Slave SQL: Error 'Table '.tablename' doesn't exist' on
+opening tables,
+
+We could do as follows:
+- Make the server interpret empty database name in RBR event (i.e. in a
+ Table_map_log_event) as "use current database". Binlog slave thread
+ probably should not allow such events as it doesn't have a natural current
+ database.
+- Add a mysqlbinlog --strip-db option that would
+ = not produce any "USE dbname" statements
+ = change databasename for all RBR events to be empty
+
+That way, mysqlbinlog output will be database-agnostic and apply to the
+current database.
+(this will have the usual limitations that we assume that all statements in
+the binlog refer to the current database).
+
+Option3: Enhance database rewrite
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+If there is a need to support database change for statements that use
+dbname.tablename notation and are replicated as statements (i.e. are DDL
+statements and/or DML statements that are binlogged as statements),
+then that could be supported as follows:
+
+- Make the server's parser recognize special form of comments
+
+ /* !database-alias(oldname,newname) */
+
+ and save the mapping somewhere
+
+- Put the hooks in table open and name resolution code to use the saved
+ mapping.
+
+
+Once we've done the above, it will be easy to perform a complete,
+no-compromise or restrictions database name change in binary log.
+
+It will be possible to do the rewrites either on the slave (
+--replicate-rewrite-db will work for all kinds of statements), or in
+mysqlbinlog (adding a comment is easy and doesn't require use to parse the
+statement).
+
-=-=(Psergey - Sun, 09 Aug 2009, 12:27)=-=-
Dependency created: 39 now depends on 36
------------------------------------------------------------
-=-=(View All Progress Notes, 11 total)=-=-
http://askmonty.org/worklog/index.pl?tid=36&nolimit=1
DESCRIPTION:
Sometimes there is a need to take a binary log and apply it to a database with
a different name than the original name of the database on binlog producer.
If one is using statement-based replication, he can achieve this by grepping
out "USE dbname" statements out of the output of mysqlbinlog(*). With
row-based replication this is no longer possible, as database name is encoded
within the the BINLOG '....' statement.
This task is about adding an option to mysqlbinlog that would allow to change
the names of used databases in both RBR and SBR events.
(*) this implies that all statements refer to tables in the current database,
doesn't catch updates made inside stored functions and so forth, but still
works for a practially-important subset of cases.
HIGH-LEVEL SPECIFICATION:
Context
-------
(See http://askmonty.org/wiki/index.php/Scratch/ReplicationOptions for global
overview)
At the moment, the server has a replication slave option
--replicate-rewrite-db="from->to"
the option affects
- Table_map_log_event (all RBR events)
- Load_log_event (LOAD DATA)
- Query_log_event (SBR-based updates, with the usual assumption that the
statement refers to tables in current database, so that changing the current
database will make the statement to work on a table in a different database).
See also MySQL BUG#42941. Note this bug is fixed in MySQL 5.1.37, which is not
merged into MariaDB at the time of writing, but planned to be merged before
release.
What we could do
----------------
Option1: make mysqlbinlog accept --replicate-rewrite-db option
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Make mysqlbinlog accept --replicate-rewrite-db options and process them to the
same extent as replication slave would process --replicate-rewrite-db option.
Option2: Add database-agnostic RBR events and --strip-db option
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Right now RBR events require a databasename. It is not possible to have RBR
event stream that won't mention which database the events are for. When I
tried to use debugger and specify empty database name, attempt to apply the
binlog resulted in this error:
090809 17:38:44 [ERROR] Slave SQL: Error 'Table '.tablename' doesn't exist' on
opening tables,
We could do as follows:
- Make the server interpret empty database name in RBR event (i.e. in a
Table_map_log_event) as "use current database". Binlog slave thread
probably should not allow such events as it doesn't have a natural current
database.
- Add a mysqlbinlog --strip-db option that would
= not produce any "USE dbname" statements
= change databasename for all RBR events to be empty
That way, mysqlbinlog output will be database-agnostic and apply to the
current database.
(this will have the usual limitations that we assume that all statements in
the binlog refer to the current database).
Option3: Enhance database rewrite
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
If there is a need to support database change for statements that use
dbname.tablename notation and are replicated as statements (i.e. are DDL
statements and/or DML statements that are binlogged as statements),
then that could be supported as follows:
- Make the server's parser recognize special form of comments
/* !database-alias(oldname,newname) */
and save the mapping somewhere
- Put the hooks in table open and name resolution code to use the saved
mapping.
Once we've done the above, it will be easy to perform a complete,
no-compromise or restrictions database name change in binary log.
It will be possible to do the rewrites either on the slave (
--replicate-rewrite-db will work for all kinds of statements), or in
mysqlbinlog (adding a comment is easy and doesn't require mysqlbinlog to
parse the statement).
LOW-LEVEL DESIGN:
Content
-------
1. Adding rewrite-db option
2. Supporting rewrite-db option for RBR events
3. Supporting rewrite-db option for SBR events
(Limited to affecting only USE statements)
4. Current status
1. Adding rewrite-db option
---------------------------
1.1. Syntax:
--rewrite-db='db_from->db_to'
1.2. Add 'OPT_REWRITE_DB' to 'options_client' (in client_priv.h).
1.3. In mysqlbinlog.cc:
- Add { "rewrite-db", OPT_REWRITE_DB, ...} record to my_long_options:
- Add Rpl_filter object to mysqlbinlog.cc
Rpl_filter* binlog_filter;
- Add corresponding switch case to get_one_option():
case OPT_REWRITE_DB:
<extract db-from and db-to strings>
binlog_filter->add_db_rewrite(db_from, db_to);
break;
.
Note. To make Rpl_filter usable in a MYSQL_CLIENT context, few small
additional changes are required:
- In sql_list.cc/h, Sql_alloc::new(size_t) and Sql_alloc::new[](size_t)
uses sql_alloc() which is THD dependent. These are to be modified
as follows:
#ifdef MYSQL_CLIENT
extern MEM_ROOT sql_list_client_mem_root; // defined in sql_list.cc
#endif
class Sql_alloc
{ ...
static void *operator new(size_t size) throw ()
{
#ifndef MYSQL_CLIENT
return sql_alloc(size);
#else
return alloc_root(&sql_list_client_mem_root, size);
#endif
}
static void *operator new[](size_t size) throw ()
{
#ifndef MYSQL_CLIENT
return sql_alloc(size);
#else
return alloc_root(&sql_list_client_mem_root, size);
#endif
}
...
}
- In rpl_filter.cc:
Rpl_filter::Rpl_filter() :
...
{
#ifdef MYSQL_CLIENT
init_alloc_root(&sql_list_client_mem_root, ...);
#endif
...
}
Rpl_filter::~Rpl_filter()
{ ...
#ifdef MYSQL_CLIENT
free_root(&sql_list_client_mem_root, ...);
#endif
}
2. Supporting rewrite-db for RBR events
---------------------------------------
In binlog, each row operation event is preceded by Table map event(s) which maps
table id(s) to database and table names. So, it's enough to support rewriting
database name in a Table map.
2.1. Add rewrite_db() member to Table_map_log_event:
int Table_map_log_event::rewrite_db(
const char* new_db,
size_t new_db_len,
const Format_description_log_event* desc)
{
/* 1. In temp_buf member (possibly reallocating it) rewrite
event length, db length, and db parts
2. Change m_dblen and m_dbnam members
*/
}
Comment. This function assumes that temp_buf member contains Table map
binlog representaion (temp_buf is used for creating corresponding
BINLOG statement).
2.2. In mysqlbinlog modify corresponding switch case in the
process_event() function:
Exit_status process_event(
PRINT_EVENT_INFO *print_event_info,
Log_event *ev, ...)
{
...
switch (ev_type) {
...
case TABLE_MAP_EVENT:
{
Table_map_log_event *map= ((Table_map_log_event *)ev);
if (shall_skip_database(map->get_db_name()))
{ ...
}
// WL36
size_t new_len= 0;
const char* new_db= binlog_filter->get_rewrite_db(
map->get_db_name(), &new_len);
if (new_len && map->rewrite_db(new_db, new_len,
glob_description_event))
{ error("Could not rewrite database name");
goto err;
}
}
case WRITE_ROWS_EVENT:
case DELETE_ROWS_EVENT:
case UPDATE_ROWS_EVENT:
...
}
...
}
Comment. Rpl_filter::get_rewrite_db(db_from, &len): if filter contains
a (db_from, db_to) pair, this function returns pointer to db_to and
sets len = db_to length; otherwise, it returns db_from and does not
change len value.
3. Supporting rewrite-db for SBR events
---------------------------------------
Limited to emiting USE <db_to> instead of USE <db_from>.
USE statements can be emited by mysqlbinlog as a result of processing the
following events (see process_event() function):
- Query_log_event
- Execute_load_query_log_event
- Create_file_log_event
TODO. Needed to check this list requires carefully !!!
Conditions for emiting use-statement:
- LOG_EVENT_SUPPRESS_USE_F is OFF for the event
(e.g. it is ON for 'create database' statement)
- event's db name differs from db_name in PRINT_EVENT_INFO
(PRINT_EVENT_INFO keeps db name of the last issued USE statement;
initially, this db name is empty).
3.1. In mysqlbinlog.cc
- Add the following function:
void print_use_stmt(Log_event* event, PRINT_EVENT_INFO* pinfo)
{
if (event->flags & LOG_EVENT_SUPPRESS_USE_F)
return;
/*
- For events listed above get db_from = event->db;
- If db_from is the same as pinfo->db then return;
- If there is rewrite-db rule db_from->db_to,
set db = db_to. Else set db = db_from;
- Print "use <db>" to mysqlbinlog output
- Set pinfo->db = db_from
(this suppresses emiting use-statements by corresponding
log_event's print-function)
*/
}
- In process_event() function add print_use_stmt() invocations where
needed (according to the events lis above), e.g.:
Exit_status process_event(
PRINT_EVENT_INFO *print_event_info,
Log_event *ev, ...)
{
...
switch (ev_type) {
case QUERY_EVENT:
if (shall_skip_database(((Query_log_event*)ev)->db))
goto end;
if (opt_base64_output_mode == BASE64_OUTPUT_ALWAYS)
{
// Possibly in case of rewite-db rule for ev->db
// a warning should be emited here (see note below)
... write_event_header_and_base64(ev, ...) ...
}
else
{
print_use_stmt((Query_log_event*)ev, print_event_info);
ev->print(result_file, print_event_info);
}
break;
...
}
...
}
Note. write_event_header_and_base64() does not print use-statement. It
produces BINLOG statement using ev->temp_buf content (i.e. the binary
log representation of the event). We don't rewrite temp_buf here with
db_to name (as we do it for Table map event) - this implies the
limitation 3 mentioned above.
Question: Is supporting of rewite_db + --base64-output really needed
currently?
4. Current status
-----------------
The outlined design (implemented for mysql-5.1.37) is tested for
simple test-cases.
TODO. 1. Check list of events which can emit use-statement.
2. Supporting of rewite_db + --base64-output ?
ESTIMATED WORK TIME
ESTIMATED COMPLETION DATE
-----------------------------------------------------------------------
WorkLog (v3.5.9)
1
0
[Maria-developers] Updated (by Guest): Add a mysqlbinlog option to change the used database (36)
by worklog-noreplyï¼ askmonty.org 15 Sep '09
by worklog-noreplyï¼ askmonty.org 15 Sep '09
15 Sep '09
-----------------------------------------------------------------------
WORKLOG TASK
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
TASK...........: Add a mysqlbinlog option to change the used database
CREATION DATE..: Fri, 07 Aug 2009, 14:57
SUPERVISOR.....: Monty
IMPLEMENTOR....:
COPIES TO......:
CATEGORY.......: Server-RawIdeaBin
TASK ID........: 36 (http://askmonty.org/worklog/?tid=36)
VERSION........: Server-9.x
STATUS.........: Un-Assigned
PRIORITY.......: 60
WORKED HOURS...: 0
ESTIMATE.......: 0 (hours remain)
ORIG. ESTIMATE.: 0
PROGRESS NOTES:
-=-=(Guest - Tue, 15 Sep 2009, 12:08)=-=-
Low Level Design modified.
--- /tmp/wklog.36.old.3794 2009-09-15 12:08:54.000000000 +0300
+++ /tmp/wklog.36.new.3794 2009-09-15 12:08:54.000000000 +0300
@@ -1 +1,229 @@
+Content
+-------
+1. Adding rewrite-db option
+2. Supporting rewrite-db option for RBR events
+3. Supporting rewrite-db option for SBR events
+ (Limited to affecting only USE statements)
+4. Current status
+
+1. Adding rewrite-db option
+---------------------------
+
+1.1. Syntax:
+ --rewrite-db='db_from->db_to'
+
+1.2. Add 'OPT_REWRITE_DB' to 'options_client' (in client_priv.h).
+
+1.3. In mysqlbinlog.cc:
+
+- Add { "rewrite-db", OPT_REWRITE_DB, ...} record to my_long_options:
+- Add Rpl_filter object to mysqlbinlog.cc
+
+ Rpl_filter* binlog_filter;
+
+- Add corresponding switch case to get_one_option():
+
+ case OPT_REWRITE_DB:
+ <extract db-from and db-to strings>
+ binlog_filter->add_db_rewrite(db_from, db_to);
+ break;
+ .
+Note. To make Rpl_filter usable in a MYSQL_CLIENT context, few small
+additional changes are required:
+
+- In sql_list.cc/h, Sql_alloc::new(size_t) and Sql_alloc::new[](size_t)
+ uses sql_alloc() which is THD dependent. These are to be modified
+ as follows:
+
+ #ifdef MYSQL_CLIENT
+ extern MEM_ROOT sql_list_client_mem_root; // defined in sql_list.cc
+ #endif
+
+ class Sql_alloc
+ { ...
+ static void *operator new(size_t size) throw ()
+ {
+ #ifndef MYSQL_CLIENT
+ return sql_alloc(size);
+ #else
+ return alloc_root(&sql_list_client_mem_root, size);
+ #endif
+ }
+ static void *operator new[](size_t size) throw ()
+ {
+ #ifndef MYSQL_CLIENT
+ return sql_alloc(size);
+ #else
+ return alloc_root(&sql_list_client_mem_root, size);
+ #endif
+ }
+ ...
+ }
+
+- In rpl_filter.cc:
+
+ Rpl_filter::Rpl_filter() :
+ ...
+ {
+ #ifdef MYSQL_CLIENT
+ init_alloc_root(&sql_list_client_mem_root, ...);
+ #endif
+ ...
+ }
+
+ Rpl_filter::~Rpl_filter()
+ { ...
+ #ifdef MYSQL_CLIENT
+ free_root(&sql_list_client_mem_root, ...);
+ #endif
+ }
+
+2. Supporting rewrite-db for RBR events
+---------------------------------------
+
+In binlog, each row operation event is preceded by Table map event(s) which maps
+table id(s) to database and table names. So, it's enough to support rewriting
+database name in a Table map.
+
+2.1. Add rewrite_db() member to Table_map_log_event:
+
+ int Table_map_log_event::rewrite_db(
+ const char* new_db,
+ size_t new_db_len,
+ const Format_description_log_event* desc)
+ {
+ /* 1. In temp_buf member (possibly reallocating it) rewrite
+ event length, db length, and db parts
+ 2. Change m_dblen and m_dbnam members
+ */
+ }
+
+Comment. This function assumes that temp_buf member contains Table map
+binlog representaion (temp_buf is used for creating corresponding
+BINLOG statement).
+
+2.2. In mysqlbinlog modify corresponding switch case in the
+process_event() function:
+
+ Exit_status process_event(
+ PRINT_EVENT_INFO *print_event_info,
+ Log_event *ev, ...)
+ {
+ ...
+ switch (ev_type) {
+ ...
+ case TABLE_MAP_EVENT:
+ {
+ Table_map_log_event *map= ((Table_map_log_event *)ev);
+ if (shall_skip_database(map->get_db_name()))
+ { ...
+ }
+ // WL36
+ size_t new_len= 0;
+ const char* new_db= binlog_filter->get_rewrite_db(
+ map->get_db_name(), &new_len);
+ if (new_len && map->rewrite_db(new_db, new_len,
+ glob_description_event))
+ { error("Could not rewrite database name");
+ goto err;
+ }
+ }
+ case WRITE_ROWS_EVENT:
+ case DELETE_ROWS_EVENT:
+ case UPDATE_ROWS_EVENT:
+ ...
+ }
+ ...
+ }
+
+Comment. Rpl_filter::get_rewrite_db(db_from, &len): if filter contains
+a (db_from, db_to) pair, this function returns pointer to db_to and
+sets len = db_to length; otherwise, it returns db_from and does not
+change len value.
+
+3. Supporting rewrite-db for SBR events
+---------------------------------------
+
+USE statements can be emited by mysqlbinlog as a result of processing the
+following events (see process_event() function):
+
+- Query_log_event
+- Execute_load_query_log_event
+- Create_file_log_event
+
+TODO. Needed to check this list requires carefully !!!
+
+Conditions for emiting use-statement:
+- LOG_EVENT_SUPPRESS_USE_F is OFF for the event
+ (e.g. it is ON for 'create database' statement)
+- event's db name differs from db_name in PRINT_EVENT_INFO
+ (PRINT_EVENT_INFO keeps db name of the last issued USE statement;
+ initially, this db name is empty).
+
+3.1. In mysqlbinlog.cc
+
+- Add the following function:
+
+ void print_use_stmt(Log_event* event, PRINT_EVENT_INFO* pinfo)
+ {
+ if (event->flags & LOG_EVENT_SUPPRESS_USE_F)
+ return;
+ /*
+ - For events listed above get db_from = event->db;
+ - If db_from is the same as pinfo->db then return;
+ - If there is rewrite-db rule db_from->db_to,
+ set db = db_to. Else set db = db_from;
+ - Print "use <db>" to mysqlbinlog output
+ - Set pinfo->db = db_from
+ (this suppresses emiting use-statements by corresponding
+ log_event's print-function)
+ */
+ }
+
+- In process_event() function add print_use_stmt() invocations where
+ needed (according to the events lis above), e.g.:
+
+ Exit_status process_event(
+ PRINT_EVENT_INFO *print_event_info,
+ Log_event *ev, ...)
+ {
+ ...
+ switch (ev_type) {
+ case QUERY_EVENT:
+ if (shall_skip_database(((Query_log_event*)ev)->db))
+ goto end;
+ if (opt_base64_output_mode == BASE64_OUTPUT_ALWAYS)
+ {
+ // Possibly in case of rewite-db rule for ev->db
+ // a warning should be emited here (see note below)
+ ... write_event_header_and_base64(ev, ...) ...
+ }
+ else
+ {
+ print_use_stmt((Query_log_event*)ev, print_event_info);
+ ev->print(result_file, print_event_info);
+ }
+ break;
+ ...
+ }
+ ...
+ }
+
+Note. write_event_header_and_base64() does not print use-statement. It
+produces BINLOG statement using ev->temp_buf content (i.e. the binary
+log representation of the event). We don't rewrite temp_buf here with
+db_to name (as we do it for Table map event) - this implies the
+limitation 3 mentioned above.
+Question: Is supporting of rewite_db + --base64-output really needed
+currently?
+
+4. Current status
+-----------------
+
+The outlined design (implemented for mysql-5.1.37) is tested for
+simple test-cases.
+
+TODO. 1. Check list of events which can emit use-statement.
+ 2. Supporting of rewite_db + --base64-output ?
+
-=-=(Guest - Mon, 14 Sep 2009, 11:51)=-=-
Low Level Design modified.
--- /tmp/wklog.36.old.9711 2009-09-14 11:51:43.000000000 +0300
+++ /tmp/wklog.36.new.9711 2009-09-14 11:51:43.000000000 +0300
@@ -1 +1 @@
-Pay no attention: just check for having access
+
-=-=(Guest - Mon, 14 Sep 2009, 11:51)=-=-
Low Level Design modified.
--- /tmp/wklog.36.old.9678 2009-09-14 11:51:28.000000000 +0300
+++ /tmp/wklog.36.new.9678 2009-09-14 11:51:28.000000000 +0300
@@ -1 +1 @@
-
+Pay no attention: just check for having access
-=-=(Knielsen - Mon, 17 Aug 2009, 12:44)=-=-
High-Level Specification modified.
--- /tmp/wklog.36.old.7834 2009-08-17 12:44:17.000000000 +0300
+++ /tmp/wklog.36.new.7834 2009-08-17 12:44:17.000000000 +0300
@@ -13,7 +13,9 @@
statement refers to tables in current database, so that changing the current
database will make the statement to work on a table in a different database).
-See also MySQL BUG#42941.
+See also MySQL BUG#42941. Note this bug is fixed in MySQL 5.1.37, which is not
+merged into MariaDB at the time of writing, but planned to be merged before
+release.
What we could do
----------------
-=-=(Guest - Sun, 16 Aug 2009, 17:11)=-=-
High-Level Specification modified.
--- /tmp/wklog.36.old.27162 2009-08-16 17:11:12.000000000 +0300
+++ /tmp/wklog.36.new.27162 2009-08-16 17:11:12.000000000 +0300
@@ -13,6 +13,8 @@
statement refers to tables in current database, so that changing the current
database will make the statement to work on a table in a different database).
+See also MySQL BUG#42941.
+
What we could do
----------------
-=-=(Psergey - Mon, 10 Aug 2009, 15:41)=-=-
High-Level Specification modified.
--- /tmp/wklog.36.old.13035 2009-08-10 15:41:51.000000000 +0300
+++ /tmp/wklog.36.new.13035 2009-08-10 15:41:51.000000000 +0300
@@ -1,5 +1,7 @@
Context
-------
+(See http://askmonty.org/wiki/index.php/Scratch/ReplicationOptions for global
+overview)
At the moment, the server has a replication slave option
--replicate-rewrite-db="from->to"
-=-=(Guest - Mon, 10 Aug 2009, 11:12)=-=-
High-Level Specification modified.
--- /tmp/wklog.36.old.6580 2009-08-10 11:12:36.000000000 +0300
+++ /tmp/wklog.36.new.6580 2009-08-10 11:12:36.000000000 +0300
@@ -1,4 +1,3 @@
-
Context
-------
At the moment, the server has a replication slave option
@@ -67,6 +66,6 @@
It will be possible to do the rewrites either on the slave (
--replicate-rewrite-db will work for all kinds of statements), or in
-mysqlbinlog (adding a comment is easy and doesn't require use to parse the
-statement).
+mysqlbinlog (adding a comment is easy and doesn't require mysqlbinlog to
+parse the statement).
-=-=(Psergey - Sun, 09 Aug 2009, 23:53)=-=-
High-Level Specification modified.
--- /tmp/wklog.36.old.13425 2009-08-09 23:53:54.000000000 +0300
+++ /tmp/wklog.36.new.13425 2009-08-09 23:53:54.000000000 +0300
@@ -1 +1,72 @@
+Context
+-------
+At the moment, the server has a replication slave option
+
+ --replicate-rewrite-db="from->to"
+
+the option affects
+- Table_map_log_event (all RBR events)
+- Load_log_event (LOAD DATA)
+- Query_log_event (SBR-based updates, with the usual assumption that the
+ statement refers to tables in current database, so that changing the current
+ database will make the statement to work on a table in a different database).
+
+What we could do
+----------------
+
+Option1: make mysqlbinlog accept --replicate-rewrite-db option
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+Make mysqlbinlog accept --replicate-rewrite-db options and process them to the
+same extent as replication slave would process --replicate-rewrite-db option.
+
+
+Option2: Add database-agnostic RBR events and --strip-db option
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+Right now RBR events require a databasename. It is not possible to have RBR
+event stream that won't mention which database the events are for. When I
+tried to use debugger and specify empty database name, attempt to apply the
+binlog resulted in this error:
+
+090809 17:38:44 [ERROR] Slave SQL: Error 'Table '.tablename' doesn't exist' on
+opening tables,
+
+We could do as follows:
+- Make the server interpret empty database name in RBR event (i.e. in a
+ Table_map_log_event) as "use current database". Binlog slave thread
+ probably should not allow such events as it doesn't have a natural current
+ database.
+- Add a mysqlbinlog --strip-db option that would
+ = not produce any "USE dbname" statements
+ = change databasename for all RBR events to be empty
+
+That way, mysqlbinlog output will be database-agnostic and apply to the
+current database.
+(this will have the usual limitations that we assume that all statements in
+the binlog refer to the current database).
+
+Option3: Enhance database rewrite
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+If there is a need to support database change for statements that use
+dbname.tablename notation and are replicated as statements (i.e. are DDL
+statements and/or DML statements that are binlogged as statements),
+then that could be supported as follows:
+
+- Make the server's parser recognize special form of comments
+
+ /* !database-alias(oldname,newname) */
+
+ and save the mapping somewhere
+
+- Put the hooks in table open and name resolution code to use the saved
+ mapping.
+
+
+Once we've done the above, it will be easy to perform a complete,
+no-compromise or restrictions database name change in binary log.
+
+It will be possible to do the rewrites either on the slave (
+--replicate-rewrite-db will work for all kinds of statements), or in
+mysqlbinlog (adding a comment is easy and doesn't require use to parse the
+statement).
+
-=-=(Psergey - Sun, 09 Aug 2009, 12:27)=-=-
Dependency created: 39 now depends on 36
-=-=(Psergey - Fri, 07 Aug 2009, 14:57)=-=-
Title modified.
--- /tmp/wklog.36.old.14687 2009-08-07 14:57:49.000000000 +0300
+++ /tmp/wklog.36.new.14687 2009-08-07 14:57:49.000000000 +0300
@@ -1 +1 @@
-Add a mysqlbinlog option to change the database
+Add a mysqlbinlog option to change the used database
DESCRIPTION:
Sometimes there is a need to take a binary log and apply it to a database with
a different name than the original name of the database on binlog producer.
If one is using statement-based replication, he can achieve this by grepping
out "USE dbname" statements out of the output of mysqlbinlog(*). With
row-based replication this is no longer possible, as database name is encoded
within the the BINLOG '....' statement.
This task is about adding an option to mysqlbinlog that would allow to change
the names of used databases in both RBR and SBR events.
(*) this implies that all statements refer to tables in the current database,
doesn't catch updates made inside stored functions and so forth, but still
works for a practially-important subset of cases.
HIGH-LEVEL SPECIFICATION:
Context
-------
(See http://askmonty.org/wiki/index.php/Scratch/ReplicationOptions for global
overview)
At the moment, the server has a replication slave option
--replicate-rewrite-db="from->to"
the option affects
- Table_map_log_event (all RBR events)
- Load_log_event (LOAD DATA)
- Query_log_event (SBR-based updates, with the usual assumption that the
statement refers to tables in current database, so that changing the current
database will make the statement to work on a table in a different database).
See also MySQL BUG#42941. Note this bug is fixed in MySQL 5.1.37, which is not
merged into MariaDB at the time of writing, but planned to be merged before
release.
What we could do
----------------
Option1: make mysqlbinlog accept --replicate-rewrite-db option
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Make mysqlbinlog accept --replicate-rewrite-db options and process them to the
same extent as replication slave would process --replicate-rewrite-db option.
Option2: Add database-agnostic RBR events and --strip-db option
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Right now RBR events require a databasename. It is not possible to have RBR
event stream that won't mention which database the events are for. When I
tried to use debugger and specify empty database name, attempt to apply the
binlog resulted in this error:
090809 17:38:44 [ERROR] Slave SQL: Error 'Table '.tablename' doesn't exist' on
opening tables,
We could do as follows:
- Make the server interpret empty database name in RBR event (i.e. in a
Table_map_log_event) as "use current database". Binlog slave thread
probably should not allow such events as it doesn't have a natural current
database.
- Add a mysqlbinlog --strip-db option that would
= not produce any "USE dbname" statements
= change databasename for all RBR events to be empty
That way, mysqlbinlog output will be database-agnostic and apply to the
current database.
(this will have the usual limitations that we assume that all statements in
the binlog refer to the current database).
Option3: Enhance database rewrite
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
If there is a need to support database change for statements that use
dbname.tablename notation and are replicated as statements (i.e. are DDL
statements and/or DML statements that are binlogged as statements),
then that could be supported as follows:
- Make the server's parser recognize special form of comments
/* !database-alias(oldname,newname) */
and save the mapping somewhere
- Put the hooks in table open and name resolution code to use the saved
mapping.
Once we've done the above, it will be easy to perform a complete,
no-compromise or restrictions database name change in binary log.
It will be possible to do the rewrites either on the slave (
--replicate-rewrite-db will work for all kinds of statements), or in
mysqlbinlog (adding a comment is easy and doesn't require mysqlbinlog to
parse the statement).
LOW-LEVEL DESIGN:
Content
-------
1. Adding rewrite-db option
2. Supporting rewrite-db option for RBR events
3. Supporting rewrite-db option for SBR events
(Limited to affecting only USE statements)
4. Current status
1. Adding rewrite-db option
---------------------------
1.1. Syntax:
--rewrite-db='db_from->db_to'
1.2. Add 'OPT_REWRITE_DB' to 'options_client' (in client_priv.h).
1.3. In mysqlbinlog.cc:
- Add { "rewrite-db", OPT_REWRITE_DB, ...} record to my_long_options:
- Add Rpl_filter object to mysqlbinlog.cc
Rpl_filter* binlog_filter;
- Add corresponding switch case to get_one_option():
case OPT_REWRITE_DB:
<extract db-from and db-to strings>
binlog_filter->add_db_rewrite(db_from, db_to);
break;
.
Note. To make Rpl_filter usable in a MYSQL_CLIENT context, few small
additional changes are required:
- In sql_list.cc/h, Sql_alloc::new(size_t) and Sql_alloc::new[](size_t)
uses sql_alloc() which is THD dependent. These are to be modified
as follows:
#ifdef MYSQL_CLIENT
extern MEM_ROOT sql_list_client_mem_root; // defined in sql_list.cc
#endif
class Sql_alloc
{ ...
static void *operator new(size_t size) throw ()
{
#ifndef MYSQL_CLIENT
return sql_alloc(size);
#else
return alloc_root(&sql_list_client_mem_root, size);
#endif
}
static void *operator new[](size_t size) throw ()
{
#ifndef MYSQL_CLIENT
return sql_alloc(size);
#else
return alloc_root(&sql_list_client_mem_root, size);
#endif
}
...
}
- In rpl_filter.cc:
Rpl_filter::Rpl_filter() :
...
{
#ifdef MYSQL_CLIENT
init_alloc_root(&sql_list_client_mem_root, ...);
#endif
...
}
Rpl_filter::~Rpl_filter()
{ ...
#ifdef MYSQL_CLIENT
free_root(&sql_list_client_mem_root, ...);
#endif
}
2. Supporting rewrite-db for RBR events
---------------------------------------
In binlog, each row operation event is preceded by Table map event(s) which maps
table id(s) to database and table names. So, it's enough to support rewriting
database name in a Table map.
2.1. Add rewrite_db() member to Table_map_log_event:
int Table_map_log_event::rewrite_db(
const char* new_db,
size_t new_db_len,
const Format_description_log_event* desc)
{
/* 1. In temp_buf member (possibly reallocating it) rewrite
event length, db length, and db parts
2. Change m_dblen and m_dbnam members
*/
}
Comment. This function assumes that temp_buf member contains Table map
binlog representaion (temp_buf is used for creating corresponding
BINLOG statement).
2.2. In mysqlbinlog modify corresponding switch case in the
process_event() function:
Exit_status process_event(
PRINT_EVENT_INFO *print_event_info,
Log_event *ev, ...)
{
...
switch (ev_type) {
...
case TABLE_MAP_EVENT:
{
Table_map_log_event *map= ((Table_map_log_event *)ev);
if (shall_skip_database(map->get_db_name()))
{ ...
}
// WL36
size_t new_len= 0;
const char* new_db= binlog_filter->get_rewrite_db(
map->get_db_name(), &new_len);
if (new_len && map->rewrite_db(new_db, new_len,
glob_description_event))
{ error("Could not rewrite database name");
goto err;
}
}
case WRITE_ROWS_EVENT:
case DELETE_ROWS_EVENT:
case UPDATE_ROWS_EVENT:
...
}
...
}
Comment. Rpl_filter::get_rewrite_db(db_from, &len): if filter contains
a (db_from, db_to) pair, this function returns pointer to db_to and
sets len = db_to length; otherwise, it returns db_from and does not
change len value.
3. Supporting rewrite-db for SBR events
---------------------------------------
USE statements can be emited by mysqlbinlog as a result of processing the
following events (see process_event() function):
- Query_log_event
- Execute_load_query_log_event
- Create_file_log_event
TODO. Needed to check this list requires carefully !!!
Conditions for emiting use-statement:
- LOG_EVENT_SUPPRESS_USE_F is OFF for the event
(e.g. it is ON for 'create database' statement)
- event's db name differs from db_name in PRINT_EVENT_INFO
(PRINT_EVENT_INFO keeps db name of the last issued USE statement;
initially, this db name is empty).
3.1. In mysqlbinlog.cc
- Add the following function:
void print_use_stmt(Log_event* event, PRINT_EVENT_INFO* pinfo)
{
if (event->flags & LOG_EVENT_SUPPRESS_USE_F)
return;
/*
- For events listed above get db_from = event->db;
- If db_from is the same as pinfo->db then return;
- If there is rewrite-db rule db_from->db_to,
set db = db_to. Else set db = db_from;
- Print "use <db>" to mysqlbinlog output
- Set pinfo->db = db_from
(this suppresses emiting use-statements by corresponding
log_event's print-function)
*/
}
- In process_event() function add print_use_stmt() invocations where
needed (according to the events lis above), e.g.:
Exit_status process_event(
PRINT_EVENT_INFO *print_event_info,
Log_event *ev, ...)
{
...
switch (ev_type) {
case QUERY_EVENT:
if (shall_skip_database(((Query_log_event*)ev)->db))
goto end;
if (opt_base64_output_mode == BASE64_OUTPUT_ALWAYS)
{
// Possibly in case of rewite-db rule for ev->db
// a warning should be emited here (see note below)
... write_event_header_and_base64(ev, ...) ...
}
else
{
print_use_stmt((Query_log_event*)ev, print_event_info);
ev->print(result_file, print_event_info);
}
break;
...
}
...
}
Note. write_event_header_and_base64() does not print use-statement. It
produces BINLOG statement using ev->temp_buf content (i.e. the binary
log representation of the event). We don't rewrite temp_buf here with
db_to name (as we do it for Table map event) - this implies the
limitation 3 mentioned above.
Question: Is supporting of rewite_db + --base64-output really needed
currently?
4. Current status
-----------------
The outlined design (implemented for mysql-5.1.37) is tested for
simple test-cases.
TODO. 1. Check list of events which can emit use-statement.
2. Supporting of rewite_db + --base64-output ?
ESTIMATED WORK TIME
ESTIMATED COMPLETION DATE
-----------------------------------------------------------------------
WorkLog (v3.5.9)
1
0
[Maria-developers] Updated (by Guest): Add a mysqlbinlog option to change the used database (36)
by worklog-noreplyï¼ askmonty.org 15 Sep '09
by worklog-noreplyï¼ askmonty.org 15 Sep '09
15 Sep '09
-----------------------------------------------------------------------
WORKLOG TASK
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
TASK...........: Add a mysqlbinlog option to change the used database
CREATION DATE..: Fri, 07 Aug 2009, 14:57
SUPERVISOR.....: Monty
IMPLEMENTOR....:
COPIES TO......:
CATEGORY.......: Server-RawIdeaBin
TASK ID........: 36 (http://askmonty.org/worklog/?tid=36)
VERSION........: Server-9.x
STATUS.........: Un-Assigned
PRIORITY.......: 60
WORKED HOURS...: 0
ESTIMATE.......: 0 (hours remain)
ORIG. ESTIMATE.: 0
PROGRESS NOTES:
-=-=(Guest - Tue, 15 Sep 2009, 12:08)=-=-
Low Level Design modified.
--- /tmp/wklog.36.old.3794 2009-09-15 12:08:54.000000000 +0300
+++ /tmp/wklog.36.new.3794 2009-09-15 12:08:54.000000000 +0300
@@ -1 +1,229 @@
+Content
+-------
+1. Adding rewrite-db option
+2. Supporting rewrite-db option for RBR events
+3. Supporting rewrite-db option for SBR events
+ (Limited to affecting only USE statements)
+4. Current status
+
+1. Adding rewrite-db option
+---------------------------
+
+1.1. Syntax:
+ --rewrite-db='db_from->db_to'
+
+1.2. Add 'OPT_REWRITE_DB' to 'options_client' (in client_priv.h).
+
+1.3. In mysqlbinlog.cc:
+
+- Add { "rewrite-db", OPT_REWRITE_DB, ...} record to my_long_options:
+- Add Rpl_filter object to mysqlbinlog.cc
+
+ Rpl_filter* binlog_filter;
+
+- Add corresponding switch case to get_one_option():
+
+ case OPT_REWRITE_DB:
+ <extract db-from and db-to strings>
+ binlog_filter->add_db_rewrite(db_from, db_to);
+ break;
+ .
+Note. To make Rpl_filter usable in a MYSQL_CLIENT context, few small
+additional changes are required:
+
+- In sql_list.cc/h, Sql_alloc::new(size_t) and Sql_alloc::new[](size_t)
+ uses sql_alloc() which is THD dependent. These are to be modified
+ as follows:
+
+ #ifdef MYSQL_CLIENT
+ extern MEM_ROOT sql_list_client_mem_root; // defined in sql_list.cc
+ #endif
+
+ class Sql_alloc
+ { ...
+ static void *operator new(size_t size) throw ()
+ {
+ #ifndef MYSQL_CLIENT
+ return sql_alloc(size);
+ #else
+ return alloc_root(&sql_list_client_mem_root, size);
+ #endif
+ }
+ static void *operator new[](size_t size) throw ()
+ {
+ #ifndef MYSQL_CLIENT
+ return sql_alloc(size);
+ #else
+ return alloc_root(&sql_list_client_mem_root, size);
+ #endif
+ }
+ ...
+ }
+
+- In rpl_filter.cc:
+
+ Rpl_filter::Rpl_filter() :
+ ...
+ {
+ #ifdef MYSQL_CLIENT
+ init_alloc_root(&sql_list_client_mem_root, ...);
+ #endif
+ ...
+ }
+
+ Rpl_filter::~Rpl_filter()
+ { ...
+ #ifdef MYSQL_CLIENT
+ free_root(&sql_list_client_mem_root, ...);
+ #endif
+ }
+
+2. Supporting rewrite-db for RBR events
+---------------------------------------
+
+In binlog, each row operation event is preceded by Table map event(s) which maps
+table id(s) to database and table names. So, it's enough to support rewriting
+database name in a Table map.
+
+2.1. Add rewrite_db() member to Table_map_log_event:
+
+ int Table_map_log_event::rewrite_db(
+ const char* new_db,
+ size_t new_db_len,
+ const Format_description_log_event* desc)
+ {
+ /* 1. In temp_buf member (possibly reallocating it) rewrite
+ event length, db length, and db parts
+ 2. Change m_dblen and m_dbnam members
+ */
+ }
+
+Comment. This function assumes that temp_buf member contains Table map
+binlog representaion (temp_buf is used for creating corresponding
+BINLOG statement).
+
+2.2. In mysqlbinlog modify corresponding switch case in the
+process_event() function:
+
+ Exit_status process_event(
+ PRINT_EVENT_INFO *print_event_info,
+ Log_event *ev, ...)
+ {
+ ...
+ switch (ev_type) {
+ ...
+ case TABLE_MAP_EVENT:
+ {
+ Table_map_log_event *map= ((Table_map_log_event *)ev);
+ if (shall_skip_database(map->get_db_name()))
+ { ...
+ }
+ // WL36
+ size_t new_len= 0;
+ const char* new_db= binlog_filter->get_rewrite_db(
+ map->get_db_name(), &new_len);
+ if (new_len && map->rewrite_db(new_db, new_len,
+ glob_description_event))
+ { error("Could not rewrite database name");
+ goto err;
+ }
+ }
+ case WRITE_ROWS_EVENT:
+ case DELETE_ROWS_EVENT:
+ case UPDATE_ROWS_EVENT:
+ ...
+ }
+ ...
+ }
+
+Comment. Rpl_filter::get_rewrite_db(db_from, &len): if filter contains
+a (db_from, db_to) pair, this function returns pointer to db_to and
+sets len = db_to length; otherwise, it returns db_from and does not
+change len value.
+
+3. Supporting rewrite-db for SBR events
+---------------------------------------
+
+USE statements can be emited by mysqlbinlog as a result of processing the
+following events (see process_event() function):
+
+- Query_log_event
+- Execute_load_query_log_event
+- Create_file_log_event
+
+TODO. Needed to check this list requires carefully !!!
+
+Conditions for emiting use-statement:
+- LOG_EVENT_SUPPRESS_USE_F is OFF for the event
+ (e.g. it is ON for 'create database' statement)
+- event's db name differs from db_name in PRINT_EVENT_INFO
+ (PRINT_EVENT_INFO keeps db name of the last issued USE statement;
+ initially, this db name is empty).
+
+3.1. In mysqlbinlog.cc
+
+- Add the following function:
+
+ void print_use_stmt(Log_event* event, PRINT_EVENT_INFO* pinfo)
+ {
+ if (event->flags & LOG_EVENT_SUPPRESS_USE_F)
+ return;
+ /*
+ - For events listed above get db_from = event->db;
+ - If db_from is the same as pinfo->db then return;
+ - If there is rewrite-db rule db_from->db_to,
+ set db = db_to. Else set db = db_from;
+ - Print "use <db>" to mysqlbinlog output
+ - Set pinfo->db = db_from
+ (this suppresses emiting use-statements by corresponding
+ log_event's print-function)
+ */
+ }
+
+- In process_event() function add print_use_stmt() invocations where
+ needed (according to the events lis above), e.g.:
+
+ Exit_status process_event(
+ PRINT_EVENT_INFO *print_event_info,
+ Log_event *ev, ...)
+ {
+ ...
+ switch (ev_type) {
+ case QUERY_EVENT:
+ if (shall_skip_database(((Query_log_event*)ev)->db))
+ goto end;
+ if (opt_base64_output_mode == BASE64_OUTPUT_ALWAYS)
+ {
+ // Possibly in case of rewite-db rule for ev->db
+ // a warning should be emited here (see note below)
+ ... write_event_header_and_base64(ev, ...) ...
+ }
+ else
+ {
+ print_use_stmt((Query_log_event*)ev, print_event_info);
+ ev->print(result_file, print_event_info);
+ }
+ break;
+ ...
+ }
+ ...
+ }
+
+Note. write_event_header_and_base64() does not print use-statement. It
+produces BINLOG statement using ev->temp_buf content (i.e. the binary
+log representation of the event). We don't rewrite temp_buf here with
+db_to name (as we do it for Table map event) - this implies the
+limitation 3 mentioned above.
+Question: Is supporting of rewite_db + --base64-output really needed
+currently?
+
+4. Current status
+-----------------
+
+The outlined design (implemented for mysql-5.1.37) is tested for
+simple test-cases.
+
+TODO. 1. Check list of events which can emit use-statement.
+ 2. Supporting of rewite_db + --base64-output ?
+
-=-=(Guest - Mon, 14 Sep 2009, 11:51)=-=-
Low Level Design modified.
--- /tmp/wklog.36.old.9711 2009-09-14 11:51:43.000000000 +0300
+++ /tmp/wklog.36.new.9711 2009-09-14 11:51:43.000000000 +0300
@@ -1 +1 @@
-Pay no attention: just check for having access
+
-=-=(Guest - Mon, 14 Sep 2009, 11:51)=-=-
Low Level Design modified.
--- /tmp/wklog.36.old.9678 2009-09-14 11:51:28.000000000 +0300
+++ /tmp/wklog.36.new.9678 2009-09-14 11:51:28.000000000 +0300
@@ -1 +1 @@
-
+Pay no attention: just check for having access
-=-=(Knielsen - Mon, 17 Aug 2009, 12:44)=-=-
High-Level Specification modified.
--- /tmp/wklog.36.old.7834 2009-08-17 12:44:17.000000000 +0300
+++ /tmp/wklog.36.new.7834 2009-08-17 12:44:17.000000000 +0300
@@ -13,7 +13,9 @@
statement refers to tables in current database, so that changing the current
database will make the statement to work on a table in a different database).
-See also MySQL BUG#42941.
+See also MySQL BUG#42941. Note this bug is fixed in MySQL 5.1.37, which is not
+merged into MariaDB at the time of writing, but planned to be merged before
+release.
What we could do
----------------
-=-=(Guest - Sun, 16 Aug 2009, 17:11)=-=-
High-Level Specification modified.
--- /tmp/wklog.36.old.27162 2009-08-16 17:11:12.000000000 +0300
+++ /tmp/wklog.36.new.27162 2009-08-16 17:11:12.000000000 +0300
@@ -13,6 +13,8 @@
statement refers to tables in current database, so that changing the current
database will make the statement to work on a table in a different database).
+See also MySQL BUG#42941.
+
What we could do
----------------
-=-=(Psergey - Mon, 10 Aug 2009, 15:41)=-=-
High-Level Specification modified.
--- /tmp/wklog.36.old.13035 2009-08-10 15:41:51.000000000 +0300
+++ /tmp/wklog.36.new.13035 2009-08-10 15:41:51.000000000 +0300
@@ -1,5 +1,7 @@
Context
-------
+(See http://askmonty.org/wiki/index.php/Scratch/ReplicationOptions for global
+overview)
At the moment, the server has a replication slave option
--replicate-rewrite-db="from->to"
-=-=(Guest - Mon, 10 Aug 2009, 11:12)=-=-
High-Level Specification modified.
--- /tmp/wklog.36.old.6580 2009-08-10 11:12:36.000000000 +0300
+++ /tmp/wklog.36.new.6580 2009-08-10 11:12:36.000000000 +0300
@@ -1,4 +1,3 @@
-
Context
-------
At the moment, the server has a replication slave option
@@ -67,6 +66,6 @@
It will be possible to do the rewrites either on the slave (
--replicate-rewrite-db will work for all kinds of statements), or in
-mysqlbinlog (adding a comment is easy and doesn't require use to parse the
-statement).
+mysqlbinlog (adding a comment is easy and doesn't require mysqlbinlog to
+parse the statement).
-=-=(Psergey - Sun, 09 Aug 2009, 23:53)=-=-
High-Level Specification modified.
--- /tmp/wklog.36.old.13425 2009-08-09 23:53:54.000000000 +0300
+++ /tmp/wklog.36.new.13425 2009-08-09 23:53:54.000000000 +0300
@@ -1 +1,72 @@
+Context
+-------
+At the moment, the server has a replication slave option
+
+ --replicate-rewrite-db="from->to"
+
+the option affects
+- Table_map_log_event (all RBR events)
+- Load_log_event (LOAD DATA)
+- Query_log_event (SBR-based updates, with the usual assumption that the
+ statement refers to tables in current database, so that changing the current
+ database will make the statement to work on a table in a different database).
+
+What we could do
+----------------
+
+Option1: make mysqlbinlog accept --replicate-rewrite-db option
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+Make mysqlbinlog accept --replicate-rewrite-db options and process them to the
+same extent as replication slave would process --replicate-rewrite-db option.
+
+
+Option2: Add database-agnostic RBR events and --strip-db option
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+Right now RBR events require a databasename. It is not possible to have RBR
+event stream that won't mention which database the events are for. When I
+tried to use debugger and specify empty database name, attempt to apply the
+binlog resulted in this error:
+
+090809 17:38:44 [ERROR] Slave SQL: Error 'Table '.tablename' doesn't exist' on
+opening tables,
+
+We could do as follows:
+- Make the server interpret empty database name in RBR event (i.e. in a
+ Table_map_log_event) as "use current database". Binlog slave thread
+ probably should not allow such events as it doesn't have a natural current
+ database.
+- Add a mysqlbinlog --strip-db option that would
+ = not produce any "USE dbname" statements
+ = change databasename for all RBR events to be empty
+
+That way, mysqlbinlog output will be database-agnostic and apply to the
+current database.
+(this will have the usual limitations that we assume that all statements in
+the binlog refer to the current database).
+
+Option3: Enhance database rewrite
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+If there is a need to support database change for statements that use
+dbname.tablename notation and are replicated as statements (i.e. are DDL
+statements and/or DML statements that are binlogged as statements),
+then that could be supported as follows:
+
+- Make the server's parser recognize special form of comments
+
+ /* !database-alias(oldname,newname) */
+
+ and save the mapping somewhere
+
+- Put the hooks in table open and name resolution code to use the saved
+ mapping.
+
+
+Once we've done the above, it will be easy to perform a complete,
+no-compromise or restrictions database name change in binary log.
+
+It will be possible to do the rewrites either on the slave (
+--replicate-rewrite-db will work for all kinds of statements), or in
+mysqlbinlog (adding a comment is easy and doesn't require use to parse the
+statement).
+
-=-=(Psergey - Sun, 09 Aug 2009, 12:27)=-=-
Dependency created: 39 now depends on 36
-=-=(Psergey - Fri, 07 Aug 2009, 14:57)=-=-
Title modified.
--- /tmp/wklog.36.old.14687 2009-08-07 14:57:49.000000000 +0300
+++ /tmp/wklog.36.new.14687 2009-08-07 14:57:49.000000000 +0300
@@ -1 +1 @@
-Add a mysqlbinlog option to change the database
+Add a mysqlbinlog option to change the used database
DESCRIPTION:
Sometimes there is a need to take a binary log and apply it to a database with
a different name than the original name of the database on binlog producer.
If one is using statement-based replication, he can achieve this by grepping
out "USE dbname" statements out of the output of mysqlbinlog(*). With
row-based replication this is no longer possible, as database name is encoded
within the the BINLOG '....' statement.
This task is about adding an option to mysqlbinlog that would allow to change
the names of used databases in both RBR and SBR events.
(*) this implies that all statements refer to tables in the current database,
doesn't catch updates made inside stored functions and so forth, but still
works for a practially-important subset of cases.
HIGH-LEVEL SPECIFICATION:
Context
-------
(See http://askmonty.org/wiki/index.php/Scratch/ReplicationOptions for global
overview)
At the moment, the server has a replication slave option
--replicate-rewrite-db="from->to"
the option affects
- Table_map_log_event (all RBR events)
- Load_log_event (LOAD DATA)
- Query_log_event (SBR-based updates, with the usual assumption that the
statement refers to tables in current database, so that changing the current
database will make the statement to work on a table in a different database).
See also MySQL BUG#42941. Note this bug is fixed in MySQL 5.1.37, which is not
merged into MariaDB at the time of writing, but planned to be merged before
release.
What we could do
----------------
Option1: make mysqlbinlog accept --replicate-rewrite-db option
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Make mysqlbinlog accept --replicate-rewrite-db options and process them to the
same extent as replication slave would process --replicate-rewrite-db option.
Option2: Add database-agnostic RBR events and --strip-db option
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Right now RBR events require a databasename. It is not possible to have RBR
event stream that won't mention which database the events are for. When I
tried to use debugger and specify empty database name, attempt to apply the
binlog resulted in this error:
090809 17:38:44 [ERROR] Slave SQL: Error 'Table '.tablename' doesn't exist' on
opening tables,
We could do as follows:
- Make the server interpret empty database name in RBR event (i.e. in a
Table_map_log_event) as "use current database". Binlog slave thread
probably should not allow such events as it doesn't have a natural current
database.
- Add a mysqlbinlog --strip-db option that would
= not produce any "USE dbname" statements
= change databasename for all RBR events to be empty
That way, mysqlbinlog output will be database-agnostic and apply to the
current database.
(this will have the usual limitations that we assume that all statements in
the binlog refer to the current database).
Option3: Enhance database rewrite
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
If there is a need to support database change for statements that use
dbname.tablename notation and are replicated as statements (i.e. are DDL
statements and/or DML statements that are binlogged as statements),
then that could be supported as follows:
- Make the server's parser recognize special form of comments
/* !database-alias(oldname,newname) */
and save the mapping somewhere
- Put the hooks in table open and name resolution code to use the saved
mapping.
Once we've done the above, it will be easy to perform a complete,
no-compromise or restrictions database name change in binary log.
It will be possible to do the rewrites either on the slave (
--replicate-rewrite-db will work for all kinds of statements), or in
mysqlbinlog (adding a comment is easy and doesn't require mysqlbinlog to
parse the statement).
LOW-LEVEL DESIGN:
Content
-------
1. Adding rewrite-db option
2. Supporting rewrite-db option for RBR events
3. Supporting rewrite-db option for SBR events
(Limited to affecting only USE statements)
4. Current status
1. Adding rewrite-db option
---------------------------
1.1. Syntax:
--rewrite-db='db_from->db_to'
1.2. Add 'OPT_REWRITE_DB' to 'options_client' (in client_priv.h).
1.3. In mysqlbinlog.cc:
- Add { "rewrite-db", OPT_REWRITE_DB, ...} record to my_long_options:
- Add Rpl_filter object to mysqlbinlog.cc
Rpl_filter* binlog_filter;
- Add corresponding switch case to get_one_option():
case OPT_REWRITE_DB:
<extract db-from and db-to strings>
binlog_filter->add_db_rewrite(db_from, db_to);
break;
.
Note. To make Rpl_filter usable in a MYSQL_CLIENT context, few small
additional changes are required:
- In sql_list.cc/h, Sql_alloc::new(size_t) and Sql_alloc::new[](size_t)
uses sql_alloc() which is THD dependent. These are to be modified
as follows:
#ifdef MYSQL_CLIENT
extern MEM_ROOT sql_list_client_mem_root; // defined in sql_list.cc
#endif
class Sql_alloc
{ ...
static void *operator new(size_t size) throw ()
{
#ifndef MYSQL_CLIENT
return sql_alloc(size);
#else
return alloc_root(&sql_list_client_mem_root, size);
#endif
}
static void *operator new[](size_t size) throw ()
{
#ifndef MYSQL_CLIENT
return sql_alloc(size);
#else
return alloc_root(&sql_list_client_mem_root, size);
#endif
}
...
}
- In rpl_filter.cc:
Rpl_filter::Rpl_filter() :
...
{
#ifdef MYSQL_CLIENT
init_alloc_root(&sql_list_client_mem_root, ...);
#endif
...
}
Rpl_filter::~Rpl_filter()
{ ...
#ifdef MYSQL_CLIENT
free_root(&sql_list_client_mem_root, ...);
#endif
}
2. Supporting rewrite-db for RBR events
---------------------------------------
In binlog, each row operation event is preceded by Table map event(s) which maps
table id(s) to database and table names. So, it's enough to support rewriting
database name in a Table map.
2.1. Add rewrite_db() member to Table_map_log_event:
int Table_map_log_event::rewrite_db(
const char* new_db,
size_t new_db_len,
const Format_description_log_event* desc)
{
/* 1. In temp_buf member (possibly reallocating it) rewrite
event length, db length, and db parts
2. Change m_dblen and m_dbnam members
*/
}
Comment. This function assumes that temp_buf member contains Table map
binlog representaion (temp_buf is used for creating corresponding
BINLOG statement).
2.2. In mysqlbinlog modify corresponding switch case in the
process_event() function:
Exit_status process_event(
PRINT_EVENT_INFO *print_event_info,
Log_event *ev, ...)
{
...
switch (ev_type) {
...
case TABLE_MAP_EVENT:
{
Table_map_log_event *map= ((Table_map_log_event *)ev);
if (shall_skip_database(map->get_db_name()))
{ ...
}
// WL36
size_t new_len= 0;
const char* new_db= binlog_filter->get_rewrite_db(
map->get_db_name(), &new_len);
if (new_len && map->rewrite_db(new_db, new_len,
glob_description_event))
{ error("Could not rewrite database name");
goto err;
}
}
case WRITE_ROWS_EVENT:
case DELETE_ROWS_EVENT:
case UPDATE_ROWS_EVENT:
...
}
...
}
Comment. Rpl_filter::get_rewrite_db(db_from, &len): if filter contains
a (db_from, db_to) pair, this function returns pointer to db_to and
sets len = db_to length; otherwise, it returns db_from and does not
change len value.
3. Supporting rewrite-db for SBR events
---------------------------------------
USE statements can be emited by mysqlbinlog as a result of processing the
following events (see process_event() function):
- Query_log_event
- Execute_load_query_log_event
- Create_file_log_event
TODO. Needed to check this list requires carefully !!!
Conditions for emiting use-statement:
- LOG_EVENT_SUPPRESS_USE_F is OFF for the event
(e.g. it is ON for 'create database' statement)
- event's db name differs from db_name in PRINT_EVENT_INFO
(PRINT_EVENT_INFO keeps db name of the last issued USE statement;
initially, this db name is empty).
3.1. In mysqlbinlog.cc
- Add the following function:
void print_use_stmt(Log_event* event, PRINT_EVENT_INFO* pinfo)
{
if (event->flags & LOG_EVENT_SUPPRESS_USE_F)
return;
/*
- For events listed above get db_from = event->db;
- If db_from is the same as pinfo->db then return;
- If there is rewrite-db rule db_from->db_to,
set db = db_to. Else set db = db_from;
- Print "use <db>" to mysqlbinlog output
- Set pinfo->db = db_from
(this suppresses emiting use-statements by corresponding
log_event's print-function)
*/
}
- In process_event() function add print_use_stmt() invocations where
needed (according to the events lis above), e.g.:
Exit_status process_event(
PRINT_EVENT_INFO *print_event_info,
Log_event *ev, ...)
{
...
switch (ev_type) {
case QUERY_EVENT:
if (shall_skip_database(((Query_log_event*)ev)->db))
goto end;
if (opt_base64_output_mode == BASE64_OUTPUT_ALWAYS)
{
// Possibly in case of rewite-db rule for ev->db
// a warning should be emited here (see note below)
... write_event_header_and_base64(ev, ...) ...
}
else
{
print_use_stmt((Query_log_event*)ev, print_event_info);
ev->print(result_file, print_event_info);
}
break;
...
}
...
}
Note. write_event_header_and_base64() does not print use-statement. It
produces BINLOG statement using ev->temp_buf content (i.e. the binary
log representation of the event). We don't rewrite temp_buf here with
db_to name (as we do it for Table map event) - this implies the
limitation 3 mentioned above.
Question: Is supporting of rewite_db + --base64-output really needed
currently?
4. Current status
-----------------
The outlined design (implemented for mysql-5.1.37) is tested for
simple test-cases.
TODO. 1. Check list of events which can emit use-statement.
2. Supporting of rewite_db + --base64-output ?
ESTIMATED WORK TIME
ESTIMATED COMPLETION DATE
-----------------------------------------------------------------------
WorkLog (v3.5.9)
1
0
[Maria-developers] bzr commit into MariaDB 5.1, with Maria 1.5:maria branch (knielsen:2733)
by knielsenï¼ knielsen-hq.org 15 Sep '09
by knielsenï¼ knielsen-hq.org 15 Sep '09
15 Sep '09
#At lp:maria
2733 knielsen(a)knielsen-hq.org 2009-09-15
MySQL 5.1.38 after-merge fixes.
Fix some mistakes in the original merge found during review.
removed:
mysql-test/include/wait_for_status_var.inc.moved
modified:
mysql-test/include/concurrent.inc
mysql-test/include/mix1.inc
mysql-test/r/innodb_mysql.result
per-file messages:
mysql-test/include/concurrent.inc
Add missing lines mistakenly omitted in merge.
mysql-test/include/mix1.inc
Revert wrong change done during merge.
mysql-test/include/wait_for_status_var.inc.moved
Remove file which was accidentally not removed during conflict resolution in merge.
mysql-test/r/innodb_mysql.result
Revert result file change following fixing root problem in merge.
=== modified file 'mysql-test/include/concurrent.inc'
--- a/mysql-test/include/concurrent.inc 2009-09-07 20:50:10 +0000
+++ b/mysql-test/include/concurrent.inc 2009-09-15 06:08:54 +0000
@@ -666,7 +666,9 @@ disconnect thread1;
--echo ** connection thread2
connection thread2;
disconnect thread2;
+--source include/wait_until_disconnected.inc
--echo ** connection default
connection default;
drop table t1;
drop user mysqltest@localhost;
+
=== modified file 'mysql-test/include/mix1.inc'
--- a/mysql-test/include/mix1.inc 2009-09-07 20:50:10 +0000
+++ b/mysql-test/include/mix1.inc 2009-09-15 06:08:54 +0000
@@ -1509,6 +1509,7 @@ DROP TABLE t1;
--echo # SQL_SELECT::test_quick_select
--echo # (reproduced only with InnoDB tables)
--echo #
+
eval
CREATE TABLE t1 (c1 INT, c2 INT, c3 INT, KEY (c3), KEY (c2, c3))
ENGINE=$engine_type;
@@ -1538,7 +1539,7 @@ DROP TABLE t1;
eval
CREATE TABLE t1 (c1 DECIMAL(12,2), c2 DECIMAL(12,2), c3 DECIMAL(12,2),
KEY (c3), KEY (c2, c3))
- ENGINE=innodb;
+ ENGINE=$engine_type;
INSERT INTO t1 VALUES (1,1,1), (1,1,1), (1,1,2), (1,1,1), (1,1,2);
SELECT 1 FROM (SELECT COUNT(DISTINCT c1)
=== removed file 'mysql-test/include/wait_for_status_var.inc.moved'
--- a/mysql-test/include/wait_for_status_var.inc.moved 2009-09-07 20:50:10 +0000
+++ b/mysql-test/include/wait_for_status_var.inc.moved 1970-01-01 00:00:00 +0000
@@ -1,68 +0,0 @@
-# ==== Purpose ====
-#
-# Waits until a variable from SHOW STATUS has returned a specified
-# value, or until a timeout is reached.
-#
-# ==== Usage ====
-#
-# let $status_var= Threads_connected;
-# let $status_var_value= 1;
-# --source include/wait_for_status_var.inc
-#
-# Parameters:
-#
-# $status_var, $status_var_value
-# This macro will wait until the variable of SHOW STATUS
-# named $status_var gets the value $status_var_value. See
-# the example above.
-#
-# $status_type= GLOBAL|SESSION
-# To specify the type (attribute) of status variable and
-# run either SHOW GLOBAL STATUS or SHOW SESSION STATUS.
-#
-# $status_var_comparsion
-# By default, this file waits until $status_var becomes equal to
-# $status_var_value. If you want to wait until $status_var
-# becomes *unequal* to $status_var_value, set this parameter to the
-# string '!=', like this:
-# let $status_var_comparsion= !=;
-#
-# $status_timeout
-# The default timeout is 1 minute. You can change the timeout by
-# setting $status_timeout. The unit is tenths of seconds.
-#
-
-if (`SELECT STRCMP('$status_type', '') * STRCMP(UPPER('$status_type'), 'SESSION') * STRCMP(UPPER('$status_type'), 'GLOBAL')`)
-{
- --echo **** ERROR: Unknown type of variable status_type: allowed values are: SESSION or GLOBAL ****
- exit;
-}
-
-let $_status_timeout_counter= $status_timeout;
-if (!$_status_timeout_counter)
-{
- let $_status_timeout_counter= 600;
-}
-
-let $_status_var_comparsion= $status_var_comparsion;
-if (`SELECT '$_status_var_comparsion' = ''`)
-{
- let $_status_var_comparsion= =;
-}
-
-let $_show_status_value= query_get_value("SHOW $status_type STATUS LIKE '$status_var'", Value, 1);
-while (`SELECT NOT('$_show_status_value' $_status_var_comparsion '$status_var_value')`)
-{
- if (!$_status_timeout_counter)
- {
- --echo **** ERROR: failed while waiting for $status_type $status_var $_status_var_comparison $status_var_value ****
- --echo Note: the following output may have changed since the failure was detected
- --echo **** Showing STATUS, PROCESSLIST ****
- eval SHOW $status_type STATUS LIKE '$status_var';
- SHOW PROCESSLIST;
- exit;
- }
- dec $_status_timeout_counter;
- sleep 0.1;
- let $_show_status_value= query_get_value("SHOW $status_type STATUS LIKE '$status_var'", Value, 1);
-}
=== modified file 'mysql-test/r/innodb_mysql.result'
--- a/mysql-test/r/innodb_mysql.result 2009-09-09 21:06:57 +0000
+++ b/mysql-test/r/innodb_mysql.result 2009-09-15 06:08:54 +0000
@@ -1746,7 +1746,7 @@ id select_type table type possible_keys
DROP TABLE t1;
CREATE TABLE t1 (c1 DECIMAL(12,2), c2 DECIMAL(12,2), c3 DECIMAL(12,2),
KEY (c3), KEY (c2, c3))
-ENGINE=innodb;
+ENGINE=InnoDB;
INSERT INTO t1 VALUES (1,1,1), (1,1,1), (1,1,2), (1,1,1), (1,1,2);
SELECT 1 FROM (SELECT COUNT(DISTINCT c1)
FROM t1 WHERE c2 IN (1, 1) AND c3 = 2 GROUP BY c2) x;
1
0
[Maria-developers] Rev 2730: MySQL 5.1 -> MariaDB 5.1 merge: windows build fixes in file:///home/psergey/bzr-new/mysql-5.1-maria-contd3/
by Sergey Petrunya 15 Sep '09
by Sergey Petrunya 15 Sep '09
15 Sep '09
At file:///home/psergey/bzr-new/mysql-5.1-maria-contd3/
------------------------------------------------------------
revno: 2730
revision-id: psergey(a)askmonty.org-20090914224548-yho0nxw78vvxd5yi
parent: knielsen(a)knielsen-hq.org-20090912073839-2jfav265c8pkm1ae
committer: Sergey Petrunya <psergey(a)askmonty.org>
branch nick: mysql-5.1-maria-contd3
timestamp: Tue 2009-09-15 02:45:48 +0400
message:
MySQL 5.1 -> MariaDB 5.1 merge: windows build fixes
=== modified file 'CMakeLists.txt'
--- a/CMakeLists.txt 2009-09-07 20:50:10 +0000
+++ b/CMakeLists.txt 2009-09-14 22:45:48 +0000
@@ -137,6 +137,7 @@
IF(WIN32)
ADD_DEFINITIONS("-D_WINDOWS -D__WIN__ -D_CRT_SECURE_NO_DEPRECATE")
+ ADD_DEFINITIONS("-D_WIN32_WINNT=0x0501")
ENDIF(WIN32)
# default to x86 platform. We'll check for X64 in a bit
=== modified file 'sql/CMakeLists.txt'
--- a/sql/CMakeLists.txt 2009-09-07 20:50:10 +0000
+++ b/sql/CMakeLists.txt 2009-09-14 22:45:48 +0000
@@ -25,6 +25,7 @@
${CMAKE_SOURCE_DIR}/sql
${CMAKE_SOURCE_DIR}/regex
${CMAKE_SOURCE_DIR}/zlib
+ ${CMAKE_SOURCE_DIR}/extra/libevent
)
SET_SOURCE_FILES_PROPERTIES(${CMAKE_SOURCE_DIR}/sql/sql_yacc.h
@@ -93,7 +94,7 @@
SET_TARGET_PROPERTIES(mysqld PROPERTIES OUTPUT_NAME mysqld${MYSQLD_EXE_SUFFIX})
SET_TARGET_PROPERTIES(mysqld PROPERTIES ENABLE_EXPORTS TRUE)
-SET (MYSQLD_CORE_LIBS mysys zlib dbug strings yassl taocrypt vio regex sql)
+SET (MYSQLD_CORE_LIBS mysys zlib dbug strings yassl taocrypt vio regex sql libevent)
TARGET_LINK_LIBRARIES(mysqld ${MYSQLD_CORE_LIBS} ${MYSQLD_STATIC_ENGINE_LIBS})
TARGET_LINK_LIBRARIES(mysqld ws2_32.lib)
=== modified file 'storage/maria/CMakeLists.txt'
--- a/storage/maria/CMakeLists.txt 2008-06-09 09:06:06 +0000
+++ b/storage/maria/CMakeLists.txt 2009-09-14 22:45:48 +0000
@@ -12,8 +12,10 @@
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+INCLUDE("${PROJECT_SOURCE_DIR}/storage/mysql_storage_engine.cmake")
INCLUDE("${PROJECT_SOURCE_DIR}/win/mysql_manifest.cmake")
+
SET(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -DSAFEMALLOC -DSAFE_MUTEX")
SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -DSAFEMALLOC -DSAFE_MUTEX")
@@ -46,10 +48,9 @@
ha_maria.h maria_def.h ma_recovery_util.c
)
+MYSQL_STORAGE_ENGINE(MARIA)
IF(NOT SOURCE_SUBLIBS)
- ADD_LIBRARY(maria ${MARIA_SOURCES})
-
ADD_EXECUTABLE(maria_ftdump maria_ftdump.c)
TARGET_LINK_LIBRARIES(maria_ftdump maria myisam mysys dbug strings zlib wsock32)
=== modified file 'storage/maria/ma_rt_index.c'
--- a/storage/maria/ma_rt_index.c 2009-02-19 09:01:25 +0000
+++ b/storage/maria/ma_rt_index.c 2009-09-14 22:45:48 +0000
@@ -1134,12 +1134,12 @@
uint nod_flag;
ulong i;
MARIA_KEY tmp_key;
+ uchar *page_buf;
+ MARIA_PAGE page;
tmp_key.keyinfo= key->keyinfo;
tmp_key.data_length= key->data_length;
tmp_key.ref_length= key->ref_length;
tmp_key.flag= 0; /* Safety */
- uchar *page_buf;
- MARIA_PAGE page;
if (ReinsertList.n_pages)
{
=== modified file 'unittest/mysys/waiting_threads-t.c'
--- a/unittest/mysys/waiting_threads-t.c 2009-03-20 11:41:30 +0000
+++ b/unittest/mysys/waiting_threads-t.c 2009-09-14 22:45:48 +0000
@@ -263,6 +263,7 @@
kill_strategy=X; \
do_one_test();
#else
+ #define test_kill_strategy(X) \
diag("kill strategy: " #X); \
DBUG_PRINT("info", ("kill strategy: " #X)); \
kill_strategy=X; \
2
1