1
0
mirror of https://github.com/MariaDB/server.git synced 2025-07-24 19:42:23 +03:00
Commit Graph

298 Commits

Author SHA1 Message Date
33446269e1 Fixed bug #24670: optimizations that are legal only for subqueries without tables
and no WHERE condition were applied for any subquery without tables.



mysql-test/r/subselect.result:
  Added a test case for bug #24670.
mysql-test/t/subselect.test:
  Added a test case for bug #24670.
sql/item_subselect.cc:
  Fixed bug #24670: optimizations that are legal only for subqueries without tables
  and no WHERE condition were applied for any subquery without tables.
  
  Removed an assertion that caused an abort for subqueries without tables and no 
  WHERE condition. 
  Blocked substitution of a single-row subquery without tables for the constant 
  row from its select list when the subquery contained a WHERE condition.
  This optimization is valid only for subquries without tables with no conditions.
  Any subquery without tables with WHERE clause returns NULL if the WHERE condition
  is FALSE. Erroneously it was always considered as non-nullable that could trigger 
  another optimization concerning IS NULL predicates which is applicable only for 
  non-nullable expressions and ultimately led to a wrong result returned by the outer
  query.
  Added a proper implementation of the virtual method may_be_null for class 
  subselect_single_select_engine.
sql/item_subselect.h:
  Fixed bug #24670: optimizations that are legal only for subqueries without tables
  and no WHERE condition were applied for any subquery without tables.
  Made method may_by_null for class subselect_engine vvirtual.
2006-12-11 18:57:23 -08:00
17c238a15b Merge bk@192.168.21.1:mysql-4.1
into  mysql.com:/home/hf/work/mysql-4.1-mrg


include/mysql.h:
  Auto merged
mysql-test/r/subselect.result:
  Auto merged
mysql-test/t/rename.test:
  Auto merged
mysql-test/t/subselect.test:
  Auto merged
sql-common/client.c:
  Auto merged
sql/sql_class.h:
  Auto merged
Makefile.am:
  merging
client/mysqltest.c:
  merging
mysql-test/t/mysql_client.test:
  merging
2006-11-16 20:44:37 +04:00
5af4fd2563 Bug #11032: getObject() returns a String for a sub-query of type datetime
- When returning metadata for scalar subqueries the actual type of the
   column was calculated based on the value type, which limits the actual
   type of a scalar subselect to the set of (currently) 3 basic types : 
   integer, double precision or string. This is the reason that columns
   of types other then the basic ones (e.g. date/time) are reported as
   being of the corresponding basic type.
   Fixed by storing/returning information for the column type in addition
   to the result type.


mysql-test/r/subselect.result:
  Bug #11032: getObject() returns a String for a sub-query of type datetime
   - test case
mysql-test/t/subselect.test:
  Bug #11032: getObject() returns a String for a sub-query of type datetime
   - test case
sql/item_subselect.cc:
  Bug #11032: getObject() returns a String for a sub-query of type datetime
   - store and return the field type as well in addition to result type for 
     single row subqueries
sql/item_subselect.h:
  Bug #11032: getObject() returns a String for a sub-query of type datetime
   - store and return the field type as well in addition to result type for 
     single row subqueries
2006-11-07 18:16:17 +02:00
d649efbb07 Fixed bug #23478.
If elements a not top-level IN subquery were accessed by an index and 
the subquery result set included  a NULL value then the quantified
predicate that contained the subquery was evaluated to NULL when 
it should return a non-null value.


mysql-test/r/subselect.result:
  Added a test case for bug #23478.
mysql-test/t/subselect.test:
  Added a test case for bug #23478.
2006-10-19 23:05:53 -07:00
b66640ffbb Merge neptunus.(none):/home/msvensson/mysql/same_tools/my41-same_tools
into  neptunus.(none):/home/msvensson/mysql/mysql-4.1-maint


mysql-test/r/subselect.result:
  Auto merged
mysql-test/t/ps.test:
  Auto merged
mysql-test/t/subselect.test:
  Auto merged
2006-10-06 13:18:52 +02:00
9368c7bcd8 Update mysqltest to latest version
- ie. backport from 5.1
 - also update testcase error dected by new version


mysql-test/include/show_msg.inc:
  BitKeeper file /home/msvensson/mysql/same_tools/my41-same_tools/mysql-test/include/show_msg.inc
mysql-test/include/show_msg80.inc:
  BitKeeper file /home/msvensson/mysql/same_tools/my41-same_tools/mysql-test/include/show_msg80.inc
BitKeeper/deleted/.del-rpl_chain_temp_table.test:
  Delete: mysql-test/t/rpl_chain_temp_table.test
BitKeeper/deleted/.del-rpl_chain_temp_table.result:
  Delete: mysql-test/r/rpl_chain_temp_table.result
BitKeeper/deleted/.del-rpl_failsafe.result:
  Delete: mysql-test/r/rpl_failsafe.result
BitKeeper/deleted/.del-rpl_failsafe.test:
  Delete: mysql-test/t/rpl_failsafe.test
BitKeeper/deleted/.del-rpl_heap.test:
  Delete: mysql-test/t/rpl_heap.test
BitKeeper/deleted/.del-rpl_heap.result:
  Delete: mysql-test/r/rpl_heap.result
BitKeeper/deleted/.del-rpl000018.result:
  Delete: mysql-test/r/rpl000018.result
BitKeeper/deleted/.del-rpl000018.test:
  Delete: mysql-test/t/rpl000018.test
client/Makefile.am:
  Link mysqltest with mysys/my_copy.c
client/mysqltest.c:
  Update mysqltest to latest version
mysql-test/include/have_multi_ndb.inc:
  Remove old syntax "@filename" in favor of "--require filename"
mysql-test/include/master-slave.inc:
  Remove old syntax "@filename" in favor of "--require filename"
mysql-test/include/ps_query.inc:
  Remove the comment about no output now when it does.
mysql-test/r/check.result:
  Update output from --send
mysql-test/r/connect.result:
  Update result file for connect test after backport form 5.1
mysql-test/r/flush.result:
  Update output from --send
mysql-test/r/flush_block_commit.result:
  Update output from --send
mysql-test/r/func_misc.result:
  Update output from --send
mysql-test/r/grant2.result:
  Update output from --send
mysql-test/r/handler.result:
  Update output from --send
mysql-test/r/kill.result:
  Update output from --send
mysql-test/r/lock_multi.result:
  Update output from --send
mysql-test/r/mix_innodb_myisam_binlog.result:
  Update output from --send
mysql-test/r/mysqltest.result:
  Update mysqltest.result after backport
mysql-test/r/ps_2myisam.result:
  Update result as the output from query is now printed
mysql-test/r/ps_3innodb.result:
  Update result as the output from query is now printed
mysql-test/r/ps_4heap.result:
  Update result as the output from query is now printed
mysql-test/r/ps_5merge.result:
  Update result as the output from query is now printed
mysql-test/r/ps_6bdb.result:
  Update result as the output from query is now printed
mysql-test/r/ps_7ndb.result:
  Update result as the output from query is now printed
mysql-test/r/rename.result:
  Update output from --send
mysql-test/r/rpl000001.result:
  Update output from --send
mysql-test/r/rpl_error_ignored_table.result:
  Update output from --send
mysql-test/r/rpl_master_pos_wait.result:
  Update output from --send
mysql-test/r/subselect.result:
  Update result file after adding missing ;
mysql-test/r/synchronization.result:
  Update output from --send
mysql-test/r/type_blob.result:
  Update result file after adding missing ;
mysql-test/t/connect.test:
  Backport test from 5.1
mysql-test/t/init_file.test:
  Update test so something is printed
mysql-test/t/mysql_client_test.test:
  Update test so result is sent to file and something is printed
mysql-test/t/mysqltest.test:
  Backport latest mysqltest.test file
mysql-test/t/ps.test:
  Move the --replace_column statement to just before the statetement it should replace
mysql-test/t/ps_1general.test:
  Move the --replace_column statement to just before the statetement it should replace
mysql-test/t/ps_grant.test:
  Remove the $DB, no other test uses it
mysql-test/t/rpl_flush_tables.test:
  Fetch $SERVER_VERSION from the db server
mysql-test/t/rpl_trunc_temp.test:
  Remove the selection of connection master after it's been disconnected already
mysql-test/t/subselect.test:
  Add missing ;
mysql-test/t/type_blob.test:
  Add missing ;
2006-10-03 15:33:44 +02:00
9bf2ed9553 Fixed bug #21853: assert failure for a grouping query with
an ALL/ANY quantified subquery in HAVING.
The Item::split_sum_func2 method should not create Item_ref
for objects of any class derived from Item_subselect.


mysql-test/r/subselect.result:
  Added a test case for bug #21853.
mysql-test/t/subselect.test:
  Added a test case for bug #21853.
2006-09-25 05:24:07 -07:00
e5345197ed Merge bk-internal:/home/bk/mysql-4.1-opt
into  macbook.gmz:/Users/kgeorge/mysql/work/B21180-4.1-opt


mysql-test/r/subselect.result:
  merge of 4.1-opt
mysql-test/t/subselect.test:
  merge of 4.1-opt
sql/opt_range.h:
  merge of 4.1-opt
2006-09-15 18:56:05 +03:00
f895a16c72 BUG#16255: Post-review fixes: adjust the testcase.
mysql-test/r/subselect.result:
  BUG#16255: A proper testcase
mysql-test/t/subselect.test:
  BUG#16255: A proper testcase
2006-08-24 19:16:27 +04:00
c74c819533 Bug #16255: Subquery in WHERE (the cset by Georgi Kodinov)
Must not use Item_direct_ref in HAVING because it points to
 the new value (witch is not yet calculated for the first row).


mysql-test/r/subselect.result:
  Bug #16255: Subquery in where
   - test case
mysql-test/t/subselect.test:
  Bug #16255: Subquery in where
   - test case
sql/item_subselect.cc:
  Bug #16255: Subquery in where
   Must not use Item_direct_ref in HAVING because it points to
   the new value (witch is not yet calculated for the first row).
2006-08-24 19:14:36 +04:00
8462d3a46a Bug #21180: Subselect with index for both WHERE and ORDER BY produces empty result
Reseting subqueries with "quick" access methods was incomplete.
 Partially backported the correct reseting of QUICK_SELECTs from 5.x.


mysql-test/r/subselect.result:
  Bug #21180: Subselect with index for both WHERE and ORDER BY produces empty result
   - test case
mysql-test/t/subselect.test:
  Bug #21180: Subselect with index for both WHERE and ORDER BY produces empty result
   - test case
sql/opt_range.cc:
  Bug #21180: Subselect with index for both WHERE and ORDER BY produces empty result
   - partially backported the correct reseting of QUICK_SELECTs from 5.x.
sql/opt_range.h:
  Bug #21180: Subselect with index for both WHERE and ORDER BY produces empty result
   - partially backported the correct reseting of QUICK_SELECTs from 5.x.
2006-08-03 19:20:30 +03:00
9d432f0dae Add missing "DROP TABLE" clause 2006-07-22 02:36:17 +04:00
68698c04ab BUG#20975: Incorrect query result for NOT (subquery):
Add implementations of Item_func_{nop,not}_all::neg_transformer


mysql-test/r/subselect.result:
  BUG#20975: testcase
mysql-test/t/subselect.test:
  BUG#20975: testcase
sql/mysql_priv.h:
  Make chooser_compare_func_creator visible in item.h
2006-07-21 03:04:04 +04:00
e2c448fb5c Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-4.1-opt
into  moonbone.local:/work/16302-bug-4.1-opt-mysql


mysql-test/r/subselect.result:
  SCCS merged
mysql-test/t/subselect.test:
  SCCS merged
2006-07-12 06:12:59 +04:00
d2bbf288a9 Fixed bug#18503: Queries with a quantified subquery returning empty set
may return a wrong result.

An Item_sum_hybrid object has the was_values flag which indicates whether any
values were added to the sum function. By default it is set to true and reset
to false on any no_rows_in_result() call. This method is called only in
return_zero_rows() function. An ALL/ANY subquery can be optimized by MIN/MAX
optimization. The was_values flag is used to indicate whether the subquery
has returned at least one row. This bug occurs because return_zero_rows() is
called only when we know that the select will return zero rows before
starting any scans but often such information is not known.
In the reported case the return_zero_rows() function is not called and
the was_values flag is not reset to false and yet the subquery return no rows
Item_func_not_all and Item_func_nop_all functions return a wrong
comparison result.

The end_send_group() function now calls no_rows_in_result() for each item
in the fields_list if there is no rows were found for the (sub)query.


mysql-test/t/subselect.test:
  Added test case for bug#18503: Queries with a quantified subquery returning empty set may return a wrong result.
mysql-test/r/subselect.result:
  Added test case for bug#18503: Queries with a quantified subquery returning empty set may return a wrong result.
sql/sql_select.cc:
  Fixed bug#18503: Queries with a quantified subquery returning empty set may return a wrong result.
  
  The end_send_group() function now calls no_rows_in_result() for each item
  in the fields_list if there is no matching rows were found.
2006-07-12 01:52:18 +04:00
ad88eabd35 Fixed bug#16302: Quantified subquery without any tables gives wrong results
The ALL/ANY subqueries are the subject of MIN/MAX optimization. The matter
of this optimization is to embed MIN() or MAX() function into the subquery
in order to get only one row by which we can tell whether the expression
with ALL/ANY subquery is true or false.
But when it is applied to a subquery like 'select a_constant' the reported bug
occurs. As no tables are specified in the subquery the do_select() function 
isn't called for the optimized subquery and thus no values have been added 
to a MIN()/MAX() function and it returns NULL instead of a_constant.
This leads to a wrong query result.

For the subquery like 'select a_constant' there is no reason to apply
MIN/MAX optimization because the subquery anyway will return at most one row.
Thus the Item_maxmin_subselect class is more appropriate for handling such
subqueries.

The Item_in_subselect::single_value_transformer() function now checks
whether tables are specified for the subquery. If no then this subselect is
handled like a UNION using an Item_maxmin_subselect object.


mysql-test/t/subselect.test:
  Added test case for bug#16302: Quantified subquery without any tables gives wrong results
mysql-test/r/subselect.result:
  Added test case for bug#16302: Quantified subquery without any tables gives wrong results
sql/item_subselect.cc:
  Fixed bug#16302: Quantified subquery without any tables gives wrong results
   
  The Item_in_subselect::single_value_transformer() function now checks
  whether tables are specified for the subquery. If no then this subselect is
  handled like a UNION using an Item_maxmin_subselect object.
2006-07-11 00:34:37 +04:00
be559ad6ce sql_yacc.yy:
Bug #10308: Parse 'purge master logs' with subselect correctly.
subselect.test:
  Bug #10308: Test for 'purge master logs' with subselect.
subselect.result:
  Bug #10308: Test result for 'purge master logs' with subselect.


mysql-test/r/subselect.result:
  Bug #10308: Test result for 'purge master logs' with subselect.
mysql-test/t/subselect.test:
  Bug #10308: Test for 'purge master logs' with subselect.
sql/sql_yacc.yy:
  Bug #10308: Parse 'purge master logs' with subselect correctly.
2005-10-12 09:47:59 +02:00
4161d7cb0d subselect.result:
Added missing drop statement
subselect.test:
  Added missing drop statement.


mysql-test/t/subselect.test:
  Added missing dro statement.
mysql-test/r/subselect.result:
  Added missing drop statement
2005-08-15 21:43:46 -07:00
4b49cbfbd4 sql_select.cc:
Fixed bug #11479.
  The JOIN::reinit method cannot call setup_tables
  after the optimization phase since this function
  removes some optimization settings for joined
  tables. E.g. it resets values of the null_row flag to 0.
subselect.result, subselect.test:
  Added a test case for bug #11479.


mysql-test/t/subselect.test:
  Added a test case for bug #11479.
mysql-test/r/subselect.result:
  Added a test case for bug #11479.
sql/sql_select.cc:
  Fixed bug #11479.
  The JOIN::reinit method cannot call setup_tables
  after the optimization phase since this function
  removes some optimization settings for joined
  tables. E.g. it resets values of the null_row flag to 0.
2005-08-15 21:33:58 -07:00
19b4760f19 fixed convertion and handling IN subqueries with rows (BUG#11867)
mysql-test/r/subselect.result:
  testst of IN subqueries with row
mysql-test/t/subselect.test:
  tests of ion subqueries with row
sql/item.h:
  add method to prevent of removing Item_ref_null_helper from HAVING
sql/item_cmpfunc.h:
  Prevented removing of Item_test_isnotnull from HAVING
sql/item_subselect.cc:
  fixed converting row IN subqueries
sql/sql_select.cc:
  fixed debug print
2005-08-13 07:45:14 +03:00
310bb7e2da Merge rurik.mysql.com:/home/igor/mysql-4.1
into rurik.mysql.com:/home/igor/dev/mysql-4.1-0


mysql-test/r/subselect.result:
  Auto merged
mysql-test/t/subselect.test:
  Auto merged
2005-08-08 16:55:29 -07:00
6f0a626097 subselect.test, subselect.result:
Added a test case for bug #12392.
item_cmpfunc.cc:
  Fixed bug #12392.
  Missing handling of rows containing NULL components
  when evaluating IN predicates caused a crash.


sql/item_cmpfunc.cc:
  Fixed bug #12392.
  Missing handling of rows containing NULL components
  when evaluating IN predicates caused a crash.
mysql-test/r/subselect.result:
  Added a test case for bug #12392.
mysql-test/t/subselect.test:
  Added a test case for bug #12392.
2005-08-08 16:51:12 -07:00
97988099eb Review of new pushed code
- Fixed some error condtion when handling dates with 'T'
- Added extra test for bug #11867 (Wrong result with "... WHERE ROW( a, b ) IN ( SELECT DISTINCT a, b WHERE ...)" to show it's not yet fixed
- Safety fixes and cleanups


mysql-test/r/subselect.result:
  Added extra test case to test case for bug #11867
  (Result shows that current code is not yet right and needs to be fixed)
mysql-test/r/type_datetime.result:
  More tests for dates of type CCYYMMDDTHHMMSS
mysql-test/t/subselect.test:
  Added extra test case to test case for bug #11867
mysql-test/t/type_datetime.test:
  More tests for dates of type CCYYMMDDTHHMMSS
sql-common/my_time.c:
  Fixed handling of dates of type CCYYMMDDTHHMMSS
  (Old code couldn't handle 2003-0304 or 2003-0003-02)
sql/slave.cc:
  Indentation cleanup
sql/sql_parse.cc:
  Added test of return value of get_system_var()
sql/sql_select.cc:
  Removed unnecessary call to field->table->maybe_null
sql/sql_union.cc:
  Indentation fixes
2005-08-09 00:13:49 +03:00
84d34d9d59 subselect.result:
Added test case for bug #11867.
  Fixed results for two existing test cases.
subselect.test:
  Added test case for bug #11867.
item_subselect.cc:
  Fixed bug #11867.
  Added missing code in Item_in_subselect::row_value_transformer
  that caused problems for queries with
  ROW(elems) IN (SELECT DISTINCT cols FROM ...).


sql/item_subselect.cc:
  Fixed bug #11867.
  Added missing code in Item_in_subselect::row_value_transformer
  that caused problems for queries with
  ROW(elems) IN (SELECT DISTINCT cols FROM ...).
mysql-test/t/subselect.test:
  Added test case for bug #11867.
mysql-test/r/subselect.result:
  Added test case for bug #11867.
  Fixed results for two existing test cases.
2005-08-07 14:03:46 -07:00
167fb5f170 Added end marker for tests to make future merges easier
mysql-test/t/alias.test:
  Added end marker for test to make future merges easier
mysql-test/t/alter_table.test:
  Added end marker for test to make future merges easier
mysql-test/t/analyse.test:
  Added end marker for test to make future merges easier
mysql-test/t/analyze.test:
  Added end marker for test to make future merges easier
  Fixed length of comment lines
mysql-test/t/ansi.test:
  Added end marker for test to make future merges easier
mysql-test/t/archive.test:
  Added end marker for test to make future merges easier
mysql-test/t/auto_increment.test:
  Added end marker for test to make future merges easier
mysql-test/t/backup.test:
  Added end marker for test to make future merges easier
mysql-test/t/bdb-alter-table-1.test:
  Added end marker for test to make future merges easier
mysql-test/t/bdb-alter-table-2.test:
  Added end marker for test to make future merges easier
mysql-test/t/bdb-crash.test:
  Added end marker for test to make future merges easier
mysql-test/t/bdb-deadlock.test:
  Added end marker for test to make future merges easier
mysql-test/t/bdb-deadlock.tminus:
  Added end marker for test to make future merges easier
mysql-test/t/bdb.test:
  Added end marker for test to make future merges easier
mysql-test/t/bdb_cache.test:
  Added end marker for test to make future merges easier
mysql-test/t/bench_count_distinct.test:
  Added end marker for test to make future merges easier
mysql-test/t/bigint.test:
  Added end marker for test to make future merges easier
mysql-test/t/binary.test:
  Added end marker for test to make future merges easier
mysql-test/t/blackhole.test:
  Added end marker for test to make future merges easier
mysql-test/t/bool.test:
  Added end marker for test to make future merges easier
mysql-test/t/bulk_replace.test:
  Added end marker for test to make future merges easier
mysql-test/t/case.test:
  Added end marker for test to make future merges easier
mysql-test/t/cast.test:
  Added end marker for test to make future merges easier
mysql-test/t/check.test:
  Added end marker for test to make future merges easier
mysql-test/t/comments.test:
  Added end marker for test to make future merges easier
mysql-test/t/compare.test:
  Added end marker for test to make future merges easier
mysql-test/t/connect.test:
  Added end marker for test to make future merges easier
mysql-test/t/consistent_snapshot.test:
  Added end marker for test to make future merges easier
mysql-test/t/constraints.test:
  Added end marker for test to make future merges easier
mysql-test/t/count_distinct.test:
  Added end marker for test to make future merges easier
mysql-test/t/count_distinct2.test:
  Added end marker for test to make future merges easier
mysql-test/t/count_distinct3.test:
  Added end marker for test to make future merges easier
mysql-test/t/create.test:
  Added end marker for test to make future merges easier
mysql-test/t/create_select_tmp.test:
  Added end marker for test to make future merges easier
mysql-test/t/csv.test:
  Added end marker for test to make future merges easier
mysql-test/t/ctype_big5.test:
  Added end marker for test to make future merges easier
mysql-test/t/ctype_collate.test:
  Added end marker for test to make future merges easier
mysql-test/t/ctype_cp1250_ch.test:
  Added end marker for test to make future merges easier
mysql-test/t/ctype_cp1251.test:
  Added end marker for test to make future merges easier
mysql-test/t/ctype_cp932.test:
  Added end marker for test to make future merges easier
mysql-test/t/ctype_create.test:
  Added end marker for test to make future merges easier
mysql-test/t/ctype_gbk.test:
  Added end marker for test to make future merges easier
mysql-test/t/ctype_latin1.test:
  Added end marker for test to make future merges easier
mysql-test/t/ctype_latin1_de.test:
  Added end marker for test to make future merges easier
mysql-test/t/ctype_latin2.test:
  Added end marker for test to make future merges easier
mysql-test/t/ctype_many.test:
  Added end marker for test to make future merges easier
mysql-test/t/ctype_mb.test:
  Added end marker for test to make future merges easier
mysql-test/t/ctype_recoding.test:
  Added end marker for test to make future merges easier
mysql-test/t/ctype_sjis.test:
  Added end marker for test to make future merges easier
mysql-test/t/ctype_tis620.test:
  Added end marker for test to make future merges easier
mysql-test/t/ctype_uca.test:
  Added end marker for test to make future merges easier
mysql-test/t/ctype_ucs.test:
  Added end marker for test to make future merges easier
mysql-test/t/ctype_ucs_binlog.test:
  Added end marker for test to make future merges easier
mysql-test/t/ctype_ujis.test:
  Added end marker for test to make future merges easier
mysql-test/t/ctype_utf8.test:
  Added end marker for test to make future merges easier
mysql-test/t/date_formats.test:
  Added end marker for test to make future merges easier
mysql-test/t/delayed.test:
  Added end marker for test to make future merges easier
mysql-test/t/delete.test:
  Added end marker for test to make future merges easier
mysql-test/t/derived.test:
  Added end marker for test to make future merges easier
mysql-test/t/dirty_close.test:
  Added end marker for test to make future merges easier
mysql-test/t/distinct.test:
  Added end marker for test to make future merges easier
mysql-test/t/drop.test:
  Added end marker for test to make future merges easier
mysql-test/t/drop_temp_table.test:
  Added end marker for test to make future merges easier
mysql-test/t/empty_table.test:
  Added end marker for test to make future merges easier
mysql-test/t/endspace.test:
  Added end marker for test to make future merges easier
mysql-test/t/errors.test:
  Added end marker for test to make future merges easier
mysql-test/t/exampledb.test:
  Added end marker for test to make future merges easier
mysql-test/t/explain.test:
  Added end marker for test to make future merges easier
mysql-test/t/flush.test:
  Added end marker for test to make future merges easier
mysql-test/t/flush_block_commit.test:
  Added end marker for test to make future merges easier
mysql-test/t/flush_table.test:
  Added end marker for test to make future merges easier
mysql-test/t/foreign_key.test:
  Added end marker for test to make future merges easier
mysql-test/t/fulltext.test:
  Added end marker for test to make future merges easier
mysql-test/t/fulltext2.test:
  Added end marker for test to make future merges easier
mysql-test/t/fulltext_cache.test:
  Added end marker for test to make future merges easier
mysql-test/t/fulltext_distinct.test:
  Added end marker for test to make future merges easier
mysql-test/t/fulltext_left_join.test:
  Added end marker for test to make future merges easier
mysql-test/t/fulltext_multi.test:
  Added end marker for test to make future merges easier
mysql-test/t/fulltext_order_by.test:
  Added end marker for test to make future merges easier
mysql-test/t/fulltext_update.test:
  Added end marker for test to make future merges easier
mysql-test/t/fulltext_var.test:
  Added end marker for test to make future merges easier
mysql-test/t/func_compress.test:
  Added end marker for test to make future merges easier
mysql-test/t/func_concat.test:
  Added end marker for test to make future merges easier
mysql-test/t/func_crypt.test:
  Added end marker for test to make future merges easier
mysql-test/t/func_date_add.test:
  Added end marker for test to make future merges easier
mysql-test/t/func_default.test:
  Added end marker for test to make future merges easier
mysql-test/t/func_des_encrypt.test:
  Added end marker for test to make future merges easier
mysql-test/t/func_encrypt.test:
  Added end marker for test to make future merges easier
mysql-test/t/func_encrypt_nossl.test:
  Added end marker for test to make future merges easier
mysql-test/t/func_equal.test:
  Added end marker for test to make future merges easier
mysql-test/t/func_gconcat.test:
  Added end marker for test to make future merges easier
mysql-test/t/func_group.test:
  Added end marker for test to make future merges easier
mysql-test/t/func_if.test:
  Added end marker for test to make future merges easier
mysql-test/t/func_in.test:
  Added end marker for test to make future merges easier
mysql-test/t/func_isnull.test:
  Added end marker for test to make future merges easier
mysql-test/t/func_like.test:
  Added end marker for test to make future merges easier
mysql-test/t/func_math.test:
  Added end marker for test to make future merges easier
mysql-test/t/func_misc.test:
  Added end marker for test to make future merges easier
mysql-test/t/func_op.test:
  Added end marker for test to make future merges easier
mysql-test/t/func_regexp.test:
  Added end marker for test to make future merges easier
mysql-test/t/func_sapdb.test:
  Added end marker for test to make future merges easier
mysql-test/t/func_set.test:
  Added end marker for test to make future merges easier
mysql-test/t/func_str.test:
  Added end marker for test to make future merges easier
mysql-test/t/func_system.test:
  Added end marker for test to make future merges easier
mysql-test/t/func_test.test:
  Added end marker for test to make future merges easier
mysql-test/t/func_time.test:
  Added end marker for test to make future merges easier
mysql-test/t/func_timestamp.test:
  Added end marker for test to make future merges easier
mysql-test/t/gcc296.test:
  Added end marker for test to make future merges easier
mysql-test/t/gis-rtree.test:
  Added end marker for test to make future merges easier
mysql-test/t/gis.test:
  Added end marker for test to make future merges easier
mysql-test/t/grant.test:
  Added end marker for test to make future merges easier
mysql-test/t/grant2.test:
  Added end marker for test to make future merges easier
mysql-test/t/grant_cache.test:
  Added end marker for test to make future merges easier
mysql-test/t/group_by.test:
  Added end marker for test to make future merges easier
mysql-test/t/handler.test:
  Added end marker for test to make future merges easier
mysql-test/t/having.test:
  Added end marker for test to make future merges easier
mysql-test/t/heap.test:
  Added end marker for test to make future merges easier
mysql-test/t/heap_auto_increment.test:
  Added end marker for test to make future merges easier
mysql-test/t/heap_btree.test:
  Added end marker for test to make future merges easier
mysql-test/t/heap_hash.test:
  Added end marker for test to make future merges easier
mysql-test/t/help.test:
  Added end marker for test to make future merges easier
mysql-test/t/init_connect.test:
  Added end marker for test to make future merges easier
mysql-test/t/init_file.test:
  Added end marker for test to make future merges easier
mysql-test/t/innodb-deadlock.test:
  Added end marker for test to make future merges easier
mysql-test/t/innodb-lock.test:
  Added end marker for test to make future merges easier
mysql-test/t/innodb-replace.test:
  Added end marker for test to make future merges easier
mysql-test/t/innodb.test:
  Added end marker for test to make future merges easier
mysql-test/t/innodb_cache.test:
  Added end marker for test to make future merges easier
mysql-test/t/innodb_handler.test:
  Added end marker for test to make future merges easier
mysql-test/t/insert.test:
  Added end marker for test to make future merges easier
mysql-test/t/insert_select-binlog.test:
  Added end marker for test to make future merges easier
mysql-test/t/insert_select.test:
  Added end marker for test to make future merges easier
mysql-test/t/insert_update.test:
  Added end marker for test to make future merges easier
mysql-test/t/isam.test:
  Added end marker for test to make future merges easier
mysql-test/t/join.test:
  Added end marker for test to make future merges easier
mysql-test/t/join_crash.test:
  Added end marker for test to make future merges easier
mysql-test/t/join_outer.test:
  Added end marker for test to make future merges easier
mysql-test/t/key.test:
  Added end marker for test to make future merges easier
mysql-test/t/key_cache.test:
  Added end marker for test to make future merges easier
mysql-test/t/key_diff.test:
  Added end marker for test to make future merges easier
mysql-test/t/key_primary.test:
  Added end marker for test to make future merges easier
mysql-test/t/keywords.test:
  Added end marker for test to make future merges easier
mysql-test/t/kill.test:
  Added end marker for test to make future merges easier
mysql-test/t/limit.test:
  Added end marker for test to make future merges easier
mysql-test/t/loaddata.test:
  Added end marker for test to make future merges easier
mysql-test/t/lock.test:
  Added end marker for test to make future merges easier
mysql-test/t/lock_multi.test:
  Added end marker for test to make future merges easier
mysql-test/t/lock_tables_lost_commit.test:
  Added end marker for test to make future merges easier
mysql-test/t/lowercase_table.test:
  Added end marker for test to make future merges easier
mysql-test/t/lowercase_table2.test:
  Added end marker for test to make future merges easier
mysql-test/t/lowercase_table3.test:
  Added end marker for test to make future merges easier
mysql-test/t/lowercase_table_grant.test:
  Added end marker for test to make future merges easier
mysql-test/t/lowercase_table_qcache.test:
  Added end marker for test to make future merges easier
mysql-test/t/merge.test:
  Added end marker for test to make future merges easier
mysql-test/t/metadata.test:
  Added end marker for test to make future merges easier
mysql-test/t/mix_innodb_myisam_binlog.test:
  Added end marker for test to make future merges easier
mysql-test/t/multi_statement.test:
  Added end marker for test to make future merges easier
mysql-test/t/multi_update.test:
  Added end marker for test to make future merges easier
mysql-test/t/myisam-blob.test:
  Added end marker for test to make future merges easier
mysql-test/t/myisam.test:
  Added end marker for test to make future merges easier
mysql-test/t/mysql_client_test.test:
  Added end marker for test to make future merges easier
mysql-test/t/mysql_protocols.test:
  Added end marker for test to make future merges easier
mysql-test/t/mysqlbinlog.test:
  Added end marker for test to make future merges easier
mysql-test/t/mysqlbinlog2.test:
  Added end marker for test to make future merges easier
mysql-test/t/mysqldump.test:
  Added end marker for test to make future merges easier
mysql-test/t/mysqltest.test:
  Added end marker for test to make future merges easier
mysql-test/t/ndb_alter_table.test:
  Added end marker for test to make future merges easier
mysql-test/t/ndb_autodiscover.test:
  Added end marker for test to make future merges easier
mysql-test/t/ndb_autodiscover2.test:
  Added end marker for test to make future merges easier
mysql-test/t/ndb_basic.test:
  Added end marker for test to make future merges easier
mysql-test/t/ndb_blob.test:
  Added end marker for test to make future merges easier
mysql-test/t/ndb_cache.test:
  Added end marker for test to make future merges easier
mysql-test/t/ndb_charset.test:
  Added end marker for test to make future merges easier
mysql-test/t/ndb_config.test:
  Added end marker for test to make future merges easier
mysql-test/t/ndb_database.test:
  Added end marker for test to make future merges easier
mysql-test/t/ndb_grant.later:
  Added end marker for test to make future merges easier
mysql-test/t/ndb_index.test:
  Added end marker for test to make future merges easier
mysql-test/t/ndb_index_ordered.test:
  Added end marker for test to make future merges easier
mysql-test/t/ndb_index_unique.test:
  Added end marker for test to make future merges easier
mysql-test/t/ndb_insert.test:
  Added end marker for test to make future merges easier
mysql-test/t/ndb_limit.test:
  Added end marker for test to make future merges easier
mysql-test/t/ndb_lock.test:
  Added end marker for test to make future merges easier
mysql-test/t/ndb_minmax.test:
  Added end marker for test to make future merges easier
mysql-test/t/ndb_multi.test:
  Added end marker for test to make future merges easier
mysql-test/t/ndb_replace.test:
  Added end marker for test to make future merges easier
mysql-test/t/ndb_restore.test:
  Added end marker for test to make future merges easier
mysql-test/t/ndb_subquery.test:
  Added end marker for test to make future merges easier
mysql-test/t/ndb_transaction.test:
  Added end marker for test to make future merges easier
mysql-test/t/ndb_truncate.test:
  Added end marker for test to make future merges easier
mysql-test/t/ndb_types.test:
  Added end marker for test to make future merges easier
mysql-test/t/ndb_update.test:
  Added end marker for test to make future merges easier
mysql-test/t/negation_elimination.test:
  Added end marker for test to make future merges easier
mysql-test/t/not_embedded_server.test:
  Added end marker for test to make future merges easier
mysql-test/t/null.test:
  Added end marker for test to make future merges easier
mysql-test/t/null_key.test:
  Added end marker for test to make future merges easier
mysql-test/t/odbc.test:
  Added end marker for test to make future merges easier
mysql-test/t/olap.test:
  Added end marker for test to make future merges easier
mysql-test/t/openssl_1.test:
  Added end marker for test to make future merges easier
mysql-test/t/order_by.test:
  Added end marker for test to make future merges easier
mysql-test/t/order_fill_sortbuf.test:
  Added end marker for test to make future merges easier
mysql-test/t/outfile.test:
  Added end marker for test to make future merges easier
mysql-test/t/overflow.test:
  Added end marker for test to make future merges easier
mysql-test/t/packet.test:
  Added end marker for test to make future merges easier
mysql-test/t/preload.test:
  Added end marker for test to make future merges easier
mysql-test/t/ps.test:
  Added end marker for test to make future merges easier
mysql-test/t/ps_10nestset.test:
  Added end marker for test to make future merges easier
mysql-test/t/ps_11bugs.test:
  Added end marker for test to make future merges easier
mysql-test/t/ps_1general.test:
  Added end marker for test to make future merges easier
mysql-test/t/ps_2myisam.test:
  Added end marker for test to make future merges easier
mysql-test/t/ps_3innodb.test:
  Added end marker for test to make future merges easier
mysql-test/t/ps_4heap.test:
  Added end marker for test to make future merges easier
mysql-test/t/ps_5merge.test:
  Added end marker for test to make future merges easier
mysql-test/t/ps_6bdb.test:
  Added end marker for test to make future merges easier
mysql-test/t/ps_7ndb.test:
  Added end marker for test to make future merges easier
mysql-test/t/ps_grant.test:
  Added end marker for test to make future merges easier
mysql-test/t/query_cache.test:
  Added end marker for test to make future merges easier
mysql-test/t/query_cache_merge.test:
  Added end marker for test to make future merges easier
mysql-test/t/raid.test:
  Added end marker for test to make future merges easier
mysql-test/t/range.test:
  Added end marker for test to make future merges easier
mysql-test/t/rename.test:
  Added end marker for test to make future merges easier
mysql-test/t/repair.test:
  Added end marker for test to make future merges easier
mysql-test/t/replace.test:
  Added end marker for test to make future merges easier
mysql-test/t/rollback.test:
  Added end marker for test to make future merges easier
mysql-test/t/row.test:
  Added end marker for test to make future merges easier
mysql-test/t/rpl000001.test:
  Added end marker for test to make future merges easier
mysql-test/t/rpl000002.test:
  Added end marker for test to make future merges easier
mysql-test/t/rpl000004.test:
  Added end marker for test to make future merges easier
mysql-test/t/rpl000005.test:
  Added end marker for test to make future merges easier
mysql-test/t/rpl000006.test:
  Added end marker for test to make future merges easier
mysql-test/t/rpl000008.test:
  Added end marker for test to make future merges easier
mysql-test/t/rpl000009.test:
  Added end marker for test to make future merges easier
mysql-test/t/rpl000010.test:
  Added end marker for test to make future merges easier
mysql-test/t/rpl000011.test:
  Added end marker for test to make future merges easier
mysql-test/t/rpl000012.test:
  Added end marker for test to make future merges easier
mysql-test/t/rpl000013.test:
  Added end marker for test to make future merges easier
mysql-test/t/rpl000015.test:
  Added end marker for test to make future merges easier
mysql-test/t/rpl000017.test:
  Added end marker for test to make future merges easier
mysql-test/t/rpl000018.test:
  Added end marker for test to make future merges easier
mysql-test/t/rpl_EE_error.test:
  Added end marker for test to make future merges easier
mysql-test/t/rpl_alter.test:
  Added end marker for test to make future merges easier
mysql-test/t/rpl_chain_temp_table.test:
  Added end marker for test to make future merges easier
mysql-test/t/rpl_change_master.test:
  Added end marker for test to make future merges easier
mysql-test/t/rpl_charset.test:
  Added end marker for test to make future merges easier
mysql-test/t/rpl_commit_after_flush.test:
  Added end marker for test to make future merges easier
mysql-test/t/rpl_create_database.test:
  Added end marker for test to make future merges easier
mysql-test/t/rpl_ddl.test:
  Added end marker for test to make future merges easier
mysql-test/t/rpl_deadlock.test:
  Added end marker for test to make future merges easier
mysql-test/t/rpl_delete_all.test:
  Added end marker for test to make future merges easier
mysql-test/t/rpl_do_grant.test:
  Added end marker for test to make future merges easier
mysql-test/t/rpl_drop.test:
  Added end marker for test to make future merges easier
mysql-test/t/rpl_drop_temp.test:
  Added end marker for test to make future merges easier
mysql-test/t/rpl_empty_master_crash.test:
  Added end marker for test to make future merges easier
mysql-test/t/rpl_error_ignored_table.test:
  Added end marker for test to make future merges easier
mysql-test/t/rpl_failed_optimize.test:
  Added end marker for test to make future merges easier
mysql-test/t/rpl_failsafe.test:
  Added end marker for test to make future merges easier
mysql-test/t/rpl_flush_log_loop.test:
  Added end marker for test to make future merges easier
mysql-test/t/rpl_flush_tables.test:
  Added end marker for test to make future merges easier
mysql-test/t/rpl_free_items.test:
  Added end marker for test to make future merges easier
mysql-test/t/rpl_get_lock.test:
  Added end marker for test to make future merges easier
mysql-test/t/rpl_heap.test:
  Added end marker for test to make future merges easier
mysql-test/t/rpl_ignore_grant.test:
  Added end marker for test to make future merges easier
mysql-test/t/rpl_init_slave.test:
  Added end marker for test to make future merges easier
mysql-test/t/rpl_innodb.test:
  Added end marker for test to make future merges easier
mysql-test/t/rpl_insert_id.test:
  Added end marker for test to make future merges easier
mysql-test/t/rpl_insert_ignore.test:
  Added end marker for test to make future merges easier
mysql-test/t/rpl_loaddata.test:
  Added end marker for test to make future merges easier
mysql-test/t/rpl_loaddata_rule_m.test:
  Added end marker for test to make future merges easier
mysql-test/t/rpl_loaddata_rule_s.test:
  Added end marker for test to make future merges easier
mysql-test/t/rpl_loaddatalocal.test:
  Added end marker for test to make future merges easier
mysql-test/t/rpl_log.test:
  Added end marker for test to make future merges easier
mysql-test/t/rpl_log_pos.test:
  Added end marker for test to make future merges easier
mysql-test/t/rpl_many_optimize.test:
  Added end marker for test to make future merges easier
mysql-test/t/rpl_master_pos_wait.test:
  Added end marker for test to make future merges easier
mysql-test/t/rpl_max_relay_size.test:
  Added end marker for test to make future merges easier
mysql-test/t/rpl_misc_functions.test:
  Added end marker for test to make future merges easier
mysql-test/t/rpl_multi_delete.test:
  Added end marker for test to make future merges easier
mysql-test/t/rpl_multi_delete2.test:
  Added end marker for test to make future merges easier
mysql-test/t/rpl_multi_query.test:
  Added end marker for test to make future merges easier
mysql-test/t/rpl_multi_update.test:
  Added end marker for test to make future merges easier
mysql-test/t/rpl_multi_update2.test:
  Added end marker for test to make future merges easier
mysql-test/t/rpl_multi_update3.test:
  Added end marker for test to make future merges easier
mysql-test/t/rpl_mystery22.test:
  Added end marker for test to make future merges easier
mysql-test/t/rpl_openssl.test:
  Added end marker for test to make future merges easier
mysql-test/t/rpl_optimize.test:
  Added end marker for test to make future merges easier
mysql-test/t/rpl_ps.test:
  Added end marker for test to make future merges easier
mysql-test/t/rpl_redirect.test:
  Added end marker for test to make future merges easier
mysql-test/t/rpl_relayrotate.test:
  Added end marker for test to make future merges easier
mysql-test/t/rpl_relayspace.test:
  Added end marker for test to make future merges easier
mysql-test/t/rpl_replicate_do.test:
  Added end marker for test to make future merges easier
mysql-test/t/rpl_reset_slave.test:
  Added end marker for test to make future merges easier
mysql-test/t/rpl_rewrite_db.test:
  Added end marker for test to make future merges easier
mysql-test/t/rpl_rotate_logs.test:
  Added end marker for test to make future merges easier
mysql-test/t/rpl_server_id1.test:
  Added end marker for test to make future merges easier
mysql-test/t/rpl_server_id2.test:
  Added end marker for test to make future merges easier
mysql-test/t/rpl_set_charset.test:
  Added end marker for test to make future merges easier
mysql-test/t/rpl_skip_error.test:
  Added end marker for test to make future merges easier
mysql-test/t/rpl_sporadic_master.test:
  Added end marker for test to make future merges easier
mysql-test/t/rpl_start_stop_slave.test:
  Added end marker for test to make future merges easier
mysql-test/t/rpl_temporary.test:
  Added end marker for test to make future merges easier
mysql-test/t/rpl_timezone.test:
  Added end marker for test to make future merges easier
mysql-test/t/rpl_trunc_binlog.test:
  Added end marker for test to make future merges easier
mysql-test/t/rpl_until.test:
  Added end marker for test to make future merges easier
mysql-test/t/rpl_user_variables.test:
  Added end marker for test to make future merges easier
mysql-test/t/rpl_variables.test:
  Added end marker for test to make future merges easier
mysql-test/t/select.test:
  Added end marker for test to make future merges easier
mysql-test/t/select_found.test:
  Added end marker for test to make future merges easier
mysql-test/t/select_safe.test:
  Added end marker for test to make future merges easier
mysql-test/t/show_check.test:
  Added end marker for test to make future merges easier
mysql-test/t/skip_name_resolve.test:
  Added end marker for test to make future merges easier
mysql-test/t/sql_mode.test:
  Added end marker for test to make future merges easier
mysql-test/t/status.test:
  Added end marker for test to make future merges easier
mysql-test/t/subselect.test:
  Added end marker for test to make future merges easier
mysql-test/t/subselect2.test:
  Added end marker for test to make future merges easier
mysql-test/t/subselect_gis.test:
  Added end marker for test to make future merges easier
mysql-test/t/subselect_innodb.test:
  Added end marker for test to make future merges easier
mysql-test/t/symlink.test:
  Added end marker for test to make future merges easier
mysql-test/t/synchronization.test:
  Added end marker for test to make future merges easier
mysql-test/t/system_mysql_db.test:
  Added end marker for test to make future merges easier
mysql-test/t/system_mysql_db_fix.test:
  Added end marker for test to make future merges easier
mysql-test/t/system_mysql_db_refs.test:
  Added end marker for test to make future merges easier
mysql-test/t/tablelock.test:
  Added end marker for test to make future merges easier
mysql-test/t/temp_table.test:
  Added end marker for test to make future merges easier
mysql-test/t/timezone.test:
  Added end marker for test to make future merges easier
mysql-test/t/timezone2.test:
  Added end marker for test to make future merges easier
mysql-test/t/timezone3.test:
  Added end marker for test to make future merges easier
mysql-test/t/timezone_grant.test:
  Added end marker for test to make future merges easier
mysql-test/t/truncate.test:
  Added end marker for test to make future merges easier
mysql-test/t/type_blob.test:
  Added end marker for test to make future merges easier
mysql-test/t/type_date.test:
  Added end marker for test to make future merges easier
mysql-test/t/type_datetime.test:
  Added end marker for test to make future merges easier
mysql-test/t/type_decimal.test:
  Added end marker for test to make future merges easier
mysql-test/t/type_enum.test:
  Added end marker for test to make future merges easier
mysql-test/t/type_float.test:
  Added end marker for test to make future merges easier
mysql-test/t/type_nchar.test:
  Added end marker for test to make future merges easier
mysql-test/t/type_ranges.test:
  Added end marker for test to make future merges easier
mysql-test/t/type_set.test:
  Added end marker for test to make future merges easier
mysql-test/t/type_time.test:
  Added end marker for test to make future merges easier
mysql-test/t/type_timestamp.test:
  Added end marker for test to make future merges easier
mysql-test/t/type_uint.test:
  Added end marker for test to make future merges easier
mysql-test/t/type_year.test:
  Added end marker for test to make future merges easier
mysql-test/t/union.test:
  Added end marker for test to make future merges easier
mysql-test/t/update.test:
  Added end marker for test to make future merges easier
mysql-test/t/user_var-binlog.test:
  Added end marker for test to make future merges easier
mysql-test/t/user_var.test:
  Added end marker for test to make future merges easier
mysql-test/t/varbinary.test:
  Added end marker for test to make future merges easier
mysql-test/t/variables.test:
  Added end marker for test to make future merges easier
mysql-test/t/warnings.test:
  Added end marker for test to make future merges easier
2005-07-28 03:22:47 +03:00
3be7d3fcee Fix for BUG#11821: Make Item_type_holder be able to work with MIN(field),
MAX(field).


mysql-test/r/subselect.result:
  Testcase for BUG#11821
mysql-test/t/subselect.test:
  Testcase for BUG#11821
2005-07-12 16:30:45 +00:00
bc933962a3 relaxed DBUG_ASSERT in Item_int_with_ref::new_item() to "any constant" (BUG#10020)
mysql-test/r/subselect.result:
  test fro bug 10020
mysql-test/t/subselect.test:
  bug 10020 test suite
sql/item.cc:
  any constant allowed here BUG#10020)
BitKeeper/etc/logging_ok:
  Logging to logging@openlogging.org accepted
2005-05-16 12:19:10 +03:00
dda97623a7 postreview changes
fixed bug in IN/ALL/ANY subqeries with HAVING clause (BUG#9350)


mysql-test/r/subselect.result:
  added new subquery tests to make code covarage better
mysql-test/t/subselect.test:
  added new subquery tests to make code covarage better
sql/item_subselect.cc:
  fixed typo in comment
  removed unused code
  fixed bug with HAVING clause detectiuon (BUG#9350)
  postreview changes
2005-03-30 10:07:08 +03:00
070fe467a3 fixed left expression of IN/ALL/ANY subquery transformation support (BUG#8888)
mysql-test/r/subselect.result:
  result changing
  fixed last test
  test of transformation of left expression of subquery
mysql-test/t/subselect.test:
  fixed last test
  test of transformation of left expression of subquery
sql/item_subselect.cc:
  fixfields made for left part of IN/ALL/ANY subquery before calling cols() to detect type of transformation (scalar or row)
  similar action of both transformation moved to separate function
sql/item_subselect.h:
  optimised field initialization and new method
2005-03-10 14:01:22 +02:00
92f55e98dd Merge spetrunia@bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/home/psergey/mysql-4.1-bug8218


mysql-test/r/subselect.result:
  Auto merged
mysql-test/t/subselect.test:
  Auto merged
sql/sql_select.cc:
  Auto merged
2005-02-14 23:49:01 +03:00
4173610bd2 Remove redundant DROP TABLE from test case 2005-02-14 23:45:48 +03:00
84d1199692 Fix for BUG#8218:
Remove TMP_TABLE_PARAM::copy_funcs_it. TMP_TABLE_PARAM is a member of JOIN which is 
copied via memcpy, and List_iterator_fast TMP_TABLE_PARAM::copy_funcs_it ends up 
pointing to the wrong List.


mysql-test/r/subselect.result:
  Testcase for BUG#8218
mysql-test/t/subselect.test:
  Testcase for BUG#8218
sql/sql_select.cc:
  Fix for BUG#8218: Create/use own iterator since TMP_TABLE_PARAM::copy_funcs_it is removed.
2005-02-12 22:58:54 +03:00
86d5bfc42b reverted patch for BUG#7351 (because of performance ussie) 2005-02-09 21:08:08 +02:00
3455bc5398 fixed test 'subselect' in case when innodb is not compiled in (thanks HF who niticed it)
mysql-test/r/subselect.result:
  test depends on innodb moved from 'subselect' to 'subselect_innodb'
mysql-test/r/subselect_innodb.result:
  test depends on innodb moved from 'subselect' to 'subselect_innodb'
mysql-test/t/subselect.test:
  test depends on innodb moved from 'subselect' to 'subselect_innodb'
mysql-test/t/subselect_innodb.test:
  test depends on innodb moved from 'subselect' to 'subselect_innodb'
2005-02-06 13:06:12 +02:00
755c9aabe2 fixed cleanup of result object of subqueries. (BUG#8125)
mysql-test/r/subselect.result:
  cleaning up of results of subselects test
mysql-test/t/subselect.test:
  cleaning up of results of subselects test
sql/item_subselect.cc:
  call result object cleupup on engine cleunup
sql/sql_class.cc:
  added cleanup of select_max_min_finder_subselect
sql/sql_class.h:
  added cleanup of select_max_min_finder_subselect
2005-01-26 15:27:45 +02:00
38e664cf64 fixed way of forward reference detection to support literal constant (BUG#8025)
mysql-test/r/subselect.result:
  Forward reference detection
mysql-test/t/subselect.test:
  Forward reference detection
sql/item.cc:
  now forward reference is detected via ref_pointer_array, because some literal constants are 'fixed' just after creation
sql/sql_base.cc:
  fill ref_pointer_array with zerows for forward reference detection.
2005-01-24 17:17:19 +02:00
9182786918 check that row elements have the same dimention that SELECT list elements in comporison between rows and subqueries added (BUG#8022)
mysql-test/r/subselect.result:
  Comparison subquery and row with nested rows
mysql-test/t/subselect.test:
  Comparison subquery and row with nested rows
sql/item_subselect.cc:
  check that row elements have the same dimention that SELECT list elements
2005-01-24 15:56:57 +02:00
d514a06a86 fixed column number fetchinmg for subqueries. (BUG#8020)
fixed cols() method call (it have to be called only after fix_fields())


mysql-test/r/subselect.result:
  Comparison subquery with * and row
mysql-test/t/subselect.test:
  Comparison subquery with * and row
sql/item_cmpfunc.h:
  initialization allowed_arg_cols for autodetection
sql/item_func.cc:
  support of allowed_arg_cols autodetection by first argument
sql/item_func.h:
  commant
sql/item_subselect.cc:
  correct column number fetching for subqueries
sql/sql_lex.h:
  method to check that UNION is prepared
2005-01-24 14:25:44 +02:00
2e50981af9 Fix for BUG#7885
mysql-test/r/subselect.result:
  Testcase for BUG#7885
mysql-test/t/subselect.test:
  Testcase for BUG#7885
sql/item_subselect.cc:
  Fix for BUG#7885: In Item_subselect::fix_fields, return error if engine->prepare fails.
  Also removed redundant code line.
2005-01-18 17:26:05 +03:00
a9eef185c6 subselect.result, subselect.test:
Added a couple of new test cases for bug #7351.


mysql-test/t/subselect.test:
  Added a couple of new test cases for bug #7351.
mysql-test/r/subselect.result:
  Added a couple of new test cases for bug #7351.
2004-12-26 02:04:40 -08:00
a4d840a09c subselect.result, subselect.test:
Added test cases for bug #7351.
item_cmpfunc.cc:
  Fixed bug #7351: incorrect result for a query with a
  subquery returning empty set.
  If in the predicate v IN (SELECT a FROM t WHERE cond)
  v is null, then the result of the predicate is either
  INKNOWN or FALSE. It is FALSE if the subquery returns
  an empty set.
item_subselect.cc:
  Fixed bug #7351: incorrect result for a query with a
  subquery returning empty set.
  The problem was due to not a quite legal transformation
  for 'IN' subqueries. A subquery containing a predicate
  of the form
  v IN (SELECT a FROM t WHERE cond)
  was transformed into
  EXISTS(SELECT a FROM t WHERE cond AND (a=v OR a IS NULL)).
  Yet, this transformation is valid only if v is not null.
  If v is null, then, in the case when
  (SELECT a FROM t WHERE cond) returns an empty set the value
  of the predicate is FALSE, otherwise the result of the
  predicate is INKNOWN.
  The fix resolves this problem by changing the result
  of the transformation to
  EXISTS(SELECT a FROM t WHERE cond AND (v IS NULL OR (a=v OR a IS NULL)))
  in the case when v is nullable.
  The new transformation prevents applying the lookup
  optimization for IN subqueries. To make it still
  applicable we have to introduce guarded access methods.


sql/item_subselect.cc:
  Fixed bug #7351: incorrect result for a query with a
  subquery returning empty set.
  The problem was due to not a quite legal transformation
  for 'IN' subqueries. A subquery containing a predicate
  of the form
  v IN (SELECT a FROM t WHERE cond)
  was transformed into
  EXISTS(SELECT a FROM t WHERE cond AND (a=v OR a IS NULL)).
  Yet, this transformation is valid only if v is not null.
  If v is null, then, in the case when
  (SELECT a FROM t WHERE cond) returns an empty set the value
  of the predicate is FALSE, otherwise the result of the
  predicate is INKNOWN.
  The fix resolves this problem by changing the result
  of the transformation to
  EXISTS(SELECT a FROM t WHERE cond AND (v IS NULL OR (a=v OR a IS NULL)))
  in the case when v is nullable.
  The new transformation prevents applying the lookup
  optimization for IN subqueries. To make it still
  applicable we have to introduce guarded access methods.
sql/item_cmpfunc.cc:
  Fixed bug #7351: incorrect result for a query with a
  subquery returning empty set.
  If in the predicate v IN (SELECT a FROM t WHERE cond)
  v is null, then the result of the predicate is either
  INKNOWN or FALSE. It is FALSE if the subquery returns
  an empty set.
mysql-test/t/subselect.test:
  Added test cases for bug #7351.
mysql-test/r/subselect.result:
  Added test cases for bug #7351.
2004-12-25 19:17:57 -08:00
e938cfcea6 Clean-up.
TYPE=MyISAM replaced with ENGINE=MyISAM.
2004-12-14 18:47:34 +04:00
3ce0df5937 new reference which refer to current value not to result used for resolving outer
refernces if subqueri is not in HAVING clause (BUG#7079)
  and the same used for subquery transformetion


mysql-test/r/subselect.result:
  reference on changable fields from subquery
mysql-test/t/subselect.test:
  reference on changable fields from subquery
sql/item.cc:
  new reference which refer to current value not to result used
sql/item.h:
  new reference which refer to current value not to result used
sql/item_subselect.cc:
  new reference which refer to current value not to result used
2004-12-11 17:13:19 +02:00
b9d9c31430 merge
sql/item_cmpfunc.cc:
  Auto merged
sql/item_cmpfunc.h:
  Auto merged
sql/item_sum.cc:
  Auto merged
sql/sql_class.cc:
  Auto merged
sql/sql_parse.cc:
  Auto merged
2004-12-07 09:07:37 +02:00
b2f7b5bd64 merge 2004-12-03 23:24:41 +02:00
0a24ac9ed2 Merge
sql/sql_class.h:
  Auto merged
sql/sql_parse.cc:
  Auto merged
sql/sql_select.cc:
  Auto merged
mysql-test/r/subselect.result:
  SCCS merged
mysql-test/t/subselect.test:
  SCCS merged
2004-12-01 10:25:11 +02:00
8127cea512 init values to avoid junk returning in case of null value asking without assigning value (BUG#6806)
mysql-test/r/subselect.result:
   Equal operation under row and empty subquery
mysql-test/t/subselect.test:
   Equal operation under row and empty subquery
sql/item.h:
  init values to avoid junk returning in case of null value asking without assigning value
2004-11-25 22:54:49 +02:00
4389be7557 Fix for bug #6462 "Same request on same data returns different
results." a.k.a. "Proper cleanup of subqueries is missing for SET and DO
statements". (Version #2 with after-review fixes).

To perform proper cleanup for statements that can contain subqueries 
but don't have main select we must call free_undelaid_joins().


mysql-test/r/subselect.result:
  Added test for bug #6462 "Same request on same data returns different
  results." a.k.a. "Proper cleanup of subqueries is missing for SET and DO
  statements".
mysql-test/t/subselect.test:
  Added test for bug #6462 "Same request on same data returns different
  results." a.k.a. "Proper cleanup of subqueries is missing for SET and DO
  statements".
sql/set_var.cc:
  Added missing cleanup of joins used in subqueries to SET statement.
sql/sql_do.cc:
  Added missing cleanup of joins used in subqueries to DO statement.
2004-11-22 13:05:10 +03:00
9438c2ca76 reporting empty result added in case of max/min optimisation of ALL/ANY/SOME subqueries
fixed null processing in NOT operation used in ALL subquery (Bug #6247)


mysql-test/r/subselect.result:
  new tests of ALL/ANY wiews
mysql-test/t/subselect.test:
  new tests of ALL/ANY wiews
sql/item_cmpfunc.cc:
  fixed special NOT ALL processing
  fixed processing max/min optimized subqueries with empty results (added methods to detect empty results) and special NOP operation to process them for SOME/ANY sobqueries
sql/item_cmpfunc.h:
  fixed processing max/min optimized subqueries with empty results (added methods to detect empty results) and special NOP operation to process them for SOME/ANY sobqueries
sql/item_subselect.cc:
  reporting empty result added for max/min subqueries
sql/item_subselect.h:
  reporting empty result added for max/min subqueries
sql/item_sum.cc:
  reporting empty result added fox max/min aggregate functions
sql/item_sum.h:
  reporting empty result added fox max/min aggregate functions
sql/sql_class.cc:
  reporting empty result added for max/min subqueries
sql/sql_parse.cc:
  reporting empty result added for max/min subqueries
sql/sql_union.cc:
  reporting empty result added for max/min subqueries
2004-11-18 18:10:07 +02:00
70ed3160d9 backport Serg's fix of FT interface (BUG#6523)
mysql-test/r/subselect.result:
  subqueries with full text search
mysql-test/t/subselect.test:
  subqueries with full text search
sql/ha_myisam.h:
  backport Serg's fix of FT interface
sql/handler.h:
  backport Serg's fix of FT interface
sql/opt_range.h:
  backport Serg's fix of FT interface
sql/sql_select.cc:
  comment for previous patch
2004-11-16 22:58:02 +02:00