--Bug#52157 various crashes and assertions with multi-table update, stored function
--Bug#54475 improper error handling causes cascading crashing failures in innodb/ndb
--Bug#57703 create view cause Assertion failed: 0, file .\item_subselect.cc, line 846
--Bug#57352 valgrind warnings when creating view
--Recently discovered problem when a nested materialized derived table is used
before being populated and it leads to incorrect result
We have several modes when we should disable subquery evaluation.
The reasons for disabling are different. It could be
uselessness of the evaluation as in case of 'CREATE VIEW'
or 'PREPARE stmt', or we should disable subquery evaluation
if tables are not locked yet as it happens in bug#54475, or
too early evaluation of subqueries can lead to wrong result
as it happened in Bug#19077.
Main problem is that if subquery items are treated as const
they are evaluated in ::fix_fields(), ::fix_length_and_dec()
of the parental items as a lot of these methods have
Item::val_...() calls inside.
We have to make subqueries non-const to prevent unnecessary
subquery evaluation. At the moment we have different methods
for this. Here is a list of these modes:
1. PREPARE stmt;
We use UNCACHEABLE_PREPARE flag.
It is set during parsing in sql_parse.cc, mysql_new_select() for
each SELECT_LEX object and cleared at the end of PREPARE in
sql_prepare.cc, init_stmt_after_parse(). If this flag is set
subquery becomes non-const and evaluation does not happen.
2. CREATE|ALTER VIEW, SHOW CREATE VIEW, I_S tables which
process FRM files
We use LEX::view_prepare_mode field. We set it before
view preparation and check this flag in
::fix_fields(), ::fix_length_and_dec().
Some bugs are fixed using this approach,
some are not(Bug#57352, Bug#57703). The problem here is
that we have a lot of ::fix_fields(), ::fix_length_and_dec()
where we use Item::val_...() calls for const items.
3. Derived tables with subquery = wrong result(Bug19077)
The reason of this bug is too early subquery evaluation.
It was fixed by adding Item::with_subselect field
The check of this field in appropriate places prevents
const item evaluation if the item have subquery.
The fix for Bug19077 fixes only the problem with
convert_constant_item() function and does not cover
other places(::fix_fields(), ::fix_length_and_dec() again)
where subqueries could be evaluated.
Example:
CREATE TABLE t1 (i INT, j BIGINT);
INSERT INTO t1 VALUES (1, 2), (2, 2), (3, 2);
SELECT * FROM (SELECT MIN(i) FROM t1
WHERE j = SUBSTRING('12', (SELECT * FROM (SELECT MIN(j) FROM t1) t2))) t3;
DROP TABLE t1;
4. Derived tables with subquery where subquery
is evaluated before table locking(Bug#54475, Bug#52157)
Suggested solution is following:
-Introduce new field LEX::context_analysis_only with the following
possible flags:
#define CONTEXT_ANALYSIS_ONLY_PREPARE 1
#define CONTEXT_ANALYSIS_ONLY_VIEW 2
#define CONTEXT_ANALYSIS_ONLY_DERIVED 4
-Set/clean these flags when we perform
context analysis operation
-Item_subselect::const_item() returns
result depending on LEX::context_analysis_only.
If context_analysis_only is set then we return
FALSE that means that subquery is non-const.
As all subquery types are wrapped by Item_subselect
it allow as to make subquery non-const when
it's necessary.
mysql-test/r/derived.result:
test case
mysql-test/r/multi_update.result:
test case
mysql-test/r/view.result:
test case
mysql-test/suite/innodb/r/innodb_multi_update.result:
test case
mysql-test/suite/innodb/t/innodb_multi_update.test:
test case
mysql-test/suite/innodb_plugin/r/innodb_multi_update.result:
test case
mysql-test/suite/innodb_plugin/t/innodb_multi_update.test:
test case
mysql-test/t/derived.test:
test case
mysql-test/t/multi_update.test:
test case
mysql-test/t/view.test:
test case
sql/item.cc:
--removed unnecessary code
sql/item_cmpfunc.cc:
--removed unnecessary checks
--THD::is_context_analysis_only() is replaced with LEX::is_ps_or_view_context_analysis()
sql/item_func.cc:
--refactored context analysis checks
sql/item_row.cc:
--removed unnecessary checks
sql/item_subselect.cc:
--removed unnecessary code
--added DBUG_ASSERT into Item_subselect::exec()
which asserts that subquery execution can not happen
if LEX::context_analysis_only is set, i.e. at context
analysis stage.
--Item_subselect::const_item()
Return FALSE if LEX::context_analysis_only is set.
It prevents subquery evaluation in ::fix_fields &
::fix_length_and_dec at context analysis stage.
sql/item_subselect.h:
--removed unnecessary code
sql/mysql_priv.h:
--Added new set of flags.
sql/sql_class.h:
--removed unnecessary code
sql/sql_derived.cc:
--added LEX::context_analysis_only analysis intialization/cleanup
sql/sql_lex.cc:
--init LEX::context_analysis_only field
sql/sql_lex.h:
--New LEX::context_analysis_only field
sql/sql_parse.cc:
--removed unnecessary code
sql/sql_prepare.cc:
--removed unnecessary code
--added LEX::context_analysis_only analysis intialization/cleanup
sql/sql_select.cc:
--refactored context analysis checks
sql/sql_show.cc:
--added LEX::context_analysis_only analysis intialization/cleanup
sql/sql_view.cc:
--added LEX::context_analysis_only analysis intialization/cleanup
We should disable const subselect item evaluation because
subselect transformation does not happen in view_prepare_mode
and thus val_...() methods can not be called.
mysql-test/r/ctype_ucs.result:
test case
mysql-test/r/view.result:
test case
mysql-test/t/ctype_ucs.test:
test case
mysql-test/t/view.test:
test case
sql/item.cc:
disabled const subselect item evaluation in
view prepare mode.
sql/item_subselect.cc:
added Item_subselect::safe_charset_converter which
prevents const item evaluation in view prepare mode.
sql/item_subselect.h:
added Item_subselect::safe_charset_converter which
prevents const item evaluation in view prepare mode.
In case of 'CREATE VIEW' subselect transformation does not happen(see JOIN::prepare).
During fix_fields Item_row may call is_null() method for its arugmens which
leads to item calculation(wrong subselect in our case as
transformation did not happen before). This is_null() call
does not make sence for 'CREATE VIEW'.
Note:
Only Item_row is affected because other items don't call is_null()
during fix_fields() for arguments.
mysql-test/r/view.result:
test case
mysql-test/t/view.test:
test case
sql/item_row.cc:
skip is_null() call in case of 'CREATE VIEW' as unnecessary.
SHOW CREATE TABLE on a view (v1) that contains a function whose
statement uses another view (v2), could trigger a infinite loop
if the view referenced within the function causes a warning to
be raised while opening the said view (v2).
The problem was a infinite loop over the stack of internal error
handlers. The problem would be triggered if the stack contained
two or more handlers and the first two handlers didn't handle the
raised condition. In this case, the loop variable would always
point to the second handler in the stack.
The solution is to correct the loop variable assignment so that
the loop is able to iterate over all handlers in the stack.
mysql-test/r/view.result:
Add test case result for Bug#48449.
mysql-test/std_data/bug48449.frm:
Add a incomplete view definition that causes a warning to be
issued.
mysql-test/t/view.test:
Add test case for Bug#48449
sql/sql_class.cc:
Iterate over all handlers in the stack.
The problem was that a failure to open a view wasn't being
properly handled. When opening a view with unknown definer,
the open procedure would be treated as successful and would
later crash when attempting to lock the view (which wasn't
opened to begin with).
The solution is to skip further processing when opening a
table if it fails with a fatal error.
mysql-test/r/view.result:
Add test case result for Bug#47734.
mysql-test/t/view.test:
Add test case for Bug#47734.
sql/sql_base.cc:
Skip further processing if opening a table failed due to
a fatal error (for the statement).
> ------------------------------------------------------------
> revno: 2792
> revision-id: sergey.glukhov@sun.com-20090703083500-jq8vhw0tqr37j7te
> parent: bernt.johnsen@sun.com-20090703083610-o7l4s8syz05rc4w0
> committer: Sergey Glukhov <Sergey.Glukhov@sun.com>
> branch nick: mysql-5.0-bugteam
> timestamp: Fri 2009-07-03 13:35:00 +0500
> message:
> Bug#45806 crash when replacing into a view with a join!
> The crash happend because for views which are joins
> we have table_list->table == 0 and
> table_list->table->'any method' call leads to crash.
> The fix is to perform table_list->table->file->extra()
> method for all tables belonging to view.
The crash happend because for views which are joins
we have table_list->table == 0 and
table_list->table->'any method' call leads to crash.
The fix is to perform table_list->table->file->extra()
method for all tables belonging to view.
mysql-test/r/view.result:
test result
mysql-test/t/view.test:
test case
sql/sql_insert.cc:
added prepare_for_positional_update() function
which updates extra info about primary key for
tables belonging to view.
with a "HAVING" clause though query works
SELECT from views defined like:
CREATE VIEW v1 (view_column)
AS SELECT c AS alias FROM t1 HAVING alias
fails with an error 1356:
View '...' references invalid table(s) or column(s)
or function(s) or definer/invoker of view lack rights
to use them
CREATE VIEW form with a (column list) substitutes
SELECT column names/aliases with names from a
view column list.
However, alias references in HAVING clause was
not substituted.
The Item_ref::print function has been modified
to write correct aliased names of underlying
items into VIEW definition generation/.frm file.
mysql-test/r/view.result:
Added test file for bug #40825.
mysql-test/t/view.test:
Added test file for bug #40825.
sql/item.cc:
Bug#40825: Error 1356 while selecting from a view
with a "HAVING" clause though query works
The Item_ref::print function has been modified
to write correct aliased names of underlying
items into VIEW definition generation/.frm file.
Problem: executing queries like "ALTER TABLE view1;" we don't
check new view's name (which is not specified),
that leads to server crash.
Fix: do nothing (to be consistent with the behaviour for tables)
in such cases.
mysql-test/r/view.result:
Fix for bug#44860: ALTER TABLE on view crashes server
- test result.
mysql-test/t/view.test:
Fix for bug#44860: ALTER TABLE on view crashes server
- test case.
sql/sql_rename.cc:
Fix for bug#44860: ALTER TABLE on view crashes server
- do_rename(): new view/table name must be specified, ASSERT() added.
sql/sql_table.cc:
Fix for bug#44860: ALTER TABLE on view crashes server
- mysql_alter_table(): renaming a view, check if new
view name is specified.
+ Fix for Bug#43114 wait_until_count_sessions too restrictive, random PB failures
+ Removal of a lot of other weaknesses found
+ modifications according to review
an error
Even after the fix for bug 28701 visible behaviors of
SELECT FROM a view and SELECT FROM a regular table are
little bit different:
1. "SELECT FROM regular table USE/FORCE/IGNORE(non
existent index)" fails with a "ERROR 1176 (HY000):
Key '...' doesn't exist in table '...'"
2. "SELECT FROM view USING/FORCE/IGNORE(any index)" fails
with a "ERROR 1221 (HY000): Incorrect usage of
USE/IGNORE INDEX and VIEW". OTOH "SHOW INDEX FROM
view" always returns empty result set, so from the point
of same behaviour view we trying to use/ignore non
existent index.
To harmonize the behaviour of USE/FORCE/IGNORE(index)
clauses in SELECT from a view and from a regular table the
"ERROR 1221 (HY000): Incorrect usage of USE/IGNORE INDEX
and VIEW" message has been replaced with the "ERROR 1176
(HY000): Key '...' doesn't exist in table '...'" message
like for tables and non existent keys.
mysql-test/r/view.result:
Added test case for bug #33461.
Updated test case for bug 28701.
mysql-test/t/view.test:
Added test case for bug #33461.
Updated test case for bug 28701.
sql/sql_view.cc:
Bug #33461: SELECT ... FROM <view> USE INDEX (...) throws
an error
To harmonize the behaviour of USE/FORCE/IGNORE(index)
clauses in SELECT from a view and from a regular table the
"ERROR 1221 (HY000): Incorrect usage of USE/IGNORE INDEX
and VIEW" message has been replaced with the "ERROR 1176
(HY000): Key '...' doesn't exist in table '...'" message
like for tables and non existent keys.
A string buffers which were included in the 'view' data structure
were allocated on the stack, causing an invalid pointer when used
after the function returned.
The fix: use copy of values for view->md5 & view->queries
mysql-test/r/view.result:
test result
mysql-test/t/view.test:
test case
sql/sql_view.cc:
A string buffers which were included in the 'view' data structure
were allocated on the stack, causing an invalid pointer when used
after the function returned.
The fix: use copy of values for view->md5 & view->queries
into pilot.mysql.com:/data/msvensson/mysql/mysql-5.1-mtr
BitKeeper/etc/ignore:
auto-union
BitKeeper/deleted/.del-rpl_row_charset.test:
Auto merged
CMakeLists.txt:
Auto merged
configure.in:
Auto merged
client/mysqltest.c:
Auto merged
mysql-test/extra/binlog_tests/blackhole.test:
Auto merged
mysql-test/include/commit.inc:
Auto merged
mysql-test/include/mix1.inc:
Auto merged
mysql-test/lib/mtr_report.pm:
Auto merged
mysql-test/r/commit_1innodb.result:
Auto merged
mysql-test/r/create.result:
Auto merged
mysql-test/r/ctype_big5.result:
Auto merged
mysql-test/r/drop.result:
Auto merged
mysql-test/r/group_by.result:
Auto merged
mysql-test/r/information_schema.result:
Auto merged
mysql-test/r/loaddata.result:
Auto merged
mysql-test/r/mysqlbinlog.result:
Auto merged
mysql-test/r/partition_error.result:
Auto merged
mysql-test/r/query_cache.result:
Auto merged
mysql-test/r/sp.result:
Auto merged
mysql-test/r/view.result:
Auto merged
mysql-test/r/warnings.result:
Auto merged
mysql-test/suite/binlog/r/binlog_row_mix_innodb_myisam.result:
Auto merged
mysql-test/suite/binlog/r/binlog_stm_blackhole.result:
Auto merged
mysql-test/suite/binlog/r/binlog_stm_mix_innodb_myisam.result:
Auto merged
mysql-test/suite/binlog/r/binlog_unsafe.result:
Auto merged
mysql-test/suite/binlog/t/binlog_unsafe.test:
Auto merged
mysql-test/suite/federated/federated.result:
Auto merged
mysql-test/suite/federated/federated.test:
Auto merged
mysql-test/suite/parts/r/partition_alter1_myisam.result:
Auto merged
mysql-test/suite/parts/r/partition_alter2_myisam.result:
Auto merged
mysql-test/suite/rpl/r/rpl_row_basic_11bugs.result:
Auto merged
mysql-test/suite/rpl/r/rpl_row_log.result:
Auto merged
mysql-test/suite/rpl/r/rpl_row_log_innodb.result:
Auto merged
mysql-test/suite/rpl/t/disabled.def:
Auto merged
mysql-test/suite/rpl/t/rpl_flushlog_loop.test:
Auto merged
mysql-test/suite/rpl_ndb/r/rpl_ndb_log.result:
Auto merged
mysql-test/suite/rpl_ndb/t/rpl_ndb_transaction.test:
Auto merged
mysql-test/t/create.test:
Auto merged
mysql-test/t/csv.test:
Auto merged
mysql-test/t/disabled.def:
Auto merged
mysql-test/t/distinct.test:
Auto merged
mysql-test/t/drop.test:
Auto merged
mysql-test/t/group_by.test:
Auto merged
mysql-test/t/innodb.test:
Auto merged
mysql-test/t/loaddata.test:
Auto merged
mysql-test/t/partition_error.test:
Auto merged
mysql-test/t/query_cache.test:
Auto merged
mysql-test/t/sp.test:
Auto merged
mysql-test/t/view.test:
Auto merged
mysql-test/t/warnings.test:
Auto merged
sql/ha_ndbcluster.cc:
Auto merged
BitKeeper/deleted/.del-combinations:
Delete: mysql-test/suite/binlog/combinations
mysql-test/r/partition_not_windows.result:
Use remote
mysql-test/r/partition_symlink.result:
Use remote
mysql-test/r/symlink.result:
SCCS merged
mysql-test/suite/parts/inc/partition_basic.inc:
SCCS merged
mysql-test/suite/parts/inc/partition_check_drop.inc:
Use remote
mysql-test/suite/parts/inc/partition_layout_check1.inc:
Use remote
mysql-test/suite/parts/inc/partition_layout_check2.inc:
Use remote
mysql-test/suite/parts/r/partition_basic_innodb.result:
Use remote
mysql-test/suite/parts/r/partition_basic_myisam.result:
Use remote
mysql-test/suite/parts/r/partition_engine_myisam.result:
Use remote
mysql-test/suite/parts/t/partition_sessions.test:
SCCS merged
mysql-test/t/partition.test:
SCCS merged
mysql-test/t/partition_not_windows.test:
Use remote
mysql-test/t/partition_symlink.test:
Use remote
mysql-test/t/symlink.test:
Use remote
mysql-test/suite/binlog/r/binlog_multi_engine.result:
Manual merge, name of binlog file changed
mysql-test/suite/rpl/t/rpl_row_mysqlbinlog.test:
Manual merge
mysys/my_init.c:
Manual merge
into host.loc:/home/uchum/work/5.1-opt
mysql-test/r/view.result:
Merge with 5.0-opt (bug#35193).
mysql-test/t/view.test:
Merge with 5.0-opt (bug#35193).
sql/sql_select.cc:
Merge with 5.0-opt (bug#35193).
View definition as SELECT ... FROM DUAL WHERE ... has
valid syntax, but use of such view in SELECT or
SHOW CREATE VIEW syntax causes unexpected syntax error.
Server omits FROM DUAL clause when storing view body
string in a .frm file for further evaluation.
However, syntax of SELECT-witout-FROM query is more
restrictive than SELECT FROM DUAL syntax, and doesn't
allow the WHERE clause.
NOTE: this syntax difference is not documented.
View registration procedure has been modified to
preserve original structure of view's body.
mysql-test/r/view.result:
Added test case for bug #35193.
mysql-test/t/view.test:
Added test case for bug #35193.
sql/sql_select.cc:
Fixed bug #35193.
The st_select_lex::print function always omits FROM DUAL clause,
even if original SELECT query has the WHERE clause.
The mysql_register_view function uses this function to reconstruct
a body of view's AS clause for further evaluation and stores that
reconstructed clause in a .frm file.
SELECT without FROM syntax is more restrictive than
SELECT FROM DUAL syntax: second one allows
the WHERE clause, but first one is not.
Use of this view in SELECT or SHOW CREATE VIEW queries
causes unexpected syntax errors.
The st_select_lex::print function has been modified to
reconstruct FROM DUAL clause in queries when needed.
TODO: Syntax difference is not documented and should be
eliminated, however improvement of
the SELECT-without-FROM syntax is not trivial and leads to
significant modification of grammar file because of additional
shift/reduce conflicts.
into pilot.mysql.com:/data/msvensson/mysql/mysql-5.1-mtr
client/mysqltest.c:
Auto merged
configure.in:
Auto merged
mysql-test/extra/rpl_tests/rpl_loaddata.test:
Auto merged
mysql-test/extra/rpl_tests/rpl_log.test:
Auto merged
mysql-test/include/mix1.inc:
Auto merged
mysql-test/lib/mtr_report.pm:
Auto merged
mysql-test/r/create.result:
Auto merged
mysql-test/r/gis.result:
Auto merged
mysql-test/r/mysqlbinlog.result:
Auto merged
mysql-test/r/trigger.result:
Auto merged
mysql-test/r/view.result:
Auto merged
mysql-test/suite/binlog/r/binlog_row_mix_innodb_myisam.result:
Auto merged
mysql-test/suite/binlog/r/binlog_stm_blackhole.result:
Auto merged
mysql-test/suite/binlog/r/binlog_stm_mix_innodb_myisam.result:
Auto merged
mysql-test/suite/rpl/r/rpl_flushlog_loop.result:
Auto merged
mysql-test/suite/rpl/t/disabled.def:
Auto merged
mysql-test/suite/rpl/t/rpl_flushlog_loop.test:
Auto merged
mysql-test/t/create.test:
Auto merged
mysql-test/t/disabled.def:
Auto merged
mysql-test/t/mysqldump.test:
Auto merged
mysql-test/t/show_check.test:
Auto merged
mysql-test/t/trigger.test:
Auto merged
mysql-test/t/view.test:
Auto merged
sql/ha_ndbcluster.cc:
Auto merged
sql/ha_ndbcluster_binlog.cc:
Auto merged
mysql-test/mysql-test-run.pl:
Use local
mysql-test/r/type_blob.result:
Manual merge
mysql-test/suite/binlog/r/binlog_multi_engine.result:
Manual merge
mysql-test/suite/binlog/r/binlog_unsafe.result:
Manual merge
mysql-test/suite/binlog/t/binlog_unsafe.test:
Manual merge
mysql-test/suite/rpl/r/rpl_loaddata.result:
Manual merge
mysql-test/t/mysqlbinlog2.test:
Manual merge
into kaamos.(none):/data/src/opt/mysql-5.1-opt
client/mysql.cc:
Auto merged
mysql-test/r/view.result:
Auto merged
mysql-test/t/view.test:
Auto merged
scripts/mysql_config.sh:
Auto merged
sql/filesort.cc:
Auto merged
sql/item.cc:
Auto merged
sql/item.h:
Auto merged
sql/item_func.cc:
Auto merged
sql/mysqld.cc:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_yacc.yy:
Auto merged
tests/mysql_client_test.c:
Auto merged
into kaamos.(none):/data/src/opt/mysql-5.1-opt
client/mysql.cc:
Auto merged
client/mysqldump.c:
Auto merged
configure.in:
Auto merged
include/my_global.h:
Auto merged
libmysql/libmysql.c:
Auto merged
libmysqld/lib_sql.cc:
Auto merged
mysql-test/include/mix1.inc:
Auto merged
mysql-test/r/create.result:
Auto merged
mysql-test/r/func_str.result:
Auto merged
mysql-test/r/innodb.result:
Auto merged
mysql-test/r/innodb_mysql.result:
Auto merged
mysql-test/r/select.result:
Auto merged
mysql-test/r/subselect.result:
Auto merged
mysql-test/t/create.test:
Auto merged
mysql-test/t/disabled.def:
Auto merged
sql/filesort.cc:
Auto merged
sql/handler.cc:
Auto merged
sql/item.cc:
Auto merged
sql/item.h:
Auto merged
sql/item_cmpfunc.cc:
Auto merged
sql/item_func.cc:
Auto merged
sql/item_func.h:
Auto merged
sql/item_sum.cc:
Auto merged
sql/log.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/sql_acl.cc:
Auto merged
sql/sql_base.cc:
Auto merged
sql/sql_insert.cc:
Auto merged
sql/sql_plugin.cc:
Auto merged
sql/sql_select.cc:
Auto merged
sql/sql_yacc.yy:
Auto merged
storage/ndb/src/kernel/blocks/backup/Backup.hpp:
Auto merged
tests/mysql_client_test.c:
Auto merged
mysql-test/r/func_time.result:
Manual merge.
mysql-test/r/view.result:
Manual merge.
mysql-test/t/view.test:
Manual merge.
scripts/mysql_config.sh:
Manual merge.
sql-common/client.c:
Manual merge.
sql/sql_parse.cc:
Manual merge.
into kaamos.(none):/data/src/opt/mysql-5.0-opt
client/mysql.cc:
Auto merged
sql/filesort.cc:
Auto merged
sql/item.cc:
Auto merged
sql/item.h:
Auto merged
sql/item_func.cc:
Auto merged
sql/mysqld.cc:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_yacc.yy:
Auto merged
tests/mysql_client_test.c:
Auto merged
mysql-test/r/view.result:
Manual merge.
mysql-test/t/view.test:
Manual merge.
scripts/mysql_config.sh:
Manual merge.
into pilot.mysql.com:/data/msvensson/mysql/mysql-5.1-mtr
BitKeeper/etc/ignore:
auto-union
BitKeeper/deleted/.del-rpl_row_charset.test:
Auto merged
BitKeeper/deleted/.del-rpl_row_charset_innodb.test:
Auto merged
CMakeLists.txt:
Auto merged
client/mysqltest.c:
Auto merged
configure.in:
Auto merged
mysql-test/extra/binlog_tests/blackhole.test:
Auto merged
mysql-test/extra/binlog_tests/mix_innodb_myisam_side_effects.test:
Auto merged
mysql-test/include/mix1.inc:
Auto merged
mysql-test/r/ctype_big5.result:
Auto merged
mysql-test/r/gis.result:
Auto merged
mysql-test/r/mysqlbinlog.result:
Auto merged
mysql-test/r/query_cache.result:
Auto merged
mysql-test/r/sp.result:
Auto merged
mysql-test/r/system_mysql_db.result:
Auto merged
mysql-test/r/trigger.result:
Auto merged
mysql-test/r/type_blob.result:
Auto merged
mysql-test/r/view.result:
Auto merged
mysql-test/r/warnings.result:
Auto merged
mysql-test/suite/federated/federated.result:
Auto merged
mysql-test/suite/federated/federated.test:
Auto merged
mysql-test/suite/ndb_team/r/ndb_dd_backuprestore.result:
Auto merged
mysql-test/suite/ndb_team/r/rpl_ndb_dd_advance.result:
Auto merged
mysql-test/suite/ndb_team/t/rpl_ndb_dd_advance.test:
Auto merged
mysql-test/suite/rpl/r/rpl_innodb_mixed_dml.result:
Auto merged
mysql-test/suite/rpl/r/rpl_row_log_innodb.result:
Auto merged
mysql-test/suite/rpl/r/rpl_timezone.result:
Auto merged
mysql-test/suite/rpl/t/rpl_load_from_master.test:
Auto merged
mysql-test/suite/rpl/t/rpl_rotate_logs.test:
Auto merged
mysql-test/suite/rpl/t/rpl_trigger.test:
Auto merged
mysql-test/t/csv.test:
Auto merged
mysql-test/t/ctype_big5.test:
Auto merged
mysql-test/t/gis.test:
Auto merged
mysql-test/t/innodb.test:
Auto merged
mysql-test/t/mysqldump.test:
Auto merged
mysql-test/t/partition.test:
Auto merged
mysql-test/t/query_cache.test:
Auto merged
mysql-test/t/show_check.test:
Auto merged
mysql-test/t/sp.test:
Auto merged
mysql-test/t/system_mysql_db_fix50117.test:
Auto merged
mysql-test/t/trigger.test:
Auto merged
mysql-test/t/trigger_notembedded.test:
Auto merged
mysql-test/t/type_blob.test:
Auto merged
mysql-test/t/view.test:
Auto merged
mysql-test/t/warnings.test:
Auto merged
sql/ha_ndbcluster.cc:
Auto merged
mysql-test/Makefile.am:
SCCS merged
mysql-test/mysql-test-run.pl:
Use local version of mtr.pl
mysql-test/lib/mtr_cases.pm:
Use local mtr_cases.pm
mysql-test/suite/rpl/t/disabled.def:
Use remote disabled file
mysql-test/t/disabled.def:
Use remote disabled file
sql/ha_ndbcluster_binlog.cc:
Use remote
mysql-test/extra/rpl_tests/rpl_charset.test:
Manual merge
mysql-test/lib/mtr_report.pm:
Manual merge
mysql-test/suite/binlog/r/binlog_killed_simulate.result:
Manual merge
mysql-test/suite/binlog/r/binlog_multi_engine.result:
Manual merge
mysql-test/suite/binlog/r/binlog_row_mix_innodb_myisam.result:
Manual merge
mysql-test/suite/binlog/r/binlog_stm_blackhole.result:
Manual merge
mysql-test/suite/binlog/r/binlog_stm_mix_innodb_myisam.result:
Manual merge
mysql-test/suite/binlog/t/binlog_killed.test:
Manual merge
mysql-test/suite/binlog/t/binlog_killed_simulate.test:
Manual merge
mysql-test/suite/binlog/t/binlog_row_mix_innodb_myisam.test:
Manual merge
mysql-test/suite/binlog/t/binlog_stm_mix_innodb_myisam.test:
Manual merge
mysql-test/suite/ndb/r/ndb_binlog_format.result:
Manual merge
mysql-test/suite/ndb/r/ndb_restore.result:
Manual merge
mysql-test/suite/ndb/t/ndb_restore.test:
Manual merge
mysql-test/suite/rpl/include/rpl_mixed_dml.inc:
Manual merge
mysql-test/suite/rpl/r/rpl_stm_log.result:
Manual merge
mysql-test/suite/rpl/t/rpl_row_sp005.test:
Manual merge
mysql-test/t/log_state.test:
Manual merge
mysql-test/t/mysqlbinlog.test:
Manual merge
mysql-test/t/mysqlbinlog2.test:
Manual merge
mysql-test/t/upgrade.test:
Manual merge
into kaamos.(none):/data/src/opt/bug33049/my51-bug33790
mysql-test/r/view.result:
Auto merged
sql/item_sum.cc:
Auto merged
mysql-test/t/view.test:
Manual merge.
suite)
Under some circumstances a combination of aggregate functions and
GROUP BY in a SELECT query over a VIEW could lead to incorrect
calculation of the result type of the aggregate function. This in
turn could result in incorrect results, or assertion failures on debug
builds.
Fixed by changing the logic in Item_sum_hybrid::fix_fields() so that
the argument's item is dereferenced before calling its type() method.
mysql-test/r/view.result:
Added a test case for bug #33049.
mysql-test/t/view.test:
Added a test case for bug #33049.
sql/item_sum.cc:
When calculating the result type of an aggregate function, dereference
the argument's item before calling its type() method.
into quad.:/mnt/raid/alik/MySQL/devel/bug-34337/5.1-rt-bug34337
mysql-test/r/view_grant.result:
Auto merged
mysql-test/t/view_grant.test:
Auto merged
sql/sql_view.cc:
Auto merged
mysql-test/t/view.test:
Manually merged.
a table name.
The problem was that fill_defined_view_parts() did not return
an error if a table is going to be altered. That happened if
the table was already in the table cache. In that case,
open_table() returned non-NULL value (valid TABLE-instance from
the cache).
The fix is to ensure that an error is thrown even if the table
is in the cache.
(This is a backport of the original patch for 5.1)
mysql-test/r/view.result:
Fix result file.
mysql-test/r/view_grant.result:
Fix result file.
mysql-test/t/view.test:
Add a test case for Bug#34337: Server crash when Altering a view
using a table name.
mysql-test/t/view_grant.test:
Fix order-dependency.
sql/sql_view.cc:
Report an error if we're going to work with a table.
mysql-test/r/view.result:
Drop created view.
mysql-test/t/view.test:
Update test result.
sql/sql_cursor.cc:
Fix compilation failure.
tests/mysql_client_test.c:
Manual merge.
into mysql.com:/Users/davi/mysql/mysql-5.1-runtime
mysql-test/r/view.result:
Auto merged
mysql-test/t/view.test:
Auto merged
sql/sql_view.cc:
Auto merged
The problem is that when a stored procedure is being parsed for
the first execution, the body is copied to a temporary buffer
which is disregarded sometime after the statement is parsed.
And during this parsing phase, the rule for CREATE VIEW was
holding a reference to the string being parsed for use during
the execution of the CREATE VIEW statement, leading to invalid
memory access later.
The solution is to allocate and copy the SELECT of a CREATE
VIEW statement using the thread memory root, which is set to
the permanent arena of the stored procedure.
mysql-test/r/view.result:
Add test case result for Bug#34587
mysql-test/t/view.test:
Add test case for Bug#34587
sql/sql_lex.h:
Remove start and end position variables. The SELECT of a
CREATE VIEW is now allocated at parse time.
sql/sql_view.cc:
Remove assertion that is not true when the statement is
being re-executed. Use string that was trimmed of leading
and trailing whitespace at parse time.
sql/sql_yacc.yy:
Allocate the SELECT of a CREATE VIEW using the current thread
memory root and remove any leading and trailing whitespace.
a table name.
The problem was that fill_defined_view_parts() did not return
an error if a table is going to be altered. That happened if
the table was already in the table cache. In that case,
open_table() returned non-NULL value (valid TABLE-instance from
the cache).
The fix is to ensure that an error is thrown even if the table
is in the cache.
mysql-test/r/view.result:
Fix result file.
mysql-test/t/view.test:
Add a test case for Bug#34337: Server crash when Altering a view
using a table name.
sql/sql_view.cc:
Report an error if we're going to work with a table.
but not collation.
The problem here was that text literals in a view were always
dumped with character set introducer. That lead to loosing
collation information.
The fix is to dump character set introducer only if it was
in the original query. That is now possible because there
is no problem any more of loss of character set of string
literals in views -- after WL#4052 the view is dumped
in the original character set.
mysql-test/r/case.result:
Update result file.
mysql-test/r/compress.result:
Update result file.
mysql-test/r/ctype_collate.result:
Update result file.
mysql-test/r/date_formats.result:
Update result file.
mysql-test/r/ddl_i18n_koi8r.result:
Update result file.
mysql-test/r/ddl_i18n_utf8.result:
Update result file.
mysql-test/r/fulltext.result:
Update result file.
mysql-test/r/func_crypt.result:
Update result file.
mysql-test/r/func_encrypt.result:
Update result file.
mysql-test/r/func_if.result:
Update result file.
mysql-test/r/func_in.result:
Update result file.
mysql-test/r/func_like.result:
Update result file.
mysql-test/r/func_regexp.result:
Update result file.
mysql-test/r/func_set.result:
Update result file.
mysql-test/r/func_str.result:
Update result file.
mysql-test/r/func_time.result:
Update result file.
mysql-test/r/gis.result:
Update result file.
mysql-test/r/group_min_max.result:
Update result file.
mysql-test/r/mysqldump.result:
Update result file.
mysql-test/r/negation_elimination.result:
Update result file.
mysql-test/r/null.result:
Update result file.
mysql-test/r/select.result:
Update result file.
mysql-test/r/show_check.result:
Update result file.
mysql-test/r/sp-code.result:
Update result file.
mysql-test/r/ssl.result:
Update result file.
mysql-test/r/ssl_compress.result:
Update result file.
mysql-test/r/subselect.result:
Update result file.
mysql-test/r/temp_table.result:
Update result file.
mysql-test/r/type_blob.result:
Update result file.
mysql-test/r/view.result:
Update result file.
mysql-test/suite/binlog/r/binlog_stm_blackhole.result:
Update result file.
mysql-test/suite/rpl/r/rpl_get_lock.result:
Update result file.
mysql-test/suite/rpl/r/rpl_master_pos_wait.result:
Update result file.
mysql-test/t/view.test:
Add a test case for Bug#32538.
sql/item.cc:
Do not dump character set introducer if it was not specified
explicitly in the original query.
sql/item.h:
Add 'cs_specified' property to Item_string.
sql/sql_yacc.yy:
Set Item_string::cs_specified property to TRUE
when character set introducer is explicitly specified.
or trigger crashes server
Under some circumstances a combination of VIEWs, subselects with outer
references and PS/SP/triggers could lead to use of uninitialized memory
and server crash as a result.
Fixed by changing the code in Item_field::fix_fields() so that in cases
when the field is a VIEW reference, we first check whether the field
is also an outer reference, and mark it appropriately before returning.
mysql-test/r/view.result:
Added a test case for bug #33389.
mysql-test/t/view.test:
Added a test case for bug #33389.
sql/item.cc:
In cases when in Item_field::fix_fields() from_field is a view reference,
do not return too early, i.e. before marking the reference as an outer
one when needed.
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.
value when inserting into a view.
The mysql_prepare_insert function checks all fields of the target table that
directly or indirectly (through a view) are specified in the INSERT
statement to have a default value. This check can be skipped if the INSERT
statement doesn't mention any insert fields. In case of a view this allows
fields that aren't mentioned in the view to bypass the check.
Now fields of the target table are always checked to have a default value
when insert goes into a view.
mysql-test/t/view.test:
Added a test case for the bug#29477: Not all fields of the target table were
checked to have a default value when inserting into a view.
mysql-test/r/view.result:
Added a test case for the bug#29477: Not all fields of the target table were
checked to have a default value when inserting into a view.
sql/sql_insert.cc:
Bug#29477: Not all fields of the target table were checked to have a default
value when inserting into a view.
Now fields of the target table are always checked to have a default value
when insert goes into a view.
- dynamic configuration support
- safe process
- cleanups
- create new suite for fedarated
BitKeeper/deleted/.del-basic.test:
Rename: mysql-test/ndb/basic.test -> BitKeeper/deleted/.del-basic.test
BitKeeper/deleted/.del-basic_log.result:
Rename: mysql-test/ndb/basic_log.result -> BitKeeper/deleted/.del-basic_log.result
mysql-test/suite/federated/federated_transactions.result:
Rename: mysql-test/r/federated_transactions.result -> mysql-test/suite/federated/federated_transactions.result
BitKeeper/deleted/.del-have_bug25714.require:
Rename: mysql-test/r/have_bug25714.require -> BitKeeper/deleted/.del-have_bug25714.require
BitKeeper/deleted/.del-kill_master.sh:
Rename: mysql-test/misc/kill_master.sh -> BitKeeper/deleted/.del-kill_master.sh
BitKeeper/deleted/.del-ndb_config_4_node.ini~d8e572e9b68f933a:
Rename: mysql-test/ndb/ndb_config_4_node.ini -> BitKeeper/deleted/.del-ndb_config_4_node.ini~d8e572e9b68f933a
BitKeeper/deleted/.del-restart.result:
Rename: mysql-test/ndb/restart.result -> BitKeeper/deleted/.del-restart.result
mysql-test/suite/federated/federated_cleanup.inc:
Rename: mysql-test/include/federated_cleanup.inc -> mysql-test/suite/federated/federated_cleanup.inc
mysql-test/suite/rpl/t/rpl_rotate_logs-slave.opt:
Rename: mysql-test/suite/rpl/t/rpl_rotate_logs.slave-mi -> mysql-test/suite/rpl/t/rpl_rotate_logs-slave.opt
BitKeeper/deleted/.del-install_test_db.sh:
Rename: mysql-test/install_test_db.sh -> BitKeeper/deleted/.del-install_test_db.sh
BitKeeper/deleted/.del-ndb_config_1_node.ini~7ec640ed25570e16:
Rename: mysql-test/ndb/ndb_config_1_node.ini -> BitKeeper/deleted/.del-ndb_config_1_node.ini~7ec640ed25570e16
BitKeeper/deleted/.del-mtr_timer.pl:
Rename: mysql-test/lib/mtr_timer.pl -> BitKeeper/deleted/.del-mtr_timer.pl
BitKeeper/deleted/.del-create-test-result:
Rename: mysql-test/create-test-result -> BitKeeper/deleted/.del-create-test-result
BitKeeper/deleted/.del-fix-result:
Rename: mysql-test/fix-result -> BitKeeper/deleted/.del-fix-result
BitKeeper/deleted/.del-mysql-test-run-shell.sh:
Rename: mysql-test/mysql-test-run-shell.sh -> BitKeeper/deleted/.del-mysql-test-run-shell.sh
BitKeeper/deleted/.del-mysql-test_V1.9.pl:
Rename: mysql-test/misc/mysql-test_V1.9.pl -> BitKeeper/deleted/.del-mysql-test_V1.9.pl
BitKeeper/deleted/.del-resolve-stack:
Rename: mysql-test/resolve-stack -> BitKeeper/deleted/.del-resolve-stack
BitKeeper/deleted/.del-restart_log.result:
Rename: mysql-test/ndb/restart_log.result -> BitKeeper/deleted/.del-restart_log.result
mysql-test/suite/rpl/t/rpl_000015-slave.opt:
Rename: mysql-test/suite/rpl/t/rpl_000015.slave-mi -> mysql-test/suite/rpl/t/rpl_000015-slave.opt
BitKeeper/deleted/.del-ndb_config_2_node.ini:
Rename: mysql-test/ndb/ndb_config_2_node.ini -> BitKeeper/deleted/.del-ndb_config_2_node.ini
BitKeeper/deleted/.del-ndbcluster.sh:
Rename: mysql-test/ndb/ndbcluster.sh -> BitKeeper/deleted/.del-ndbcluster.sh
BitKeeper/deleted/.del-basic.result:
Rename: mysql-test/ndb/basic.result -> BitKeeper/deleted/.del-basic.result
BitKeeper/deleted/.del-restart.test:
Rename: mysql-test/ndb/restart.test -> BitKeeper/deleted/.del-restart.test
BitKeeper/deleted/.del-have_bug25714.inc:
Rename: mysql-test/include/have_bug25714.inc -> BitKeeper/deleted/.del-have_bug25714.inc
BitKeeper/deleted/.del-mtr_diff.pl:
Rename: mysql-test/lib/mtr_diff.pl -> BitKeeper/deleted/.del-mtr_diff.pl
mysql-test/suite/federated/federated_transactions-slave.opt:
Rename: mysql-test/t/federated_transactions-slave.opt -> mysql-test/suite/federated/federated_transactions-slave.opt
BitKeeper/deleted/.del-Makefile.am~343467da4d0f211b:
Rename: mysql-test/ndb/Makefile.am -> BitKeeper/deleted/.del-Makefile.am~343467da4d0f211b
BitKeeper/deleted/.del-mtr_im.pl~9762b0336c28949:
Rename: mysql-test/lib/mtr_im.pl -> BitKeeper/deleted/.del-mtr_im.pl~9762b0336c28949
mysql-test/suite/federated/federated_innodb-slave.opt:
Rename: mysql-test/t/federated_innodb-slave.opt -> mysql-test/suite/federated/federated_innodb-slave.opt
client/mysqltest.c:
Use current files path first when looking for include file
configure.in:
Remove mysql-test/nbd
mysql-test/Makefile.am:
Cleanup mysql-test/Makefile.am
mysql-test/extra/binlog_tests/blackhole.test:
Use new paths
mysql-test/extra/binlog_tests/ctype_ucs_binlog.test:
Use new paths
mysql-test/mysql-test-run.pl:
Dynamic configuration support
Safe process
mysql-test/extra/binlog_tests/mix_innodb_myisam_side_effects.test:
Use new paths
mysql-test/extra/rpl_tests/rpl_EE_err.test:
Use new paths
mysql-test/extra/rpl_tests/rpl_loaddata.test:
Use new paths
mysql-test/extra/rpl_tests/rpl_log.test:
Use new paths
mysql-test/extra/rpl_tests/rpl_row_001.test:
Use new paths
mysql-test/extra/rpl_tests/rpl_row_charset.test:
Use new paths
mysql-test/extra/rpl_tests/rpl_stm_000001.test:
Use new paths
mysql-test/extra/rpl_tests/rpl_stm_charset.test:
Use new paths
mysql-test/include/have_blackhole.inc:
Use new paths
mysql-test/include/have_ndbapi_examples.inc:
Use new paths
mysql-test/include/loaddata_autocom.inc:
Use new paths
mysql-test/include/mix1.inc:
Use new paths
mysql-test/include/ndb_backup.inc:
Use new paths
mysql-test/include/ndb_restore_master.inc:
Use new paths
mysql-test/include/ndb_restore_slave_eoption.inc:
Use new paths
mysql-test/include/testdb_only.inc:
Use new paths
mysql-test/lib/My/Config.pm:
dynamic configuration
safe process
cleanups
mysql-test/lib/mtr_cases.pm:
dynamic configuration
safe process
cleanups
mysql-test/lib/mtr_io.pl:
dynamic configuration
safe process
cleanups
mysql-test/lib/mtr_misc.pl:
dynamic configuration
safe process
cleanups
mysql-test/lib/mtr_process.pl:
dynamic configuration
safe process
cleanups
mysql-test/lib/mtr_report.pl:
dynamic configuration
safe process
cleanups
mysql-test/lib/mtr_stress.pl:
dynamic configuration
safe process
cleanups
mysql-test/r/backup.result:
Use new paths
mysql-test/r/ctype_big5.result:
Use new paths
mysql-test/r/gis.result:
Use new paths
mysql-test/r/loaddata.result:
Use new paths
mysql-test/r/loaddata_autocom_innodb.result:
Use new paths
mysql-test/r/mysqlbinlog.result:
Use new paths
mysql-test/r/mysqlbinlog_base64.result:
Use new paths
mysql-test/r/outfile.result:
Use new paths
mysql-test/r/partition_error.result:
Use new paths
mysql-test/r/partition_not_windows.result:
Use new paths
mysql-test/r/partition_symlink.result:
Use new paths
mysql-test/r/query_cache.result:
Use new paths
mysql-test/r/sp.result:
Use new paths
mysql-test/r/symlink.result:
Use new paths
mysql-test/r/system_mysql_db.result:
Use new paths
mysql-test/r/trigger.result:
Use new paths
mysql-test/r/type_blob.result:
Use new paths
mysql-test/r/view.result:
Use new paths
mysql-test/r/warnings.result:
Use new paths
mysql-test/suite/binlog/r/binlog_killed_simulate.result:
Use new paths
mysql-test/suite/binlog/r/binlog_row_mix_innodb_myisam.result:
Use new paths
mysql-test/suite/binlog/r/binlog_stm_blackhole.result:
Use new paths
mysql-test/suite/binlog/r/binlog_stm_mix_innodb_myisam.result:
Use new paths
mysql-test/suite/binlog/t/binlog_killed.test:
Use new paths
mysql-test/suite/binlog/t/binlog_killed_simulate.test:
Use new paths
mysql-test/suite/binlog/t/binlog_row_mix_innodb_myisam.test:
Use new paths
mysql-test/suite/binlog/t/binlog_stm_mix_innodb_myisam.test:
Use new paths
mysql-test/suite/federated/federated.inc:
Use new paths
mysql-test/suite/federated/federated.result:
Use new paths
mysql-test/suite/federated/federated.test:
Use new paths
mysql-test/suite/federated/federated_archive.result:
Use new paths
mysql-test/suite/federated/federated_archive.test:
Use new paths
mysql-test/suite/federated/federated_bug_13118.result:
Use new paths
mysql-test/suite/federated/federated_bug_13118.test:
Use new paths
mysql-test/suite/federated/federated_bug_25714.result:
Use new paths
mysql-test/suite/federated/federated_bug_25714.test:
Use new paths
mysql-test/suite/federated/federated_innodb.result:
Use new paths
mysql-test/suite/federated/federated_innodb.test:
Use new paths
mysql-test/suite/federated/federated_server.result:
Use new paths
mysql-test/suite/federated/federated_server.test:
Use new paths
mysql-test/suite/federated/federated_transactions.test:
Use new paths
mysql-test/suite/federated/have_federated_db.inc:
Use new paths
mysql-test/suite/ndb/r/loaddata_autocom_ndb.result:
Use new paths
mysql-test/suite/ndb/r/ndb_config.result:
Use new paths
mysql-test/suite/ndb/r/ndb_dd_backuprestore.result:
Use new paths
mysql-test/suite/ndb/r/ndb_load.result:
Use new paths
mysql-test/suite/ndb/r/ndb_loaddatalocal.result:
Use new paths
mysql-test/suite/ndb/r/ndb_replace.result:
Use new paths
mysql-test/suite/ndb/r/ndb_restore.result:
Use new paths
mysql-test/suite/ndb/r/ndb_restore_partition.result:
Use new paths
mysql-test/suite/ndb/r/ndb_restore_print.result:
Use new paths
mysql-test/suite/ndb/r/ndb_trigger.result:
Use new paths
mysql-test/suite/ndb/t/ndb_alter_table.test:
Use new paths
mysql-test/suite/ndb/t/ndb_config.test:
Use new paths
mysql-test/suite/ndb/t/ndb_load.test:
Use new paths
mysql-test/suite/ndb/t/ndb_loaddatalocal.test:
Use new paths
mysql-test/suite/ndb/t/ndb_replace.test:
Use new paths
mysql-test/suite/ndb/t/ndb_restore.test:
Use new paths
mysql-test/suite/ndb/t/ndb_single_user.test:
Use new paths
mysql-test/suite/ndb/t/ndb_trigger.test:
Use new paths
mysql-test/suite/ndb/t/ndbapi.test:
Use new paths
mysql-test/suite/rpl/include/rpl_mixed_dml.inc:
Use new paths
mysql-test/suite/rpl/r/rpl_LD_INFILE.result:
Use new paths
mysql-test/suite/rpl/r/rpl_flushlog_loop.result:
Use new paths
mysql-test/suite/rpl/r/rpl_innodb.result:
Use new paths
mysql-test/suite/rpl/r/rpl_innodb_mixed_dml.result:
Use new paths
mysql-test/suite/rpl/r/rpl_load_table_from_master.result:
Use new paths
mysql-test/suite/rpl/r/rpl_loaddata.result:
Use new paths
mysql-test/suite/rpl/r/rpl_loaddata_charset.result:
Use new paths
mysql-test/suite/rpl/r/rpl_loaddata_fatal.result:
Use new paths
mysql-test/suite/rpl/r/rpl_loaddata_m.result:
Use new paths
mysql-test/suite/rpl/r/rpl_loaddata_s.result:
Use new paths
mysql-test/suite/rpl/r/rpl_loaddata_simple.result:
Use new paths
mysql-test/suite/rpl/r/rpl_loaddatalocal.result:
Use new paths
mysql-test/suite/rpl/r/rpl_loadfile.result:
Use new paths
mysql-test/suite/rpl/r/rpl_misc_functions.result:
Use new paths
mysql-test/suite/rpl/r/rpl_replicate_do.result:
Use new paths
mysql-test/suite/rpl/r/rpl_rewrt_db.result:
Use new paths
mysql-test/suite/rpl/r/rpl_row_001.result:
Use new paths
mysql-test/suite/rpl/r/rpl_row_loaddata_m.result:
Use new paths
mysql-test/suite/rpl/r/rpl_row_log.result:
Use new paths
mysql-test/suite/rpl/r/rpl_row_log_innodb.result:
Use new paths
mysql-test/suite/rpl/r/rpl_row_stop_middle_update.result:
Use new paths
mysql-test/suite/rpl/r/rpl_stm_000001.result:
Use new paths
mysql-test/suite/rpl/r/rpl_stm_log.result:
Use new paths
mysql-test/suite/rpl/r/rpl_timezone.result:
Use new paths
mysql-test/suite/rpl/t/disabled.def:
Use new paths
mysql-test/suite/rpl/t/rpl000017-slave.sh:
Use new paths
mysql-test/suite/rpl/t/rpl_LD_INFILE.test:
Use new paths
mysql-test/suite/rpl/t/rpl_drop_db.test:
Use new paths
mysql-test/suite/rpl/t/rpl_flushlog_loop-master.opt:
Use new paths
mysql-test/suite/rpl/t/rpl_flushlog_loop-slave.opt:
Use new paths
mysql-test/suite/rpl/t/rpl_flushlog_loop.test:
Use new paths
mysql-test/suite/rpl/t/rpl_innodb.test:
Use new paths
mysql-test/suite/rpl/t/rpl_innodb_bug30919.test:
Use new paths
mysql-test/suite/rpl/t/rpl_load_from_master.test:
Use new paths
mysql-test/suite/rpl/t/rpl_load_table_from_master.test:
Use new paths
mysql-test/suite/rpl/t/rpl_loaddata_charset.test:
Use new paths
mysql-test/suite/rpl/t/rpl_loaddata_fatal.test:
Use new paths
mysql-test/suite/rpl/t/rpl_loaddata_m.test:
Use new paths
mysql-test/suite/rpl/t/rpl_loaddata_s.test:
Use new paths
mysql-test/suite/rpl/t/rpl_loaddata_simple.test:
Use new paths
mysql-test/suite/rpl/t/rpl_loaddatalocal.test:
Use new paths
mysql-test/suite/rpl/t/rpl_loadfile.test:
Use new paths
mysql-test/suite/rpl/t/rpl_misc_functions.test:
Use new paths
mysql-test/suite/rpl/t/rpl_replicate_do.test:
Use new paths
mysql-test/suite/rpl/t/rpl_rewrt_db.test:
Use new paths
mysql-test/suite/rpl/t/rpl_rotate_logs-master.opt:
Use new paths
mysql-test/suite/rpl/t/rpl_rotate_logs.test:
Use new paths
mysql-test/suite/rpl/t/rpl_row_charset_innodb.test:
Use new paths
mysql-test/suite/rpl/t/rpl_row_mysqlbinlog.test:
Use new paths
mysql-test/suite/rpl/t/rpl_row_stop_middle_update.test:
Use new paths
mysql-test/suite/rpl/t/rpl_timezone.test:
Use new paths
mysql-test/suite/rpl/t/rpl_trigger.test:
Use new paths
mysql-test/suite/rpl_ndb/r/rpl_ndb_dd_advance.result:
Use new paths
mysql-test/suite/rpl_ndb/r/rpl_ndb_innodb_trans.result:
Use new paths
mysql-test/suite/rpl_ndb/r/rpl_ndb_log.result:
Use new paths
mysql-test/suite/rpl_ndb/r/rpl_ndb_multi.result:
Use new paths
mysql-test/suite/rpl_ndb/r/rpl_ndb_row_001.result:
Use new paths
mysql-test/suite/rpl_ndb/r/rpl_ndb_sync.result:
Use new paths
mysql-test/suite/rpl_ndb/t/rpl_ndb_bank.test:
Use new paths
mysql-test/suite/rpl_ndb/t/rpl_ndb_dd_advance.test:
Use new paths
mysql-test/suite/rpl_ndb/t/rpl_ndb_innodb_trans.test:
Use new paths
mysql-test/suite/rpl_ndb/t/rpl_ndb_load.test:
Use new paths
mysql-test/suite/rpl_ndb/t/rpl_ndb_sync.test:
Use new paths
mysql-test/suite/rpl_ndb/t/rpl_ndbapi_multi.test:
Use new paths
mysql-test/t/backup.test:
Use new paths
mysql-test/t/bootstrap.test:
Use new paths
mysql-test/t/crash_commit_before.test:
Use new paths
mysql-test/t/create_not_windows.test:
Use new paths
mysql-test/t/csv.test:
Use new paths
mysql-test/t/ctype_big5.test:
Use new paths
mysql-test/t/disabled.def:
Use new paths
mysql-test/t/distinct.test:
Use new paths
mysql-test/t/gis.test:
Use new paths
mysql-test/t/grant_cache_no_prot.test:
Use new paths
mysql-test/t/grant_cache_ps_prot.test:
Use new paths
mysql-test/t/information_schema_chmod.test:
Use new paths
mysql-test/t/loaddata.test:
Use new paths
mysql-test/t/log_state.test:
Use new paths
mysql-test/t/myisam-system.test:
Use new paths
mysql-test/t/mysql_upgrade.test:
Use new paths
mysql-test/t/mysqlbinlog-cp932.test:
Use new paths
mysql-test/t/mysqlbinlog.test:
Use new paths
mysql-test/t/mysqlbinlog2.test:
Use new paths
mysql-test/t/mysqlbinlog_base64.test:
Use new paths
mysql-test/t/mysqldump.test:
Use new paths
mysql-test/t/outfile.test:
Use new paths
mysql-test/t/partition.test:
Use new paths
mysql-test/t/partition_error.test:
Use new paths
mysql-test/t/partition_federated.test:
Use new paths
mysql-test/t/partition_mgm.test:
Use new paths
mysql-test/t/partition_not_windows.test:
Use new paths
mysql-test/t/partition_symlink.test:
Use new paths
mysql-test/t/query_cache.test:
Use new paths
mysql-test/t/repair.test:
Use new paths
mysql-test/t/show_check.test:
Use new paths
mysql-test/t/sp-destruct.test:
Use new paths
mysql-test/t/sp.test:
Use new paths
mysql-test/t/symlink.test:
Use new paths
mysql-test/t/system_mysql_db.test:
Use new paths
mysql-test/t/system_mysql_db_fix30020.test:
Use new paths
mysql-test/t/system_mysql_db_fix40123.test:
Use new paths
mysql-test/t/system_mysql_db_fix50030.test:
Use new paths
mysql-test/t/system_mysql_db_fix50117.test:
Use new paths
mysql-test/t/trigger-compat.test:
Use new paths
mysql-test/t/trigger-grant.test:
Use new paths
mysql-test/t/trigger.test:
Use new paths
mysql-test/t/type_blob.test:
Use new paths
mysql-test/t/type_varchar.test:
Use new paths
mysql-test/t/upgrade.test:
Use new paths
mysql-test/t/user_var-binlog.test:
Use new paths
mysql-test/t/varbinary.test:
Use new paths
mysql-test/t/view.test:
Use new paths
mysql-test/t/warnings.test:
Use new paths
mysql-test/lib/My/ConfigFactory.pm:
Initial version
mysql-test/lib/My/Find.pm:
Initial version
mysql-test/lib/My/SafeProcess.pm:
Initial version
mysql-test/std_data/ndb_config_config.ini:
Add "old" style config.ini for ndb
mysql-test/suite/federated/disabled.def:
Move disabled federated to it's new suite
mysql-test/suite/federated/my.cnf:
Add config for federated
mysql-test/suite/ndb/my.cnf:
Add config for ndb
mysql-test/suite/rpl/my.cnf:
Add config for rpl
mysql-test/suite/rpl/rpl_1slave_base.cnf:
Add base config for rpl
mysql-test/suite/rpl/t/rpl_000015-master.opt:
Use new paths
mysql-test/suite/rpl_ndb/my.cnf:
Add config for rpl_ndb
mysql-test/lib/My/File/Path.pm:
Initial version
mysql-test/lib/My/SafeProcess/Base.pm:
Initial version
mysql-test/lib/My/SafeProcess/safe_kill_win.cc:
Initial version
mysql-test/lib/My/SafeProcess/safe_process.pl:
Initial version
mysql-test/lib/My/SafeProcess/safe_process_win.cc:
Initial version
mysql-test/lib/t/Base.t:
Initial version
mysql-test/lib/t/Find.t:
Initial version
mysql-test/lib/t/SafeProcess.t:
Initial version
mysql-test/lib/t/SafeProcessStress.pl:
Initial version
mysql-test/lib/t/copytree.t:
Initial version
mysql-test/lib/t/dummyd.pl:
Initial version
mysql-test/lib/t/rmtree.t:
Initial version
mysql-test/lib/t/testMyConfig.t:
Initial version
mysql-test/lib/t/testMyConfigFactory.t:
Initial version
mysql-test/lib/t/test_child.pl:
Initial version
mysql-test/include/default_my.cnf:
Add default config file used when no suite specific file is found
mysql-test/include/default_mysqld.cnf:
New BitKeeper file ``mysql-test/include/default_mysqld.cnf''
mysql-test/include/default_ndbd.cnf:
Add default settings for all ndbds
mysql-test/lib/mtr_settings.pl:
Initial version
The following clarification should be made in The Manual:
Standard SQL is quite clear that, if new columns are added
to a table after a view on that table is created with
"select *", the new columns will not become part of the view.
In all cases, the view definition (view structure) is frozen
at CREATE time, so changes to the underlying tables do not
affect the view structure.
mysql-test/r/view.result:
Update result file.
mysql-test/t/view.test:
Add a test case for BUG#26676: VIEW using old table schema in a session.
removed now() call to make the test to be year independent
mysql-test/r/view.result:
result fix
mysql-test/t/view.test:
removed now() call to make the test to be year independent
When storing the VIEW the CREATE VIEW command is reconstructed
from the parse tree. While constructing the command string
the index hints specified should also be printed.
Fixed by adding code to print the index hints when printing a
table in the FROM clause.
mysql-test/r/view.result:
Bug #28702: test case
mysql-test/t/view.test:
Bug #28702: test case
sql/sql_select.cc:
Bug #28702: preserve index hints in a VIEW definition.
sql/table.h:
Bug #28702: preserve index hints in a VIEW definition.