mirror of
https://github.com/MariaDB/server.git
synced 2025-05-07 04:01:59 +03:00
76 Commits
Author | SHA1 | Message | Date | |
---|---|---|---|---|
|
fcb83cbf15 |
Fixed following problems:
--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 |
||
|
8b2788478b |
Bug #41156: List of derived tables acts like a chain of
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. |
||
|
0b3720facc |
Merge magare.gmz:/home/kgeorge/mysql/work/B31221-5.0-gca-opt
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 |
||
|
787a4b487a |
Bug #31221: Optimizer incorrectly identifies impossible WHERE clause
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 |
||
|
aff34a8c64 |
Bug #27531: 5.1 part of the fix
- 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. |
||
|
0c835da803 |
bug #27531: 5.1 part of the fix:
- 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. |
||
|
5d4e0417ad |
Bug#20166 mysql-test-run.pl does not test system privilege tables creation
- 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'' |
||
|
0fa250a936 |
A fix and a test case for Bug#21002 "Derived table not selecting from a
"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). |
||
|
6e3efdfea7 |
Bug#10586
regression test mysql-test/r/derived.result: Test for bug mysql-test/t/derived.test: Test for bug |
||
|
6ed4935212 |
Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-5.0
into moonbone.local:/work/mysql-5.0-bug-11864 mysql-test/r/derived.result: Auto merged sql/sql_derived.cc: Auto merged sql/sql_view.cc: Auto merged |
||
|
7517d7e112 |
Implementation of WL#2486 -
"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. |
||
|
e66cd71698 |
Fix bug #11864 non unique names are allowed in subquery
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 |
||
|
ce99d4430f |
Merge with 4.1
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) |
||
|
f048032c68 |
removed wrong distinct UNION detection (BUG#6565)
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 |
||
|
8e279c4cf8 |
After merge fixes
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) |
||
|
4f1cbb6031 |
4.1 -> 5.0 merge
BitKeeper/etc/logging_ok: auto-union Build-tools/Do-compile: Auto merged client/mysqladmin.cc: Auto merged client/mysqldump.c: Auto merged configure.in: Auto merged extra/perror.c: Auto merged innobase/buf/buf0rea.c: Auto merged innobase/fil/fil0fil.c: Auto merged innobase/include/rem0rec.ic: Auto merged innobase/include/univ.i: Auto merged innobase/os/os0file.c: Auto merged innobase/ut/ut0ut.c: Auto merged mysql-test/r/derived.result: Auto merged mysql-test/r/func_str.result: Simple merge mysql-test/r/subselect.result: Automatic merge mysql-test/t/derived.test: Automatic merge mysql-test/t/func_str.test: Simple merge mysql-test/t/subselect.test: Automatic merge mysys/my_handler.c: Automatic merge ndb/src/kernel/blocks/backup/Backup.cpp: Automatic merge scripts/make_binary_distribution.sh: Automatic merge scripts/mysql_install_db.sh: Automatic merge sql/examples/ha_archive.cc: Simple merge sql/ha_innodb.cc: Automatic merge sql/item.cc: Merge sql/item_cmpfunc.h: Automatic merge sql/item_func.cc: Simple merge sql/item_func.h: Automatic merge sql/item_strfunc.cc: Automatic merge sql/item_strfunc.h: Automatic merge sql/item_subselect.cc: Automatic merge sql/mysqld.cc: Automatic merge sql/set_var.cc: Automatic merge sql/sql_base.cc: Automatic merge sql/sql_class.cc: Automatic merge sql/sql_class.h: Automatic merge sql/sql_lex.cc: Automatic merge sql/sql_lex.h: Automatic merge sql/sql_parse.cc: Automatic merge sql/sql_select.cc: Automatic merge sql/sql_table.cc: Automatic merge sql/sql_update.cc: Simple merge strings/ctype-big5.c: Automatic merge strings/ctype-bin.c: Automatic merge strings/ctype-gbk.c: Automatic merge strings/ctype-latin1.c: Automatic merge strings/ctype-mb.c: Automatic merge strings/ctype-simple.c: Automatic merge strings/ctype-sjis.c: Automatic merge strings/ctype-tis620.c: Automatic merge strings/ctype-ucs2.c: Automatic merge strings/ctype-utf8.c: Automatic merge vio/viosocket.c: Automatic merge vio/viossl.c: Automatic merge |
||
|
b3cd49f312 |
fixed problem with distinct select with grouping and subqueries (BUG#7946)
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 |
||
|
5db116af7a |
Added test which covers nicely recent cleanup in derived tables
processing. |
||
|
11b8987313 |
Merge with 4.1.3-beta
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 |
||
|
b482176b6d |
Range optimizer fix:
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) |
||
|
3165c7deda |
Language/consistency edits to error messages
and affected test results. |
||
|
b1cecee055 |
Language/consistency edits to error messages
and affected test results. |
||
|
9fb55cefac |
after review changes
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 |
||
|
1a4f499ca8 |
EXPLAIN UNION using same routing which used for execution which allow return correct bug messages (Bug #3639)
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 |
||
|
000f76cfb8 |
after merge fixes
client/mysqldump.c: Fixed problem with multiple tables (--skip-quote didn't work properly for second table) myisam/myisamchk.c: after merge fix |
||
|
609df31197 |
Ensure that we use unix file format (no \r\n) for all new files
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 |
||
|
22da65838d |
merge
sql/sql_yacc.yy: Auto merged |
||
|
d354591302 |
bug#2708
test results updated myisam/ft_boolean_search.c: cleanup myisam/ft_parser.c: cleanup bug#2708 mysql-test/r/derived.result: error messages updated mysql-test/r/fulltext.result: bug#2708 mysql-test/r/warnings.result: error messages updated mysql-test/t/fulltext.test: bug#2708 |
||
|
d4767576f8 |
Merge sanja.is.com.ua:/home/bell/mysql/bk/mysql-4.1
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 |
||
|
61f0e69cb6 |
ufter revview fix (BUG#2120)
mysql-test/r/derived.result: test of error handling in derived tables with UPDATE & DELETE mysql-test/t/derived.test: test of error handling in derived tables with UPDATE & DELETE sql/mysql_priv.h: opened tables counter added to avoid loop of tables calculating in lock_tables sql/sql_acl.cc: opened tables counter added to avoid loop of tables calculating in lock_tables, here it is just for compatibility sql/sql_base.cc: removed unneeded assignment opened tables counter added to avoid loop of tables calculating in lock_tables commentary fixed sql/sql_derived.cc: mysql_derived made static variable res moved in place where it used priveleges written in correct place sql/sql_handler.cc: opened tables counter added to avoid loop of tables calculating in lock_tables sql/sql_parse.cc: mistyping in commentary fixed |
||
|
35b1f54450 |
Added --compact to mysqlbinlog
Fixed output from mysqlbinlog when using --skip-comments Fixed warnings from valgrind Fixed ref_length when used with HEAP tables More efficent need_conversion() Fixed error handling in UPDATE with not updateable tables Fixed bug in null handling in CAST to signed/unsigned client/client_priv.h: cleanup & added OPT_COMPACT client/mysqldump.c: Added option --compact to get a compact readable dump. Ensure that SET CHARACTER_SET_CLIENT is not done if we have not remembered the old character set Print optimization comments even if --skip-comments are given as these are not true comments. (Before these where only printed at end, which was a bug) mysql-test/r/cast.result: More cast tests mysql-test/r/derived.result: Removed warnings mysql-test/r/mysqldump.result: Update results after fixing mysqlbinlog mysql-test/r/query_cache.result: Make test usable with --extern more tests mysql-test/r/rpl_until.result: Make test repeatable under valgrind mysql-test/r/sql_mode.result: Fix test result mysql-test/r/subselect.result: Make test smaller. Update wrong results mysql-test/t/cast.test: More cast tests mysql-test/t/derived.test: Removed warnings mysql-test/t/query_cache.test: Make test usable with --extern more tests mysql-test/t/rpl_until.test: fix for valgrind. Becasue of unknown reason one got 'Slave_SQL_Running=yes' in this setup mysql-test/t/subselect.test: Make test case smaller sql/field.cc: Updated need_conversion() to use new arguments sql/ha_heap.cc: Moved initialization of ref_length to right place. This fixed problem that we had a ref_length of 8 for heap tables, which was not efficent. sql/item_func.cc: Cleanup sql/item_func.h: Fixed bug in null_handling for cast to signed/unsigned sql/item_strfunc.cc: Optimized/cleaned up Item_func_conv_charset3 sql/item_sum.cc: Cleanup. Ensure that some flag variables are cleared in cleanup() sql/item_sum.h: Fixed references to uninitialized memory sql/opt_range.cc: Fixed spelling error sql/sql_class.cc: Fixed wrong return code, which could case protocol problems sql/sql_class.h: After merge fix sql/sql_prepare.cc: Added comments sql/sql_show.cc: Cleanup sql/sql_string.cc: Optimzed usage of need_conversion(). - Removed not used argument - Save diff lenght in 'offset' to not have to recalculate length several times. Cleaned up comment Optimized copy_aligned() based on the knowledge that it's only called when you have wrong data sql/sql_string.h: Updated need_conversion() and copy_aligned() to use new arguments sql/sql_update.cc: Fixed error handling with non-updateable tables sql/sql_yacc.yy: Ensure that lex->lock_options are set correctly (to get rid of warnings from valgrind) Ensure that cast_type sets lex->charset and lex->length. Without these CONVERT() didn't work properly |
||
|
16a810f0cb |
fixed parsing mode for derived tables (BUG#2421)
mysql-test/r/derived.result: test of BUG#2421 mysql-test/t/derived.test: test of BUG#2421 sql/sql_yacc.yy: fixed parsing mode for derived tables |
||
|
1f739ca45e |
make JOIN::prepare, JOIN::optimize only once for EXPLAIN of derived table
(BUG#2120 sfter merge) mysql-test/r/derived.result: correct results of derived tble EXPLAIN test of "Using Index" with derived tables mysql-test/t/derived.test: test of "Using Index" with derived tables sql/mysql_priv.h: way to force derived table save JOIN after execution sql/sql_derived.cc: way to force derived table save JOIN after execution sql/sql_lex.h: way to force derived table save JOIN after execution sql/sql_select.cc: make JOIN::prepare, JOIN::optimize only once for EXPLAIN of derived table |
||
|
68c0a29987 |
now all tables of query are locked in one place (including derived tables)
fixed BUG#2120 and other problem with EXPLAINing derived tables mysql-test/r/derived.result: correct tables names & Co in derived tables test case for BUG#2120 mysql-test/t/derived.test: test case for BUG#2120 sql/mysql_priv.h: derived tables processing moved after open/locking all tables (in open_and_lock_tables) sql/repl_failsafe.cc: correct initialization of TABLE_LIST sql/sql_acl.cc: used simple table opening without derived table processing to avoid unneeded initialization of SELECT_LEX sql/sql_base.cc: derived tables processing moved after open/locking all tables (in open_and_lock_tables) sql/sql_delete.cc: all tables processing is done during opening sql/sql_derived.cc: derived tables processing moved after open/locking all tables (in open_and_lock_tables) to sutisfy "all query tables locking" at the moment sql/sql_insert.cc: all tables processing is done during opening correct initialization of TABLE_LIST sql/sql_lex.cc: now table list will be created for whole query layout fix correct check of updated table in subqueries sql/sql_lex.h: now table list will be created for whole query correct check of updated table in subqueries sql/sql_olap.cc: THIS FUNCTION IS USED NOWHERE it will be good to remove it at all (handle_olaps) sql/sql_parse.cc: derived tables processing moved after open/locking all tables (in open_and_lock_tables) sql/sql_prepare.cc: new creating list parameters all tables processing is done during opening sql/sql_select.cc: all tables processing is done during opening sql/sql_select.h: now it used only within file where is defined sql/sql_udf.cc: used simple table opening without derived table processing to avoid unneeded initialization of SELECT_LEX sql/sql_update.cc: all tables processing is done during opening |
||
|
acf9821b16 |
patch reverted - USE_RAID is defined in my_config.h
mysql-test/r/derived.result: result updated |
||
|
c3cf3d2820 |
Merge
sql/sql_parse.cc: Auto merged sql/sql_update.cc: Auto merged sql/sql_yacc.yy: Auto merged mysql-test/r/derived.result: SCCS merged mysql-test/t/derived.test: e merge |
||
|
cf2b6edaad |
Fix deprecation warning - database_engine => storage_engine
BitKeeper/etc/logging_ok: Logging to logging@openlogging.org accepted |
||
|
d63d204c07 |
new test added
test fixed |
||
|
6eaa5c3a66 |
assigned correct lex->current_select for derived tables (BUG#2349)
moved LIMIT initialialization, because it is need only for single select derived table mysql-test/r/derived.result: test suite for BUG#2349 mysql-test/t/derived.test: test suite for BUG#2349 sql/sql_derived.cc: assigned correct lex->current_select (BUG#2349) moved LIMIT initialialization, because it is need only for single select |
||
|
fbf563e86a |
allow UPDATE and DELETE stetements with tables derived from subquery if they are not updated (BUG#2117)
allow delete table by alias in multi-delete statement include/mysqld_error.h: new error message about non-updateable table mysql-test/r/derived.result: test of multi-update and multi-delete mysql-test/t/derived.test: test of multi-update and multi-delete sql/share/czech/errmsg.txt: new error message about non-updateable table sql/share/danish/errmsg.txt: new error message about non-updateable table sql/share/dutch/errmsg.txt: new error message about non-updateable table sql/share/english/errmsg.txt: new error message about non-updateable table sql/share/estonian/errmsg.txt: new error message about non-updateable table sql/share/french/errmsg.txt: new error message about non-updateable table sql/share/german/errmsg.txt: new error message about non-updateable table sql/share/greek/errmsg.txt: new error message about non-updateable table sql/share/hungarian/errmsg.txt: new error message about non-updateable table sql/share/italian/errmsg.txt: new error message about non-updateable table sql/share/japanese/errmsg.txt: new error message about non-updateable table sql/share/korean/errmsg.txt: new error message about non-updateable table sql/share/norwegian-ny/errmsg.txt: new error message about non-updateable table sql/share/norwegian/errmsg.txt: new error message about non-updateable table sql/share/polish/errmsg.txt: new error message about non-updateable table sql/share/portuguese/errmsg.txt: new error message about non-updateable table sql/share/romanian/errmsg.txt: new error message about non-updateable table sql/share/russian/errmsg.txt: new error message about non-updateable table sql/share/serbian/errmsg.txt: new error message about non-updateable table sql/share/slovak/errmsg.txt: new error message about non-updateable table sql/share/spanish/errmsg.txt: new error message about non-updateable table sql/share/swedish/errmsg.txt: new error message about non-updateable table sql/share/ukrainian/errmsg.txt: new error message about non-updateable table sql/sql_parse.cc: allow delete table by alias separate error message for try to delete derived table sql/sql_update.cc: test "is updated table derived?" sql/sql_yacc.yy: error message in case of try to update derived table |
||
|
95c6226af7 |
Merge abotchkov@bk-internal.mysql.com:/home/bk/mysql-4.1
into deer.(none):/home/hf/work/mysql-4.1.1727 mysql-test/r/derived.result: Auto merged mysql-test/t/derived.test: Auto merged sql/sql_lex.cc: Auto merged |
||
|
e72124c4cc |
CLIENT_MULTI_QUERIES -> CLIENT_MULTI_STATEMENTS
New multi-key-cache handling. This was needed becasue the old one didn't work reliable with MERGE tables. ALTER TABLE table_name ... CHARACTER SET ... now changes all char/varchar/text columns to the given character set (One must use ALTER TABLE ... DEFAULT CHARACTER SET ... to change the default character set) Fixed that have_compress is detected properly (fixes problems with func_compress.test on platforms without zlib) New syntax for CACHE INDEX ('keys' is optional if no index name is given and one mentions the key cache name only ones) Removed compiler warnings Added mysql_set_server_option() to allow clients like PHP to easaily set/reset the multi-statement flag. BUILD/compile-pentium-valgrind-max: Add test of isam client/mysql.cc: CLIENT_MULTI_QUERIES -> CLIENT_MULTI_STATEMENTS include/my_base.h: Remove HA_EXTRA_SET_KEY_CACHE include/my_no_pthread.h: Add defines to ignore rw-locks when running without threads include/my_sys.h: Added function for multi-key-caches include/myisam.h: Added function to handle multi-key-caches include/mysql.h: Added mysql_set_server_option include/mysql_com.h: CLIENT_MULTI_QUERIES -> CLIENT_MULTI_STATEMENTS Added enum_mysql_set_option include/mysqld_error.h: Added error message for unknown key cache innobase/srv/srv0start.c: Removed warning that is confused for MySQL users libmysql/libmysql.c: Added mysql_set_server_option() libmysql/libmysql.def: Added mysql_set_server_option() myisam/ft_nlq_search.c: Removed compiler warning myisam/ft_static.c: Removed compiler warning and fixed wrong return value myisam/mi_check.c: Clean up multi-key-cache usage myisam/mi_checksum.c: Removed not used variable myisam/mi_close.c: keycache -> key_cache myisam/mi_delete_all.c: keycache -> key_cache myisam/mi_extra.c: keycache -> key_cache Removed HA_EXTRA_SET_KEY_CACHE myisam/mi_keycache.c: Changed logic so that it's MyISAM that is responsible for assign tables to different key caches instead of the upper level myisam/mi_locking.c: Don't change key cache on unlock (must be done before) myisam/mi_open.c: Fetch key cache to use from multi_key_cache_search() myisam/mi_page.c: keycache -> key_cache myisam/mi_panic.c: keycache -> key_cache myisam/mi_preload.c: keycache -> key_cache myisam/mi_test1.c: Use KEY_CACHE_BLOCK_SIZE myisam/mi_test2.c: Always test resize_key_cache() myisam/mi_test3.c: Use KEY_CACHE_BLOCK_SIZE instead of 512 myisam/myisamchk.c: update for multiple key caches myisam/myisamdef.h: Remove reg_keycache Add unique_name_length for storing length of unique_file_name myisam/myisamlog.c: Change how end_key_cache() is called mysql-test/mysql-test-run.sh: Fixed web link Added name of failed test to abort row. mysql-test/r/alter_table.result: Testing of ALTER TABLE ... [DEFAULT] CHARACTER SET mysql-test/r/case.result: Update result for DEFAULT CHARSET... mysql-test/r/cast.result: Update result for DEFAULT CHARSET... mysql-test/r/create.result: Update result for DEFAULT CHARSET... mysql-test/r/ctype_collate.result: Update result for DEFAULT CHARSET... mysql-test/r/ctype_latin1_de.result: Update result for DEFAULT CHARSET... mysql-test/r/ctype_many.result: Update result for DEFAULT CHARSET... mysql-test/r/ctype_mb.result: Update result for DEFAULT CHARSET... mysql-test/r/ctype_recoding.result: Update result for DEFAULT CHARSET... mysql-test/r/ctype_ucs.result: Update result for DEFAULT CHARSET... mysql-test/r/derived.result: Use STRAIGHT_JOIN to make join order predictable mysql-test/r/fulltext.result: Update result for DEFAULT CHARSET... mysql-test/r/func_str.result: Update result for DEFAULT CHARSET... mysql-test/r/func_system.result: Update result for DEFAULT CHARSET... mysql-test/r/gis-rtree.result: Update result for DEFAULT CHARSET... mysql-test/r/innodb.result: Update result for DEFAULT CHARSET... mysql-test/r/key_cache.result: Update test for new key cache syntax. Added more tests mysql-test/r/merge.result: Update result for DEFAULT CHARSET... mysql-test/r/preload.result: New syntax mysql-test/r/show_check.result: Update result for DEFAULT CHARSET... mysql-test/r/sql_mode.result: Update result for DEFAULT CHARSET... mysql-test/r/subselect.result: Update result for DEFAULT CHARSET... mysql-test/r/type_blob.result: Update result for DEFAULT CHARSET... mysql-test/r/type_enum.result: Update result for DEFAULT CHARSET... mysql-test/r/type_nchar.result: Update result for DEFAULT CHARSET... mysql-test/r/type_set.result: Update result for DEFAULT CHARSET... mysql-test/r/union.result: Use STRAIGHT_JOIN to make join order predictable mysql-test/t/alter_table.test: Testing of ALTER TABLE ... [DEFAULT] CHARACTER SET mysql-test/t/ctype_many.test: Update result for DEFAULT CHARSET... mysql-test/t/derived.test: Use STRAIGHT_JOIN to make join order predictable mysql-test/t/isam.test: Use disable warnings for test loop mysql-test/t/join.test: Update test now when we only support 61 tables in join mysql-test/t/key_cache.test: Update test for new key cache syntax. Added more tests mysql-test/t/preload.test: Update for new syntax mysql-test/t/union.test: Use STRAIGHT_JOIN to make join order predictable mysys/Makefile.am: Added mf_keycaches.c mysys/hash.c: TRUE -> 1 mysys/mf_keycache.c: Removed compiler warnings Striped end space Fixed indentation and improved function comments TRUE -> 1 Changed parameters to end_key_cache() to make it easer to use Fixed bug when using key blocks size > 1024 bytes (First part of index file could be overwritten with wrong data) Split function flush_key_blocks into two functions to not get mutex used twice when called from flush_all_key_blocks() mysys/my_bitmap.c: More debugging Safe bitmap_free() Fixed indentation mysys/my_getopt.c: Ensure that we initialize option->value, option->max_value and value from GET_ASK_ADDR mysys/my_thr_init.c: Remove not used mutex THR_LOCK_keycache mysys/typelib.c: Fixed function comments sql-common/client.c: CLIENT_MULTI_QUERIES -> CLIENT_MULTI_STATEMENTS Fixed the multi_result flag is set also on SELECT;s sql/ha_myisam.cc: Fixed multiple key_cache handling (Now done on MyISAM level) sql/ha_myisammrg.cc: Fixed multiple key_cache handling (Now done on MyISAM level) sql/handler.cc: New multi key cache handling sql/handler.h: New multi key cache handling Added support for default character set sql/item.h: Added function cleanup() (Needed for prepared statements / cursors) sql/item_cmpfunc.h: Added cleanup function sql/item_func.cc: Indentation cleanup sql/mysql_priv.h: New multi-key-cache functions Removed LOCK_assign sql/mysqld.cc: New multi-key-cache handling Fixed that variable have_compress is set correctly sql/protocol.cc: SELECT didn't work reliable in multi-statements sql/set_var.cc: Support for new key cache variables sql/set_var.h: Support for new key cache variables sql/share/czech/errmsg.txt: New error messages sql/share/danish/errmsg.txt: New error messages sql/share/dutch/errmsg.txt: New error messages sql/share/english/errmsg.txt: New error messages sql/share/estonian/errmsg.txt: New error messages sql/share/french/errmsg.txt: New error messages sql/share/german/errmsg.txt: New error messages sql/share/greek/errmsg.txt: New error messages sql/share/hungarian/errmsg.txt: New error messages sql/share/italian/errmsg.txt: New error messages sql/share/japanese/errmsg.txt: New error messages sql/share/korean/errmsg.txt: New error messages sql/share/norwegian-ny/errmsg.txt: New error messages sql/share/norwegian/errmsg.txt: New error messages sql/share/polish/errmsg.txt: New error messages sql/share/portuguese/errmsg.txt: New error messages sql/share/romanian/errmsg.txt: New error messages sql/share/russian/errmsg.txt: New error messages sql/share/serbian/errmsg.txt: New error messages sql/share/slovak/errmsg.txt: New error messages sql/share/spanish/errmsg.txt: New error messages sql/share/swedish/errmsg.txt: New error messages sql/share/ukrainian/errmsg.txt: New error messages sql/sql_base.cc: Removed all key_cache handling (this is now done on MyISAM level) Change table_charset -> default_table_charset sql/sql_db.cc: table_charset -> default_table_charset sql/sql_delete.cc: table_charset -> default_table_charset sql/sql_lex.cc: CLIENT_MULTI_QUERIES -> CLIENT_MULTI_STATEMENTS sql/sql_lex.h: New option to store a name and length sql/sql_parse.cc: Support for mysql_set_server_option() Reset "default" keycache status variables in 'FLUSH STATUS' (Need to be improved later) sql/sql_show.cc: Add DEFAULT before CHARSET (for table character sets) Fetch key cache variables from 'sql_key_cache' sql/sql_table.cc: table_charset -> default_table_charset New multi-key-cache handling sql/sql_test.cc: Write information from all key caches sql/sql_yacc.yy: Changed syntax for CACHE INDEX ... Force user to use DEFAULT before database/table level character sets sql/structs.h: Added SHOW_KEY_CACHE_LONG (to get values from sql_key_cache) sql/table.cc: table_charset -> default_table_charset sql/table.h: New key cache handling (this is now done in mysys/mf_keycaches.c) sql/unireg.h: A |
||
|
e2661bdbba |
Fix for bug #1727 ( Crash in EXPLAIN & UNION & derived)
another version of the fix. Here i removed a loop that seems to be superfluous mysql-test/r/derived.result: appropriate test result added mysql-test/t/derived.test: test case for the bug 1727 sql/sql_lex.cc: we don't need loop here |
||
|
d6aacb9e22 |
amall fix
mysql-test/r/derived.result: fixed results after merge mysql-test/r/func_in.result: small fix to amke all names uniform mysql-test/r/func_math.result: forgot to change sql/item.cc: fix sql/item_create.cc: small fix to amke all names uniform |
||
|
be4e254b13 |
correct table name assigned to temporary table field:
- correct table name shown in EXPLAIN Iindex reference) - pointer on freed memmory (reallocation of table name in reusing table entry) can't be used in EXPLAIN (BUG#1584) mysql-test/r/derived.result: test moved to derived table tests added test of BUG#1584 mysql-test/r/subselect.result: test moved to derived table tests mysql-test/t/derived.test: test moved to derived table tests added test of BUG#1584 mysql-test/t/subselect.test: test moved to derived table tests sql/item.cc: layout fix sql/sql_select.cc: correct table name assigned to temporary table field |
||
|
ff518b9893 |
prohibited using derived tables in UPDATE command (BUG#1477)
fixed incorrect table name in test mysql-test/r/derived.result: fixed incorrect table name in test new test of derived table mysql-test/t/derived.test: fixed incorrect table name in test new test of derived table sql/sql_yacc.yy: prohibited using derived tables in UPDATE command |
||
|
67dafb0117 |
Fix for a bug #1231
Parse error caused global ORDER BY to be initialized although it should not have been. |
||
|
6f607d3aa6 | Fix for bug 1176 | ||
|
45b145a96e |
fixed problem with reference on derived table fields (BUG#1031)
mysql-test/r/derived.result: test of BUG#1031 mysql-test/t/derived.test: test of BUG#1031 sql/item_sum.cc: 'alias' parameter added to create_tmp_table sql/sql_derived.cc: Derived table should be named (to pass it name to Field and then to Item_field) sql/sql_select.cc: 'alias' parameter added to create_tmp_table sql/sql_select.h: 'alias' parameter added to create_tmp_table sql/sql_union.cc: 'alias' parameter added to create_tmp_table sql/sql_update.cc: 'alias' parameter added to create_tmp_table |
||
|
f3f6e5e9b2 | test for BUG#969 |