into magare.gmz:/home/kgeorge/mysql/autopush/B27363-5.0-opt
mysql-test/r/subselect.result:
Auto merged
mysql-test/t/subselect.test:
Auto merged
sql/item.cc:
Auto merged
sql/item_sum.cc:
Auto merged
Validity checks for nested set functions
were not taking into account that the enclosed
set function may be on a nest level that is
lower than the nest level of the enclosing set
function.
Fixed by :
- propagating max_sum_func_level
up the enclosing set functions chain.
- updating the max_sum_func_level of the
enclosing set function when the enclosed set
function is aggregated above or on the same
nest level of as the level of the enclosing
set function.
- updating the max_arg_level of the enclosing
set function on a reference that refers to
an item above or on the same nest level
as the level of the enclosing set function.
- Treating both Item_field and Item_ref as possibly
referencing items from outer nest levels.
mysql-test/r/subselect.result:
Bug #27363: test cases
mysql-test/t/subselect.test:
Bug #27363: test cases
sql/item.cc:
Bug #27363:
Treat the reference as an outer reference for the
enclosing set function even if it's referencing
an item that is above the nest level of the
enclosing set function.
Consider both Item_field and Item_ref.
sql/item_sum.cc:
Bug #27363: Use the enclosed set function aggregation
level to mark the enclosing set function even
if it's aggregated on a level that is above the
nest level of the enclosing set function.
Pass max_sum_func_level up the accending branch of the
recursion because it must take into account each
directly or indirectly nested set function.
into weblab.(none):/home/marcsql/TREE/mysql-5.1-25411_merge
mysql-test/r/sp.result:
Auto merged
mysql-test/t/sp.test:
Auto merged
sql/item_func.cc:
Auto merged
sql/log_event.cc:
Auto merged
INSERT into InnoDB table may cause "ERROR 1062 (23000): Duplicate entry..."
errors or lost records after multi-row INSERT of the form:
"INSERT INTO t (id...) VALUES (NULL...) ON DUPLICATE KEY UPDATE id=VALUES(id)",
where "id" is an AUTO_INCREMENT column.
It happens because InnoDB handler forgets to save next insert id after
updating of auto_increment column with new values. As result of that
last insert id stored inside InnoDB dictionary tables differs from it's
cached thd->next_insert_id value.
sql/ha_innodb.cc:
Fixed bug #27650.
INSERT into InnoDB table may cause "ERROR 1062 (23000): Duplicate entry..."
errors or lost records after multi-row INSERT of the form:
"INSERT INTO t (id...) VALUES (NULL...) ON DUPLICATE KEY UPDATE id=VALUES(id)",
where "id" is an AUTO_INCREMENT column.
It happens because InnoDB handler forgets to save next insert id after
updating of auto_increment column with new values. As result of that
last insert id stored inside InnoDB dictionary tables differs from it's
cached thd->next_insert_id value.
ha_innobase::write_row() function has been corrected.
mysql-test/t/innodb_mysql.test:
Added a test case for bug #27650.
mysql-test/r/innodb_mysql.result:
Added a test case for bug #27650.
added support for DATE, TIME, BLOB, FLOAT and all *INT variants in I_S tables
sql/item.h:
added support for DATE, TIME, BLOB, FLOAT and all *INT variants in I_S tables
sql/sp.cc:
added support for DATE, TIME, BLOB, FLOAT and all *INT variants in I_S tables
sql/sql_show.cc:
added support for DATE, TIME, BLOB, FLOAT and all *INT variants in I_S tables
sql/table.h:
added MY_I_S_MAYBE_NULL & MY_I_S_UNSIGNED flags which are used as
field atributes for I_S schema table fields
into pilot.blaudden:/home/msvensson/mysql/mysql-5.1-maint
mysql-test/r/alter_table.result:
Auto merged
mysql-test/t/alter_table.test:
Auto merged
sql/sql_table.cc:
Auto merged
add a new method is_equal in class Field_blob to compare BLOB field when alter table
sql/field.cc:
add a method compare_str_field_flags in class Field_str
add a method is_equal in class Field_blob to compare BLOB field when alter table
sql/field.h:
add corresponding declaration of new method in class definition
- Use the 25141 fix.
- 26074 is duplicate, as 25141 has more comprehensive test
mysql-test/r/windows.result:
- Removed duplicate results.
mysql-test/t/windows.test:
- Removed InnoDB requirement.
- Removed duplicate test case.
sql/ha_partition.cc:
- Reverted changes from bug 26074 because it conflicts with bug 25141.
When fields are inserted instead of * in the select list they were not marked
for check for the ONLY_FULL_GROUP_BY mode.
The Field_iterator_table::create_item() function now marks newly created
items for check when in the ONLY_FULL_GROUP_BY mode.
The setup_wild() and the insert_fields() functions now maintain the
cur_pos_in_select_list counter for the ONLY_FULL_GROUP_BY mode.
sql/sql_base.cc:
Bug#27874: Non-grouped columns are allowed by * in ONLY_FULL_GROUP_BY mode.
The setup_wild() and the insert_fields() functions now maintain the
cur_pos_in_select_list counter for the ONLY_FULL_GROUP_BY mode.
sql/table.cc:
Bug#27874: Non-grouped columns are allowed by * in ONLY_FULL_GROUP_BY mode.
The Field_iterator_table::create_item() function now marks newly created
items for check when in the ONLY_FULL_GROUP_BY mode.
mysql-test/r/group_by.result:
Added a test case for the bug#27874: Non-grouped columns are allowed by * in ONLY_FULL_GROUP_BY mode.
mysql-test/t/group_by.test:
Added a test case for the bug#27874: Non-grouped columns are allowed by * in ONLY_FULL_GROUP_BY mode.
into weblab.(none):/home/marcsql/TREE/mysql-5.0-25411_d
sql/item_func.cc:
Auto merged
sql/log_event.cc:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/slave.cc:
Auto merged
sql/sp.cc:
Auto merged
sql/sp_head.cc:
Auto merged
sql/sql_class.cc:
Auto merged
sql/sql_class.h:
Auto merged
sql/sql_lex.cc:
Auto merged
sql/sql_lex.h:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_prepare.cc:
Auto merged
sql/sql_view.cc:
Auto merged
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.
sql/item_func.cc:
Refactoring, separate lex_input_stream from st_lex.
sql/log_event.cc:
Refactoring, separate lex_input_stream from st_lex.
sql/mysql_priv.h:
Refactoring, separate lex_input_stream from st_lex.
sql/slave.cc:
Refactoring, separate lex_input_stream from st_lex.
sql/sp.cc:
Refactoring, separate lex_input_stream from st_lex.
sql/sp_head.cc:
Refactoring, separate lex_input_stream from st_lex.
sql/sp_head.h:
Refactoring, separate lex_input_stream from st_lex.
sql/sql_class.cc:
Refactoring, separate lex_input_stream from st_lex.
sql/sql_class.h:
Refactoring, separate lex_input_stream from st_lex.
sql/sql_lex.cc:
Refactoring, separate lex_input_stream from st_lex.
sql/sql_lex.h:
Refactoring, separate lex_input_stream from st_lex.
sql/sql_parse.cc:
Refactoring, separate lex_input_stream from st_lex.
sql/sql_prepare.cc:
Refactoring, separate lex_input_stream from st_lex.
sql/sql_trigger.cc:
Refactoring, separate lex_input_stream from st_lex.
sql/sql_view.cc:
Refactoring, separate lex_input_stream from st_lex.
sql/sql_yacc.yy:
Refactoring, separate lex_input_stream from st_lex.
into mysql.com:/windows/Linux_space/MySQL/mysql-5.1-new-ndb
libmysqld/Makefile.am:
Auto merged
sql/Makefile.am:
Auto merged
sql/ha_ndbcluster.cc:
Auto merged
sql/ha_ndbcluster.h:
Auto merged
into magare.gmz:/home/kgeorge/mysql/autopush/B27786-addon-5.1-opt
mysql-test/r/subselect3.result:
Auto merged
mysql-test/r/view.result:
Auto merged
mysql-test/t/view.test:
Auto merged
sql/item_subselect.cc:
Auto merged
sql/item_subselect.h:
Auto merged
sql/sql_lex.h:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_select.cc:
Auto merged
sql/sql_view.cc:
Auto merged
Refactored code for engine_condition_pushdown to ha_ndbcluster_cond
Makefile.am:
Added compilation of ha_ndbcluster_cond
ha_ndbcluster_cond.h, ha_ndbcluster_cond.cc:
Merge
libmysqld/Makefile.am:
Added compilation of ha_ndbcluster_cond
sql/Makefile.am:
Added compilation of ha_ndbcluster_cond
sql/ha_ndbcluster.cc:
Refactored code for engine_condition_pushdown to ha_ndbcluster_cond
sql/ha_ndbcluster.h:
Refactored code for engine_condition_pushdown to ha_ndbcluster_cond
sql/ha_ndbcluster_cond.cc:
Merge
sql/ha_ndbcluster_cond.h:
Merge
into dev3-221.dev.cn.tlan:/home/ngb/mysql/mysql-5.1/bug18676
sql/ha_ndbcluster.cc:
Auto merged
sql/handler.cc:
Auto merged
sql/sql_plugin.cc:
Auto merged
sql/sql_table.cc:
Auto merged
into pilot.blaudden:/home/msvensson/mysql/mysql-5.1-maint
scripts/mysql_system_tables_fix.sql:
Auto merged
sql/sql_plugin.cc:
Auto merged
sql/sql_udf.cc:
Auto merged
into mysql.com:/home/ram/work/b27515/b27515.5.0
mysql-test/r/grant.result:
Auto merged
mysql-test/t/grant.test:
Auto merged
sql/sql_parse.cc:
Auto merged
Added initialization for the plugin structure created in
plugin_add().
Made a correct argument vector in mysql_install_plugin():
handle_options() assumes that arg0 (program name) always exists.
mysys/my_getopt.c:
WL#2936 - Falcon & MySQL plugin interface: server variables
Added DBUG_ASSERTs. handle_options() assumes that arg0
(program name) always exists.
plugin/fulltext/plugin_example.c:
WL#2936 - Falcon & MySQL plugin interface: server variables
Extended the fulltext parser example plugin with system variables.
into mysql.com:/windows/Linux_space/MySQL/mysql-5.1-new-ndb
sql/Makefile.am:
Using local, will merge manually
sql/ha_ndbcluster.cc:
Using local, will merge manually.
sql/ha_ndbcluster.h:
Using local, will merge manually.
into mysql.com:/home/ram/work/b27515/b27515.5.1
mysql-test/t/grant.test:
Auto merged
sql/sql_parse.cc:
Auto merged
mysql-test/r/grant.result:
will be merged in a post-merge CS
into mysql.com:/home/ram/work/b27515/b27515.5.0
mysql-test/r/grant.result:
will be merged in a post-merge CS
mysql-test/t/grant.test:
manual merge
sql/sql_parse.cc:
manual merge