into gleb.loc:/home/uchum/work/bk/5.1-opt
libmysql/libmysql.c:
Merge with 5.0-opt.
mysql-test/r/insert_select.result:
Merge with 5.0-opt.
mysql-test/r/mysqlbinlog.result:
Merge with 5.0-opt.
mysql-test/r/rpl_change_master.result:
Merge with 5.0-opt.
mysql-test/r/view.result:
Merge with 5.0-opt.
mysql-test/t/insert_select.test:
Merge with 5.0-opt.
mysql-test/t/mysqlbinlog.test:
Merge with 5.0-opt.
mysql-test/t/rpl_change_master.test:
Merge with 5.0-opt.
mysql-test/t/view.test:
Merge with 5.0-opt.
sql/item.cc:
Merge with 5.0-opt.
sql/item.h:
Merge with 5.0-opt.
sql/log_event.cc:
Merge with 5.0-opt.
sql/sql_select.cc:
Merge with 5.0-opt.
The abort happened when a query contained a conjunctive predicate
of the form 'view column = constant' in the WHERE condition and
the grouping list also contained a reference to a view column yet
a different one.
Removed the failing assertion as invalid in a general case.
Also fixed a bug that prevented applying some optimization for grouping
queries using views. If the WHERE condition of such a query contains
a conjunctive condition of the form 'view column = constant' and
this view column is used in the grouping list then grouping by this
column can be eliminated. The bug blocked performing this elimination.
mysql-test/r/view.result:
Added a test case for bug #29104.
mysql-test/t/view.test:
Added a test case for bug #29104.
sql/item.cc:
Fixed bug #29104: assertion abort for grouping queries using views.
The abort happened when a query contained a conjunctive predicate
of the form 'view column = constant' in the WHERE condition and
the grouping list also contained a reference to a view column yet
a different one.
Removed the failing assertion as invalid in a general case.
Also fixed a bug that prevented applying some optimization for grouping
queries using views. If the WHERE condition of such a query contains
a conjunctive condition of the form 'view column = constant' and
this view column is used in the grouping list then grouping by this
column can be eliminated. The bug blocked performing this elimination.
This bug was in the function Item_field::eq while the failing
assertion was in the function Item_direct_view_ref::eq.
The abort happened when a query contained a conjunctive predicate
of the form 'view column = constant' in the WHERE condition and
the grouping list also contained a reference to a view column yet
a different one.
Removed the failing assertion as invalid in a general case.
Also fixed a bug that prevented applying some optimization for grouping
queries using views. If the WHERE condition of such a query contains
a conjunctive condition of the form 'view column = constant' and
this view column is used in the grouping list then grouping by this
column can be eliminated. The bug blocked performing this elimination.
into moonbone.local:/mnt/gentoo64/work/test-5.1-opt-mysql
mysql-test/r/view.result:
Auto merged
mysql-test/t/grant2.test:
Auto merged
mysql-test/t/view.test:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_show.cc:
Auto merged
mysql-test/r/grant2.result:
SCCS merged
mysql-test/r/information_schema.result:
SCCS merged
mysql-test/t/information_schema.test:
SCCS merged
sql/sql_table.cc:
SCCS merged
IS_UPDATABLE flag is set to 'yes' when the view has at least one updatable column and
the algorithm is not 'temporary'.
mysql-test/r/information_schema.result:
test result
mysql-test/r/view.result:
test result
mysql-test/t/information_schema.test:
test case
mysql-test/t/view.test:
test case
sql/sql_show.cc:
IS_UPDATABLE flag is set to 'yes' when the view has at least one updatable column and
the algorithm is not 'temporary'.
Views don't have indexes. So they can't take index hints.
Added a check and disabled the usage of hints for views.
mysql-test/r/view.result:
Bug #28701: test case
mysql-test/t/view.test:
Bug #28701: test case
sql/sql_view.cc:
Bug #28701: disable usage of hints for views
into gleb.loc:/home/uchum/work/bk/mysql-5.1-opt
mysql-test/r/user_var.result:
Auto merged
mysql-test/r/view.result:
Auto merged
mysql-test/t/user_var.test:
Auto merged
sql/item_func.cc:
Auto merged
sql/item_func.h:
Auto merged
sql/sql_view.cc:
Auto merged
sql/table.cc:
Auto merged
sql/table.h:
Auto merged
mysql-test/t/view.test:
Merge with 5.0-opt.
into gleb.loc:/home/uchum/work/bk/mysql-5.0-opt
mysql-test/r/view.result:
Merge with bug #27827 fix.
mysql-test/t/view.test:
Merge with bug #27827 fix.
ON conditions from JOIN expression were ignored at CHECK OPTION
check when updating a multi-table view with CHECK OPTION.
The st_table_list::prep_check_option function has been
modified to to take into account ON conditions at CHECK OPTION check
It was also changed to build the check option condition only once
for any update used in PS/SP.
sql/table.h:
Fixed bug #27827.
The st_table_list::check_option_processed variable has been added
to build the check option condition only once for any update used
in PS/SP.
sql/table.cc:
Fixed bug #27827.
The st_table_list::prep_check_option function has been
modified to to take into account ON conditions at CHECK OPTION check
It was also changed to build the check option condition only once
for any update used in PS/SP.
mysql-test/t/view.test:
Updated test case for bug #27827.
mysql-test/r/view.result:
Updated test case for bug #27827.
ON conditions from JOIN expression were ignored at CHECK OPTION
check when updating a multi-table view with CHECK OPTION.
The st_table_list::prep_check_option function has been
modified to to take into account ON conditions at CHECK OPTION check
It was also changed to build the check option condition only once
for any update used in PS/SP.
into gleb.loc:/home/uchum/work/bk/mysql-5.1-opt
sql/sql_class.h:
Auto merged
mysql-test/r/view.result:
Merge with 5.0-opt.
mysql-test/t/view.test:
Merge with 5.0-opt.
sql/sql_update.cc:
Merge with 5.0-opt.
The result of the CHECK OPTION condition evaluation over an
updated record and records of merged tables was arbitrary and
dependant on the order of records in the merged tables during
the execution of SELECT statement.
The CHECK OPTION expression was evaluated over expired record
buffers (with arbitrary data in the fields).
Rowids of tables used in the CHECK OPTION expression were
added to temporary table rows. The multi_update::do_updates()
method was modified to restore necessary record buffers
before evaluation of the CHECK OPTION condition.
sql/sql_class.h:
Fixed bug #29716.
The multi_update::unupdatable_check_opt_tables variable
has been added.
sql/sql_update.cc:
Fixed bug #29716.
Rowids of tables used in the CHECK OPTION expression were
added to temporary table rows. The multi_update::do_updates()
method was modified to restore necessary record buffers
before evaluation of the CHECK OPTION condition.
mysql-test/t/view.test:
Updated test case for bug #28716.
mysql-test/r/view.result:
Updated test case for bug #28716.
The result of the CHECK OPTION condition evaluation over an
updated record and records of merged tables was arbitrary and
dependant on the order of records in the merged tables during
the execution of SELECT statement.
The CHECK OPTION expression was evaluated over expired record
buffers (with arbitrary data in the fields).
Rowids of tables used in the CHECK OPTION expression were
added to temporary table rows. The multi_update::do_updates()
method was modified to restore necessary record buffers
before evaluation of the CHECK OPTION condition.
into gleb.loc:/home/uchum/work/bk/mysql-5.1-opt
client/mysqldump.c:
Auto merged
mysql-test/r/join_outer.result:
Auto merged
mysql-test/r/kill.result:
Auto merged
mysql-test/r/view.result:
Auto merged
mysql-test/t/join_outer.test:
Auto merged
mysql-test/t/kill.test:
Auto merged
sql/field.h:
Auto merged
sql/item_func.cc:
Auto merged
sql/sp_head.cc:
Auto merged
sql/sql_base.cc:
Auto merged
mysql-test/r/mysqldump.result:
Merge with 5.0-opt
mysql-test/t/mysqldump.test:
Merge with 5.0-opt
mysql-test/t/view.test:
Merge with 5.0-opt
sql/sql_select.cc:
Merge with 5.0-opt
CHECK OPTION and a subquery in WHERE condition.
The abort was triggered by setting the value of join->tables for
subqueries in the function JOIN::cleanup. This function was called
after an invocation of the JOIN::join_free method for subqueries
used in WHERE condition.
mysql-test/r/view.result:
Added a test case for bug #28561.
mysql-test/t/view.test:
Added a test case for bug #28561.
sql/sql_select.cc:
Fixed bug #28561: assertion abort for update on multi-table view with
CHECK OPTION and a subquery in WHERE condition.
The abort was triggered by setting the value of join->tables for
subqueries in the function JOIN::cleanup. This function was called
after an invocation of the JOIN::join_free method for subqueries
used in WHERE condition.
Setting the value of join->tables to for a subquery created serious
problems for checking WHERE condition after update of the multi-table
view as this check is performed in the do_select function right
after a call of the JOIN::join_free method.
In fact setting join->tables to 0 in JOIN::cleanup is not needed
anywhere in the current code.
CHECK OPTION and a subquery in WHERE condition.
The abort was triggered by setting the value of join->tables for
subqueries in the function JOIN::cleanup. This function was called
after an invocation of the JOIN::join_free method for subqueries
used in WHERE condition.
into moonbone.local:/mnt/gentoo64/work/bk-trees/mysql-5.1-opt
mysql-test/r/func_str.result:
Auto merged
mysql-test/r/key.result:
Auto merged
mysql-test/r/row.result:
Auto merged
mysql-test/r/subselect.result:
Auto merged
mysql-test/r/subselect3.result:
Auto merged
mysql-test/r/view.result:
Auto merged
mysql-test/t/func_str.test:
Auto merged
mysql-test/t/key.test:
Auto merged
sql/item_cmpfunc.cc:
Auto merged
sql/item_cmpfunc.h:
Auto merged
sql/item_strfunc.h:
Auto merged
sql/item_subselect.h:
Auto merged
sql/sql_select.cc:
Auto merged
sql/sql_show.cc:
Auto merged
sql/sql_view.cc:
Auto merged
mysql-test/t/view.test:
Manually merged
sql/sql_lex.h:
Manually merged
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.
mysql-test/r/view.result:
Bug #27786: test case
mysql-test/t/view.test:
Bug #27786: test case
sql/sql_lex.h:
Bug #27786: add a is_union() inlined function
Returns true if the unit represents an UNION.
sql/sql_view.cc:
Bug #27786: ignore ORDER BY in mergeable views when in UNION context
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.
into bk-internal.mysql.com:/data0/bk/mysql-5.1-opt
mysql-test/r/view.result:
Auto merged
mysql-test/t/view.test:
Auto merged
sql/sql_delete.cc:
Auto merged
sql/sql_lex.cc:
Auto merged
Support of views wasn't implemented for the TRUNCATE statement.
Now TRUNCATE on views has the same semantics as DELETE FROM view:
mysql_truncate() checks whether the table is a view and falls back
to delete if so.
In order to initialize properly the LEX::updatable for a view
st_lex::can_use_merged() now allows usage of merged views for the
TRUNCATE statement.
mysql-test/r/truncate.result:
Added a test case for the Bug#5507: TRUNCATE does not work with views.
mysql-test/t/truncate.test:
Added a test case for the Bug#5507: TRUNCATE does not work with views.
sql/sql_lex.cc:
Bug#5507: TRUNCATE does not work with views.
can_use_merged() was denying of usage of merged views for a
TRUNCATE statement. This results in improper initialization
of view LEX::updatable. Fixed.
sql/sql_delete.cc:
Bug#5507: TRUNCATE does not work with views.
1.mysql_truncate() was lacking of check whether the table is view. Added.
2.mysql_truncate() calls mysql_delete(), but mysql_delete() always reports
errors as "DELETE" errors. Fixed.
mysql-test/t/view.test:
Updated test case for Bug#14540: OPTIMIZE, ANALYZE, REPAIR applied
to not a view.
mysql-test/r/view.result:
Updated test case for Bug#14540: OPTIMIZE, ANALYZE, REPAIR applied
to not a view.
Support of views wasn't implemented for the TRUNCATE statement.
Now TRUNCATE on views has the same semantics as DELETE FROM view:
mysql_truncate() checks whether the table is a view and falls back
to delete if so.
In order to initialize properly the LEX::updatable for a view
st_lex::can_use_merged() now allows usage of merged views for the
TRUNCATE statement.
mysql-test/r/view.result:
result fixed
mysql-test/r/view_grant.result:
result fixed
mysql-test/t/query_cache_sql_prepare.test:
test fixed
mysql-test/t/view.test:
moved to view_grant
mysql-test/t/view_grant.test:
moved here from view.test
into bodhi.local:/opt/local/work/mysql-5.1-runtime
include/my_global.h:
Auto merged
mysql-test/mysql-test-run.pl:
Auto merged
mysql-test/r/events_scheduling.result:
Auto merged
BitKeeper/deleted/.del-init_db.sql~a77d572c39d5a1f8:
Auto merged
BitKeeper/deleted/.del-mysql_create_system_tables.sh:
Auto merged
mysql-test/r/query_cache.result:
Auto merged
mysql-test/r/view.result:
Auto merged
mysql-test/t/events_scheduling.test:
Auto merged
mysql-test/t/grant_cache.test:
Auto merged
mysql-test/t/query_cache.test:
Auto merged
mysql-test/t/view.test:
Auto merged
scripts/mysql_system_tables_fix.sql:
Auto merged
sql/event_db_repository.cc:
Auto merged
sql/event_queue.cc:
Auto merged
sql/field.cc:
Auto merged
sql/handler.cc:
Auto merged
sql/handler.h:
Auto merged
sql/item.cc:
Auto merged
sql/item.h:
Auto merged
sql/item_func.cc:
Auto merged
sql/item_subselect.cc:
Auto merged
sql/log_event.cc:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/mysqld.cc:
Auto merged
sql/set_var.cc:
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_class.h:
Auto merged
sql/sql_help.cc:
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_select.cc:
Auto merged
sql/sql_show.cc:
Auto merged
sql/sql_table.cc:
Auto merged
sql/sql_yacc.yy:
Auto merged
sql/table.cc:
Auto merged
sql/share/errmsg.txt:
Auto merged
sql/tztime.cc:
Auto merged
storage/innobase/handler/ha_innodb.cc:
Auto merged
storage/myisam/ha_myisam.cc:
Auto merged
storage/myisam/ha_myisam.h:
Auto merged
mysql-test/r/skip_grants.result:
Manualmerge.
mysql-test/r/sp.result:
Manualmerge.
mysql-test/t/skip_grants.test:
Manualmerge.
mysql-test/t/sp.test:
Manualmerge.
sql/event_data_objects.cc:
Manualmerge.
into moonlight.home:/home/tomash/src/mysql_ab/mysql-5.1-bug16425
mysql-test/r/view.result:
Auto merged
mysql-test/t/view.test:
Auto merged
sql/sql_yacc.yy:
Auto merged
for bug#16425: Events: no DEFINER clause. The problem was that there
were two rules
ALTER view_algorithm_opt definer ... VIEW ...
ALTER definer EVENT ...
so when there was 'ALTER definer' in the input it was unclear if empty
view_algorithm_opt should be executed or not.
We solve this by introducing three distinct rules
ALTER view_algorithm definer ... VIEW ...
ALTER definer ... VIEW ...
ALTER definer EVENT ...
that remove the ambiguity.
mysql-test/r/view.result:
Add result for the test of ALTER ALGORITHM= DEFINER= VIEW.
mysql-test/t/view.test:
Add test case for ALTER ALGORITHM= DEFINER= VIEW.
for bug#16425: Events: no DEFINER clause. The problem was that there
were two rules
ALTER view_algorithm_opt definer ... VIEW ...
ALTER definer EVENT ...
so when there was 'ALTER definer' in the input it was unclear if empty
view_algorithm_opt should be executed or not.
We solve this by introducing three distinct rules
ALTER view_algorithm definer ... VIEW ...
ALTER definer ... VIEW ...
ALTER definer EVENT ...
that remove the ambiguity.