- 28 Jul, 2006 2 commits
- 26 Jul, 2006 5 commits
-
-
unknown authored
Changes in SQL parser: * Change default mode of SELECT from "lock in share mode" to "consistent read". * Remove support from SELECT for specifying "consistent read". * Add support in SELECT for specifying "lock in share mode". * Change all uses of SQL parser to specify "lock in share mode". * Modify syntax so that the only valid top-level statement is a procedure definition, since it's the only one that actually works. * Add support for lock waits. sql/ha_innodb.cc: Applied innodb-5.1-ss660 snapshot. Document better the "bool table_id" flag. storage/innobase/btr/btr0cur.c: Applied innodb-5.1-ss660 snapshot. btr_cur_search_to_nth_level(): Reacquire btr_search_latch after inserting to the insert buffer. This was noticed while analysing Bug#19801, but this should not fix this bug since, according to Heikki, btr_search_latch is not reserved during an insert. storage/innobase/configure.in: Applied innodb-5.1-ss660 snapshot. Add -Wpointer-arith to CFLAGS when using GCC. storage/innobase/data/data0type.c: Applied innodb-5.1-ss660 snapshot. storage/innobase/dict/dict0crea.c: Applied innodb-5.1-ss660 snapshot. storage/innobase/dict/dict0dict.c: Applied innodb-5.1-ss660 snapshot. Make dict_remove_db_name() non-static. storage/innobase/ibuf/ibuf0ibuf.c: Applied innodb-5.1-ss660 snapshot. ibuf_fixed_addr_page(): Add parameter space. As the insert buffer B-tree is only located in the system tablespace (space 0), IBUF_TREE_ROOT_PAGE_NO is only special in space 0. storage/innobase/include/data0type.h: Applied innodb-5.1-ss660 snapshot. storage/innobase/include/dict0dict.h: Applied innodb-5.1-ss660 snapshot. Make dict_remove_db_name() non-static. storage/innobase/include/pars0grm.h: Applied innodb-5.1-ss660 snapshot. storage/innobase/include/pars0pars.h: Applied innodb-5.1-ss660 snapshot. storage/innobase/include/que0que.h: Applied innodb-5.1-ss660 snapshot. storage/innobase/include/sync0rw.ic: Applied innodb-5.1-ss660 snapshot. rw_lock_s_unlock_func(): Change a debug assertion to a production assertion in order to track down Bug#19081. storage/innobase/include/trx0trx.h: Applied innodb-5.1-ss660 snapshot. trx_sig_send() always succeeds or asserts. storage/innobase/include/ut0ut.h: Applied innodb-5.1-ss660 snapshot. Document better the "bool table_id" flags. storage/innobase/mem/mem0mem.c: Applied innodb-5.1-ss660 snapshot. storage/innobase/pars/lexyy.c: Applied innodb-5.1-ss660 snapshot. storage/innobase/pars/pars0grm.c: Applied innodb-5.1-ss660 snapshot. storage/innobase/pars/pars0grm.h: Applied innodb-5.1-ss660 snapshot. storage/innobase/pars/pars0grm.y: Applied innodb-5.1-ss660 snapshot. storage/innobase/pars/pars0lex.l: Applied innodb-5.1-ss660 snapshot. storage/innobase/pars/pars0pars.c: Applied innodb-5.1-ss660 snapshot. storage/innobase/que/que0que.c: Applied innodb-5.1-ss660 snapshot. storage/innobase/row/row0mysql.c: Applied innodb-5.1-ss660 snapshot. storage/innobase/row/row0sel.c: Applied innodb-5.1-ss660 snapshot. * Disable prefetch and adaptive hash index for tables with rows over 1024 bytes in InnoDB's SQL parser. * row_sel_try_search_shortcut(): Do not return SEL_FOUND when the record was not found. This bug was introduced in MySQL/InnoDB 5.0.3, but luckily it should never manifest itself, given that existing InnoDB SQL code never makes use of consistent reads. * Don't take unnecesary locks on supremum records when the srv_locks_unsafe_for_binlog option is enabled. Fixes an assertion failure in the innodb_unsafe_binlog testcase when compiled with UNIV_DEBUG. storage/innobase/row/row0upd.c: Applied innodb-5.1-ss660 snapshot. storage/innobase/trx/trx0roll.c: Applied innodb-5.1-ss660 snapshot. trx_sig_send() always succeeds or asserts. storage/innobase/trx/trx0trx.c: Applied innodb-5.1-ss660 snapshot. trx_sig_send() always succeeds or asserts. storage/innobase/ut/ut0ut.c: Applied innodb-5.1-ss660 snapshot. Document better the "bool table_id" flags.
-
unknown authored
into mysql.com:/home/alexi/innodb/mysql-5.1-work Null merge. storage/innobase/btr/btr0cur.c: Null merge. storage/innobase/ibuf/ibuf0ibuf.c: Null merge. storage/innobase/include/sync0rw.ic: Null merge.
-
unknown authored
innobase/btr/btr0cur.c: Applied innodb-5.0-ss660 snapshot. btr_cur_search_to_nth_level(): Reacquire btr_search_latch after inserting to the insert buffer. This was noticed while analyzing Bug#19081 but this shold not fix this bug since according to Heikki, btr_search_latch is not reserved during an insert. innobase/ibuf/ibuf0ibuf.c: Applied innodb-5.0-ss660 snapshot. ibuf_fixed_addr_page(): Add parameter space. As the insert buffer B-tree is only located in the system tablespace (space 0), IBUF_TREE_ROOT_PAGE_NO is only special in space 0. innobase/include/sync0rw.ic: Applied innodb-5.0-ss660 snapshot. rw_lock_s_unlock_func(): Change a debug assertion to a production assertion in order to track down Bug#19081.
-
unknown authored
into mysql.com:/home/alexi/innodb/mysql-5.0-work Null merge. innobase/ibuf/ibuf0ibuf.c: Null merge.
-
unknown authored
innobase/ibuf/ibuf0ibuf.c: Applied innodb-4.1-ss32 snapshot. ibuf_fixed_addr_page(): Add parameter space. As the insert buffer B-tree is only located in the system tablespace (space 0), IBUF_TREE_ROOT_PAGE_NO is only special in space 0.
-
- 12 Jul, 2006 3 commits
-
-
unknown authored
into dl145k.mysql.com:/data0/mkindahl/bk/mysql-5.1-new-rpl sql/ha_federated.cc: Auto merged
-
unknown authored
into dl145k.mysql.com:/data0/mkindahl/bk/mysql-5.1-new-rpl storage/ndb/include/kernel/GlobalSignalNumbers.h: Auto merged storage/ndb/src/kernel/blocks/dbdict/Dbdict.cpp: Auto merged storage/ndb/src/kernel/blocks/dbdict/Dbdict.hpp: Auto merged storage/ndb/src/kernel/blocks/dbdih/DbdihMain.cpp: Auto merged storage/ndb/src/ndbapi/ndberror.c: Auto merged
-
unknown authored
mysql-test/r/rpl_switch_stm_row_mixed.result: Result change sql/sql_class.h: Post-merge fixes.
-
- 11 Jul, 2006 5 commits
-
-
unknown authored
into trift2.:/M51/merge-5.1 mysql-test/r/federated.result: Auto merged mysql-test/t/federated.test: Auto merged
-
unknown authored
into trift2.:/M51/merge-5.1 configure.in: Auto merged mysql-test/t/federated.test: Auto merged sql/ha_federated.cc: Auto merged sql/mysqld.cc: Auto merged mysql-test/r/federated.result: SCCS merged sql/ha_federated.h: ? ? Use local.
-
unknown authored
into dl145k.mysql.com:/data0/mkindahl/bk/MERGE/mysql-5.1-merge include/my_sys.h: Auto merged mysql-test/mysql-test-run.pl: Auto merged mysql-test/r/rpl_row_create_table.result: Auto merged mysql-test/t/disabled.def: Auto merged mysql-test/t/rpl_row_create_table.test: Auto merged mysys/my_malloc.c: Auto merged server-tools/instance-manager/parse.h: Auto merged sql/ha_ndbcluster.cc: Auto merged sql/handler.h: Auto merged sql/log.cc: Auto merged sql/log_event.cc: Auto merged sql/mysql_priv.h: Auto merged sql/set_var.h: Auto merged sql/sp.cc: Auto merged sql/sp_head.cc: Auto merged sql/sp_head.h: Auto merged sql/sql_base.cc: Auto merged sql/sql_class.cc: Auto merged sql/sql_insert.cc: Auto merged sql/sql_lex.h: Auto merged sql/sql_parse.cc: Auto merged sql/sql_select.cc: Auto merged sql/sql_table.cc: Auto merged sql/sql_update.cc: Auto merged sql/sql_view.cc: Auto merged sql/sql_yacc.yy: Auto merged mysys/safemalloc.c: Merge of mysql-5.1-new-rpl into mysql-5.1 sql/ha_federated.cc: d Merge of mysql-5.1-new-rpl into mysql-5.1 sql/set_var.cc: Merge of mysql-5.1-new-rpl with mysql-5.1 sql/slave.cc: Merge of mysql-5.1-new-rpl into mysql-5.1 sql/sql_class.h: Merge of mysql-5.1-new-rpl into mysql-5.1
-
unknown authored
into chilla.local:/home/mydev/mysql-5.1-amerge
-
unknown authored
into dl145k.mysql.com:/data0/mkindahl/bk/MERGE/mysql-5.0-merge ndb/include/kernel/GlobalSignalNumbers.h: Auto merged ndb/src/kernel/blocks/dbdict/Dbdict.cpp: Auto merged ndb/src/kernel/blocks/dbdict/Dbdict.hpp: Auto merged ndb/src/kernel/blocks/dbdih/DbdihMain.cpp: Auto merged ndb/src/ndbapi/ndberror.c: Auto merged
-
- 10 Jul, 2006 16 commits
-
-
unknown authored
into zippy.(none):/home/cmiller/work/mysql/merge/mysql-5.1 libmysqld/lib_sql.cc: Auto merged libmysqld/libmysqld.c: Auto merged mysql-test/mysql-test-run.sh: Auto merged mysql-test/r/gis.result: Auto merged mysql-test/r/information_schema.result: Auto merged mysql-test/r/sp-security.result: Auto merged mysql-test/r/variables.result: Auto merged mysql-test/t/gis.test: Auto merged mysql-test/t/sp-security.test: Auto merged mysql-test/t/variables.test: Auto merged scripts/make_binary_distribution.sh: Auto merged sql/ha_ndbcluster.cc: Auto merged sql/item_geofunc.h: Auto merged sql-common/client.c: Auto merged sql/set_var.cc: Auto merged sql/sql_acl.cc: Auto merged sql/sql_parse.cc: Auto merged storage/ndb/include/kernel/GlobalSignalNumbers.h: Auto merged storage/ndb/src/kernel/blocks/dbdict/Dbdict.cpp: Auto merged storage/ndb/src/kernel/blocks/dbdict/Dbdict.hpp: Auto merged mysql-test/t/mysqldump.test: Manual merge. (Seems to need null-merging.) sql/mysqld.cc: Manual merge + formatting change. sql/sql_show.cc: Manual merge
-
unknown authored
-
unknown authored
into andrepl.(none):/home/elkin/MySQL/TEAM/FIXES/5.1/20919_temp_nlog mysql-test/t/rpl_openssl.test: Auto merged sql/ha_ndbcluster.cc: Auto merged sql/sql_base.cc: Auto merged
-
unknown authored
We now reset the THD members related to auto_increment+binlog in MYSQL_LOG::write(). This is better than in THD::cleanup_after_query(), which was not able to distinguish between SELECT myfunc1(),myfunc2() and INSERT INTO t SELECT myfunc1(),myfunc2() from a binlogging point of view. Rows_log_event::exec_event() now calls lex_start() instead of mysql_init_query() because the latter now does too much (it resets the binlog format). mysql-test/extra/rpl_tests/rpl_insert_id.test: fix after merge mysql-test/mysql-test-run.pl: -v does not bring useful information when running valgrind; I remove it; if you think it's useful add it back. mysql-test/r/binlog_stm_mix_innodb_myisam.result: Position columns of SHOW BINLOG EVENTS are replaced by # (more robust if the size of an event changes). mysql-test/r/rpl_insert_id.result: fix after merge mysql-test/r/rpl_loaddata.result: The binlog positions change, because one event disappeared; indeed there was this in the binlog (in the current 5.1!): SET INSERT_ID=2; SET INSERT_ID=1; SET TIMESTAMP=1152540671; load data LOCAL INFILE '/tmp/SQL_LOAD_MB-1-2' INTO table t1; Two INSERT_ID events, useless and a bug. Goes away afer cleaning up auto_increment handling. mysql-test/r/rpl_switch_stm_row_mixed.result: INSERT_ID=5 appears, it's a consequence of having merged the fix for BUG#20341 "stored function inserting into one auto_increment puts bad data in slave". In mixed mode, if one substatement of a stored procedure requires row-based, the entire procedure uses row-based (was already true for stored functions); this is a consequence of not doing the resetting of binlog format inside lock_tables() (which didn't work with how the slave thread executes row-based binlog events). mysql-test/t/rpl_switch_stm_row_mixed.test: removing the multi-row delayed insert because in RBR the number of events which it generates, is not repeatable (probably depends on how the delayed thread groups rows, i.e. dependent on timing). sql/ha_partition.cc: update to new prototype sql/ha_partition.h: update to new prototype of the handler:: method. sql/handler.cc: after-merge fixes (manually merging part which was hard to merge in fmtool) sql/log.cc: When we write to the binary log, THD's parameters which influenced this write are reset: stmt_depends_on_first_successful_insert_id_in_prev_stmt and auto_inc_intervals_in_cur_stmt_for_binlog. This is so that future writes are not influenced by those and can write their own values. As a consequence, when we don't write to the binlog we do not reset. This is to abide by the rule that in a complex statement (using triggers etc), the first top- or substatement to generate auto_increment ids wins their writing to the binlog (that writing may be done by the statement itself or by the caller); so for example for INSERT INTO t SELECT myfunc() where myfunc() inserts into auto_increment and INSERT INTO t does not, myfunc() will fill auto_inc_intervals_in_cur_stmt_for_binlog, which will not be reset when myfunc() ends, then INSERT INTO t will write to the binlog and thus write the preserved auto_inc_intervals_in_cur_stmt_for_binlog. sql/log_event.cc: mysql_init_query() does too much now to be called in Rows_log_event::exec_event (it call mysql_reset_thd_for_next_command() which may switch the binlog format now). It's ok to call it in Table_map_log_event::exec_event() but its call must be before setting the binlog format to "row". sql/sql_base.cc: Resetting the binlog format in lock_tables() was a bad idea of mine; it causes problems in execution of row-based binlog events, where the thread sets the binlog format by itself and does not want a next lock_tables() to reset the binlog format. It is also misleading, for a function named lock_tables(), to reset the binlog format. As a consequence of this change, in mixed binlogging mode, a routine is logged either entirely statement-based or entirely row-based, we don't switch in the middle (this was already true for prelocked routines, now it's also true for stored procedures). sql/sql_class.cc: resetting of auto_increment variables used for binlogging is now done when writing to the binary log, no need to do the resetting at the end of the statement. It is also more correct this way; consider SELECT myfunc1(),myfunc2(); where both functions insert into the same auto_increment column. Binlogging is done in 2 events: "SELECT myfunc1()" and "SELECT myfunc2()". So each of those needs to have, in binlog, the INSERT_ID which it inserted. But as the 2 function calls are executed under prelocked mode, the old code didn't reset auto_inc_intervals_in_cur_stmt_for_binlog after the first SELECT was binlogged, and so the INSERT_ID of the first SELECT was binlogged for the first SELECT and (wrong) also for the 2nd SELECT event. stmt_depends_on_first_... has the same logic. sql/sql_class.h: clearer comment sql/sql_delete.cc: unneeded #ifdef. As we temporarily change the binlog format to "statement" before calling mysql_delete(), we must restore it afterwards. sql/sql_insert.cc: after-merge fixes. No need to reset auto_inc_intervals_in_cur_stmt_for_binlog for every row in the delayed insert system thread, because we already reset it when writing to the binlog. sql/sql_parse.cc: unneeded #ifdef
-
unknown authored
into andrepl.(none):/home/elkin/MySQL/TEAM/FIXES/5.1/20919_temp_nlog mysql-test/t/rpl_openssl.test: Auto merged sql/ha_ndbcluster.cc: Auto merged sql/sql_base.cc: manual merge
-
unknown authored
into gbichot3.local:/home/mysql_src/mysql-5.0
-
unknown authored
storage/ndb/src/kernel/blocks/dblqh/DblqhMain.cpp: dont mess up signal log, also changed w+ to a
-
unknown authored
into orca.ndb.mysql.com:/space_old/pekka/ndb/version/my51-bug18781 storage/ndb/src/kernel/blocks/dbdict/DictLock.txt: SCCS merged storage/ndb/src/kernel/blocks/dbdih/Dbdih.hpp: manual storage/ndb/src/kernel/blocks/dbdih/DbdihMain.cpp: SCCS merged storage/ndb/src/kernel/vm/SimulatedBlock.cpp: manual storage/ndb/src/kernel/vm/SimulatedBlock.hpp: manual storage/ndb/test/run-test/daily-basic-tests.txt: SCCS merged
-
unknown authored
ndb/src/kernel/blocks/dbdict/DictLock.txt: wait until SL_STARTED before sending DICT_UNLOCK_ORD ndb/src/kernel/blocks/dbdih/Dbdih.hpp: wait until SL_STARTED before sending DICT_UNLOCK_ORD ndb/src/kernel/blocks/dbdih/DbdihMain.cpp: wait until SL_STARTED before sending DICT_UNLOCK_ORD ndb/src/kernel/vm/SimulatedBlock.cpp: wait until SL_STARTED before sending DICT_UNLOCK_ORD ndb/src/kernel/vm/SimulatedBlock.hpp: wait until SL_STARTED before sending DICT_UNLOCK_ORD ndb/test/run-test/daily-basic-tests.txt: wait until SL_STARTED before sending DICT_UNLOCK_ORD
-
unknown authored
into orca.ndb.mysql.com:/space_old/pekka/ndb/version/my51-bug18781 storage/ndb/include/kernel/GlobalSignalNumbers.h: auto storage/ndb/src/common/debugger/signaldata/SignalNames.cpp: SCCS merged storage/ndb/src/kernel/blocks/ndbcntr/NdbcntrMain.cpp: auto storage/ndb/src/kernel/vm/SimulatedBlock.cpp: auto storage/ndb/src/kernel/vm/SimulatedBlock.hpp: manual
-
unknown authored
ndb/include/kernel/GlobalSignalNumbers.h: 5.0 : add NODE_START_REP from 5.1 ndb/src/common/debugger/signaldata/SignalNames.cpp: 5.0 : add NODE_START_REP from 5.1 ndb/src/kernel/blocks/ndbcntr/NdbcntrMain.cpp: 5.0 : add NODE_START_REP from 5.1 ndb/src/kernel/vm/SimulatedBlock.cpp: 5.0 : add NODE_START_REP from 5.1 ndb/src/kernel/vm/SimulatedBlock.hpp: 5.0 : add NODE_START_REP from 5.1
-
unknown authored
into gbichot3.local:/home/mysql_src/mysql-5.1 mysql-test/mysql-test-run.pl: Auto merged sql/sql_base.cc: Auto merged
-
unknown authored
into romeo.(none):/home/bk/b20821-mysql-5.1-new-rpl
-
unknown authored
into chilla.local:/home/mydev/mysql-5.1-aid sql/ha_federated.cc: Auto merged
-
unknown authored
into dsl-hkigw8-feb1fb00-100.dhcp.inet.fi:/usr_rh9/home/elkin.rh9/MySQL/TEAM/FIXES/5.0/20919_temp_nlog sql/sql_base.cc: Manual merge
-
unknown authored
set properly.
-
- 09 Jul, 2006 9 commits
-
-
unknown authored
closing temp tables through end_thread had a flaw in binlog-off branch of close_temporary_tables where next table to close was reset via table->next for (table= thd->temporary_tables; table; table= table->next) which was wrong since the current table instance got destoyed at close_temporary(table, 1); The fix adapts binlog-on branch method to engage the loop's internal 'next' variable which holds table->next prior table's destoying. sql/sql_base.cc: no-binlog branch is fixed: scanning across temporary_tables must be careful to save next table since the current is being destroyed inside of close_temporary. binlog-is-open case is ok.
-
unknown authored
into gbichot3.local:/home/mysql_src/mysql-5.1 sql/ha_federated.cc: Auto merged sql/ha_ndbcluster.cc: Auto merged sql/handler.h: Auto merged sql/log_event.cc: Auto merged sql/set_var.cc: Auto merged sql/sql_class.cc: Auto merged sql/sql_class.h: Auto merged sql/sql_parse.cc: Auto merged sql/sql_select.cc: Auto merged sql/sql_table.cc: Auto merged sql/sql_update.cc: Auto merged sql/handler.cc: will fix by hand mysql-test/extra/rpl_tests/rpl_insert_id.test: merge mysql-test/r/rpl_insert_id.result: merge sql/sql_insert.cc: merge
-
unknown authored
mysql-test/r/rpl_switch_stm_row_mixed.result: post-merge fix mysql-test/t/rpl_switch_stm_row_mixed.test: post-merge fix (and no need to use a table t12 in some place).
-
unknown authored
into gbichot3.local:/home/mysql_src/mysql-5.1 mysql-test/t/disabled.def: Auto merged sql/set_var.cc: Auto merged sql/sql_class.h: Auto merged mysql-test/r/rpl_switch_stm_row_mixed.result: manual merge (will fix) mysql-test/t/rpl_switch_stm_row_mixed.test: manual merge (will fix)
-
unknown authored
mysql-test/extra/binlog_tests/mix_innodb_myisam_binlog.test: As in other tests, we should replace both position columns of SHOW BINLOG EVENTS; otherwise a small change (like here, the fact that CREATE TEMPORARY TABLE is not binlogged in RBR as a consequence of the bugfix for BUG#20522) causes a large diff in the result file. mysql-test/r/binlog_row_mix_innodb_myisam.result: result update: positions in SHOW BINLOG EVENTS become #, and the CREATE TEMPORARY TABLE disappear from binlog (consequence of fix for BUG#20522 "RBR: CREATE TEMPORARY TABLE SELECT writes to binlog though unneeded").
-
unknown authored
mysql-test/r/rpl_switch_stm_row_mixed.result: result update. I noticed the appearance of an additional table_map+rows in the binlog when INSERT DELAYED, since I pulled the latest fixes to RBR of INSERT DELAYED. This is ok, I put the reason why into sql_insert.cc. sql/sql_insert.cc: A comment about the new row-based binlogging of INSERT DELAYED. Removing duplicate MY_HOOKS (from a wrong merge of the past??).
-
unknown authored
into gbichot3.local:/home/mysql_src/mysql-5.1 sql/sql_insert.cc: Auto merged
-
unknown authored
were copied/split between 5.0 and 5.1). mysql-test/extra/rpl_tests/rpl_auto_increment.test: manual merge of test from 5.0 mysql-test/extra/rpl_tests/rpl_insert_id.test: manuel merge of test from 5.0 mysql-test/r/rpl_auto_increment.result: error messages changed compared to 5.0
-
unknown authored
into gbichot3.local:/home/mysql_src/mysql-5.1 mysql-test/r/rpl_auto_increment.result: Auto merged mysql-test/r/rpl_insert_id.result: Auto merged mysql-test/t/rpl_openssl.test: Auto merged sql/ha_ndbcluster.cc: Auto merged mysql-test/t/rpl_auto_increment.test: will fix by hand mysql-test/t/rpl_insert_id.test: will fix by hand sql/handler.cc: comment sql/handler.h: manual merge sql/sql_insert.cc: manual merge
-