- 30 Jan, 2008 2 commits
-
-
unknown authored
-
unknown authored
pre-locking. The crash was caused by an implicit assumption in check_table_access() that table_list parameter is always a part of lex->query_tables. When iterating over the passed list of tables, check_table_access() used to stop only when lex->query_tables_last_not_own was reached. In case of pre-locking, lex->query_tables_last_own is not NULL and points to some element of lex->query_tables. When the parameter of check_table_access() was not part of lex->query_tables, loop invariant could never be violated and a crash would happen when the current table pointer would point beyond the end of the provided list. The fix is to change the signature of check_table_access() to also accept a numeric limit of loop iterations, similarly to check_grant(), and supply this limit in all places when we want to check access of tables that are outside lex->query_tables, or just want to check access to one table. mysql-test/r/information_schema.result: Update test results (Bug#34166). mysql-test/t/information_schema.test: Add a test case for Bug#34166. sql/mysql_priv.h: Change signature of check_table_access() to accept a numeric limit of tables to check. sql/sp_head.cc: Update to the new signature of check_table_access(). sql/sql_acl.cc: Improve code clarity: if there is a numeric limit, we should not need to look at first_not_own_table. sql/sql_base.cc: Update to the new signature of check_table_access(). sql/sql_cache.cc: Update to the new signature of check_table_access(). sql/sql_parse.cc: Update to the new signature of check_table_access(). Change check_table_access() to accept an optional numeric limit of tables to check. A crash would happen when check_table_access() was passed a list of tables that is not part of lex->query_tables and lex->query_tables_last_own was not NULL. sql/sql_plugin.cc: Update to the new signature of check_table_access(). sql/sql_prepare.cc: Update to the new signature of check_table_access(). sql/sql_show.cc: Update to the new signature of check_table_access(). Ensure that check_table_access() only checks access to the first table in the table list when called from list_open_tables(). list_open_tables() supplies a table list that is created on stack, whereas check_table_access() used to assume that the supplied list is a part of thd->lex. sql/sql_trigger.cc: Update to the new signature of check_table_access(). sql/sql_view.cc: Update to the new signature of check_table_access().
-
- 29 Jan, 2008 3 commits
- 28 Jan, 2008 2 commits
-
-
unknown authored
mysql-test/t/lock_multi.test: Remove spurious test line.
-
unknown authored
The problem is that the Table_locks_waited was incremented only when the lock request succeed. If a thread waiting for the lock gets killed or the lock request is aborted, the variable would not be incremented, leading to inaccurate values in the variable. The solution is to increment the Table_locks_waited whenever the lock request is queued. This reflects better the intended behavior of the variable -- show how many times a lock was waited. mysql-test/r/lock_multi.result: Add test case result for Bug#30331 mysql-test/t/lock_multi.test: Add test case for Bug#30331 mysys/thr_lock.c: Increment locks_waited whenever the thread is supposed to wait for the lock.
-
- 24 Jan, 2008 4 commits
-
-
unknown authored
into quad.:/mnt/raid/alik/MySQL/devel/5.1-rt
-
unknown authored
into quad.:/mnt/raid/alik/MySQL/devel/5.1-rt-merged-5.0-rt mysql-test/r/innodb_mysql.result: Auto merged mysql-test/t/disabled.def: Auto merged sql/sql_insert.cc: Auto merged sql/sql_select.cc: Auto merged sql/sql_update.cc: Auto merged
-
unknown authored
into quad.:/mnt/raid/alik/MySQL/devel/5.0-rt-merged-5.0
-
ssh://bk-internal.mysql.com//home/bk/mysql-5.1unknown authored
into kaamos.(none):/data/src/opt/mysql-5.1-opt
-
- 23 Jan, 2008 5 commits
-
-
unknown authored
-
unknown authored
into lambda.hsd1.co.comcast.net.:/home/malff/TREE/mysql-5.1-33618 mysql-test/r/sp-code.result: Auto merged mysql-test/t/sp-code.test: Auto merged sql/sp_head.cc: Auto merged sql/sp_head.h: Auto merged sql/sp_rcontext.cc: Auto merged
-
unknown authored
-
unknown authored
into lambda.hsd1.co.comcast.net.:/home/malff/TREE/mysql-5.0-33618 mysql-test/t/sp.test: Auto merged sql/sp_head.cc: Auto merged sql/sql_yacc.yy: Auto merged
-
unknown authored
Bug 33983 (Stored Procedures: wrong end <label> syntax is accepted) The server used to crash when REPEAT or another control instruction was used in conjunction with labels and a LEAVE instruction. The crash was caused by a missing "pop" of handlers or cursors in the code representing the stored program. When executing the code in a loop, this missing "pop" would result in a stack overflow, corrupting memory. Code generation has been fixed to produce the missing h_pop/c_pop instructions. Also, the logic checking that labels at the beginning and the end of a statement are matched was incorrect, causing Bug 33983. End labels, when used, must match the label used at the beginning of a block. mysql-test/r/sp-code.result: Bug#33618 (Crash in sp_rcontext) mysql-test/r/sp-error.result: Bug 33983 (Stored Procedures: wrong end <label> syntax is accepted) mysql-test/r/sp.result: Bug#33618 (Crash in sp_rcontext) mysql-test/t/sp-code.test: Bug#33618 (Crash in sp_rcontext) mysql-test/t/sp-error.test: Bug 33983 (Stored Procedures: wrong end <label> syntax is accepted) mysql-test/t/sp.test: Bug#33618 (Crash in sp_rcontext) sql/sp_head.cc: Bug#33618 (Crash in sp_rcontext) sql/sp_head.h: Bug#33618 (Crash in sp_rcontext) sql/sp_rcontext.cc: Bug#33618 (Crash in sp_rcontext) sql/sp_rcontext.h: Bug#33618 (Crash in sp_rcontext) sql/sql_yacc.yy: Bug#33618 (Crash in sp_rcontext)
-
- 20 Jan, 2008 2 commits
- 19 Jan, 2008 7 commits
-
-
unknown authored
-
unknown authored
into ibm.:/home/alik/Documents/MySQL/devel/5.1-rt-merged-5.0-rt mysql-test/t/sp.test: Manually merged.
-
unknown authored
into ibm.:/home/alik/Documents/MySQL/devel/5.1-rt-merged-5.1 configure.in: Auto merged client/mysqldump.c: Auto merged sql/item_sum.cc: Auto merged sql/sql_base.cc: Auto merged sql/sql_class.h: Auto merged sql/sql_select.cc: Auto merged sql/sql_show.cc: Auto merged sql/sql_table.cc: Auto merged sql/sql_yacc.yy: Auto merged sql/unireg.cc: Auto merged
-
unknown authored
mysql-test/r/group_by.result: Post-merge fix after merging 5.0-opt to 5.1-opt. mysql-test/t/disabled.def: Disabled innodb_mysql back, bug #32724 is still not fixed.
-
unknown authored
into ibm.:/home/alik/Documents/MySQL/devel/5.0-rt-merged-5.0
-
unknown authored
into kaamos.(none):/data/src/opt/mysql-5.1-opt mysql-test/r/group_by.result: Auto merged mysql-test/r/type_decimal.result: Auto merged mysql-test/r/view.result: Auto merged mysql-test/t/type_decimal.test: Auto merged sql/item.cc: Auto merged sql/item_func.cc: Auto merged sql/sql_insert.cc: Auto merged sql/sql_select.cc: Auto merged mysql-test/r/subselect.result: Manual merge. mysql-test/t/group_by.test: Manual merge. mysql-test/t/subselect.test: Manual merge. mysql-test/t/view.test: Manual merge.
-
unknown authored
-
- 18 Jan, 2008 2 commits
-
-
unknown authored
into lamia.dupka:/home/mhansson/my50-bug33143-again-pushee
-
unknown authored
The problem occurred when one had a subquery that had an equality X=Y where Y referred to a named select list expression from the parent select. MySQL crashed when trying to use the X=Y equality for ref-based access. Fixed by allowing non-Item_field items in the described case. mysql-test/r/subselect.result: BUG#33794 "MySQL crashes executing specific query" - Testcase mysql-test/t/subselect.test: BUG#33794 "MySQL crashes executing specific query" - Testcase sql/sql_select.cc: BUG#33794 "MySQL crashes executing specific query" get_store_key() assumed that if it got a reference t.key=Item_outer_ref(Item_direct_ref(x)) then x was an Item_field object, which is not the case when one refers to a named select list expression out ot subquery.
-
- 17 Jan, 2008 3 commits
-
-
unknown authored
into linux-st28.site:/home/martin/mysql/src/bug33143/my51-bug33143-pushee sql/item_func.cc: Auto merged mysql-test/r/type_decimal.result: Bug#33143: Manual merge mysql-test/t/type_decimal.test: Bug#33143: Manual merge
-
unknown authored
into linux-st28.site:/home/martin/mysql/src/bug33143/my51-bug33143 mysql-test/r/type_decimal.result: Auto merged sql/item_func.cc: Auto merged strings/decimal.c: Auto merged
-
unknown authored
into linux-st28.site:/home/martin/mysql/src/bug33143/my50-bug33143-again-pushee sql/item_func.cc: Auto merged mysql-test/r/type_decimal.result: Bug#33143: Manual merge mysql-test/t/type_decimal.test: Bug#33143: Manual merge
-
- 16 Jan, 2008 1 commit
-
-
unknown authored
sql/sql_insert.cc: Remove a redundant call to my_error() -- in case of out of memory, the error is reported already by operator new (Delayed_inserts inherits from ilink).
-
- 14 Jan, 2008 1 commit
-
-
unknown authored
The ROUND(X, D) function would change the Item::decimals field during execution to achieve the effect of a dynamic number of decimal digits. This caused a series of bugs: Bug #30617:Round() function not working under some circumstances in InnoDB Bug #33402:ROUND with decimal and non-constant cannot round to 0 decimal places Bug #30889:filesort and order by with float/numeric crashes server Fixed by never changing the number of shown digits for DECIMAL when used with a nonconstant number of decimal digits. mysql-test/r/type_decimal.result: Bug#33143: Test result mysql-test/t/type_decimal.test: Bug#33143: Test case sql/item_func.cc: Bug#33143: - Moved the DECIMAL_MAX_SCALE limitation to fix_length_and_dec. - Removed resetting of Item::decimals field. - set the frac field of the output value to current scale. strings/decimal.c: Bug#33143: It is necessary to set all digits in the buffer following the rounded one to zero, as they may now be displayed.
-
- 12 Jan, 2008 1 commit
-
-
unknown authored
into lamia.dupka:/home/mhansson/my50-bug31797-pushee
-
- 11 Jan, 2008 7 commits
-
-
unknown authored
include/Makefile.am: Include gcc_builtins.h header in the list.
-
unknown authored
into mysql.com:/Users/davi/mysql/mysql-5.1-runtime
-
unknown authored
Use compiler provided atomic builtins as a 'backend' for MySQL's atomic primitives. The builtins are available on a handful of platforms and compilers. configure.in: Check if the compiler provides atomic builtins and that __sync_lock_test_and_set stores the correct value. include/atomic/nolock.h: Use the atomic builtins if available. include/atomic/gcc_builtins.h: Implement the atomic ADD, SWAP, CAS, STORE (or operation optimized away) and LOAD primitives using atomic builtins provided by the compiler.
-
unknown authored
into lamia.dupka:/home/mhansson/my51-bug31797-pushee
-
unknown authored
into linux-st28.site:/home/martin/mysql/src/bug31797/my51-bug31797-pushee mysql-test/r/group_by.result: Auto merged mysql-test/t/group_by.test: Auto merged sql/item.cc: Auto merged
-
unknown authored
into linux-st28.site:/home/martin/mysql/src/bug31797/my51-bug31797 sql/item.cc: Auto merged mysql-test/r/group_by.result: Bug#31797: Manual merge mysql-test/t/group_by.test: Bug#31797: Manual merge
-
unknown authored
into olga.mysql.com:/home/igor/dev-opt/mysql-5.1-opt-bug33697 mysql-test/t/disabled.def: Auto merged sql/sql_select.cc: Auto merged
-