An error occurred fetching the project authors.
- 21 Dec, 2009 1 commit
-
-
Igor Babaev authored
WL#2771 "Block Nested Loop Join and Batched Key Access Join"
-
- 15 Dec, 2009 1 commit
-
-
Sergey Petrunya authored
WL#2474 "Multi Range Read: Change the default MRR implementation to implement new MRR interface" WL#2475 "Batched range read functions for MyISAM/InnoDb" "Index condition pushdown for MyISAM/InnoDB" Igor's fix from sp1r-igor@olga.mysql.com-20080330055902-07614: There could be observed the following problems: 1. EXPLAIN did not mention pushdown conditions from on expressions in the 'extra' column. As a result if a query had no where conditions pushed down to a table, but had on conditions pushed to this table the 'extra' column in the EXPLAIN for the table missed 'using where'. 2. Conditions for ref access were not eliminated from on expressions though such conditions were eliminated from the where condition.
-
- 12 Jul, 2007 1 commit
-
-
unknown authored
A bug in the restore_prev_nj_state function allowed interleaving inner tables of outer join operations with outer tables. With the current implementation of the nested loops algorithm it could lead to wrong result sets for queries with nested outer joins. Another bug in this procedure effectively blocked evaluation of some valid execution plans for queries with nested outer joins. mysql-test/r/join_nested.result: Added a test case for bug #29604. mysql-test/t/join_nested.test: Added a test case for bug #29604.
-
- 29 May, 2007 1 commit
-
-
unknown authored
- 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.
-
- 04 May, 2007 1 commit
-
-
unknown authored
- 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.
-
- 31 Jan, 2007 1 commit
-
-
unknown authored
Two problems here: Problem 1: While constructing the join columns list the optimizer does as follows: 1. Sets the join_using_fields/natural_join members of the right JOIN operand. 2. Makes a "table reference" (TABLE_LIST) to parent the two tables. 3. Assigns the join_using_fields/is_natural_join of the wrapper table using join_using_fields/natural_join of the rightmost table 4. Sets join_using_fields to NULL for the right JOIN operand. 5. Passes the parent table up to the same procedure on the upper level. Step 1 overrides the the join_using_fields that are set for a nested join wrapping table in step 4. Fixed by making a designated variable SELECT_LEX::prev_join_using to pass the data from step 1 to step 4 without destroying the wrapping table data. Problem 2: The optimizer checks for ambiguous columns while transforming NATURAL JOIN/JOIN USING to JOIN ON. While doing that there was no distinction between columns that are used in the generated join condition (where ambiguity can be checked) and the other columns (where ambiguity can be checked only when resolving references coming from outside the JOIN construct itself). Fixed by allowing the non-USING columns to be present in multiple copies in both sides of the join and moving the ambiguity check to the place where unqualified references to the join columns are resolved (find_field_in_natural_join()). mysql-test/r/join_nested.result: BUG#25575: ERROR 1052 (Column in from clause is ambiguous) with sub-join - test case mysql-test/t/join_nested.test: BUG#25575: ERROR 1052 (Column in from clause is ambiguous) with sub-join - test case sql/mysql_priv.h: BUG#25575: ERROR 1052 (Column in from clause is ambiguous) with sub-join - use SELECT_LEX to store the ref to JOIN USING list needed by the parser sql/sql_base.cc: BUG#25575: ERROR 1052 (Column in from clause is ambiguous) with sub-join - proper check for duplicate cols - more detailed debug output sql/sql_lex.h: BUG#25575: ERROR 1052 (Column in from clause is ambiguous) with sub-join - use SELECT_LEX to store the ref to JOIN USING list needed by the parser sql/sql_parse.cc: BUG#25575: ERROR 1052 (Column in from clause is ambiguous) with sub-join - proper check for duplicate cols in JOIN USING sql/sql_yacc.yy: BUG#25575: ERROR 1052 (Column in from clause is ambiguous) with sub-join - use SELECT_LEX to store the ref to JOIN USING list needed by the parser sql/table.cc: BUG#25575: ERROR 1052 (Column in from clause is ambiguous) with sub-join - return null if no table ref (as in nested join columns).
-
- 03 Jan, 2007 1 commit
-
-
unknown authored
This bug appeared after the patch for bug 21390 that had added some code to handle outer joins with no matches after substitution of a const table in an efficient way. That code as it is cannot be applied to the case of nested outer join operations. Being applied to the queries with nested outer joins the code can cause crashes or wrong result sets. The fix blocks row substitution for const inner tables of an outer join if the inner operand is not a single table. mysql-test/r/join_nested.result: Added a test case for bug #24345. mysql-test/t/join_nested.test: Added a test case for bug #24345.
-
- 28 Jul, 2006 1 commit
-
-
unknown authored
- Make the range-et-al optimizer produce E(#table records after table condition is applied), - Make the join optimizer use this value, - Add "filtered" column to EXPLAIN EXTENDED to show fraction of records left after table condition is applied - Adjust test results, add comments mysql-test/r/archive_gis.result: BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column mysql-test/r/auto_increment.result: BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column mysql-test/r/bdb_gis.result: BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column mysql-test/r/bench_count_distinct.result: BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column mysql-test/r/binlog_stm_blackhole.result: BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column mysql-test/r/case.result: BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column mysql-test/r/cast.result: BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column mysql-test/r/compress.result: BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column mysql-test/r/ctype_collate.result: BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column mysql-test/r/ctype_cp1250_ch.result: BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column mysql-test/r/date_formats.result: BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column mysql-test/r/distinct.result: BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column mysql-test/r/fulltext.result: BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column mysql-test/r/func_compress.result: BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column mysql-test/r/func_crypt.result: BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column mysql-test/r/func_default.result: BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column mysql-test/r/func_encrypt.result: BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column mysql-test/r/func_gconcat.result: BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column mysql-test/r/func_group.result: BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column mysql-test/r/func_if.result: BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column mysql-test/r/func_in.result: BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column mysql-test/r/func_like.result: BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column mysql-test/r/func_math.result: BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column mysql-test/r/func_op.result: BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column mysql-test/r/func_regexp.result: BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column mysql-test/r/func_set.result: BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column mysql-test/r/func_str.result: BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column mysql-test/r/func_system.result: BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column mysql-test/r/func_test.result: BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column mysql-test/r/func_time.result: BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column mysql-test/r/gis.result: BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column mysql-test/r/group_by.result: BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column mysql-test/r/group_min_max.result: BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column mysql-test/r/having.result: BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column mysql-test/r/heap.result: BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column mysql-test/r/heap_hash.result: BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column mysql-test/r/index_merge.result: BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column mysql-test/r/index_merge_innodb.result: BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column mysql-test/r/index_merge_ror.result: BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column mysql-test/r/innodb_gis.result: BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column mysql-test/r/insert_update.result: BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column mysql-test/r/join.result: BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column mysql-test/r/join_nested.result: BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column mysql-test/r/key_diff.result: BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column mysql-test/r/myisam.result: BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column mysql-test/r/ndb_gis.result: BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column mysql-test/r/negation_elimination.result: BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column mysql-test/r/null.result: BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column mysql-test/r/olap.result: BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column mysql-test/r/partition_pruning.result: BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column mysql-test/r/query_cache.result: BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column mysql-test/r/row.result: BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column mysql-test/r/rpl_get_lock.result: BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column mysql-test/r/rpl_master_pos_wait.result: BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column mysql-test/r/select.result: BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column mysql-test/r/ssl.result: BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column mysql-test/r/ssl_compress.result: BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column mysql-test/r/subselect.result: BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column mysql-test/r/type_blob.result: BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column mysql-test/r/union.result: BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column mysql-test/r/varbinary.result: BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column mysql-test/r/variables.result: BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column mysql-test/r/view.result: BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column mysql-test/t/ctype_cp1250_ch.test: BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column mysql-test/t/func_like.test: BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column mysql-test/t/group_min_max.test: BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column mysql-test/t/index_merge_ror.test: BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column mysql-test/t/index_merge_ror_cpk.test: BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column mysql-test/t/join.test: BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column mysql-test/t/partition_pruning.test: BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column sql/opt_range.cc: BUG#14940: Make range/index_merge/group-min-max optimizer produce TABLE::quick_condition_rows - estimate of #records that will match the table condition. sql/sql_class.cc: BUG#14940: Add "filtered" column to output of EXPLAIN EXTENDED sql/sql_select.cc: BUG#14940: - Make the join optimizer to use TABLE::quick_condition_rows= = E(#table records after filtering with table condition) - Add "filtered" column to output of EXPLAIN EXTENDED sql/sql_select.h: BUG#14940: Added comments sql/table.h: BUG#14940: Added comments
-
- 30 Mar, 2006 1 commit
-
-
unknown authored
out of a nested join to the on conditions for the nest. The bug happened due to: 1. The function simplify_joins could change on expressions for nested joins. Yet modified on expressions were not saved in prep_on_expr. 2. On expressions were not restored for nested joins in reinit_stmt_before_use. mysql-test/r/join_nested.result: Added a test case for bug #18279. mysql-test/t/join_nested.test: Added a test case for bug #18279. sql/sql_prepare.cc: Fixed bug #18279. On expressions were not restored for nested joins in reinit_stmt_before_use. sql/sql_select.cc: Fixed bug #18279. The function simplify_joins could change on expressions for nested joins. Yet modified on expressions were not saved in prep_on_expr.
-
- 28 Jan, 2006 1 commit
-
-
unknown authored
The problem has manifested itself in the cases when we have a nested outer join for which it can be inferred that one of the inner tables is a single row table. mysql-test/r/join_nested.result: Added a test case for bug #16260. mysql-test/t/join_nested.test: Added a test case for bug #16260. sql/sql_select.cc: Fixed bug #16260. The problem has manifested itself in the cases when we have a nested outer join for which it can be inferred that one of the inner tables is a single row table. A table is never considered as a const table if it is used in a nested join that serves as an inner operand of an outer join.
-
- 13 Jan, 2006 1 commit
-
-
unknown authored
'ref' accesses to all tables that are direct children of the nested join and are not inner wrt their siblings. mysql-test/r/join_nested.result: Testcase for BUG#16393 mysql-test/t/join_nested.test: Testcase for BUG#16393
-
- 24 Nov, 2005 2 commits
- 25 Oct, 2005 1 commit
-
-
unknown authored
orders that cannot be handled by the executioner. mysql-test/r/bigint.result: Added mssing "drop table if exists" mysql-test/r/join_nested.result: Testcase for BUG#13126 mysql-test/t/bigint.test: Added mssing "drop table if exists" mysql-test/t/join_nested.test: Testcase for BUG#13126 sql/mysql_priv.h: BUG#13126: Added nested_join_map type. sql/sql_prepare.cc: BUG#13126: Don't set NESTED_JOIN::counter to 0 here as it is reset in other place now. sql/sql_select.cc: BUG#13126: When choosing join order for join with nested joins, don't produce join orders that the executioner cannot handle. The work is done by check_interleaving_with_nj() and restore_prev_nj_state() functions that are used from the join optimizer to avoid building invalid join orders. sql/sql_select.h: BUG#13126: Added JOIN_TAB::embedding_map and JOIN::cur_embedding_map. sql/table.h: BUG#13126: In NESTED_JOIN: added nj_map, added comment about where counter is used.
-
- 29 Sep, 2005 1 commit
-
-
unknown authored
sql/sql_base.cc: fix for bug #13545: Server crash caused by select query. - compare table qualifier only with tables which are not nested joins. - perform recursion accordingly. - DBUG_ASSERT(table_list->table); added before the find_field_in_table() call.
-
- 23 Aug, 2005 1 commit
-
-
unknown authored
* Provide backwards compatibility extension to name resolution of coalesced columns. The patch allows such columns to be qualified with a table (and db) name, as it is in 4.1. Based on a patch from Monty. * Adjusted tests accordingly to test both backwards compatible name resolution of qualified columns, and ANSI-style resolution of non-qualified columns. For this, each affected test has two versions - one with qualified columns, and one without. mysql-test/include/ps_query.inc: Put back old tests to test that coalesced columns of natural joins can be qualified. mysql-test/r/bdb.result: Put back old tests to test that coalesced columns of natural joins can be qualified. mysql-test/r/innodb.result: Put back old tests to test that coalesced columns of natural joins can be qualified. mysql-test/r/join.result: Put back old tests to test that coalesced columns of natural joins can be qualified. mysql-test/r/join_nested.result: Put back old tests to test that coalesced columns of natural joins can be qualified. mysql-test/r/join_outer.result: Put back old tests to test that coalesced columns of natural joins can be qualified. mysql-test/r/null_key.result: Put back old tests to test that coalesced columns of natural joins can be qualified. mysql-test/r/order_by.result: Put back old tests to test that coalesced columns of natural joins can be qualified. mysql-test/r/ps_2myisam.result: Put back old tests to test that coalesced columns of natural joins can be qualified. mysql-test/r/ps_3innodb.result: Put back old tests to test that coalesced columns of natural joins can be qualified. mysql-test/r/ps_4heap.result: Put back old tests to test that coalesced columns of natural joins can be qualified. mysql-test/r/ps_5merge.result: Put back old tests to test that coalesced columns of natural joins can be qualified. mysql-test/r/ps_6bdb.result: Put back old tests to test that coalesced columns of natural joins can be qualified. mysql-test/r/ps_7ndb.result: Put back old tests to test that coalesced columns of natural joins can be qualified. mysql-test/r/select.result: Put back old tests to test that coalesced columns of natural joins can be qualified. mysql-test/r/subselect.result: Put back old tests to test that coalesced columns of natural joins can be qualified. mysql-test/r/type_ranges.result: Put back old tests to test that coalesced columns of natural joins can be qualified. mysql-test/t/bdb.test: Put back old tests to test that coalesced columns of natural joins can be qualified. mysql-test/t/innodb.test: Put back old tests to test that coalesced columns of natural joins can be qualified. mysql-test/t/join.test: Put back old tests to test that coalesced columns of natural joins can be qualified. mysql-test/t/join_nested.test: Put back old tests to test that coalesced columns of natural joins can be qualified. mysql-test/t/join_outer.test: Put back old tests to test that coalesced columns of natural joins can be qualified. mysql-test/t/null_key.test: Put back old tests to test that coalesced columns of natural joins can be qualified. mysql-test/t/order_by.test: Put back old tests to test that coalesced columns of natural joins can be qualified. mysql-test/t/select.test: Put back old tests to test that coalesced columns of natural joins can be qualified. mysql-test/t/subselect.test: Put back old tests to test that coalesced columns of natural joins can be qualified. mysql-test/t/type_ranges.test: Put back old tests to test that coalesced columns of natural joins can be qualified. sql/sql_base.cc: * Applied Monty's patch for backwards compatible name resolution of qualified columns. The idea is: - When a column is qualified, search for the column in all tables/views underlying each natural join. In this case natural joins are *not* considered leaves. - If a column is not qualified, then consider natural joins as leaves, thus directly search the result columns of natural joins. * Simplified 'find_field_in_tables()' - unified two similar loops into one. sql/table.cc: - Removed method & members not needed after Monty's patch. sql/table.h: - Removed method & members not needed after Monty's patch. tests/mysql_client_test.c: Put back old tests to test that coalesced columns of natural joins can be qualified.
-
- 12 Aug, 2005 1 commit
-
-
unknown authored
"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.
-
- 05 Aug, 2005 1 commit
-
-
unknown authored
Fixed bug #12154: a query returned: Column <name> cannot be null. The problem was due to a bug in the function setup_table_map: the flag maybe_null was set up incorrectly for inner tables of nested outer joins. join_nested.result, join_nested.test: Added a test case for bug #12154. mysql-test/t/join_nested.test: Added a test case for bug #12154. mysql-test/r/join_nested.result: Added a test case for bug #12154. sql/mysql_priv.h: Fixed bug #12154: a query returned: Column <name> cannot be null. The problem was due to a bug in the function setup_table_map: the flag maybe_null was set up incorrectly for inner tables of nested outer joins.
-
- 15 Jun, 2005 1 commit
-
-
unknown authored
Added a teast case for bug #11284. sql_select.cc: Fixed bug #11284. Optimization with empty inner table currently cannot be used in the case of nested outer join. sql/sql_select.cc: Fixed bug #11284. Optimization with empty inner table currently cannot be used in the case of nested outer join. mysql-test/t/join_nested.test: Added a teast case for bug #11284.
-
- 03 Nov, 2004 1 commit
-
-
unknown authored
FOUND is not a reserved keyword anymore Added Item_field::set_no_const_sub() to be able to mark fields that can't be substituted Added 'simple_select' method to be able to quickly determinate if a select_result is a normal SELECT Note that the 5.0 tree is not yet up to date: Sanja will have to fix multi-update-locks for this merge to be complete BUILD/SETUP.sh: Portability fix client/mysqltest.c: Portability fix mysql-test/r/drop.result: updated results mysql-test/r/func_str.result: New warnings (after merge) mysql-test/r/insert.result: Updated tests mysql-test/r/join_nested.result: Updated results (because of new column types in 5.0) mysql-test/r/lock_multi.result: Temporarly wrong results until Sanja fixes multi-update-lock in 5.0 mysql-test/r/multi_update.result: Temporary fix until Sanja fixes multi-update locking mysql-test/r/ps_1general.result: Update of results after merge mysql-test/r/ps_2myisam.result: Update of results after merge mysql-test/r/ps_3innodb.result: Update of results after merge mysql-test/r/ps_4heap.result: Update of results after merge mysql-test/r/ps_5merge.result: Update of results after merge mysql-test/r/ps_6bdb.result: Update of results after merge mysql-test/r/query_cache.result: Update of results after merge mysql-test/r/range.result: New results for new tests mysql-test/r/rpl_auto_increment.result: Update with new 4.0 information mysql-test/r/rpl_charset.result: After merge fixes mysql-test/r/subselect.result: After merge fixes mysql-test/r/view.result: Temporary fix until multi-update-locking is fixed mysql-test/t/drop.test: Safety fix mysql-test/t/multi_update.test: Temporary fix until multi-update-locking is fixed mysql-test/t/rpl_charset.test: More comments mysql-test/t/sp-error.test: Updated comments mysql-test/t/view.test: Temporary fix until multi-update-locking is fixed scripts/mysql_fix_privilege_tables.sh: Better error message sql-common/client.c: More debugging sql/ha_ndbcluster.cc: After merge fixes sql/handler.cc: After merge fixes sql/item.cc: Simple optimization of creating item After merge fixed Added Item_field::set_no_const_sub() to be able to mark fields that can't be substituted The problem is that if you compare a string field to a binary string, you can't replace the field with a string constant as the binary comparison may then fail (The original field value may be in a different case) sql/item.h: Added Item::set_no_const_sub() to be able to mark fields that can't be substituted sql/item_cmpfunc.cc: Mark fields compared as binary to not be substituted. sql/item_func.cc: After merge fix sql/log_event.cc: After merge fix sql/mysql_priv.h: After merge fix sql/opt_range.cc: After merge fix sql/protocol.cc: Made flags uint instead of int (as it's used as a bit mask) sql/protocol.h: Made flags uint instead of int (as it's used as a bit mask) sql/protocol_cursor.cc: Made flags uint instead of int (as it's used as a bit mask) Indentation cleanups sql/sp.cc: After merge fixes Removed compiler warnings sql/sp_head.cc: After merge fixes sql/sql_base.cc: After merge fixes Removed 'send_error' from 'insert_fields()' as the error is sent higher up sql/sql_class.cc: Give assert if set_n_backup_item_arena is used twice sql/sql_class.h: Give assert if set_n_backup_item_arena is used twice After merge fixes Added 'simple_select' method to be able to quickly determinate if a select_result is a normal SELECT sql/sql_handler.cc: After merge fixes sql/sql_parse.cc: After merge fixes sql/sql_prepare.cc: After merge fixes sql/sql_select.cc: After merge fixes Moved 'build_equal_items' to optimize_cond() (logical place) sql/sql_table.cc: After merge fixes sql/sql_trigger.cc: After merge fixes sql/sql_update.cc: After merge fixes (This should be fixed by Sanja to have lower granuality locking of tables in multi-update) sql/sql_view.cc: After merge fixes sql/sql_yacc.yy: After merge fixes Don't have FOUND as a reserved keyword
-
- 19 Oct, 2004 1 commit
-
-
unknown authored
Added the code processing on expressions for applying multiple equalities. sql_select.cc: Post-merge fixes for Item_equal patch. Added the code processing on expressions for applying multiple equalities. Many files: Post-merge fixes for Item_equal patch. item_cmpfunc.cc: Post-merge fixes for Item_equal patch. Fixed a problem when an equality field=const cannot be applied to the predicate P(field,c) for constant propagation as a conversion of field is needed. item.h, item.cc: Fixed a problem when an equality field=const cannot be applied to the predicate P(field,c) for constant propagation as a conversion of field is needed. mysql-test/r/func_test.result: Post-merge fixes for Item_equal patch. mysql-test/r/index_merge.result: Post-merge fixes for Item_equal patch. mysql-test/r/join_nested.result: Post-merge fixes for Item_equal patch. mysql-test/r/range.result: Post-merge fixes for Item_equal patch. sql/item.cc: Fixed a problem when an equality field=const cannot be applied to the predicate P(field,c) for constant propagation as a conversion of field is needed. sql/item.h: Fixed a problem when an equality field=const cannot be applied to the predicate P(field,c) for constant propagation as a conversion of field is needed. sql/item_cmpfunc.cc: Post-merge fixes for Item_equal patch. Fixed a problem when an equality field=const cannot be applied to the predicate P(field,c) for constant propagation as a conversion of field is needed. sql/opt_range.cc: Post-merge fixes for Item_equal patch. sql/sql_select.cc: Post-merge fixes for Item_equal patch. Added the code processing on expressions for applying multiple equalities. sql/sql_select.h: Added the code processing on expressions for applying multiple equalities. sql/table.h: Added the code processing on expressions for applying multiple equalities.
-
- 13 Aug, 2004 1 commit
-
-
unknown authored
Added a case for bug #4976 when one of the inner tables is empty. select.result, join.result: Reversed the previous change of the erronious fix for bug #4976. sql_select.cc: The previous fix for bug 4976 was reversed as it erroniously converted an outer join into an innner join when on_expression does not refer to outer tables. This is not valid if inner tables return an empty set. Setting dependency on outer tables was added for the above cases. To fix the crash in the test case of bug #4976 a guard was added that blocks running the crashing code for nested outer joins. sql/sql_select.cc: The previous fix for bug 4976 was reversed as it erroniously converted an outer join into an innner join when on_expression does not refer to outer tables. This is not valid if inner tables return an empty set. Setting dependency on outer tables was added. The crash of the test case for bug #4976 was fixed adding a guard that blocks running the code for nested outer joins. mysql-test/r/join.result: Reversed the previous change of the erronious fix for bug #4976. mysql-test/r/select.result: Reversed the previous change of the erronious fix for bug #4976. mysql-test/r/join_nested.result: Added a case for bug #4976 when one of the inner tables is empty. mysql-test/t/join_nested.test: Added a case for bug #4976 when one of the inner tables is empty.
-
- 11 Aug, 2004 1 commit
-
-
unknown authored
Fixed bug #4976. join_nested.result, join_nested.test: Added a test case for bug #4976. sql_select.cc: Applied conversion from an outer join to an inner join when the on expression does not depend on the outer table. It fixed bug #4976. sql/sql_select.cc: Applied conversion from an outer join to an inner join when the on expression does not depend on the outer table. It fixed bug #4976. mysql-test/t/join_nested.test: Added a case test for bug #4976. mysql-test/r/join_nested.result: Added a case test for bug #4976. mysql-test/r/select.result: Fixed bug #4976. mysql-test/r/join.result: Fixed bug #4976.
-
- 06 Aug, 2004 1 commit
-
-
unknown authored
Added a test case for bug #4922. sql_select.cc: Blocked an optimization performed by join_read_const_table when applied to an inner table of a nested outer join. It was done to fix bug #4922. sql_yacc.yy: Fixed a typo bug in the rule for join_table. sql/sql_yacc.yy: Fixed a typo bug in the rule for join_table. sql/sql_select.cc: Blocked an optimization performed by join_read_const_table when applied to an inner table of a nested outer join. It was done to fix bug #4922. mysql-test/t/join_nested.test: Added a test case for bug #4922. mysql-test/r/join_nested.result: Added a test case for bug #4922.
-
- 20 Jul, 2004 1 commit
-
-
unknown authored
mysql-test/r/bench_count_distinct.result: Quoting of fields and tables names mysql-test/r/case.result: Quoting of fields and tables names mysql-test/r/fulltext.result: Quoting of fields and tables names mysql-test/r/func_default.result: Quoting of fields and tables names mysql-test/r/func_gconcat.result: Quoting of fields and tables names mysql-test/r/func_group.result: Quoting of fields and tables names mysql-test/r/func_if.result: Quoting of fields and tables names mysql-test/r/func_in.result: Quoting of fields and tables names mysql-test/r/func_regexp.result: Quoting of fields and tables names mysql-test/r/func_test.result: Quoting of fields and tables names mysql-test/r/gis.result: Quoting of fields and tables names mysql-test/r/group_by.result: Quoting of fields and tables names mysql-test/r/having.result: Quoting of fields and tables names mysql-test/r/insert_update.result: Quoting of fields and tables names mysql-test/r/join_nested.result: Quoting of fields and tables names mysql-test/r/olap.result: Quoting of fields and tables names mysql-test/r/query_cache.result: Quoting of fields and tables names mysql-test/r/select.result: Quoting of fields and tables names mysql-test/r/subselect.result: Quoting of fields and tables names mysql-test/r/union.result: Quoting of fields and tables names mysql-test/r/varbinary.result: Quoting of fields and tables names mysql-test/r/view.result: Quoting of fields and tables names test of view with quated fields mysql-test/t/view.test: test of view with quated fields sql/item.cc: Quoting of fields and tables names sql/item.h: Quoting of fields and tables names sql/sql_select.cc: Quoting of fields and tables names sql/sql_view.cc: mark subquery in the FROM clause like derived
-
- 02 Jul, 2004 1 commit
-
-
unknown authored
mysql-test/r/join_nested.result: right join test mysql-test/t/join_nested.test: right join test
-
- 01 Jul, 2004 1 commit
-
-
unknown authored
spaces at line end in fresh definitions removed fixed printing of nested joins (BUG#4352) mysql-test/r/join_nested.result: fixed join_nested test independence of environment print of nested join test added mysql-test/t/join_nested.test: fixed join_nested test independence of environment print of nested join test added sql/sql_lex.h: space at line end in fresh definition removed sql/sql_select.cc: fixed printing of nested joins sql/table.h: spaces at line end in fresh definitions removed method for table printing
-
- 30 Jun, 2004 1 commit
-
-
unknown authored
Post-merge fixes for nested joins. The join_tab_cmp function in sql_select has been changed. join_nested.result: Post-merge fixes for nested joins. The join_tab_cmp function in sql_select has been changed sql_select.cc: Post-merge fixes for nested joins. Avoided re-execution of eliminate_not_funcs and simplify_joins in optimize_cond. Changed the join_tab_cmp function to take into account the dependent relation. sql_lex.cc, sql_lex.h: Added the first_cond_optimization flag to st_select_lex to avoid re-execution of some optimizations in optimize_cond. sql_base.cc: Post-merge fixes for nested joins. Fixed problems with a proper column list substituted for '*' in queries with natural joins. sql/sql_base.cc: Post-merge fixes for nested joins. Fixed problems with a proper column list substituted for '*' in queries with natural joins. sql/sql_lex.h: Added the first_cond_optimization flag to st_select_lex to avoid re-execution of some optimizations in optimize_cond. sql/sql_lex.cc: Added the first_cond_optimization flag to st_select_lex to avoid re-execution of some optimizations in optimize_cond. sql/sql_select.cc: Post-merge fixes for nested joins. Avoided re-execution of eliminate_not_funcs and simplify_joins in optimize_cond. Changed the join_tab_cmp function to take into account the dependent relation. mysql-test/r/join_nested.result: Post-merge fixes for nested joins. The join_tab_cmp function in sql_select has been changed mysql-test/r/select.result: Post-merge fixes for nested joins. The join_tab_cmp function in sql_select has been changed. mysql-test/r/subselect2.result: Post-merge fixes for nested joins. The join_tab_cmp function in sql_select has been changed.
-
- 11 Jun, 2004 1 commit
-
-
unknown authored
new file Many files: Nested joins added. sql/item_cmpfunc.h: Nested joins added. sql/item_func.h: Nested joins added. sql/sql_base.cc: Nested joins added. sql/sql_lex.cc: Nested joins added. sql/sql_lex.h: Nested joins added. sql/sql_parse.cc: Nested joins added. sql/sql_select.cc: Nested joins added. sql/sql_select.h: Nested joins added. sql/sql_yacc.yy: Nested joins added. sql/table.h: Nested joins added. mysql-test/r/join_outer.result: Nested joins added. mysql-test/r/select.result: Nested joins added.
-