* rename all debugging related command-line options
and variables to start from "debug-", and made them all
OFF by default.
* replace "MySQL" with "MariaDB" in error messages
* "Cast ... converted ... integer to it's ... complement"
is now a note, not a warning
* @@query_cache_strip_comments now has a session scope,
not global.
If the optimizer switch 'semijoin_with_cache' is set to 'off' then
join cache cannot be used to join inner tables of a semijoin.
Also fixed a bug in the function check_join_cache_usage() that led
to wrong output of the EXPLAIN commands for some test cases.
sql/sql_insert.cc:
CREATE ... IF NOT EXISTS may do nothing, but
it is still not a failure. don't forget to my_ok it.
******
CREATE ... IF NOT EXISTS may do nothing, but
it is still not a failure. don't forget to my_ok it.
sql/sql_table.cc:
small cleanup
******
small cleanup
The following were missing in the patch for mwl106:
- KEY_PART_INFO::fieldnr were not set for generated keys to access
tmp tables storing the rows of materialized derived tables/views
- TABLE_SHARE::column_bitmap_size was not set for tmp tables storing
the rows of materialized derived tables/views.
These could cause crashes or memory overwrite.
The function simple_pred did not take into account that a multiple equality
could include ref items (more exactly items of the class Item_direct_view_ref).
It caused crashes for queries over derived tables or views if the
min/max optimization could be applied to these queries.
When looking for the execution plan of a derived table to be materialized
JOIN::optimize finds out that all joined tables of the derived table
contain not more than one row then the derived table should be maretialized
at the optimization stage.
Added a test case for the bug.
Adjusted results in other test cases.
Resolved all conflicts, bad merges and fixed a few minor bugs in the code.
Commented out the queries from multi_update, view, subselect_sj, func_str,
derived_view, view_grant that failed either with crashes in ps-protocol or
with wrong results.
The failures are clear indications of some bugs in the code and these bugs
are to be fixed.
temptable views
The TABLE::key_read field indicates if the optimizer has found that row
retrieval only should access the index tree. The triggered assert
inside close_thread_table() checks that this field has been reset when
the table is about to be closed.
During normal execution, these fields are reset right before tables are
closed at the end of mysql_execute_command(). But in the case of errors,
tables are closed earlier. The patch for Bug#52044 refactored the open
tables code so that close_thread_tables() is called immediately if
opening of tables fails. At this point in the execution, it could
happend that all TABLE::key_read fields had not been properly reset,
therefore triggering the assert.
The problematic statement in this case was EXPLAIN where the query
accessed two derived tables and where the first derived table was
processed successfully while the second derived table was not.
Since it was an EXPLAIN, TABLE::key_read fields were not reset after
successful derived table processing since the state needs to be
accessible afterwards. When processing of the second derived table
failed, it's corresponding SELECT_LEX_UNIT was cleaned, which caused
it's TABLE::key_read fields to be reset. Since processing failed,
the error path of open_and_lock_tables() was entered and
close_thread_tables() was called. The assert was then triggered due
to the TABLE::key_read fields set during processing of the first
derived table.
This patch fixes the problem by adding a new derived table processor,
mysql_derived_cleanup() that is called after mysql_derived_filling().
It causes cleanup of all SELECT_LEX_UNITs to be called, resetting
all relevant TABLE::key_read fields.
Test case added to derived.test.
--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
------------------------------------------------------------
revno: 2572.2.1
revision-id: sp1r-davi@mysql.com/endora.local-20080227225948-16317
parent: sp1r-anozdrin/alik@quad.-20080226165712-10409
committer: davi@mysql.com/endora.local
timestamp: Wed 2008-02-27 19:59:48 -0300
message:
Bug#27525 table not found when using multi-table-deletes with aliases over several databas
Bug#30234 Unexpected behavior using DELETE with AS and USING
The multi-delete statement has a documented limitation that
cross-database multiple-table deletes using aliases are not
supported because it fails to find the tables by alias if it
belongs to a different database. The problem is that when
building the list of tables to delete from, if a database
name is not specified (maybe an alias) it defaults to the
name of the current selected database, making impossible to
to properly resolve tables by alias later. Another problem
is a inconsistency of the multiple table delete syntax that
permits ambiguities in a delete statement (aliases that refer
to multiple different tables or vice-versa).
The first step for a solution and proper implementation of
the cross-databse multiple table delete is to get rid of any
ambiguities in a multiple table statement. Currently, the parser
is accepting multiple table delete statements that have no obvious
meaning, such as:
DELETE a1 FROM db1.t1 AS a1, db2.t2 AS a1;
DELETE a1 AS a1 FROM db1.t1 AS a1, db2.t2 AS a1;
The solution is to resolve the left part of a delete statement
using the right part, if the a table on right has an alias,
it must be referenced in the left using the given alias. Also,
each table on the left side must match unambiguously only one
table in the right side.
mysql-test/r/delete.result:
Add test case result for Bug#27525 and Bug#21148
mysql-test/r/derived.result:
Update error.
mysql-test/suite/rpl/r/rpl_multi_delete2.result:
Update syntax.
mysql-test/suite/rpl/t/rpl_multi_delete2.test:
Update syntax.
mysql-test/t/delete.test:
Add test case for Bug#27525 and Bug#21148
mysql-test/t/derived.test:
Update statement error, alias is properly resolved now.
sql/sql_parse.cc:
Implement new algorithm for the resolution of alias in
a multiple table delete statement.
sql/sql_yacc.yy:
Rework multi-delete parser rules to not accept table alias
for the table source list.
sql/table.h:
Add flag to signal that the table has a alias set or
that fully qualified table name was given.
mutually-nested subqueries
Queries of the form
SELECT * FROM (SELECT 1) AS t1,
(SELECT 2) AS t2,...
(SELECT 32) AS t32
caused the "Too high level of nesting for select" error
as if the query has a form
SELECT * FROM (SELECT 1 FROM (SELECT 2 FROM (SELECT 3 FROM...
The table_factor parser rule has been modified to adjust
the LEX::nest_level variable value after every derived table.
mysql-test/r/derived.result:
Added test case for bug #41156.
mysql-test/t/derived.test:
Added test case for bug #41156.
sql/sql_yacc.yy:
Bug #41156: List of derived tables acts like a chain of
mutually-nested subqueries
The select_derived2 parser rule calls mysql_new_select()
calls push_context() and nest_level++, however only
the pop_context() was called at the end of derived table
parsing at the table_factor rule.
The table_factor parser rule has been modified to adjust
the LEX::nest_level variable value after every derived table.
into magare.gmz:/home/kgeorge/mysql/work/B31221-5.1-opt
mysql-test/r/derived.result:
Auto merged
mysql-test/r/ps_2myisam.result:
Auto merged
mysql-test/r/ps_3innodb.result:
Auto merged
mysql-test/r/ps_4heap.result:
Auto merged
mysql-test/r/ps_5merge.result:
Auto merged
mysql-test/r/type_datetime.result:
Auto merged
mysql-test/t/type_date.test:
Auto merged
BitKeeper/deleted/.del-ps_6bdb.result:
Auto merged
mysql-test/suite/ndb/r/ps_7ndb.result:
Auto merged
sql/field.cc:
Auto merged
sql/item_timefunc.cc:
Auto merged
mysql-test/r/type_date.result:
merge 5.0-opt -> 5.1-opt
No warning was generated when a TIMESTAMP with a non-zero time part
was converted to a DATE value. This caused index lookup to assume
that this is a valid conversion and was returning rows that match
a comparison between a TIMESTAMP value and a DATE keypart.
Fixed by generating a warning on such a truncation.
mysql-test/r/derived.result:
Bug #31221: fixed an existing not-precise test case
mysql-test/r/ps_2myisam.result:
Bug #31221: Warnings cased by existing tests
mysql-test/r/ps_3innodb.result:
Bug #31221: Warnings cased by existing tests
mysql-test/r/ps_4heap.result:
Bug #31221: Warnings cased by existing tests
mysql-test/r/ps_5merge.result:
Bug #31221: Warnings cased by existing tests
mysql-test/r/ps_6bdb.result:
Bug #31221: Warnings cased by existing tests
mysql-test/r/ps_7ndb.result:
Bug #31221: Warnings cased by existing tests
mysql-test/r/type_date.result:
Bug #31221: Warnings cased by existing tests
mysql-test/r/type_datetime.result:
Bug #31221: test case
mysql-test/t/derived.test:
Bug #31221: fixed an existing not-precise test case
mysql-test/t/type_date.test:
Bug #31221: test case
sql/field.cc:
Bug #31221:
- Upgraded fix for bug 29729
- issue a warning only if the hh:mm:ss.msec is not zero consistently
for all the Field_newdate::store function
sql/item_timefunc.cc:
Bug #31221: don't ignore the errors when storing data
- Renamed "Using join cache" to "Using join buffer".
- "Using join buffer" is now printed on the last
table that "reads" from the join buffer cache.
mysql-test/r/archive_gis.result:
Bug #27531: renamed "Using join cache" to "Using join buffer"
and moved to the last table in the batch.
mysql-test/r/compress.result:
Bug #27531: renamed "Using join cache" to "Using join buffer"
and moved to the last table in the batch.
mysql-test/r/ctype_utf8.result:
Bug #27531: renamed "Using join cache" to "Using join buffer"
and moved to the last table in the batch.
mysql-test/r/derived.result:
Bug #27531: renamed "Using join cache" to "Using join buffer"
and moved to the last table in the batch.
mysql-test/r/distinct.result:
Bug #27531: renamed "Using join cache" to "Using join buffer"
and moved to the last table in the batch.
mysql-test/r/func_group.result:
Bug #27531: renamed "Using join cache" to "Using join buffer"
and moved to the last table in the batch.
mysql-test/r/func_group_innodb.result:
Bug #27531: renamed "Using join cache" to "Using join buffer"
and moved to the last table in the batch.
mysql-test/r/gis.result:
Bug #27531: renamed "Using join cache" to "Using join buffer"
and moved to the last table in the batch.
mysql-test/r/greedy_optimizer.result:
Bug #27531: renamed "Using join cache" to "Using join buffer"
and moved to the last table in the batch.
mysql-test/r/group_by.result:
Bug #27531: renamed "Using join cache" to "Using join buffer"
and moved to the last table in the batch.
mysql-test/r/group_min_max.result:
Bug #27531: renamed "Using join cache" to "Using join buffer"
and moved to the last table in the batch.
mysql-test/r/index_merge_myisam.result:
Bug #27531: renamed "Using join cache" to "Using join buffer"
and moved to the last table in the batch.
mysql-test/r/information_schema.result:
Bug #27531: renamed "Using join cache" to "Using join buffer"
and moved to the last table in the batch.
mysql-test/r/innodb_gis.result:
Bug #27531: renamed "Using join cache" to "Using join buffer"
and moved to the last table in the batch.
mysql-test/r/innodb_mysql.result:
Bug #27531: renamed "Using join cache" to "Using join buffer"
and moved to the last table in the batch.
mysql-test/r/join.result:
Bug #27531: renamed "Using join cache" to "Using join buffer"
and moved to the last table in the batch.
mysql-test/r/join_nested.result:
Bug #27531: renamed "Using join cache" to "Using join buffer"
and moved to the last table in the batch.
mysql-test/r/key_diff.result:
Bug #27531: renamed "Using join cache" to "Using join buffer"
and moved to the last table in the batch.
mysql-test/r/myisam.result:
Bug #27531: renamed "Using join cache" to "Using join buffer"
and moved to the last table in the batch.
mysql-test/r/ndb_condition_pushdown.result:
Bug #27531: renamed "Using join cache" to "Using join buffer"
and moved to the last table in the batch.
mysql-test/r/ndb_gis.result:
Bug #27531: renamed "Using join cache" to "Using join buffer"
and moved to the last table in the batch.
mysql-test/r/range.result:
Bug #27531: renamed "Using join cache" to "Using join buffer"
and moved to the last table in the batch.
mysql-test/r/row.result:
Bug #27531: renamed "Using join cache" to "Using join buffer"
and moved to the last table in the batch.
mysql-test/r/select.result:
Bug #27531: renamed "Using join cache" to "Using join buffer"
and moved to the last table in the batch.
mysql-test/r/ssl.result:
Bug #27531: renamed "Using join cache" to "Using join buffer"
and moved to the last table in the batch.
mysql-test/r/ssl_compress.result:
Bug #27531: renamed "Using join cache" to "Using join buffer"
and moved to the last table in the batch.
mysql-test/r/subselect.result:
Bug #27531: renamed "Using join cache" to "Using join buffer"
and moved to the last table in the batch.
mysql-test/r/subselect3.result:
Bug #27531: renamed "Using join cache" to "Using join buffer"
and moved to the last table in the batch.
mysql-test/r/union.result:
Bug #27531: renamed "Using join cache" to "Using join buffer"
and moved to the last table in the batch.
mysql-test/r/view.result:
Bug #27531: renamed "Using join cache" to "Using join buffer"
and moved to the last table in the batch.
sql/sql_select.cc:
Bug #27531: renamed "Using join cache" to "Using join buffer"
and moved to the last table in the batch.
- added join cache indication in EXPLAIN (Extra column).
- prefer filesort over full scan over
index for ORDER BY (because it's faster).
- when switching from REF to RANGE because
RANGE uses longer key turn off sort on
the head table only as the resulting
RANGE access is a candidate for join cache
and we don't want to disable it by sorting
on the first table only.
mysql-test/r/archive_gis.result:
bug #27531: join cache in EXPLAIN
mysql-test/r/compress.result:
bug #27531:
- join cache in EXPLAIN.
- prefer filesort over full scan over index for ORDER BY.
mysql-test/r/ctype_utf8.result:
bug #27531: join cache in EXPLAIN
mysql-test/r/derived.result:
bug #27531: join cache in EXPLAIN
mysql-test/r/distinct.result:
bug #27531: join cache in EXPLAIN
mysql-test/r/func_group.result:
bug #27531: join cache in EXPLAIN
mysql-test/r/func_group_innodb.result:
bug #27531: join cache in EXPLAIN
mysql-test/r/gis.result:
bug #27531: join cache in EXPLAIN
mysql-test/r/greedy_optimizer.result:
bug #27531: join cache in EXPLAIN
mysql-test/r/group_by.result:
bug #27531: join cache in EXPLAIN
mysql-test/r/group_min_max.result:
bug #27531: join cache in EXPLAIN
mysql-test/r/index_merge_myisam.result:
bug #27531: join cache in EXPLAIN
mysql-test/r/information_schema.result:
bug #27531: join cache in EXPLAIN
mysql-test/r/innodb_gis.result:
bug #27531: join cache in EXPLAIN
mysql-test/r/innodb_mysql.result:
bug #27531: join cache in EXPLAIN
mysql-test/r/join.result:
bug #27531: join cache in EXPLAIN
mysql-test/r/join_nested.result:
bug #27531: join cache in EXPLAIN
mysql-test/r/key_diff.result:
bug #27531: join cache in EXPLAIN
mysql-test/r/myisam.result:
bug #27531: join cache in EXPLAIN
mysql-test/r/ndb_condition_pushdown.result:
bug #27531: join cache in EXPLAIN
mysql-test/r/ndb_gis.result:
bug #27531: join cache in EXPLAIN
mysql-test/r/range.result:
bug #27531: join cache in EXPLAIN
mysql-test/r/row.result:
bug #27531: join cache in EXPLAIN
mysql-test/r/select.result:
bug #27531:
- join cache in EXPLAIN.
- prefer filesort over full scan over index for ORDER BY.
mysql-test/r/ssl.result:
bug #27531:
- join cache in EXPLAIN.
- prefer filesort over full scan over index for ORDER BY.
mysql-test/r/ssl_compress.result:
bug #27531:
- join cache in EXPLAIN.
- prefer filesort over full scan over index for ORDER BY.
mysql-test/r/subselect.result:
bug #27531: join cache in EXPLAIN
mysql-test/r/subselect3.result:
bug #27531: join cache in EXPLAIN
mysql-test/r/union.result:
bug #27531: join cache in EXPLAIN
mysql-test/r/view.result:
bug #27531: join cache in EXPLAIN
sql/sql_select.cc:
bug #27531:
- join cache in EXPLAIN.
- prefer filesort over full scan over
index for ORDER BY.
- disable sorting on the first table only
when switching from REF to RANGE.
- Use mysql_system_tables.sql to create MySQL system tables in
all places where we create them(mysql_install_db, mysql-test-run-pl
and mysql_fix_privilege_tables.sql)
BitKeeper/deleted/.del-init_db.sql:
Rename: mysql-test/init_db.sql -> BitKeeper/deleted/.del-init_db.sql
BitKeeper/deleted/.del-init_db.sql~a77d572c39d5a1f8:
Rename: mysql-test/lib/init_db.sql -> BitKeeper/deleted/.del-init_db.sql~a77d572c39d5a1f8
BitKeeper/deleted/.del-mysql_create_system_tables.sh:
Rename: scripts/mysql_create_system_tables.sh -> BitKeeper/deleted/.del-mysql_create_system_tables.sh
BitKeeper/etc/ignore:
Added scripts/mysql_fix_privilege_tables.sql to the ignore list
mysql-test/Makefile.am:
lib/init_db.sql has been removed
mysql-test/mysql-test-run.pl:
- Build var/tmp/bootstrap.sql from mysql_system_tables.sql,
mysql_test_data_timezone.sql and fill_help_tables.sql and use
it when bootsraping the system tables to use during test.
mysql-test/r/create.result:
Update result file
mysql-test/r/derived.result:
Update result file
mysql-test/r/join.result:
Update result file
mysql-test/r/mysql_upgrade.result:
Update result file
mysql-test/r/sp-security.result:
Update result file
mysql-test/t/create.test:
Add user mysqltest_1 before trying to connect as that user - no
anon users by default anymore
mysql-test/t/derived.test:
Add user mysqltest_1 before trying to connect as that user - no
anon users by default anymore
mysql-test/t/grant2.test:
Add anonymous users for part of thes that need it.
mysql-test/t/grant_cache.test:
Add anonymous users for part of thes that need it.
mysql-test/t/init_connect.test:
Add anonymous users for part of thes that need it.
mysql-test/t/lock_multi.test:
Add anonymous users for part of thes that need it.
mysql-test/t/ndb_basic.test:
Connect as "root", blank user will take currently logged in
username
mysql-test/t/ndb_index_ordered.test:
Connect as "root", blank user will take currently logged in
username
mysql-test/t/ndb_multi.test:
Connect as "root", blank user will take currently logged in
username
mysql-test/t/overflow.test:
Connect as root - no anonymous users by default anymore
mysql-test/t/rpl_temporary.test:
Add anonymous users for the test
mysql-test/t/xa.test:
Connect as "root", blank user wil pick currently logged in user
scripts/Makefile.am:
Remove mysql_create_system_tables.sh
Add mysql_system_tables.sql and mysql_test_data_timezone.sql
Build mysql_fix_privilege_tables.sql from mysql_system_tables.sql
and mysql_fix_privilege_tables.sql.in
scripts/mysql_fix_privilege_tables.sh:
Update message describing what the script does
scripts/mysql_fix_privilege_tables.sql.in:
Remove the part that creates system tables as that will be added to
mysql_fix_privileg_tables.sql from mysql_system_tables.sql
Change all comments to use #
scripts/mysql_install_db.sh:
Use mysql_system_tables.sql to create the MySQL system tables
Update comments and indentation
Add more descriptive comments about --windows switch
Reduce number of hardcoded names for the SQL files the script
looks for
mysql-test/include/add_anonymous_users.inc:
New BitKeeper file ``mysql-test/include/add_anonymous_users.inc''
mysql-test/include/delete_anonymous_users.inc:
New BitKeeper file ``mysql-test/include/delete_anonymous_users.inc''
scripts/mysql_system_tables.sql:
New BitKeeper file ``scripts/mysql_system_tables.sql''
scripts/mysql_test_data_timezone.sql:
New BitKeeper file ``scripts/mysql_test_data_timezone.sql''
"real" table fails in JOINs".
This is a regression caused by the fix for Bug 18444.
This fix removed the assignment of empty_c_string to table->db performed
in add_table_to_list, as neither me nor anyone else knew what it was
there for. Now we know it and it's covered with tests: the only case
when a table database name can be empty is when the table is a derived
table. The fix puts the assignment back but makes it a bit more explicit.
Additionally, finally drop sp.result.orig which was checked in by mistake.
BitKeeper/deleted/.del-sp.result.orig:
Delete: mysql-test/r/sp.result.orig
mysql-test/r/derived.result:
Updated result file.
mysql-test/r/sp.result:
Test results fixed (Bug#21002)
mysql-test/t/derived.test:
New error return for the case when MULTI-DELETE tries to delete from
a derived table: now derived tables belong to their own db (""), and
MUTLI-DELETE can't find the correspondent table for it in the
DELETE list, as it can't resolve tables in different dbs by alias
(See Bug#21148 for details)
mysql-test/t/sp.test:
Add a test case for Bug#21002 "Derived table not selecting from a "real"
table fails in JOINs"
sql/sp.cc:
Make empty_c_string globally accessible.
sql/sql_class.cc:
Add empty_c_string definition.
sql/sql_class.h:
Add a comment for the constructor of Table_ident which is
used for derived tables. Make sure this constructor also initializes
the database name, not only the table name.
sql/sql_parse.cc:
Don't call check_db_name for empty database.
Currently the only case when a table database name can be empty
is when the table is a derived table.
Report the right error if the database name is wrong (ER_WRONG_DB_NAME,
not ER_WRONG_TABLE_NAME).
"Process NATURAL and USING joins according to SQL:2003".
* Some of the main problems fixed by the patch:
- in "select *" queries the * expanded correctly according to
ANSI for arbitrary natural/using joins
- natural/using joins are correctly transformed into JOIN ... ON
for any number/nesting of the joins.
- column references are correctly resolved against natural joins
of any nesting and combined with arbitrary other joins.
* This patch also contains a fix for name resolution of items
inside the ON condition of JOIN ... ON - in this case items must
be resolved only against the JOIN operands. To support such
'local' name resolution, the patch introduces a stack of
name resolution contexts used at parse time.
NOTICE:
- This patch is not complete in the sense that
- there are 2 test cases that still do not pass -
one in join.test, one in select.test. Both are marked
with a comment "TODO: WL#2486".
- it does not include a new test specific for the task
mysql-test/include/ps_query.inc:
Adjusted according to standard NATURAL/USING join semantics.,
mysql-test/r/bdb.result:
Adjusted according to standard NATURAL/USING join semantics.
mysql-test/r/derived.result:
Adjusted according to standard NATURAL/USING join semantics.
mysql-test/r/errors.result:
The column as a whole cannot be resolved, so different error message.
mysql-test/r/fulltext.result:
Adjusted according to standard JOIN ... ON semantics =>
the ON condition can refer only to the join operands.
mysql-test/r/fulltext_order_by.result:
More detailed error message.
mysql-test/r/innodb.result:
Adjusted according to standard NATURAL/USING join semantics.
This test doesn't pass completetly yet!
mysql-test/r/insert_select.result:
More detailed error message.
mysql-test/r/join.result:
Adjusted according to standard NATURAL/USING join semantics.
NOTICE: there is one test case that still fails, and it is
commeted out and marked with WL#2486 in the test file.
mysql-test/r/join_crash.result:
Adjusted according to standard NATURAL/USING join semantics.
mysql-test/r/join_nested.result:
Adjusted according to standard NATURAL/USING join semantics.
mysql-test/r/join_outer.result:
Adjusted according to standard NATURAL/USING join semantics.
mysql-test/r/multi_update.result:
Adjusted according to standard NATURAL/USING join semantics.
mysql-test/r/null_key.result:
Adjusted according to standard NATURAL/USING join semantics.
mysql-test/r/order_by.result:
Adjusted according to standard NATURAL/USING join semantics.
mysql-test/r/ps_2myisam.result:
Adjusted according to standard NATURAL/USING join semantics.
mysql-test/r/ps_3innodb.result:
Adjusted according to standard NATURAL/USING join semantics.
mysql-test/r/ps_4heap.result:
Adjusted according to standard NATURAL/USING join semantics.
mysql-test/r/ps_5merge.result:
Adjusted according to standard NATURAL/USING join semantics.
mysql-test/r/ps_6bdb.result:
Adjusted according to standard NATURAL/USING join semantics.
mysql-test/r/ps_7ndb.result:
Adjusted according to standard NATURAL/USING join semantics.
mysql-test/r/select.result:
Adjusted according to standard NATURAL/USING join semantics.
NOTICE: there is one failing test case which is commented with
WL#2486 in the test file.
mysql-test/r/subselect.result:
Adjusted according to standard NATURAL/USING join semantics.
mysql-test/r/type_ranges.result:
Adjusted according to standard NATURAL/USING join semantics.
mysql-test/r/union.result:
More detailed error message.
mysql-test/t/bdb.test:
Adjusted according to standard NATURAL/USING join semantics.
mysql-test/t/errors.test:
Adjusted according to standard NATURAL/USING join semantics.
mysql-test/t/fulltext.test:
Adjusted according to standard JOIN ... ON semantics =>
the ON condition can refer only to the join operands.
mysql-test/t/fulltext_order_by.test:
More detailed error message.
mysql-test/t/innodb.test:
Adjusted according to standard NATURAL/USING join semantics.
This test doesn't pass completetly yet!
mysql-test/t/insert_select.test:
More detailed error message.
mysql-test/t/join.test:
Adjusted according to standard NATURAL/USING join semantics.
NOTICE: there is one test case that still fails, and it is
commeted out and marked with WL#2486 in the test file.
mysql-test/t/join_crash.test:
Adjusted according to standard NATURAL/USING join semantics.
mysql-test/t/join_nested.test:
Adjusted according to standard NATURAL/USING join semantics.
mysql-test/t/join_outer.test:
Adjusted according to standard NATURAL/USING join semantics.
mysql-test/t/null_key.test:
Adjusted according to standard NATURAL/USING join semantics.
mysql-test/t/order_by.test:
Adjusted according to standard NATURAL/USING join semantics.
mysql-test/t/select.test:
Adjusted according to standard NATURAL/USING join semantics.
NOTICE: there is one test case that still fails, and it is
commeted out and marked with WL#2486 in the test file.
mysql-test/t/subselect.test:
Adjusted according to standard NATURAL/USING join semantics.
mysql-test/t/type_ranges.test:
Adjusted according to standard NATURAL/USING join semantics.
mysql-test/t/union.test:
More detailed error message.
sql/item.cc:
- extra parameter to find_field_in_tables
- find_field_in_real_table renamed to find_field_in_table
- fixed comments/typos
sql/item.h:
- added [first | last]_name_resolution_table to class
Name_resolution_context
- commented old code
- standardized formatting
sql/mysql_priv.h:
- refactored the find_field_in_XXX procedures,
- added a new procedure for natural join table references,
- renamed the find_field_in_XXX procedures to clearer names
sql/sp.cc:
- pass the top-most list of the FROM clause to setup_tables
- extra parameter to find_field_in_tables
sql/sql_acl.cc:
- renamed find_field_in_table => find_field_in_table_ref
- extra parameter to find_field_in_table_ref
- commented old code
sql/sql_base.cc:
This file contains the core of the implementation of the processing
of NATURAL/USING joins (WL#2486).
- added many comments to old code
- refactored the group of find_field_in_XXX procedures, and added a
new procedure for natural joins. There is one find_field_in_XXX procedure
per each type of table reference (stored table, merge view, or natural
join); one meta-procedure that selects the correct one depeneding on the
table reference; and one procedure that goes over a list of table
referenes.
- NATURAL/USING joins are processed through the procedures:
mark_common_columns, store_natural_using_join_columns,
store_top_level_join_columns, setup_natural_join_row_types.
The entry point to processing NATURAL/USING joins is the
procedure 'setup_natural_join_row_types'.
- Replaced the specialized Field_iterator_XXX iterators with one
generic iterator over the fields of a table reference.
- Simplified 'insert_fields' and 'setup_conds' due to encapsulation of
the processing of natural joins in a separate set of procedures.
sql/sql_class.h:
- Commented old code.
sql/sql_delete.cc:
- Pass the FROM clause to setup_tables.
sql/sql_help.cc:
- pass the end name resolution table to find_field_in_tables
- adjust the list of tables for name resolution
sql/sql_insert.cc:
- Changed the code that saves and restores the current context to
support the list of tables for name resolution -
context->first_name_resolution_table, and
table_list->next_name_resolution_table.
Needed to support an ugly trick to resolve inserted columns only in
the first table.
- Added Name_resolution_context::[first | last]_name_resolution_table.
- Commented old code
sql/sql_lex.cc:
- set select_lex.parent_lex correctly
- set correct state of the current name resolution context
sql/sql_lex.h:
- Added a stack of name resolution contexts to support local
contexts for JOIN ... ON conditions.
- Commented old code.
sql/sql_load.cc:
- Pass the FROM clause to setup_tables.
sql/sql_olap.cc:
- Pass the FROM clause to setup_tables.
sql/sql_parse.cc:
- correctly set SELECT_LEX::parent_lex
- set the first table of the current name resoltion context
- added support for NATURAL/USING joins
- commented old code
sql/sql_select.cc:
- Pass the FROM clause to setup_tables.
- Pass the end table to find_field_in_tables
- Improved comments
sql/sql_show.cc:
- Set SELECT_LEX::parent_lex.
sql/sql_update.cc:
- Pass the FROM clause to setup_tables.
sql/sql_yacc.yy:
- Added support for a stack of name resolution contexts needed to
implement name resolution for JOIN ... ON. A context is pushed
for each new JOIN ... ON, and popped afterwards.
- Added support for NATURAL/USING joins.
sql/table.cc:
- Added new class Natural_join_column to hide the heterogeneous
representation of column references for stored tables and for
views.
- Added a new list TABLE_LIST::next_name_resolution_table to
support name resolution with NATURAL/USING joins. Also added
other members to TABLE_LIST to support NATURAL/USING joins.
- Added a generic iterator over the fields of table references
of various types - class Field_iterator_table_ref
sql/table.h:
- Added new class Natural_join_column to hide the heterogeneous
representation of column references for stored tables and for
views.
- Added a new list TABLE_LIST::next_name_resolution_table to
support name resolution with NATURAL/USING joins. Also added
other members to TABLE_LIST to support NATURAL/USING joins.
- Added a generic iterator over the fields of table references
of various types - class Field_iterator_table_ref
tests/mysql_client_test.c:
Adjusted according to standard NATURAL JOIN syntax.
Column names weren't checked for uniqueness for subqueries.
Code for names uniqueness checking used for view creation moved into
separate function named check_duplicate_names(). It's called on
preparation of subqueries to check uniqueness of names. If duplicate names
are found then error is raised.
sql/sql_derived.cc:
Fix bug #11864 non unique names are allowed in subquery
Added check for names uniqueness in select list.
sql/sql_view.cc:
Fix bug #11864 non unique names are allowed in subquery
Code for checking uniqueness of names in item list moved into separate function to make in available for use from other places.
sql/sql_view.h:
Fix bug #11864 non unique names are allowed in subquery
Added check_duplicate_names() function prototype.
mysql-test/t/derived.test:
Fixed test case results after bug fix#11864
Added test case for bug#11864 non unique names are allowed in subquery.
mysql-test/t/select_safe.test:
Fixed test case results after bug fix#11864
mysql-test/r/derived.result:
Added test case for bug #11864 non unique names are allowed in subquery.
Fixed test case results after bug fix#11864
mysql-test/r/select_safe.result:
Fixed test case results after bug fix#11864
BitKeeper/etc/logging_ok:
auto-union
client/mysql.cc:
Auto merged
extra/my_print_defaults.c:
Auto merged
include/m_string.h:
Auto merged
mysql-test/mysql-test-run.sh:
Auto merged
mysql-test/r/ctype_utf8.result:
Auto merged
mysql-test/r/user_var.result:
Auto merged
mysql-test/t/user_var.test:
Auto merged
scripts/make_binary_distribution.sh:
Auto merged
sql/item_func.cc:
Auto merged
sql/sql_yacc.yy:
Auto merged
strings/ctype-simple.c:
Auto merged
strings/ctype-ucs2.c:
Auto merged
strings/ctype-utf8.c:
Auto merged
libmysql/libmysql.c:
ul
mysql-test/r/ps_1general.result:
Merge
mysql-test/t/derived.test:
Merge
mysql-test/t/ps_1general.test:
Merge
mysql-test/t/type_float.test:
Merge
sql/field.cc:
ul
sql/item.cc:
ul
sql/item.h:
ul
sql/item_func.h:
ul
sql/item_strfunc.cc:
ul
sql/item_sum.cc:
ul
sql/item_sum.h:
ul
sql/procedure.h:
ul
sql/sql_derived.cc:
Trivial merge
sql/sql_parse.cc:
ul
sql/sql_update.cc:
Trivial merge
strings/strtod.c:
Use updated code from 4.1
This is bascily same code as we had before or 5.0, execpt that we now have higher accuracy for floating points value that are integers (like 123.45E+02)
mysql-test/r/derived.result:
test of union subquery in the FROM clause with complex distinct/all
mysql-test/t/derived.test:
test of union subquery in the FROM clause with complex distinct/all
sql/sql_derived.cc:
removed wrong distinct UNION detection
sql/item.cc:
After merge fixes (bug during merge)
sql/sql_show.cc:
Ensure that lex->all_select_list is properly reset on function end
(Caused crashes after merge)
mysql-test/r/derived.result:
DISTINCT over grouped select on subquery in the FROM clause
mysql-test/t/derived.test:
DISTINCT over grouped select on subquery in the FROM clause
sql/sql_select.cc:
used current join copy for test
BitKeeper/etc/ignore:
auto-union
BitKeeper/etc/logging_ok:
auto-union
VC++Files/libmysqld/libmysqld.dsp:
Auto merged
VC++Files/sql/mysqld.dsp:
Auto merged
client/mysql.cc:
Auto merged
client/mysqlbinlog.cc:
Auto merged
client/mysqltest.c:
Auto merged
include/config-netware.h:
Auto merged
include/my_base.h:
Auto merged
include/my_global.h:
Auto merged
include/my_sys.h:
Auto merged
include/mysql_com.h:
Auto merged
include/sql_state.h:
Auto merged
innobase/include/row0mysql.h:
Auto merged
innobase/row/row0sel.c:
Auto merged
libmysql/libmysql.c:
Auto merged
libmysqld/lib_sql.cc:
Auto merged
myisam/mi_check.c:
Auto merged
mysql-test/r/bdb.result:
Auto merged
mysql-test/r/connect.result:
Auto merged
mysql-test/r/ctype_ucs.result:
Auto merged
mysql-test/r/derived.result:
Auto merged
mysql-test/r/func_group.result:
Auto merged
mysql-test/r/func_like.result:
Auto merged
mysql-test/r/func_sapdb.result:
Auto merged
mysql-test/r/func_time.result:
Auto merged
mysql-test/r/insert.result:
Auto merged
mysql-test/r/insert_select.result:
Auto merged
mysql-test/r/join_outer.result:
Auto merged
mysql-test/r/key.result:
Auto merged
mysql-test/r/multi_update.result:
Auto merged
mysql-test/r/mysqldump.result:
Auto merged
mysql-test/r/null.result:
Auto merged
mysql-test/r/null_key.result:
Auto merged
mysql-test/r/query_cache.result:
Auto merged
mysql-test/r/rpl_rotate_logs.result:
Auto merged
mysql-test/r/rpl_server_id1.result:
Auto merged
mysql-test/r/rpl_until.result:
Auto merged
mysql-test/r/select.result:
Auto merged
mysql-test/r/show_check.result:
Auto merged
mysql-test/r/subselect.result:
Auto merged
mysql-test/r/system_mysql_db.result:
Auto merged
mysql-test/r/union.result:
Auto merged
mysql-test/r/variables.result:
Auto merged
mysql-test/t/multi_update.test:
Auto merged
mysql-test/t/mysqlbinlog.test:
Auto merged
mysql-test/t/rpl000015.test:
Auto merged
mysql-test/t/subselect.test:
Auto merged
mysql-test/t/variables.test:
Auto merged
mysys/mf_iocache2.c:
Auto merged
mysys/my_bitmap.c:
Auto merged
mysys/my_pthread.c:
Auto merged
netware/Makefile.am:
Auto merged
netware/my_manage.c:
Auto merged
netware/mysql_test_run.c:
Auto merged
netware/BUILD/compile-linux-tools:
Auto merged
netware/BUILD/compile-netware-standard:
Auto merged
netware/BUILD/mwenv:
Auto merged
netware/BUILD/nwbootstrap:
Auto merged
scripts/make_binary_distribution.sh:
Auto merged
scripts/mysql_install_db.sh:
Auto merged
sql/ha_berkeley.cc:
Auto merged
sql/ha_berkeley.h:
Auto merged
sql/ha_heap.h:
Auto merged
sql/item.cc:
Auto merged
sql/item.h:
Auto merged
sql/item_cmpfunc.cc:
Auto merged
sql/item_cmpfunc.h:
Auto merged
sql/item_create.cc:
Auto merged
sql/item_create.h:
Auto merged
sql/item_func.h:
Auto merged
sql/item_subselect.cc:
Auto merged
sql/item_sum.cc:
Auto merged
sql/item_sum.h:
Auto merged
sql/item_timefunc.h:
Auto merged
sql/lex.h:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/net_serv.cc:
Auto merged
sql/protocol.cc:
Auto merged
sql/protocol.h:
Auto merged
sql/records.cc:
Auto merged
sql/repl_failsafe.cc:
Auto merged
sql/set_var.cc:
Auto merged
sql/sql_acl.cc:
Auto merged
sql/sql_acl.h:
Auto merged
sql/sql_base.cc:
Auto merged
sql/sql_cache.cc:
Auto merged
sql/sql_delete.cc:
Auto merged
sql/sql_derived.cc:
Auto merged
sql/sql_load.cc:
Auto merged
sql/sql_show.cc:
Auto merged
sql/sql_string.cc:
Auto merged
sql/sql_update.cc:
Auto merged
sql/structs.h:
Auto merged
sql-common/client.c:
Auto merged
configure.in:
Merge with 4.1
include/mysqld_error.h:
New errors from 4.1
libmysqld/Makefile.am:
Merge with 4.1
myisam/myisamchk.c:
Merge with 4.1
myisam/myisamdef.h:
Merge with 4.1
myisam/sort.c:
Merge with 4.1
mysql-test/r/mysqlbinlog.result:
Merge with 4.1
mysql-test/r/range.result:
Merge with 4.1
mysql-test/r/rpl_flush_log_loop.result:
Merge with 4.1
mysql-test/r/rpl_replicate_do.result:
Merge with 4.1
mysql-test/r/rpl_temporary.result:
Merge with 4.1
mysql-test/r/rpl_user_variables.result:
Merge with 4.1
mysql-test/t/func_time.test:
Merge with 4.1
scripts/mysql_create_system_tables.sh:
Merge with 4.1
scripts/mysql_fix_privilege_tables.sql:
Merge with 4.1
sql/Makefile.am:
Merge with 4.1
sql/filesort.cc:
Merge with 4.1
sql/ha_innodb.cc:
Merge with 4.1
sql/ha_innodb.h:
Merge with 4.1
sql/ha_myisam.cc:
Merge with 4.1
sql/handler.cc:
Merge with 4.1
sql/handler.h:
Merge with 4.1
sql/item_func.cc:
Merge with 4.1
sql/item_timefunc.cc:
Merge with 4.1
sql/log.cc:
Merge with 4.1
sql/log_event.cc:
Merge with 4.1
sql/mysqld.cc:
Merge with 4.1
sql/opt_range.cc:
Merge with 4.1
sql/opt_range.h:
Merge with 4.1
sql/share/czech/errmsg.txt:
Merge with 4.1
Updated english error messages
sql/share/danish/errmsg.txt:
Merge with 4.1
sql/share/dutch/errmsg.txt:
Merge with 4.1
sql/share/english/errmsg.txt:
Merge with 4.1
sql/share/estonian/errmsg.txt:
Merge with 4.1
sql/share/french/errmsg.txt:
Merge with 4.1
sql/share/german/errmsg.txt:
Merge with 4.1
sql/share/greek/errmsg.txt:
Merge with 4.1
sql/share/hungarian/errmsg.txt:
Merge with 4.1
sql/share/italian/errmsg.txt:
Merge with 4.1
sql/share/japanese/errmsg.txt:
Merge with 4.1
sql/share/korean/errmsg.txt:
Merge with 4.1
sql/share/norwegian-ny/errmsg.txt:
Merge with 4.1
sql/share/norwegian/errmsg.txt:
Merge with 4.1
sql/share/polish/errmsg.txt:
Merge with 4.1
sql/share/portuguese/errmsg.txt:
Merge with 4.1
sql/share/romanian/errmsg.txt:
Merge with 4.1
sql/share/russian/errmsg.txt:
Merge with 4.1
sql/share/serbian/errmsg.txt:
Merge with 4.1
sql/share/slovak/errmsg.txt:
Merge with 4.1
sql/share/spanish/errmsg.txt:
Merge with 4.1
sql/share/swedish/errmsg.txt:
Merge with 4.1
sql/share/ukrainian/errmsg.txt:
Merge with 4.1
sql/slave.cc:
Merge with 4.1
sql/sql_class.cc:
Merge with 4.1
sql/sql_class.h:
Merge with 4.1
sql/sql_db.cc:
Merge with 4.1
sql/sql_insert.cc:
Merge with 4.1
sql/sql_lex.cc:
Merge with 4.1
sql/sql_lex.h:
Merge with 4.1
sql/sql_parse.cc:
Merge with 4.1 tree
Changed // comments to /* */
sql/sql_prepare.cc:
Merge with 4.1
sql/sql_select.cc:
Merge with 4.1
sql/sql_table.cc:
Merge with 4.1
sql/sql_yacc.yy:
Merge with 4.1
sql/table.h:
Merge with 4.1
tests/client_test.c:
Merge with 4.1
If cost(full_scan_on_shortest_covering_index) < cost(best_range_scan) < cost(full_table_scan)
use full_scan_on_shortest_covering_index
(before this fix best_range_scan was used)
mysql-test/r/derived.result:
explain of hidden subselect changed according to review
mysql-test/r/subselect.result:
explain of hidden subselect changed according to review
mysql-test/r/union.result:
explain of hidden subselect changed according to review
sql/sql_class.h:
we bo not need sign for now
sql/sql_lex.h:
we do not need sign for now
EXPLAIN of hidden SELECT of UNION
mysql-test/r/derived.result:
explain of hidden select
mysql-test/r/subselect.result:
explain of hidden select
mysql-test/r/union.result:
explain of hidden select
correct error messages on explain
mysql-test/t/subselect.test:
show eliminated costants in WHERE clause
mysql-test/t/union.test:
correct error messages on EXPLAIN with union
sql/item.cc:
fixed name constructing for global ORDER BY items
sql/sql_class.h:
select ID can be negative (for hidden SELECTs)
removed unused field
sql/sql_lex.cc:
new flag of UNION EXPLAIN
sql/sql_lex.h:
new flag of UNION EXPLAIN
select ID can be negative (for hidden SELECTs)
sql/sql_select.cc:
EXPLAIN UNION using same routing which used for execution
explain for hidden SELECT of UNION
sql/sql_union.cc:
EXPLAIN UNION using same routing which used for execution
Portability fixes
mysql-test/resolve-stack:
Turn off EOLN_NATIVE flag
mysql-test/t/ansi.test:
Turn off EOLN_NATIVE flag
mysql-test/t/backup-master.sh:
Turn off EOLN_NATIVE flag
mysql-test/t/bdb-alter-table-2-master.opt:
Turn off EOLN_NATIVE flag
mysql-test/t/bdb-deadlock.test:
Turn off EOLN_NATIVE flag
mysql-test/t/bdb_cache-master.opt:
Turn off EOLN_NATIVE flag
mysql-test/t/bdb_cache.test:
Turn off EOLN_NATIVE flag
mysql-test/t/bool.test:
Turn off EOLN_NATIVE flag
mysql-test/t/cast.test:
Turn off EOLN_NATIVE flag
mysql-test/t/connect.test:
Turn off EOLN_NATIVE flag
mysql-test/t/constraints.test:
Turn off EOLN_NATIVE flag
mysql-test/t/count_distinct3.test:
Turn off EOLN_NATIVE flag
mysql-test/t/ctype_big5.test:
Turn off EOLN_NATIVE flag
mysql-test/t/ctype_collate.test:
Turn off EOLN_NATIVE flag
mysql-test/t/ctype_cp1251-master.opt:
Turn off EOLN_NATIVE flag
mysql-test/t/ctype_cp1251.test:
Turn off EOLN_NATIVE flag
mysql-test/t/ctype_create.test:
Turn off EOLN_NATIVE flag
mysql-test/t/ctype_latin1_de-master.opt:
Turn off EOLN_NATIVE flag
mysql-test/t/ctype_latin1_de.test:
Turn off EOLN_NATIVE flag
mysql-test/t/ctype_many.test:
Turn off EOLN_NATIVE flag
mysql-test/t/ctype_mb.test:
Turn off EOLN_NATIVE flag
mysql-test/t/ctype_recoding.test:
Turn off EOLN_NATIVE flag
mysql-test/t/ctype_tis620-master.opt:
Turn off EOLN_NATIVE flag
mysql-test/t/ctype_tis620.test:
Turn off EOLN_NATIVE flag
mysql-test/t/ctype_ucs.test:
Turn off EOLN_NATIVE flag
mysql-test/t/ctype_ujis.test:
Turn off EOLN_NATIVE flag
mysql-test/t/ctype_utf8.test:
Turn off EOLN_NATIVE flag
mysql-test/t/date_formats-master.opt:
Turn off EOLN_NATIVE flag
mysql-test/t/date_formats.test:
Turn off EOLN_NATIVE flag
mysql-test/t/drop_temp_table.test:
Turn off EOLN_NATIVE flag
mysql-test/t/fulltext2.test:
Turn off EOLN_NATIVE flag
mysql-test/t/func_compress.test:
Turn off EOLN_NATIVE flag
mysql-test/t/func_concat.test:
Turn off EOLN_NATIVE flag
mysql-test/t/func_default.test:
Turn off EOLN_NATIVE flag
mysql-test/t/func_encrypt-master.opt:
Turn off EOLN_NATIVE flag
mysql-test/t/func_gconcat.test:
Turn off EOLN_NATIVE flag
mysql-test/t/func_if.test:
Turn off EOLN_NATIVE flag
mysql-test/t/func_isnull.test:
Turn off EOLN_NATIVE flag
mysql-test/t/func_sapdb.test:
Turn off EOLN_NATIVE flag
mysql-test/t/gcc296.test:
Turn off EOLN_NATIVE flag
mysql-test/t/gis-rtree.test:
Turn off EOLN_NATIVE flag
mysql-test/t/gis.test:
Turn off EOLN_NATIVE flag
mysql-test/t/grant.test:
Turn off EOLN_NATIVE flag
mysql-test/t/grant2.test:
Turn off EOLN_NATIVE flag
mysql-test/t/grant_cache-master.opt:
Turn off EOLN_NATIVE flag
mysql-test/t/grant_cache.test:
Turn off EOLN_NATIVE flag
mysql-test/t/heap_auto_increment.test:
Turn off EOLN_NATIVE flag
mysql-test/t/heap_btree.test:
Turn off EOLN_NATIVE flag
mysql-test/t/heap_hash.test:
Turn off EOLN_NATIVE flag
mysql-test/t/help.test:
Turn off EOLN_NATIVE flag
mysql-test/t/init_connect-master.opt:
Turn off EOLN_NATIVE flag
mysql-test/t/init_connect.test:
Turn off EOLN_NATIVE flag
mysql-test/t/init_file-master.opt:
Turn off EOLN_NATIVE flag
mysql-test/t/init_file.test:
Turn off EOLN_NATIVE flag
mysql-test/t/innodb-deadlock.test:
Turn off EOLN_NATIVE flag
mysql-test/t/innodb_cache-master.opt:
Turn off EOLN_NATIVE flag
mysql-test/t/innodb_cache.test:
Turn off EOLN_NATIVE flag
mysql-test/t/innodb_handler.test:
Turn off EOLN_NATIVE flag
mysql-test/t/insert_update.test:
Turn off EOLN_NATIVE flag
mysql-test/t/isam.test:
Turn off EOLN_NATIVE flag
mysql-test/t/key_cache-master.opt:
Turn off EOLN_NATIVE flag
mysql-test/t/key_cache.test:
Turn off EOLN_NATIVE flag
mysql-test/t/loaddata.test:
Turn off EOLN_NATIVE flag
mysql-test/t/lock_multi.test:
Turn off EOLN_NATIVE flag
mysql-test/t/lock_tables_lost_commit-master.opt:
Turn off EOLN_NATIVE flag
mysql-test/t/lock_tables_lost_commit.test:
Turn off EOLN_NATIVE flag
mysql-test/t/lowercase_table-master.opt:
Turn off EOLN_NATIVE flag
mysql-test/t/lowercase_table.test:
Turn off EOLN_NATIVE flag
mysql-test/t/lowercase_table2.test:
Turn off EOLN_NATIVE flag
mysql-test/t/lowercase_table3-master.opt:
Turn off EOLN_NATIVE flag
mysql-test/t/lowercase_table3.test:
Turn off EOLN_NATIVE flag
mysql-test/t/lowercase_table_qcache-master.opt:
Turn off EOLN_NATIVE flag
mysql-test/t/lowercase_table_qcache.test:
Turn off EOLN_NATIVE flag
mysql-test/t/mix_innodb_myisam_binlog.test:
Turn off EOLN_NATIVE flag
mysql-test/t/multi_statement.test:
Turn off EOLN_NATIVE flag
mysql-test/t/multi_update-master.opt:
Turn off EOLN_NATIVE flag
mysql-test/t/myisam-blob-master.opt:
Turn off EOLN_NATIVE flag
mysql-test/t/myisam-blob.test:
Turn off EOLN_NATIVE flag
mysql-test/t/mysqlbinlog-master.opt:
Turn off EOLN_NATIVE flag
mysql-test/t/mysqlbinlog.test:
Turn off EOLN_NATIVE flag
mysql-test/t/mysqldump.test:
Turn off EOLN_NATIVE flag
mysql-test/t/negation_elimination.test:
Turn off EOLN_NATIVE flag
mysql-test/t/packet.test:
Turn off EOLN_NATIVE flag
mysql-test/t/preload.test:
Turn off EOLN_NATIVE flag
mysql-test/t/query_cache.test:
Turn off EOLN_NATIVE flag
mysql-test/t/query_cache_merge.test:
Turn off EOLN_NATIVE flag
mysql-test/t/repair_part1.test:
Turn off EOLN_NATIVE flag
mysql-test/t/repair_part2-master.sh:
Turn off EOLN_NATIVE flag
mysql-test/t/repair_part2.test:
Turn off EOLN_NATIVE flag
mysql-test/t/row.test:
Turn off EOLN_NATIVE flag
mysql-test/t/rpl000001-slave.opt:
Turn off EOLN_NATIVE flag
mysql-test/t/rpl_EE_error.test:
Turn off EOLN_NATIVE flag
mysql-test/t/rpl_alter.test:
Turn off EOLN_NATIVE flag
mysql-test/t/rpl_chain_temp_table.test:
Turn off EOLN_NATIVE flag
mysql-test/t/rpl_change_master.test:
Turn off EOLN_NATIVE flag
mysql-test/t/rpl_do_grant.test:
Turn off EOLN_NATIVE flag
mysql-test/t/rpl_empty_master_crash.test:
Turn off EOLN_NATIVE flag
mysql-test/t/rpl_error_ignored_table-slave.opt:
Turn off EOLN_NATIVE flag
mysql-test/t/rpl_error_ignored_table.test:
Turn off EOLN_NATIVE flag
mysql-test/t/rpl_failsafe.test:
Turn off EOLN_NATIVE flag
mysql-test/t/rpl_flush_log_loop-master.opt:
Turn off EOLN_NATIVE flag
mysql-test/t/rpl_flush_log_loop-master.sh:
Turn off EOLN_NATIVE flag
mysql-test/t/rpl_flush_log_loop-slave.opt:
Turn off EOLN_NATIVE flag
mysql-test/t/rpl_flush_log_loop-slave.sh:
Turn off EOLN_NATIVE flag
mysql-test/t/rpl_flush_log_loop.test:
Turn off EOLN_NATIVE flag
mysql-test/t/rpl_flush_tables.test:
Turn off EOLN_NATIVE flag
mysql-test/t/rpl_get_lock.test:
Turn off EOLN_NATIVE flag
mysql-test/t/rpl_heap.test:
Turn off EOLN_NATIVE flag
mysql-test/t/rpl_ignore_grant-slave.opt:
Turn off EOLN_NATIVE flag
mysql-test/t/rpl_ignore_grant.test:
Turn off EOLN_NATIVE flag
mysql-test/t/rpl_init_slave-slave.opt:
Turn off EOLN_NATIVE flag
mysql-test/t/rpl_init_slave.test:
Turn off EOLN_NATIVE flag
mysql-test/t/rpl_insert_id-slave.opt:
Turn off EOLN_NATIVE flag
mysql-test/t/rpl_insert_id.test:
Turn off EOLN_NATIVE flag
mysql-test/t/rpl_loaddata.test:
Turn off EOLN_NATIVE flag
mysql-test/t/rpl_loaddata_rule_m-master.opt:
Turn off EOLN_NATIVE flag
mysql-test/t/rpl_loaddata_rule_m.test:
Turn off EOLN_NATIVE flag
mysql-test/t/rpl_loaddata_rule_s-slave.opt:
Turn off EOLN_NATIVE flag
mysql-test/t/rpl_loaddata_rule_s.test:
Turn off EOLN_NATIVE flag
mysql-test/t/rpl_loaddatalocal.test:
Turn off EOLN_NATIVE flag
mysql-test/t/rpl_log-master.opt:
Turn off EOLN_NATIVE flag
mysql-test/t/rpl_log-slave.opt:
Turn off EOLN_NATIVE flag
mysql-test/t/rpl_master_pos_wait.test:
Turn off EOLN_NATIVE flag
mysql-test/t/rpl_max_relay_size.test:
Turn off EOLN_NATIVE flag
mysql-test/t/rpl_misc_functions-slave.sh:
Turn off EOLN_NATIVE flag
mysql-test/t/rpl_misc_functions.test:
Turn off EOLN_NATIVE flag
mysql-test/t/rpl_multi_delete-slave.opt:
Turn off EOLN_NATIVE flag
mysql-test/t/rpl_multi_delete.test:
Turn off EOLN_NATIVE flag
mysql-test/t/rpl_multi_update.test:
Turn off EOLN_NATIVE flag
mysql-test/t/rpl_openssl.test:
Turn off EOLN_NATIVE flag
mysql-test/t/rpl_optimize.test:
Turn off EOLN_NATIVE flag
mysql-test/t/rpl_relayrotate-slave.opt:
Turn off EOLN_NATIVE flag
mysql-test/t/rpl_relayrotate.test:
Turn off EOLN_NATIVE flag
mysql-test/t/rpl_relayspace-slave.opt:
Turn off EOLN_NATIVE flag
mysql-test/t/rpl_relayspace.test:
Turn off EOLN_NATIVE flag
mysql-test/t/rpl_reset_slave.test:
Turn off EOLN_NATIVE flag
mysql-test/t/rpl_skip_error-slave.opt:
Turn off EOLN_NATIVE flag
mysql-test/t/rpl_skip_error.test:
Turn off EOLN_NATIVE flag
mysql-test/t/rpl_temporary.test:
Turn off EOLN_NATIVE flag
mysql-test/t/rpl_trunc_binlog.test:
Turn off EOLN_NATIVE flag
mysql-test/t/rpl_until.test:
Turn off EOLN_NATIVE flag
mysql-test/t/rpl_user_variables.test:
Turn off EOLN_NATIVE flag
mysql-test/t/sql_mode.test:
Turn off EOLN_NATIVE flag
mysql-test/t/subselect.test:
Turn off EOLN_NATIVE flag
mysql-test/t/subselect2.test:
Turn off EOLN_NATIVE flag
mysql-test/t/subselect_innodb.test:
Turn off EOLN_NATIVE flag
mysql-test/t/system_mysql_db.test:
Turn off EOLN_NATIVE flag
mysql-test/t/system_mysql_db_fix-master.opt:
Turn off EOLN_NATIVE flag
mysql-test/t/system_mysql_db_fix.test:
Turn off EOLN_NATIVE flag
mysql-test/t/system_mysql_db_refs.test:
Turn off EOLN_NATIVE flag
mysql-test/t/timezone-master.opt:
Turn off EOLN_NATIVE flag
mysql-test/t/timezone.test:
Turn off EOLN_NATIVE flag
mysql-test/t/type_nchar.test:
Turn off EOLN_NATIVE flag
mysql-test/t/type_set.test:
Turn off EOLN_NATIVE flag
mysql-test/t/union-master.opt:
Turn off EOLN_NATIVE flag
mysql-test/t/variables-master.opt:
Turn off EOLN_NATIVE flag
mysql-test/t/warnings-master.opt:
Turn off EOLN_NATIVE flag
mysql-test/r/ansi.result:
Turn off EOLN_NATIVE flag
mysql-test/r/bdb-deadlock.result:
Turn off EOLN_NATIVE flag
mysql-test/r/bdb_cache.result:
Turn off EOLN_NATIVE flag
mysql-test/r/bool.result:
Turn off EOLN_NATIVE flag
mysql-test/r/cast.result:
Turn off EOLN_NATIVE flag
mysql-test/r/check_var_limit.require:
Turn off EOLN_NATIVE flag
mysql-test/r/connect.result:
Turn off EOLN_NATIVE flag
mysql-test/r/constraints.result:
Turn off EOLN_NATIVE flag
mysql-test/r/count_distinct3.result:
Turn off EOLN_NATIVE flag
mysql-test/r/ctype_big5.result:
Turn off EOLN_NATIVE flag
mysql-test/r/ctype_collate.result:
Turn off EOLN_NATIVE flag
mysql-test/r/ctype_cp1251.result:
Turn off EOLN_NATIVE flag
mysql-test/r/ctype_create.result:
Turn off EOLN_NATIVE flag
mysql-test/r/ctype_latin1_de.result:
Turn off EOLN_NATIVE flag
mysql-test/r/ctype_mb.result:
Turn off EOLN_NATIVE flag
mysql-test/r/ctype_recoding.result:
Turn off EOLN_NATIVE flag
mysql-test/r/ctype_tis620.result:
Turn off EOLN_NATIVE flag
mysql-test/r/ctype_ucs.result:
Turn off EOLN_NATIVE flag
mysql-test/r/ctype_ujis.result:
Turn off EOLN_NATIVE flag
mysql-test/r/ctype_utf8.result:
Turn off EOLN_NATIVE flag
mysql-test/r/date_formats.result:
Turn off EOLN_NATIVE flag
mysql-test/r/delete.result:
Turn off EOLN_NATIVE flag
mysql-test/r/drop_temp_table.result:
Turn off EOLN_NATIVE flag
mysql-test/r/errors.result:
Turn off EOLN_NATIVE flag
mysql-test/r/foreign_key.result:
Turn off EOLN_NATIVE flag
mysql-test/r/fulltext2.result:
Turn off EOLN_NATIVE flag
mysql-test/r/func_compress.result:
Turn off EOLN_NATIVE flag
mysql-test/r/func_concat.result:
Turn off EOLN_NATIVE flag
mysql-test/r/func_default.result:
Turn off EOLN_NATIVE flag
mysql-test/r/func_gconcat.result:
Turn off EOLN_NATIVE flag
mysql-test/r/func_if.result:
Turn off EOLN_NATIVE flag
mysql-test/r/func_isnull.result:
Turn off EOLN_NATIVE flag
mysql-test/r/func_sapdb.result:
Turn off EOLN_NATIVE flag
mysql-test/r/gcc296.result:
Turn off EOLN_NATIVE flag
mysql-test/r/gis-rtree.result:
Turn off EOLN_NATIVE flag
mysql-test/r/gis.result:
Turn off EOLN_NATIVE flag
mysql-test/r/grant.result:
Turn off EOLN_NATIVE flag
mysql-test/r/grant2.result:
Turn off EOLN_NATIVE flag
mysql-test/r/grant_cache.result:
Turn off EOLN_NATIVE flag
mysql-test/r/have_big5.require:
Turn off EOLN_NATIVE flag
mysql-test/r/have_compress.require:
Turn off EOLN_NATIVE flag
mysql-test/r/have_crypt.require:
Turn off EOLN_NATIVE flag
mysql-test/r/have_met_timezone.require:
Turn off EOLN_NATIVE flag
mysql-test/r/have_query_cache.require:
Turn off EOLN_NATIVE flag
mysql-test/r/have_tis620.require:
Turn off EOLN_NATIVE flag
mysql-test/r/have_ucs2.require:
Turn off EOLN_NATIVE flag
mysql-test/r/have_ujis.require:
Turn off EOLN_NATIVE flag
mysql-test/r/heap_auto_increment.result:
Turn off EOLN_NATIVE flag
mysql-test/r/heap_btree.result:
Turn off EOLN_NATIVE flag
mysql-test/r/heap_hash.result:
Turn off EOLN_NATIVE flag
mysql-test/r/help.result:
Turn off EOLN_NATIVE flag
mysql-test/r/init_connect.result:
Turn off EOLN_NATIVE flag
mysql-test/r/innodb-deadlock.result:
Turn off EOLN_NATIVE flag
mysql-test/r/innodb_cache.result:
Turn off EOLN_NATIVE flag
mysql-test/r/innodb_handler.result:
Turn off EOLN_NATIVE flag
mysql-test/r/insert_update.result:
Turn off EOLN_NATIVE flag
mysql-test/r/isam.result:
Turn off EOLN_NATIVE flag
mysql-test/r/key_cache.result:
Turn off EOLN_NATIVE flag
mysql-test/r/loaddata.result:
Turn off EOLN_NATIVE flag
mysql-test/r/lock_multi.result:
Turn off EOLN_NATIVE flag
mysql-test/r/lock_tables_lost_commit.result:
Turn off EOLN_NATIVE flag
mysql-test/r/lowercase0.require:
Turn off EOLN_NATIVE flag
mysql-test/r/lowercase2.require:
Turn off EOLN_NATIVE flag
mysql-test/r/lowercase_table.result:
Turn off EOLN_NATIVE flag
mysql-test/r/lowercase_table2.result:
Turn off EOLN_NATIVE flag
mysql-test/r/lowercase_table3.result:
Turn off EOLN_NATIVE flag
mysql-test/r/lowercase_table_qcache.result:
Turn off EOLN_NATIVE flag
mysql-test/r/mix_innodb_myisam_binlog.result:
Turn off EOLN_NATIVE flag
mysql-test/r/multi_statement.result:
Turn off EOLN_NATIVE flag
mysql-test/r/myisam-blob.result:
Turn off EOLN_NATIVE flag
mysql-test/r/mysqlbinlog.result:
Turn off EOLN_NATIVE flag
mysql-test/r/mysqldump.result:
Turn off EOLN_NATIVE flag
mysql-test/r/negation_elimination.result:
Turn off EOLN_NATIVE flag
mysql-test/r/not_embedded.require:
Turn off EOLN_NATIVE flag
mysql-test/r/overflow.result:
Turn off EOLN_NATIVE flag
mysql-test/r/packet.result:
Turn off EOLN_NATIVE flag
mysql-test/r/preload.result:
Turn off EOLN_NATIVE flag
mysql-test/r/query_cache.result:
Turn off EOLN_NATIVE flag
mysql-test/r/query_cache_merge.result:
Turn off EOLN_NATIVE flag
mysql-test/r/repair_part1.result:
Turn off EOLN_NATIVE flag
mysql-test/r/repair_part2.result:
Turn off EOLN_NATIVE flag
mysql-test/r/row.result:
Turn off EOLN_NATIVE flag
mysql-test/r/rpl_EE_error.result:
Turn off EOLN_NATIVE flag
mysql-test/r/rpl_alter.result:
Turn off EOLN_NATIVE flag
mysql-test/r/rpl_chain_temp_table.result:
Turn off EOLN_NATIVE flag
mysql-test/r/rpl_change_master.result:
Turn off EOLN_NATIVE flag
mysql-test/r/rpl_do_grant.result:
Turn off EOLN_NATIVE flag
mysql-test/r/rpl_empty_master_crash.result:
Turn off EOLN_NATIVE flag
mysql-test/r/rpl_error_ignored_table.result:
Turn off EOLN_NATIVE flag
mysql-test/r/rpl_failsafe.result:
Turn off EOLN_NATIVE flag
mysql-test/r/rpl_flush_log_loop.result:
Turn off EOLN_NATIVE flag
mysql-test/r/rpl_flush_tables.result:
Turn off EOLN_NATIVE flag
mysql-test/r/rpl_get_lock.result:
Turn off EOLN_NATIVE flag
mysql-test/r/rpl_heap.result:
Turn off EOLN_NATIVE flag
mysql-test/r/rpl_ignore_grant.result:
Turn off EOLN_NATIVE flag
mysql-test/r/rpl_init_slave.result:
Turn off EOLN_NATIVE flag
mysql-test/r/rpl_insert_id.result:
Turn off EOLN_NATIVE flag
mysql-test/r/rpl_loaddata.result:
Turn off EOLN_NATIVE flag
mysql-test/r/rpl_loaddata_rule_m.result:
Turn off EOLN_NATIVE flag
mysql-test/r/rpl_loaddata_rule_s.result:
Turn off EOLN_NATIVE flag
mysql-test/r/rpl_loaddatalocal.result:
Turn off EOLN_NATIVE flag
mysql-test/r/rpl_master_pos_wait.result:
Turn off EOLN_NATIVE flag
mysql-test/r/rpl_max_relay_size.result:
Turn off EOLN_NATIVE flag
mysql-test/r/rpl_misc_functions.result:
Turn off EOLN_NATIVE flag
mysql-test/r/rpl_multi_delete.result:
Turn off EOLN_NATIVE flag
mysql-test/r/rpl_multi_update.result:
Turn off EOLN_NATIVE flag
mysql-test/r/rpl_openssl.result:
Turn off EOLN_NATIVE flag
mysql-test/r/rpl_optimize.result:
Turn off EOLN_NATIVE flag
mysql-test/r/rpl_relayrotate.result:
Turn off EOLN_NATIVE flag
mysql-test/r/rpl_relayspace.result:
Turn off EOLN_NATIVE flag
mysql-test/r/rpl_reset_slave.result:
Turn off EOLN_NATIVE flag
mysql-test/r/rpl_skip_error.result:
Turn off EOLN_NATIVE flag
mysql-test/r/rpl_temporary.result:
Turn off EOLN_NATIVE flag
mysql-test/r/rpl_trunc_binlog.result:
Turn off EOLN_NATIVE flag
mysql-test/r/rpl_until.result:
Turn off EOLN_NATIVE flag
mysql-test/r/rpl_user_variables.result:
Turn off EOLN_NATIVE flag
mysql-test/r/sql_mode.result:
Turn off EOLN_NATIVE flag
mysql-test/r/subselect.result:
Turn off EOLN_NATIVE flag
mysql-test/r/subselect2.result:
Turn off EOLN_NATIVE flag
mysql-test/r/subselect_innodb.result:
Turn off EOLN_NATIVE flag
mysql-test/r/system_mysql_db.result:
Turn off EOLN_NATIVE flag
mysql-test/r/system_mysql_db_refs.result:
Turn off EOLN_NATIVE flag
mysql-test/r/timezone.result:
Turn off EOLN_NATIVE flag
mysql-test/r/true.require:
Turn off EOLN_NATIVE flag
mysql-test/r/type_nchar.result:
Turn off EOLN_NATIVE flag
mysql-test/r/type_set.result:
Turn off EOLN_NATIVE flag
mysql-test/r/warnings.result:
Turn off EOLN_NATIVE flag
BitKeeper/etc/config:
Ensure that we use unix file format (no \r\n) for all new files
client/mysqltest.c:
Fix for previous push (long delimiters)
mysql-test/r/derived.result:
Fixed results
mysql-test/r/rpl000009.result:
Fixed results
mysql-test/t/derived.test:
Make test portable (for lower_case_table_names=2)
mysql-test/t/rpl000009.test:
After merge fix
into sanja.is.com.ua:/home/bell/mysql/bk/work-derived2-4.1
mysql-test/r/derived.result:
Auto merged
mysql-test/t/derived.test:
Auto merged
sql/sql_acl.cc:
Auto merged
sql/sql_prepare.cc:
Auto merged
sql/sql_select.cc:
Auto merged
sql/sql_update.cc:
Auto merged