- 26 Apr, 2007 1 commit
-
-
malff/marcsql@weblab.(none) authored
-
- 25 Apr, 2007 2 commits
-
-
malff/marcsql@weblab.(none) authored
into weblab.(none):/home/marcsql/TREE/mysql-5.1-25411_merge
-
malff/marcsql@weblab.(none) authored
-
- 24 Apr, 2007 2 commits
-
-
malff/marcsql@weblab.(none) authored
into weblab.(none):/home/marcsql/TREE/mysql-5.0-25411_d
-
malff/marcsql@weblab.(none) authored
The issue found with bug 25411 is due to the function skip_rear_comments() which damages the source code while implementing a work around. The root cause of the problem is in the lexical analyser, which does not process special comments properly. For special comments like : [1] aaa /*!50000 bbb */ ccc since 5.0 is a version older that the current code, the parser is in lining the content of the special comment, so that the query to process is [2] aaa bbb ccc However, the text of the query captured when processing a stored procedure, stored function or trigger (or event in 5.1), can be after rebuilding it: [3] aaa bbb */ ccc which is wrong. To fix bug 25411 properly, the lexical analyser needs to return [2] when in lining special comments. In order to implement this, some preliminary cleanup is required in the code, which is implemented by this patch. Before this change, the structure named LEX (or st_lex) contains attributes that belong to lexical analysis, as well as attributes that represents the abstract syntax tree (AST) of a statement. Creating a new LEX structure for each statements (which makes sense for the AST part) also re-initialized the lexical analysis phase each time, which is conceptually wrong. With this patch, the previous st_lex structure has been split in two: - st_lex represents the Abstract Syntax Tree for a statement. The name "lex" has not been changed to avoid a bigger impact in the code base. - class lex_input_stream represents the internal state of the lexical analyser, which by definition should *not* be reinitialized when parsing multiple statements from the same input stream. This change is a pre-requisite for bug 25411, since the implementation of lex_input_stream will later improve to deal properly with special comments, and this processing can not be done with the current implementation of sp_head::reset_lex and sp_head::restore_lex, which interfere with the lexer. This change set alone does not fix bug 25411.
-
- 21 Apr, 2007 6 commits
-
-
mjorgensen@blade09.mysql.com authored
into blade09.mysql.com:/tmp/mmj/mysql-5.0-runtime
-
mjorgensen@blade09.mysql.com authored
into blade09.mysql.com:/tmp/mmj/mysql-5.1-runtime
-
holyfoot/hf@mysql.com/hfmain.(none) authored
-
holyfoot/hf@hfmain.(none) authored
into mysql.com:/d2/hf/mrg/mysql-5.1-opt
-
ibabaev@bk-internal.mysql.com authored
into bk-internal.mysql.com:/data0/bk/mysql-5.1-opt
-
igor@olga.mysql.com authored
-
- 20 Apr, 2007 20 commits
-
-
malff/marcsql@weblab.(none) authored
-
ibabaev@bk-internal.mysql.com authored
into bk-internal.mysql.com:/data0/bk/mysql-5.0-opt
-
malff/marcsql@weblab.(none) authored
into weblab.(none):/home/marcsql/TREE/mysql-5.0-rt-merge
-
malff/marcsql@weblab.(none) authored
into weblab.(none):/home/marcsql/TREE/mysql-5.1-rt-merge
-
evgen@moonbone.local authored
into moonbone.local:/mnt/gentoo64/work/bk-trees/mysql-5.1-opt
-
tomas@whalegate.ndb.mysql.com authored
into whalegate.ndb.mysql.com:/home/tomas/mysql-5.1
-
mats@romeo.(none) authored
-
mats@romeo.(none) authored
-
gshchepa/uchum@gshchepa.loc authored
into gshchepa.loc:/home/uchum/work/bk-trees/mysql-5.0-opt-27704
-
gshchepa/uchum@gshchepa.loc authored
into gshchepa.loc:/home/uchum/work/bk-trees/mysql-5.0-opt-27704
-
gshchepa/uchum@gshchepa.loc authored
Support for NULL components was incomplete for row comparison, fixed. Added support for abort_on_null at compare_row() like in 5.x
-
gkodinov/kgeorge@magare.gmz authored
into magare.gmz:/home/kgeorge/mysql/autopush/B27786-5.0-opt
-
mhansson@dl145s.mysql.com authored
This bug was intruduced by the fix for bug#17212 (in 4.1). It is not ok to call test_if_skip_sort_order since this function will alter the execution plan. By contract it is not ok to call test_if_skip_sort_order in this context. This bug appears only in the case when the optimizer has chosen an index for accessing a particular table but finds a covering index that enables it to skip ORDER BY. This happens in test_if_skip_sort_order.
-
mats@romeo.(none) authored
into romeo.(none):/home/bk/merge-mysql-5.1
-
mats@romeo.(none) authored
into romeo.(none):/home/bk/merge-mysql-5.1
-
mats@romeo.(none) authored
into romeo.(none):/home/bk/merge-mysql-5.0
-
mats@romeo.(none) authored
into romeo.(none):/home/bkroot/mysql-5.0-rpl
-
mats@romeo.(none) authored
into romeo.(none):/home/bk/b27779-mysql-5.1-rpl
-
mats@romeo.(none) authored
-
gkodinov/kgeorge@magare.gmz authored
When merging views into the enclosing statement the ORDER BY clause of the view is merged to the parent's ORDER BY clause. However when the VIEW is merged into an UNION branch the ORDER BY should be ignored. Use of ORDER BY for individual SELECT statements implies nothing about the order in which the rows appear in the final result because UNION by default produces unordered set of rows. Fixed by ignoring the ORDER BY clause from the merge view when expanded in an UNION branch.
-
- 19 Apr, 2007 3 commits
-
-
gkodinov/kgeorge@magare.gmz authored
into magare.gmz:/home/kgeorge/mysql/autopush/B27530-5.0-opt
-
gluh@mysql.com/eagle.(none) authored
They can drop table after table names list creation and before table opening. We open non existing table and get ER_NO_SUCH_TABLE error. In this case we do not store the record into I_S table and clear error.
-
tomas@whalegate.ndb.mysql.com authored
-
- 18 Apr, 2007 5 commits
-
-
tomas@whalegate.ndb.mysql.com authored
revert back to old show_binlog_events asto many test failures, and create a show_binlog_events2 instead
-
tomas@whalegate.ndb.mysql.com authored
- test case
-
tomas@whalegate.ndb.mysql.com authored
- both for data schema operations - also make sure schema events vet the right server id when injected into the binlog - use same mechanism to signal server_id in bug#17095, and reserve some "id's" for flagging special conditions on the event, in this case do not log it - enable printing of server ids in the testcases to show that we cot it right
-
tomas@whalegate.ndb.mysql.com authored
- make sure any value is set for linked operations as well, e.g. blob tables
-
igor@olga.mysql.com authored
conditions when executing an equijoin query with WHERE condition containing a subquery predicate of the form join_attr NOT IN (SELECT ...). To resolve a problem of the correct evaluation of the expression attr NOT IN (SELECT ...) an array of guards is created to make it possible to filter out some predicates of the EXISTS subquery into which the original subquery predicate is transformed, in the cases when a takes the NULL value. If attr is defined as a field that cannot be NULL than such an array is not needed and is not created. However if the field a occurred also an an equijoin predicate t2.a=t1.b and table t1 is accessed before table t2 then it may happen that the the EXISTS subquery is pushed down to the condition evaluated just after table t1 has been accessed. In this case any occurrence of t2.a is substituted for t1.b. When t1.b takes the value of NULL an attempt is made to turn on the corresponding guard. This action caused a crash as no guard array had been created. Now the code of Item_in_subselect::set_cond_guard_var checks that the guard array has been created before setting a guard variable on. Otherwise the method does nothing. It cannot results in returning a row that could be rejected as the condition t2.a=t1.b will be checked later anyway.
-
- 17 Apr, 2007 1 commit
-
-
malff/marcsql@weblab.(none) authored
into weblab.(none):/home/marcsql/TREE/mysql-5.1-rt-merge
-