- 24 Apr, 2007 1 commit
-
-
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.
-
- 06 Apr, 2007 2 commits
-
-
anozdrin/alik@ibm. authored
-
anozdrin/alik@ibm. authored
-
- 04 Apr, 2007 1 commit
-
-
tsmith@quadxeon.mysql.com authored
into quadxeon.mysql.com:/benchmarks/ext3/TOSAVE/tsmith/bk/maint/mrg04/50
-
- 02 Apr, 2007 11 commits
-
-
iggy@recycle.(none) authored
into recycle.(none):/src/bug23491_ii/my50-bug23491_ii
-
iggy@recycle.(none) authored
-
kostja@bodhi.local authored
into bodhi.local:/opt/local/work/mysql-5.0-runtime
-
msvensson@pilot.blaudden authored
into pilot.blaudden:/home/msvensson/mysql/mysql-5.0-maint
-
msvensson@pilot.blaudden authored
into pilot.blaudden:/home/msvensson/mysql/mysql-5.0-maint
-
msvensson@pilot.blaudden authored
into pilot.blaudden:/home/msvensson/mysql/mysql-4.1-maint
-
msvensson@pilot.blaudden authored
into pilot.blaudden:/home/msvensson/mysql/mysql-5.0-maint
-
msvensson@pilot.blaudden authored
-
msvensson@pilot.blaudden authored
-
msvensson@pilot.blaudden authored
Remove the setting of --local-load parameter for mysqlbinlog and leave that to the testcases to decide what params to use.
-
ibabaev@bk-internal.mysql.com authored
into bk-internal.mysql.com:/data0/bk/mysql-5.0-opt
-
- 31 Mar, 2007 8 commits
-
-
into mysql.com:/nfsdisk1/lars/MERGE/mysql-5.0-merge
-
into mysql.com:/nfsdisk1/lars/MERGE/mysql-5.0-merge
-
msvensson@pilot.blaudden authored
-
msvensson@pilot.blaudden authored
- Add --local-load option to avoidthat the load data file requested by mysqlbinlog end up in local var/tmp dir and not in system global tmpdir
-
into mysql.com:/nfsdisk1/lars/MERGE/mysql-5.0-merge
-
ibabaev@bk-internal.mysql.com authored
into bk-internal.mysql.com:/data0/bk/mysql-4.1-opt
-
igor@olga.mysql.com authored
conditions. When allocating memory for KEY_FIELD/SARGABLE_PARAM structures the function update_ref_and_keys did not take into account the fact that a single row equality could be replaced by several simple equalities. Fixed by adjusting the counter cond_count accordingly for each subquery when performing substitution of a row equality for simple equalities.
-
ibabaev@bk-internal.mysql.com authored
into bk-internal.mysql.com:/data0/bk/mysql-5.0-opt
-
- 30 Mar, 2007 9 commits
-
-
into mysql.com:/nfsdisk1/lars/MERGE/mysql-5.0-merge
-
sergefp@mysql.com authored
-
sergefp@mysql.com authored
Pushbuild fixes: - Make MAX_SEL_ARGS smaller (even 16K records_in_range() calls is more than it makes sense to do in typical cases) - Don't call sel_arg->test_use_count() if we've already allocated more than MAX_SEL_ARGs elements. The test will succeed but will take too much time for the test suite (and not provide much value).
-
kent@mysql.com/kent-amd64.(none) authored
into mysql.com:/home/kent/bk/tmp/mysql-4.1-build
-
msvensson@shellback.(none) authored
-
evgen@sunlight.local authored
NO_AUTO_VALUE_ON_ZERO mode. In the NO_AUTO_VALUE_ON_ZERO mode the table->auto_increment_field_not_null variable is used to indicate that a non-NULL value was specified by the user for an auto_increment column. When an INSERT .. ON DUPLICATE updates the auto_increment field this variable is set to true and stays unchanged for the next insert operation. This makes the next inserted row sometimes wrongly have 0 as the value of the auto_increment field. Now the fill_record() function resets the table->auto_increment_field_not_null variable before filling the record. The table->auto_increment_field_not_null variable is also reset by the open_table() function for a case if we missed some auto_increment_field_not_null handling bug. Now the table->auto_increment_field_not_null is reset at the end of the mysql_load() function. Reset the table->auto_increment_field_not_null variable after each write_row() call in the copy_data_between_tables() function.
-
msvensson@shellback.(none) authored
- Read the pid from pidfile in order to be able to kill the real process instead of the pseudo process. Most platforms will have the same real_pid as pid - Kill using the real pid
-
istruewing@chilla.local authored
into chilla.local:/home/mydev/mysql-5.0-axmrg
-
bar@mysql.com authored
into mysql.com:/home/bar/mysql-5.0.b22638
-
- 29 Mar, 2007 8 commits
-
-
istruewing@chilla.local authored
into chilla.local:/home/mydev/mysql-5.0-axmrg
-
svoj@mysql.com/april.(none) authored
into mysql.com:/home/svoj/devel/mysql/BUG25521/mysql-5.0-engines
-
gkodinov/kgeorge@magare.gmz authored
into magare.gmz:/home/kgeorge/mysql/autopush/B26815-5.0-opt
-
iggy@recycle.(none) authored
into recycle.(none):/src/bug23491/my50-bug23491
-
gkodinov/kgeorge@magare.gmz authored
into magare.gmz:/home/kgeorge/mysql/autopush/B26815-5.0-opt
-
gkodinov/kgeorge@magare.gmz authored
When creating a temporary table the concise column type of a string expression is decided based on its length: - if its length is under 512 it is stored as either varchar or char. - otherwise it is stored as a BLOB. There is a flag (convert_blob_length) to create_tmp_field that, when >0 allows to force creation of a varchar if the max blob length is under convert_blob_length. However it must be verified that convert_blob_length (settable through a SQL option in some cases) is under the maximum that can be stored in a varchar column. While performing that check for expressions in create_tmp_field_from_item the max length of the blob was used instead. This causes blob columns to be created in the heap temp table used by GROUP_CONCAT (where blobs must not be created in the temp table because of the constant convert_blob_length that is passed to create_tmp_field() ). And since these blob columns are not expected in that place we get wrong results. Fixed by checking that the value of the flag variable is in the limits that fit into VARCHAR instead of the max length of the blob column.
-
msvensson@pilot.blaudden authored
into pilot.blaudden:/home/msvensson/mysql/mysql-5.0-maint
-
msvensson@pilot.blaudden authored
into pilot.blaudden:/home/msvensson/mysql/mysql-4.1-maint
-