Commit graph

88 commits

Author SHA1 Message Date
Alexey Kopytov
505346028f Bug #46159: simple query that never returns
The external 'for' loop in remove_dup_with_compare() handled 
HA_ERR_RECORD_DELETED by just starting over without advancing 
to the next record which caused an infinite loop. 
 
This condition could be triggered on certain data by a SELECT 
query containing DISTINCT, GROUP BY and HAVING clauses. 

Fixed remove_dup_with_compare() so that we always advance to 
the next record when receiving HA_ERR_RECORD_DELETED from 
rnd_next(). 

mysql-test/r/distinct.result:
  Added a test case for bug #46159.
mysql-test/t/distinct.test:
  Added a test case for bug #46159.
sql/sql_select.cc:
  Fixed remove_dup_with_compare() so that we always advance to 
  the next record when receiving HA_ERR_RECORD_DELETED from 
  rnd_next().
2009-09-06 00:42:17 +04:00
Ramil Kalimullin
3c08b9b1ab Manual merge. 2009-05-10 21:20:35 +05:00
Ramil Kalimullin
bd414485de Fix for bug#42009: SELECT into variable gives different results to direct SELECT
Problem: storing "SELECT ... INTO @var ..." results in variables we used val_xxx()
methods which returned results of the current row. 
So, in some cases (e.g. SELECT DISTINCT, GROUP BY or HAVING) we got data
from the first row of a new group (where we evaluate a clause) instead of
data from the last row of the previous group.

Fix: use val_xxx_result() counterparts to get proper results.


mysql-test/r/distinct.result:
  Fix for bug#42009: SELECT into variable gives different results to direct SELECT
    - results adjusted.
mysql-test/r/user_var.result:
  Fix for bug#42009: SELECT into variable gives different results to direct SELECT
    - test result.
mysql-test/t/user_var.test:
  Fix for bug#42009: SELECT into variable gives different results to direct SELECT
    - test case.
sql/item_func.cc:
  Fix for bug#42009: SELECT into variable gives different results to direct SELECT
    - Item_func_set_user_var::save_item_result() added to evaluate and store 
      an item's result into a user variable.
sql/item_func.h:
  Fix for bug#42009: SELECT into variable gives different results to direct SELECT
    - Item_func_set_user_var::save_item_result() added to evaluate and store 
      an item's result into a user variable.
sql/sql_class.cc:
  Fix for bug#42009: SELECT into variable gives different results to direct SELECT
    - use Item_func_set_user_var::save_item_result() to store results into user 
      variables.
2009-02-24 18:47:12 +04:00
Mats Kindahl
1f6e419d79 Post-merge fixes to fix test cases.
mysql-test/extra/rpl_tests/rpl_log.test:
  Using RESET MASTER in the middle of a sequence of statements cause
  a race condition between the dump thread sending the preceeding
  statements to the slave and the RESET MASTER.
mysql-test/suite/federated/federated.test:
  Fixing include paths.
mysql-test/suite/federated/federated_bug_25714.test:
  Removing extreneous lines added by merge.
mysql-test/suite/rpl/t/rpl_circular_for_4_hosts.test:
  Correcting typo (the spaces following the connection name was included as part of the name).
mysql-test/t/distinct.test:
  Correcting paths.
2008-10-29 18:38:18 +01:00
Patrick Crews
446fd5044c Merge 5.0 -> 5.1 2008-09-30 15:32:35 -04:00
Patrick Crews
f5c1c9af8e Bug#38311 - Fix of some cruft from remove_files in ndb_autodiscover.test, clean up of distinct.test,
and replacing error numbers with error names.
2008-09-23 05:24:32 -04:00
unknown
61f6c60274 Fixed bug#35844.
The function test_if_skip_sort_order ignored any covering index used for ref
access of a table in a query with ORDER BY if this index was incompatible 
with the ORDER BY list and there was another covering index compatible with
this list. 
As a result sub-optimal execution plans were chosen for some queries with
ORDER BY clause. 


mysql-test/r/distinct.result:
  Adjusted results after the fix for bug#35844.
mysql-test/r/order_by.result:
  Added a test case for bug#35844.
mysql-test/t/order_by.test:
  Added a test case for bug#35844.
2008-04-22 21:49:39 -07:00
unknown
b4b72fb306 Fix for bug #34928: Confusion by having Primary Key and Index
The bug is a regression introduced in 5.1 by the patch for bug28404.

Under some circumstances test_if_skip_sort_order() could leave some
data structures in an inconsistent state so that some parts of code
could assume the selected execution strategy for GROUP BY/DISTINCT as
a loose index scan (e.g. JOIN_TAB::is_using_loose_index_scan()), while
the actual strategy chosen was an ordered index scan, which led to
wrong data being returned.

Fixed test_if_skip_sort_order() so that when changing the type for a
join table, select->quick is reset not only for EXPLAIN, but for the 
actual join execution as well, to not confuse code that depends on its
value to determine the chosen GROUP BY/DISTINCT strategy.


mysql-test/r/distinct.result:
  Added a test case for bug #34928.
mysql-test/t/distinct.test:
  Added a test case for bug #34928.
sql/sql_select.cc:
  When changing the table's join type to JT_NEXT in 
  test_if_skip_sort_order(), also reset select->quick because other
  code may depend on its value to determine the GROUP BY/DISTINCT
  execution strategy.
2008-03-26 19:37:36 +03:00
unknown
22440b5387 Bug #30596 GROUP BY optimization gives wrong result order
The optimization that uses a unique index to remove GROUP BY did not 
ensure that the index was actually used, thus violating the ORDER BY
that is implied by GROUP BY.
Fixed by replacing GROUP BY with ORDER BY if the GROUP BY clause contains
a unique index over non-nullable field(s). In case GROUP BY ... ORDER BY 
null is used, GROUP BY is simply removed.


mysql-test/include/mix1.inc:
  Bug#30596: Test case for InnoDB
  Here, as opposed to for MyISAM, row lookup is done using index 
  whenever the index covers the group list.
mysql-test/r/distinct.result:
  Bug#30596: Changed test case. 
  Prior to Bug#16458, These queries use temp table and filesort. The
  bug was that they used a temp table. However, that patch removed
  filesort also, in which case we can no longer gurantee correct ordering.
mysql-test/r/group_by.result:
  Bug#30596: Correct result
  The test case for IGNORE INDEX FOR GROUP BY gets degraded performance 
  (unneccesary filesort). This is due to Bug#30665, which will be fixed separately.
mysql-test/r/innodb_mysql.result:
  Bug#30596: Test result
mysql-test/t/group_by.test:
  Bug#30596: Test case
sql/sql_select.cc:
  Bug#30596: The fix: 
  - replace GROUP BY with ORDER BY unless ORDER BY [NULL|<constant>]
  - make sure to use the keys for GROUP BY in this ORDER BY.
2007-08-28 18:01:29 +02:00
unknown
2368664681 Bug #30596 GROUP BY optimization gives wrong result order
The optimization that uses a unique index to remove GROUP BY, did not 
ensure that the index was actually used, thus violating the ORDER BY
that is impled by GROUP BY.
Fixed by replacing GROUP BY with ORDER BY if the GROUP BY clause contains
a unique index. In case GROUP BY ... ORDER BY null is used, GROUP BY is
simply removed.


BitKeeper/etc/ignore:
  Added support-files/mysqld_multi.server tests/bug25714 cscope.in.out cscope.out cscope.po.out to the ignore list
mysql-test/r/distinct.result:
  Bug#30596: Changed test case. 
  Prior to Bug#16458, These queries use temp table and filesort. The
  bug was that they used a temp table. However, that patch removed
  filesort also, in which case we can no longer gurantee correct ordering.
mysql-test/r/group_by.result:
  Bug#30596: Correct result
mysql-test/r/innodb_mysql.result:
  Bug#30596: Test case for innodb. Here, as opposed to for MyISAM, row 
  lookup is done using index whenever the index covers the group list.
mysql-test/t/group_by.test:
  Bug#30596: Test case
mysql-test/t/innodb_mysql.test:
  Bug#30596: Test case
sql/sql_select.cc:
  Bug#30596: The fix, replacing GROUP BY with ORDER BY unless 
  ORDER BY [NULL|<constant>]
2007-08-27 17:33:41 +02:00
unknown
c90493749a Fixed bug#28404.
This patch adds cost estimation for the queries with ORDER BY / GROUP BY
and LIMIT. 
If there was a ref/range access to the table whose rows were required
to be ordered in the result set the optimizer always employed this access
though a scan by a different index that was compatible with the required 
order could be cheaper to produce the first L rows of the result set.
Now for such queries the optimizer makes a choice between the cheapest
ref/range accesses not compatible with the given order and index scans
compatible with it.


mysql-test/r/distinct.result:
  Adjusted results for test cases affected fy the fix for bug #28404.
mysql-test/r/endspace.result:
  Adjusted results for test cases affected fy the fix for bug #28404.
mysql-test/r/group_by.result:
  Adjusted results for test cases affected fy the fix for bug #28404.
mysql-test/r/group_min_max.result:
  Adjusted results for test cases affected fy the fix for bug #28404.
mysql-test/r/innodb.result:
  Adjusted results for test cases affected fy the fix for bug #28404.
mysql-test/r/innodb_mysql.result:
  Adjusted results for test cases affected fy the fix for bug #28404.
mysql-test/r/merge.result:
  Adjusted results for test cases affected fy the fix for bug #28404.
mysql-test/r/order_by.result:
  Added a test case for bug #28404.
mysql-test/r/select_found.result:
  Adjusted results for test cases affected fy the fix for bug #28404.
mysql-test/r/subselect.result:
  Adjusted results for test cases affected fy the fix for bug #28404.
mysql-test/t/distinct.test:
  Changed a test case after adding the fix for bug #28404.
mysql-test/t/order_by.test:
  Added a test case for bug #28404.
sql/sql_select.cc:
  Fixed bug#28404.
  This patch adds cost estimation for the queries with ORDER BY / GROUP BY
  and LIMIT. 
  Now for such queries the optimizer makes a choice between the cheapest
  ref/range accesses not compatible with the given order and index scans
  compatible with it.
  
  Modified the function test_if_skip_sort_order to make the above mentioned
  choice cost based.
sql/sql_select.h:
  Fixed bug#28404.
  This patch adds cost estimation for the queries with ORDER BY / GROUP BY
  and LIMIT. 
  Added a new field fot the JOIN_TAB structure.
2007-08-02 12:45:56 -07:00
unknown
aff34a8c64 Bug #27531: 5.1 part of the fix
- Renamed "Using join cache" to "Using join buffer".
- "Using join buffer" is now printed on the last
  table that "reads" from the join buffer cache.


mysql-test/r/archive_gis.result:
  Bug #27531: renamed "Using join cache" to "Using join buffer"
  and moved to the last table in the batch.
mysql-test/r/compress.result:
  Bug #27531: renamed "Using join cache" to "Using join buffer"
  and moved to the last table in the batch.
mysql-test/r/ctype_utf8.result:
  Bug #27531: renamed "Using join cache" to "Using join buffer"
  and moved to the last table in the batch.
mysql-test/r/derived.result:
  Bug #27531: renamed "Using join cache" to "Using join buffer"
  and moved to the last table in the batch.
mysql-test/r/distinct.result:
  Bug #27531: renamed "Using join cache" to "Using join buffer"
  and moved to the last table in the batch.
mysql-test/r/func_group.result:
  Bug #27531: renamed "Using join cache" to "Using join buffer"
  and moved to the last table in the batch.
mysql-test/r/func_group_innodb.result:
  Bug #27531: renamed "Using join cache" to "Using join buffer"
  and moved to the last table in the batch.
mysql-test/r/gis.result:
  Bug #27531: renamed "Using join cache" to "Using join buffer"
  and moved to the last table in the batch.
mysql-test/r/greedy_optimizer.result:
  Bug #27531: renamed "Using join cache" to "Using join buffer"
  and moved to the last table in the batch.
mysql-test/r/group_by.result:
  Bug #27531: renamed "Using join cache" to "Using join buffer"
  and moved to the last table in the batch.
mysql-test/r/group_min_max.result:
  Bug #27531: renamed "Using join cache" to "Using join buffer"
  and moved to the last table in the batch.
mysql-test/r/index_merge_myisam.result:
  Bug #27531: renamed "Using join cache" to "Using join buffer"
  and moved to the last table in the batch.
mysql-test/r/information_schema.result:
  Bug #27531: renamed "Using join cache" to "Using join buffer"
  and moved to the last table in the batch.
mysql-test/r/innodb_gis.result:
  Bug #27531: renamed "Using join cache" to "Using join buffer"
  and moved to the last table in the batch.
mysql-test/r/innodb_mysql.result:
  Bug #27531: renamed "Using join cache" to "Using join buffer"
  and moved to the last table in the batch.
mysql-test/r/join.result:
  Bug #27531: renamed "Using join cache" to "Using join buffer"
  and moved to the last table in the batch.
mysql-test/r/join_nested.result:
  Bug #27531: renamed "Using join cache" to "Using join buffer"
  and moved to the last table in the batch.
mysql-test/r/key_diff.result:
  Bug #27531: renamed "Using join cache" to "Using join buffer"
  and moved to the last table in the batch.
mysql-test/r/myisam.result:
  Bug #27531: renamed "Using join cache" to "Using join buffer"
  and moved to the last table in the batch.
mysql-test/r/ndb_condition_pushdown.result:
  Bug #27531: renamed "Using join cache" to "Using join buffer"
  and moved to the last table in the batch.
mysql-test/r/ndb_gis.result:
  Bug #27531: renamed "Using join cache" to "Using join buffer"
  and moved to the last table in the batch.
mysql-test/r/range.result:
  Bug #27531: renamed "Using join cache" to "Using join buffer"
  and moved to the last table in the batch.
mysql-test/r/row.result:
  Bug #27531: renamed "Using join cache" to "Using join buffer"
  and moved to the last table in the batch.
mysql-test/r/select.result:
  Bug #27531: renamed "Using join cache" to "Using join buffer"
  and moved to the last table in the batch.
mysql-test/r/ssl.result:
  Bug #27531: renamed "Using join cache" to "Using join buffer"
  and moved to the last table in the batch.
mysql-test/r/ssl_compress.result:
  Bug #27531: renamed "Using join cache" to "Using join buffer"
  and moved to the last table in the batch.
mysql-test/r/subselect.result:
  Bug #27531: renamed "Using join cache" to "Using join buffer"
  and moved to the last table in the batch.
mysql-test/r/subselect3.result:
  Bug #27531: renamed "Using join cache" to "Using join buffer"
  and moved to the last table in the batch.
mysql-test/r/union.result:
  Bug #27531: renamed "Using join cache" to "Using join buffer"
  and moved to the last table in the batch.
mysql-test/r/view.result:
  Bug #27531: renamed "Using join cache" to "Using join buffer"
  and moved to the last table in the batch.
sql/sql_select.cc:
  Bug #27531: renamed "Using join cache" to "Using join buffer"
  and moved to the last table in the batch.
2007-05-29 15:58:18 +03:00
unknown
0c835da803 bug #27531: 5.1 part of the fix:
- added join cache indication in EXPLAIN (Extra column).
 - prefer filesort over full scan over 
   index for ORDER BY (because it's faster).
 - when switching from REF to RANGE because
   RANGE uses longer key turn off sort on
   the head table only as the resulting 
   RANGE access is a candidate for join cache
   and we don't want to disable it by sorting
   on the first table only. 


mysql-test/r/archive_gis.result:
  bug #27531: join cache in EXPLAIN
mysql-test/r/compress.result:
  bug #27531:
   - join cache in EXPLAIN. 
   - prefer filesort over full scan over index for ORDER BY.
mysql-test/r/ctype_utf8.result:
  bug #27531: join cache in EXPLAIN
mysql-test/r/derived.result:
  bug #27531: join cache in EXPLAIN
mysql-test/r/distinct.result:
  bug #27531: join cache in EXPLAIN
mysql-test/r/func_group.result:
  bug #27531: join cache in EXPLAIN
mysql-test/r/func_group_innodb.result:
  bug #27531: join cache in EXPLAIN
mysql-test/r/gis.result:
  bug #27531: join cache in EXPLAIN
mysql-test/r/greedy_optimizer.result:
  bug #27531: join cache in EXPLAIN
mysql-test/r/group_by.result:
  bug #27531: join cache in EXPLAIN
mysql-test/r/group_min_max.result:
  bug #27531: join cache in EXPLAIN
mysql-test/r/index_merge_myisam.result:
  bug #27531: join cache in EXPLAIN
mysql-test/r/information_schema.result:
  bug #27531: join cache in EXPLAIN
mysql-test/r/innodb_gis.result:
  bug #27531: join cache in EXPLAIN
mysql-test/r/innodb_mysql.result:
  bug #27531: join cache in EXPLAIN
mysql-test/r/join.result:
  bug #27531: join cache in EXPLAIN
mysql-test/r/join_nested.result:
  bug #27531: join cache in EXPLAIN
mysql-test/r/key_diff.result:
  bug #27531: join cache in EXPLAIN
mysql-test/r/myisam.result:
  bug #27531: join cache in EXPLAIN
mysql-test/r/ndb_condition_pushdown.result:
  bug #27531: join cache in EXPLAIN
mysql-test/r/ndb_gis.result:
  bug #27531: join cache in EXPLAIN
mysql-test/r/range.result:
  bug #27531: join cache in EXPLAIN
mysql-test/r/row.result:
  bug #27531: join cache in EXPLAIN
mysql-test/r/select.result:
  bug #27531:
   - join cache in EXPLAIN.
   - prefer filesort over full scan over index for ORDER BY.
mysql-test/r/ssl.result:
  bug #27531:
   - join cache in EXPLAIN.
   - prefer filesort over full scan over index for ORDER BY.
mysql-test/r/ssl_compress.result:
  bug #27531:
   - join cache in EXPLAIN.
   - prefer filesort over full scan over index for ORDER BY.
mysql-test/r/subselect.result:
  bug #27531: join cache in EXPLAIN
mysql-test/r/subselect3.result:
  bug #27531: join cache in EXPLAIN
mysql-test/r/union.result:
  bug #27531: join cache in EXPLAIN
mysql-test/r/view.result:
  bug #27531: join cache in EXPLAIN
sql/sql_select.cc:
  bug #27531:
   - join cache in EXPLAIN.
   - prefer filesort over full scan over
     index for ORDER BY.
   - disable sorting on the first table only
     when switching from REF to RANGE.
2007-05-04 18:06:06 +03:00
unknown
2031f55751 Merge mysql.com:/d2/hf/mrg/mysql-5.0-opt
into  mysql.com:/d2/hf/mrg/mysql-5.1-opt


mysql-test/r/alter_table.result:
  Auto merged
mysql-test/r/distinct.result:
  Auto merged
mysql-test/r/heap.result:
  Auto merged
mysql-test/r/ps_2myisam.result:
  Auto merged
mysql-test/r/ps_3innodb.result:
  Auto merged
mysql-test/r/ps_4heap.result:
  Auto merged
mysql-test/r/ps_5merge.result:
  Auto merged
mysql-test/r/ps_7ndb.result:
  Auto merged
mysql-test/r/query_cache.result:
  Auto merged
BitKeeper/deleted/.del-CMakeLists.txt~1:
  Auto merged
BitKeeper/deleted/.del-ps_6bdb.result:
  Auto merged
mysql-test/t/alter_table.test:
  Auto merged
mysys/my_error.c:
  Auto merged
sql/field.cc:
  Auto merged
sql/field.h:
  Auto merged
sql/item.cc:
  Auto merged
sql/item.h:
  Auto merged
sql/item_cmpfunc.cc:
  Auto merged
sql/item_cmpfunc.h:
  Auto merged
sql/item_sum.cc:
  Auto merged
sql/key.cc:
  Auto merged
sql/sql_select.cc:
  Auto merged
sql/table.cc:
  Auto merged
tests/mysql_client_test.c:
  Auto merged
mysql-test/include/mix1.inc:
  merging
mysql-test/r/group_by.result:
  SCCS merged
mysql-test/r/innodb_mysql.result:
  merging
mysql-test/r/join.result:
  merging
mysql-test/r/subselect.result:
  merging
mysql-test/r/type_datetime.result:
  SCCS merged
mysql-test/r/windows.result:
  SCCS merged
mysql-test/t/group_by.test:
  SCCS merged
mysql-test/t/join.test:
  merging
mysql-test/t/subselect.test:
  merging
mysql-test/t/type_datetime.test:
  merging
mysql-test/t/windows.test:
  SCCS merged
sql/item_timefunc.cc:
  merging
sql/sql_base.cc:
  SCCS merged
storage/innobase/handler/ha_innodb.cc:
  merging
2007-04-29 13:19:32 +05:00
unknown
7bb6a72593 Bug#27590: Wrong DATE/DATETIME comparison.
DATE and DATETIME can be compared either as strings or as int. Both
methods have their disadvantages. Strings can contain valid DATETIME value
but have insignificant zeros omitted thus became non-comparable with
other DATETIME strings. The comparison as int usually will require conversion
from the string representation and the automatic conversion in most cases is
carried out in a wrong way thus producing wrong comparison result. Another
problem occurs when one tries to compare DATE field with a DATETIME constant.
The constant is converted to DATE losing its precision i.e. losing time part.

This fix addresses the problems described above by adding a special
DATE/DATETIME comparator. The comparator correctly converts DATE/DATETIME
string values to int when it's necessary, adds zero time part (00:00:00)
to DATE values to compare them correctly to DATETIME values. Due to correct
conversion malformed DATETIME string values are correctly compared to other
DATE/DATETIME values.

As of this patch a DATE value equals to DATETIME value with zero time part.
For example '2001-01-01' equals to '2001-01-01 00:00:00'.

The compare_datetime() function is added to the Arg_comparator class.
It implements the correct comparator for DATE/DATETIME values.
Two supplementary functions called get_date_from_str() and get_datetime_value()
are added. The first one extracts DATE/DATETIME value from a string and the
second one retrieves the correct DATE/DATETIME value from an item.
The new Arg_comparator::can_compare_as_dates() function is added and used
to check whether two given items can be compared by the compare_datetime()
comparator.
Two caching variables were added to the Arg_comparator class to speedup the
DATE/DATETIME comparison.
One more store() method was added to the Item_cache_int class to cache int
values.
The new is_datetime() function was added to the Item class. It indicates
whether the item returns a DATE/DATETIME value.


sql/item.cc:
  Bug#27590: Wrong DATE/DATETIME comparison.
  One more store() method was added to the Item_cache_int class to cache int
  values.
  The new is_datetime() function was added to the Item class. It indicates
  whether the item returns a DATE/DATETIME value.
sql/item.h:
  Bug#27590: Wrong DATE/DATETIME comparison.
  One more store() method was added to the Item_cache_int class to cache int
  values.
  The new is_datetime() function was added to the Item class. It indicates
  whether the item returns a DATE/DATETIME value.
sql/item_cmpfunc.cc:
  Bug#27590: Wrong DATE/DATETIME comparison.
  The compare_datetime() function is added to the Arg_comparator class.
  It implements the correct comparator for DATE/DATETIME values.
  Two supplementary functions called get_date_from_str() and get_datetime_value()
  are added. The first one extracts DATE/DATETIME value from a string and the
  second one retrieves the correct DATE/DATETIME value from an item.
  The new Arg_comparator::can_compare_as_dates() function is added and used
  to check whether two given items can be compared by the compare_datetime()
  comparator.
sql/item_cmpfunc.h:
  Bug#27590: Wrong DATE/DATETIME comparison.
  The compare_datetime() function is added to the Arg_comparator class.
  It implements the correct comparator for DATE/DATETIME values.
  Two supplementary functions called get_date_from_str() and get_datetime_value()
  are added. The first one extracts DATE/DATETIME value from a string and the
  second one retrieves the correct DATE/DATETIME value from an item.
  The new Arg_comparator::can_compare_as_dates() function is added and used
  to check whether two given items can be compared by the compare_datetime()
  comparator.
  Two caching variables were added to the Arg_comparator class to speedup the
  DATE/DATETIME comparison.
mysql-test/include/ps_conv.inc:
  Test case adjusted after fix for bug#27590.
mysql-test/r/distinct.result:
  Test cases results are corrected after fix for bug#27590.
sql/sql_select.cc:
  Bug#27590: Wrong DATE/DATETIME comparison.
  The test_if_equality_guarantees_uniqueness() function now uses
  Arg_comparator::can_compare_as_dates() to detect comparable DATE/DATETIME items.
mysql-test/r/ps_2myisam.result:
  The result of the adjusted test case after fix for bug#27590.
mysql-test/r/ps_3innodb.result:
  The result of the adjusted test case after fix for bug#27590.
mysql-test/r/ps_4heap.result:
  The result of the adjusted test case after fix for bug#27590.
mysql-test/r/ps_5merge.result:
  The result of the adjusted test case after fix for bug#27590.
mysql-test/r/subselect.result:
  Test cases results are corrected after fix for bug#27590.
mysql-test/r/type_datetime.result:
  Added a test case for the bug#27590: Wrong DATE/DATETIME comparison.
mysql-test/t/type_datetime.test:
  Added a test case for the bug#27590: Wrong DATE/DATETIME comparison.
tests/mysql_client_test.c:
  Test case adjusted after fix for bug#27590.
2007-04-27 00:12:09 +04:00
unknown
91d3299ce6 Merge olga.mysql.com:/home/igor/mysql-5.0-opt
into  olga.mysql.com:/home/igor/mysql-5.1-opt


mysql-test/r/distinct.result:
  Auto merged
mysql-test/r/row.result:
  Auto merged
mysql-test/r/select.result:
  Auto merged
mysql-test/r/strict.result:
  Auto merged
mysql-test/t/select.test:
  Auto merged
mysql-test/t/strict.test:
  Auto merged
sql/sql_select.cc:
  Auto merged
sql/sql_table.cc:
  Auto merged
sql/item_cmpfunc.cc:
  Manual merge
2007-04-11 15:12:49 -07:00
unknown
041767e123 Bug #27659:
The optimizer transforms DISTINCT into a GROUP BY
when possible.
It does that by constructing the same structure
(a list of ORDER instances) the parser makes when
parsing GROUP BY.
While doing that it also eliminates duplicates.
But if a duplicate is found it doesn't advance the
pointer to ref_pointer array, so the next 
(and subsequent) ORDER structures point to the wrong
element in the SELECT list.
Fixed by advancing the pointer in ref_pointer_array
even in the case of a duplicate.


mysql-test/r/distinct.result:
  Bug #27659: test case
mysql-test/t/distinct.test:
  Bug #27659: test case
sql/sql_select.cc:
  Bug #27659: use correct ref_pointer_array element
2007-04-10 16:55:48 +03:00
unknown
ed0e4a968a Merge mysql.com:/home/gluh/MySQL/Merge/5.0-opt
into  mysql.com:/home/gluh/MySQL/Merge/5.1-opt


mysql-test/r/distinct.result:
  Auto merged
mysql-test/r/join_nested.result:
  Auto merged
mysql-test/r/null_key.result:
  Auto merged
mysql-test/r/select.result:
  Auto merged
mysql-test/r/subselect.result:
  Auto merged
mysql-test/r/subselect3.result:
  Auto merged
mysql-test/r/trigger.result:
  Auto merged
mysql-test/t/select.test:
  Auto merged
mysql-test/t/subselect.test:
  Auto merged
mysql-test/t/trigger.test:
  Auto merged
sql/filesort.cc:
  Auto merged
sql/item.cc:
  Auto merged
sql/item.h:
  Auto merged
sql/item_cmpfunc.cc:
  Auto merged
sql/item_cmpfunc.h:
  Auto merged
sql/item_func.cc:
  Auto merged
sql/item_subselect.cc:
  Auto merged
sql/item_timefunc.cc:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/opt_sum.cc:
  Auto merged
sql/sql_base.cc:
  Auto merged
sql/sql_parse.cc:
  Auto merged
sql/sql_select.cc:
  Auto merged
sql/sql_show.cc:
  Auto merged
sql/sql_yacc.yy:
  Auto merged
sql/table.cc:
  Auto merged
mysql-test/r/func_time.result:
  manual merge
mysql-test/r/information_schema.result:
  manual merge
mysql-test/t/func_time.test:
  manual merge
mysql-test/t/information_schema.test:
  manual merge
sql/opt_range.cc:
  manual merge
sql/sql_delete.cc:
  manual merge
sql/sql_lex.h:
  manual merge
2007-02-02 10:25:45 +04:00
unknown
d01ec5e727 Bug #25551: inconsistent behaviour in grouping NULL, depending on index type
The optimizer takes away columns from GROUP BY/DISTINCT if they constitute
 all the parts of an unique index.
 However if some of the columns can contain NULLs this cannot be done 
(because an UNIQUE index can have multiple rows with NULL values).
 Fixed by not using UNIQUE indexes with nullable columns to remove
 grouping columns from GROUP BY/DISTINCT.


mysql-test/r/distinct.result:
  Bug #25551: inconsistent behaviour in grouping NULL, depending on index type
   - test case
mysql-test/t/distinct.test:
  Bug #25551: inconsistent behaviour in grouping NULL, depending on index type
   - test case
sql/sql_select.cc:
  Bug #25551: inconsistent behaviour in grouping NULL, depending on index type
   - UNIQUE NULL indices don't guarantee GROUP BY/DISTINCT.
2007-01-31 10:18:26 +02:00
unknown
cea66abf7b Merge macbook.local:/Users/kgeorge/mysql/work/mysql-5.0-opt
into  macbook.local:/Users/kgeorge/mysql/work/merge-5.1-opt


mysql-test/r/distinct.result:
  Auto merged
mysql-test/r/gis-rtree.result:
  Auto merged
mysql-test/r/ps.result:
  Auto merged
mysql-test/r/subselect.result:
  Auto merged
mysql-test/r/udf.result:
  Auto merged
mysql-test/t/gis-rtree.test:
  Auto merged
mysql-test/t/ps.test:
  Auto merged
mysql-test/t/subselect.test:
  Auto merged
mysql-test/t/udf.test:
  Auto merged
sql/item_subselect.cc:
  Auto merged
sql/item_subselect.h:
  Auto merged
sql/sql_lex.cc:
  Auto merged
sql/sql_select.cc:
  Auto merged
storage/myisam/mi_check.c:
  Auto merged
sql/sql_udf.cc:
  SCCS merged
2007-01-08 12:32:48 +02:00
unknown
42e31f7a45 Bug #15881: cast problems
The optimizer removes expressions from GROUP BY/DISTINCT
  if they happen to participate in a <expression> = <const>
  predicates of the WHERE clause (the idea being that if
  it's always equal to a constant it can't have multiple 
  values).
  However for predicates where the expression and the 
  constant item are of different result type this is not
  valid (e.g. a string column compared to 0).
  Fixed by additional check of the result types of the 
  expression and the constant and if they differ the 
  expression don't get removed from the group by list.


mysql-test/r/distinct.result:
  Bug #15881: cast problems
    - test case
mysql-test/t/distinct.test:
  Bug #15881: cast problems
    - test case
sql/sql_select.cc:
  Bug #15881: cast problems
    - can't use <expr>=<const> to remove GROUP BY/DISTINCT cols
      if they're not of the same type.
2007-01-05 14:02:50 +02:00
unknown
2592d4a139 Merge lamia.home:/home/timka/mysql/src/5.0-bug-21456
into  lamia.home:/home/timka/mysql/src/5.1-bug-21456


mysql-test/r/distinct.result:
  Auto merged
sql/sql_select.cc:
  Auto merged
2006-08-29 16:39:09 +03:00
unknown
e3181c59e7 Merge lamia.home:/home/timka/mysql/src/4.1-bug-21456
into  lamia.home:/home/timka/mysql/src/5.0-bug-21456


mysql-test/r/distinct.result:
  Merge the fix for BUG#21456
mysql-test/t/distinct.test:
  Merge the fix for BUG#21456
sql/sql_select.cc:
  Merge the fix for BUG#21456
2006-08-23 18:22:53 +03:00
unknown
2baf2fdf13 Bug #21456: SELECT DISTINCT(x) produces incorrect results when using order by
GROUP BY/DISTINCT pruning optimization must be done before ORDER BY 
optimization because ORDER BY may be removed when GROUP BY/DISTINCT
sorts as a side effect, e.g. in 
  SELECT DISTINCT <non-key-col>,<pk> FROM t1
  ORDER BY <non-key-col> DISTINCT
must be removed before ORDER BY as if done the other way around
it will remove both.


mysql-test/r/distinct.result:
  Test for BUG#21456.
mysql-test/t/distinct.test:
  Test for BUG#21456.
sql/sql_select.cc:
  Bug #21456: SELECT DISTINCT(x) produces incorrect results when using order by
  
  GROUP BY/DISTINCT pruning optimization must be done before ORDER BY 
  optimization because ORDER BY may be removed when GROUP BY/DISTINCT
  sorts as a side effect.
2006-08-23 16:46:57 +03:00
unknown
ef452e19bf BUG#14940 "MySQL choose wrong index", v.2
- 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
2006-07-28 21:27:01 +04:00
unknown
8f42d836dc 4.1->5.0 merge for bug #16458
mysql-test/r/distinct.result:
  4.1->5.0 merge for bug #16458
   * 5.0 is better in detecting duplicate columns
sql/sql_select.cc:
  4.1->5.0 merge for bug #16458
   * Should not do the optimization if using index for group by
   * chnaged structures in 5.0
2006-06-28 15:53:54 +03:00
unknown
6a4ec2e99d Merge mysql.com:/home/kgeorge/mysql/4.1/B16458
into  mysql.com:/home/kgeorge/mysql/5.0/B16458


sql/sql_select.cc:
  Auto merged
mysql-test/r/distinct.result:
  merge 4.1->5.0
mysql-test/t/distinct.test:
  merge 4.1->5.0
2006-06-27 17:59:49 +03:00
unknown
4b36c1d8ff Bug #16458: Simple SELECT FOR UPDATE causes "Result Set not updatable" error
'SELECT DISTINCT a,b FROM t1' should not use temp table if there is unique 
index (or primary key) on a.
There are a number of other similar cases that can be calculated without the
use of a temp table : multi-part unique indexes, primary keys or using GROUP BY 
instead of DISTINCT.
When a GROUP BY/DISTINCT clause contains all key parts of a unique
index, then it is guaranteed that the fields of the clause will be
unique, therefore we can optimize away GROUP BY/DISTINCT altogether.
This optimization has two effects:
* there is no need to create a temporary table to compute the
   GROUP/DISTINCT operation (or the temporary table will be smaller if only GROUP 
   is removed and DISTINCT stays or if DISTINCT is removed and GROUP BY stays)
* this causes the statement in effect to become updatable in Connector/Java
because the result set columns will be direct reference to the primary key of 
the table (instead to the temporary table that it currently references). 

Implemented a check that will optimize away GROUP BY/DISTINCT for queries like 
the above.
Currently it will work only for single non-constant table in the FROM clause.


mysql-test/r/distinct.result:
  Bug #16458: Simple SELECT FOR UPDATE causes "Result Set not updatable" error
    - test case
mysql-test/t/distinct.test:
  Bug #16458: Simple SELECT FOR UPDATE causes "Result Set not updatable" error
    - test case
sql/sql_select.cc:
  Bug #16458: Simple SELECT FOR UPDATE causes "Result Set not updatable" error
    - disable GROUP BY if contains the fields of a unique index.
2006-06-27 17:40:19 +03:00
unknown
baae7a97d9 BUG#18068: SELECT DISTINCT (with duplicates and covering index)
When converting DISTINCT to GROUP BY where the columns are from the covering
index and they are quoted twice in the SELECT list the optimizer is creating
improper processing sequence. This is because of the fact that the columns
of the covering index are not recognized as such and treated as non-index
columns.

Generally speaking duplicate columns can safely be removed from the GROUP
BY/DISTINCT list because this will not add or remove new rows in the
resulting set. Duplicates can be removed even if they are not consecutive
(as is the case for ORDER BY, where the duplicate columns can be removed
only if they are consecutive).

So we can safely transform "SELECT DISTINCT a,a FROM ... ORDER BY a" to
"SELECT a,a FROM ... GROUP BY a ORDER BY a" instead of 
"SELECT a,a FROM .. GROUP BY a,a ORDER BY a". We can even transform 
"SELECT DISTINCT a,b,a FROM ... ORDER BY a,b" to
"SELECT a,b,a FROM ... GROUP BY a,b ORDER BY a,b".

The fix to this bug consists of checking for duplicate columns in the SELECT
list when constructing the GROUP BY list in transforming DISTINCT to GROUP
BY and skipping the ones that are already in.


mysql-test/r/distinct.result:
  test case for the bug without loose index scan
mysql-test/r/group_min_max.result:
  test case for the bug
mysql-test/t/distinct.test:
  test case for the bug without loose index scan
mysql-test/t/group_min_max.test:
  test case for the bug
sql/sql_select.cc:
  duplicates check and removal
2006-05-09 18:13:01 +03:00
unknown
9c7ef53a65 bug #15745 (COUNT(DISTINCT CONCAT(x,y)) returns wrong result
mysql-test/r/distinct.result:
  result added
mysql-test/t/distinct.test:
  testcase
sql/item_sum.cc:
  MYSQL_TYPE_VARCHAR can't be 'binary' compared even when it is
  binary
2006-03-05 20:48:31 +04:00
unknown
c7d162a230 bad merge fixed
mysql-test/r/insert_select.result:
  duplicated test removed
mysql-test/t/insert_select.test:
  duplicated test removed
2005-09-15 21:05:42 +02:00
unknown
b481b3b7be Merge ibabaev@bk-internal.mysql.com:/home/bk/mysql-5.0
into rurik.mysql.com:/home/igor/mysql-5.0


mysql-test/r/distinct.result:
  Auto merged
mysql-test/t/distinct.test:
  Auto merged
sql/sql_select.cc:
  Auto merged
2005-08-22 09:40:10 -07:00
unknown
b221b549dd Merge c-4a09e253.1238-1-64736c10.cust.bredbandsbolaget.se:/home/pappa/mysql-4.1
into  c-4a09e253.1238-1-64736c10.cust.bredbandsbolaget.se:/home/pappa/mysql-5.0


heap/hp_delete.c:
  Auto merged
sql/sql_select.cc:
  Auto merged
mysql-test/r/distinct.result:
  Manual merge
mysql-test/t/distinct.test:
  Manual merge
2005-08-20 16:38:55 -04:00
unknown
3a143f4888 Manual merge
sql/sql_select.cc:
  Auto merged
2005-08-19 20:21:09 -07:00
unknown
01f4258a02 distinct.test, distinct.result:
Added test cases for bug #12625.
sql_select.cc:
  Fixed bug #12625.
  Fixed invalid removal of constant items from the DISTINCT
  list in the function create_distinct_group.


sql/sql_select.cc:
  Fixed bug #12625.
mysql-test/r/distinct.result:
  Added test cases for bug #12625.
mysql-test/t/distinct.test:
  Added test cases for bug #12625.
2005-08-19 01:57:22 -07:00
unknown
2fded7d5c4 Fix for bug #9764 (DISTINCT IFNULL truncates data)
mysql-test/r/create.result:
  test result fixed
mysql-test/r/distinct.result:
  test result fixed
mysql-test/t/distinct.test:
  test case added
sql/item_cmpfunc.cc:
  max_length should be calculated differently for DECIMAL_RESULT and others
2005-06-08 20:35:37 +05:00
unknown
8a27426fcd Tests and results fixed with last precision/decimal related modifications
mysql-test/r/case.result:
  test result fixed
mysql-test/r/create.result:
  test result fixed
mysql-test/r/distinct.result:
  test result fixed
mysql-test/r/func_group.result:
  test result fixed
mysql-test/r/func_op.result:
  test result fixed
mysql-test/r/group_by.result:
  test result fixed
mysql-test/r/metadata.result:
  test result fixed
mysql-test/r/olap.result:
  test result fixed
mysql-test/r/ps_2myisam.result:
  test result fixed
mysql-test/r/ps_3innodb.result:
  test result fixed
mysql-test/r/ps_4heap.result:
  test result fixed
mysql-test/r/ps_5merge.result:
  test result fixed
mysql-test/r/ps_6bdb.result:
  test result fixed
mysql-test/r/ps_7ndb.result:
  test result fixed
mysql-test/r/select.result:
  test result fixed
mysql-test/r/sp.result:
  test result fixed
mysql-test/r/type_decimal.result:
  test result fixed
mysql-test/r/type_newdecimal.result:
  test result fixed
mysql-test/r/union.result:
  test result fixed
mysql-test/r/variables.result:
  test result fixed
mysql-test/t/func_group.test:
  test modified
mysql-test/t/olap.test:
  test modified
mysql-test/t/type_decimal.test:
  test modified
2005-05-06 01:01:39 +05:00
unknown
6cb5736b9b Manual merge 2005-02-11 15:00:29 -08:00
unknown
cf78ff6947 distinct.result:
Adjustment of the result file after the revision of the fix for bug #7520.


mysql-test/r/distinct.result:
  Adjustment of the result file after the revision of the fix for bug #7520.
2005-02-11 13:44:54 -08:00
unknown
91db48e35a Precision Math implementation
BitKeeper/etc/ignore:
  Added client/decimal.c client/my_decimal.cc client/my_decimal.h to the ignore list
2005-02-09 02:50:45 +04:00
unknown
3cbfd4d931 Fix test results to account for difference between release BDB, debug BDB and MyISAM.
mysql-test/t/bdb.test:
  Fix test results to account for difference in results caused by different FP calculation results
  between release BDB and debug BDB
2004-12-31 14:48:11 +03:00
unknown
662b24f81e After merge adjustment of tests due to changes in cost estimates.
BitKeeper/etc/ignore:
  Added server-tools/instance-manager/mysqlmanager to the ignore list
2004-10-11 20:10:07 +03:00
unknown
d945033292 WL#1724 "Min/Max Optimization for Queries with Group By Clause"
- after-review changes
- merged with the source tree from 204-08-27


mysql-test/r/distinct.result:
  Different plans due to group-by optimization.
sql/ha_myisam.cc:
  More general interface to key_copy.
sql/handler.cc:
  More general interface to key_copy.
sql/item.cc:
  New method to collect all Item_field objects. Used by Item::walk.
sql/item.h:
  Several methods to collect different kinds of items from expression trees.
  Used by Item::walk.
sql/item_sum.cc:
  Added helper to collect Item_sum objects.
sql/item_sum.h:
  Methods to collect and test Item_sum objects.
sql/key.cc:
  More general interface to key_copy and key_restore.
sql/mysql_priv.h:
  More general interface to key_copy and key_restore.
sql/opt_range.cc:
  Complete implementaion of WL#1724 "Min/Max Optimization for Queries with Group By Clause".
sql/opt_range.h:
  Complete implementaion of WL#1724 "Min/Max Optimization for Queries with Group By Clause".
sql/opt_sum.cc:
  simple_pred is re-used in opt_range.cc
sql/sql_acl.cc:
  More general interface to key_copy and key_restore.
sql/sql_handler.cc:
  More general interface to key_copy.
sql/sql_insert.cc:
  More general interface to key_copy.
sql/sql_select.cc:
  Changes to hook the new QUICK_GROUP_MIN_MAX_SELECT due to two differences from all other
  quick selects:
  1)
  This quick select may be created (and used) even if there is no WHERE clause.
  Several places assumed that a QUICK_SELECT is constructed only if there is a WHERE clause,
  which had to be changed so that QUICK_GROUP_MIN_MAX can be used.
  2)
  Unlike all other quick selects, this QUICK_GROUP_MIN_MAX_SELECT operates for GROUP BY queries.
  Since for the caller the quick select already produces one result tuple per group, there is
  no need to call end_send_group, instead we have to call end_send as for a regular quick select.
sql/sql_select.h:
  simple_pred is re-used in opt_range.cc
2004-08-27 16:37:13 +03:00
unknown
a51ba6133d Complete implementation of WL#1469 "Greedy algorithm to search for an optimal execution plan",
consisting of pos-review fixes and improvements.


mysql-test/r/distinct.result:
  Adjusted to account for pre-sorting of tables before optimiziation.
mysql-test/r/func_group.result:
  Adjusted to account for pre-sorting of tables before optimiziation.
mysql-test/r/greedy_optimizer.result:
  - Adjusted to account for pre-sorting of tables before optimiziation.
  - Removed unnecessary test.
  - More comments.
mysql-test/r/select.result:
  - Adjusted to account for pre-sorting of tables before optimiziation.
mysql-test/t/greedy_optimizer.test:
  - Adjusted to account for pre-sorting of tables before optimiziation.
  - Removed unnecessary test.
  - More comments.
sql/mysql_priv.h:
  Moved function print_plan() to sql_test.cc
sql/sql_select.cc:
  - Simplified the recursion in best_extension_by_limited_search()
    and aligned it with its pseudo-code.
  - Renamed functions to better reflect their semantics.
  - Post-review changes of function specifications.
  - Moved function print_plan() to sql_test.cc.
sql/sql_test.cc:
  Moved function print_plan() to sql_test.cc
2004-05-10 15:48:50 +03:00
unknown
b8fa171850 Merge 4.1 to 5.0.
mysql-test/r/distinct.result:
  Auto merged
mysql-test/r/func_time.result:
  Auto merged
mysql-test/r/join_outer.result:
  Auto merged
mysql-test/r/multi_update.result:
  Auto merged
mysql-test/r/mysqldump.result:
  Auto merged
mysql-test/r/null.result:
  Auto merged
mysql-test/r/query_cache.result:
  Auto merged
mysql-test/r/show_check.result:
  Auto merged
mysql-test/r/status.result:
  Auto merged
mysql-test/r/subselect.result:
  Auto merged
mysql-test/r/symlink.result:
  Auto merged
mysql-test/t/distinct.test:
  Auto merged
mysql-test/t/func_time.test:
  Auto merged
mysql-test/t/multi_update.test:
  Auto merged
mysql-test/t/null.test:
  Auto merged
mysql-test/t/query_cache.test:
  Auto merged
mysql-test/t/subselect.test:
  Auto merged
sql/item.cc:
  Auto merged
sql/item_cmpfunc.cc:
  Auto merged
sql/mysqld.cc:
  Auto merged
sql/sql_show.cc:
  Auto merged
2003-12-16 16:12:28 +01:00
unknown
80ec807976 WorkLog#1323
Deprecate the use of TYPE=... Preferred syntax is ENGINE=


include/mysqld_error.h:
  New warning for deprecated syntax
sql/lex.h:
  Introduce ENGINE keyword
  Sort order of symbols
sql/share/czech/errmsg.txt:
  New warning for deprecated syntax
sql/share/danish/errmsg.txt:
  New warning for deprecated syntax
sql/share/dutch/errmsg.txt:
  New warning for deprecated syntax
sql/share/english/errmsg.txt:
  New warning for deprecated syntax
sql/share/estonian/errmsg.txt:
  New warning for deprecated syntax
sql/share/french/errmsg.txt:
  New warning for deprecated syntax
sql/share/german/errmsg.txt:
  New warning for deprecated syntax
sql/share/greek/errmsg.txt:
  New warning for deprecated syntax
sql/share/hungarian/errmsg.txt:
  New warning for deprecated syntax
sql/share/italian/errmsg.txt:
  New warning for deprecated syntax
sql/share/japanese/errmsg.txt:
  New warning for deprecated syntax
sql/share/korean/errmsg.txt:
  New warning for deprecated syntax
sql/share/norwegian-ny/errmsg.txt:
  New warning for deprecated syntax
sql/share/norwegian/errmsg.txt:
  New warning for deprecated syntax
sql/share/polish/errmsg.txt:
  New warning for deprecated syntax
sql/share/portuguese/errmsg.txt:
  New warning for deprecated syntax
sql/share/romanian/errmsg.txt:
  New warning for deprecated syntax
sql/share/russian/errmsg.txt:
  New warning for deprecated syntax
sql/share/serbian/errmsg.txt:
  New warning for deprecated syntax
sql/share/slovak/errmsg.txt:
  New warning for deprecated syntax
sql/share/spanish/errmsg.txt:
  New warning for deprecated syntax
sql/share/swedish/errmsg.txt:
  New warning for deprecated syntax
sql/share/ukrainian/errmsg.txt:
  New warning for deprecated syntax
sql/sql_show.cc:
  Change TYPE= with ENGINE=
sql/sql_yacc.yy:
  Introduce ENGINE keyword,
  Deprecate TYPE= syntax,
  Introduce SHOW ENGINE syntax,
  Deprecate SHOW INNODB/BDB syntax.
mysql-test/r/alias.result:
  Change occurances of TYPE= to ENGINE=
mysql-test/r/alter_table.result:
  Change occurances of TYPE= to ENGINE=
mysql-test/r/auto_increment.result:
  Change occurances of TYPE= to ENGINE=
mysql-test/r/bdb-alter-table-1.result:
  Change occurances of TYPE= to ENGINE=
mysql-test/r/bdb-crash.result:
  Change occurances of TYPE= to ENGINE=
mysql-test/r/bdb-deadlock.result:
  Change occurances of TYPE= to ENGINE=
mysql-test/r/bdb.result:
  Change occurances of TYPE= to ENGINE=
mysql-test/r/bdb_cache.result:
  Change occurances of TYPE= to ENGINE=
mysql-test/r/case.result:
  Change occurances of TYPE= to ENGINE=
mysql-test/r/cast.result:
  Change occurances of TYPE= to ENGINE=
mysql-test/r/constraints.result:
  Change occurances of TYPE= to ENGINE=
mysql-test/r/create.result:
  Change occurances of TYPE= to ENGINE=
mysql-test/r/ctype_collate.result:
  Change occurances of TYPE= to ENGINE=
mysql-test/r/ctype_latin1_de.result:
  Change occurances of TYPE= to ENGINE=
mysql-test/r/ctype_many.result:
  Change occurances of TYPE= to ENGINE=
mysql-test/r/ctype_mb.result:
  Change occurances of TYPE= to ENGINE=
mysql-test/r/ctype_recoding.result:
  Change occurances of TYPE= to ENGINE=
mysql-test/r/ctype_ucs.result:
  Change occurances of TYPE= to ENGINE=
mysql-test/r/delete.result:
  Change occurances of TYPE= to ENGINE=
mysql-test/r/distinct.result:
  Change occurances of TYPE= to ENGINE=
mysql-test/r/fulltext.result:
  Change occurances of TYPE= to ENGINE=
mysql-test/r/fulltext2.result:
  Change occurances of TYPE= to ENGINE=
mysql-test/r/fulltext_distinct.result:
  Change occurances of TYPE= to ENGINE=
mysql-test/r/fulltext_left_join.result:
  Change occurances of TYPE= to ENGINE=
mysql-test/r/func_compress.result:
  Change occurances of TYPE= to ENGINE=
mysql-test/r/func_date_add.result:
  Change occurances of TYPE= to ENGINE=
mysql-test/r/func_group.result:
  Change occurances of TYPE= to ENGINE=
mysql-test/r/func_if.result:
  Change occurances of TYPE= to ENGINE=
mysql-test/r/func_str.result:
  Change occurances of TYPE= to ENGINE=
mysql-test/r/func_system.result:
  Change occurances of TYPE= to ENGINE=
mysql-test/r/func_test.result:
  Change occurances of TYPE= to ENGINE=
mysql-test/r/func_time.result:
  Change occurances of TYPE= to ENGINE=
mysql-test/r/gis-rtree.result:
  Change occurances of TYPE= to ENGINE=
mysql-test/r/group_by.result:
  Change occurances of TYPE= to ENGINE=
mysql-test/r/handler.result:
  Change occurances of TYPE= to ENGINE=
mysql-test/r/heap.result:
  Change occurances of TYPE= to ENGINE=
mysql-test/r/heap_auto_increment.result:
  Change occurances of TYPE= to ENGINE=
mysql-test/r/heap_btree.result:
  Change occurances of TYPE= to ENGINE=
mysql-test/r/heap_hash.result:
  Change occurances of TYPE= to ENGINE=
mysql-test/r/help.result:
  Change occurances of TYPE= to ENGINE=
mysql-test/r/innodb-deadlock.result:
  Change occurances of TYPE= to ENGINE=
mysql-test/r/innodb.result:
  Change occurances of TYPE= to ENGINE=
mysql-test/r/innodb_cache.result:
  Change occurances of TYPE= to ENGINE=
mysql-test/r/innodb_handler.result:
  Change occurances of TYPE= to ENGINE=
mysql-test/r/insert_select.result:
  Change occurances of TYPE= to ENGINE=
mysql-test/r/isam.result:
  Change occurances of TYPE= to ENGINE=
mysql-test/r/join.result:
  Change occurances of TYPE= to ENGINE=
mysql-test/r/join_crash.result:
  Change occurances of TYPE= to ENGINE=
mysql-test/r/join_outer.result:
  Change occurances of TYPE= to ENGINE=
mysql-test/r/key.result:
  Change occurances of TYPE= to ENGINE=
mysql-test/r/lock.result:
  Change occurances of TYPE= to ENGINE=
mysql-test/r/lock_tables_lost_commit.result:
  Change occurances of TYPE= to ENGINE=
mysql-test/r/merge.result:
  Change occurances of TYPE= to ENGINE=
mysql-test/r/mix_innodb_myisam_binlog.result:
  Change occurances of TYPE= to ENGINE=
mysql-test/r/multi_update.result:
  Change occurances of TYPE= to ENGINE=
mysql-test/r/myisam.result:
  Change occurances of TYPE= to ENGINE=
mysql-test/r/null.result:
  Change occurances of TYPE= to ENGINE=
mysql-test/r/null_key.result:
  Change occurances of TYPE= to ENGINE=
mysql-test/r/order_by.result:
  Change occurances of TYPE= to ENGINE=
mysql-test/r/query_cache.result:
  Change occurances of TYPE= to ENGINE=
mysql-test/r/range.result:
  Change occurances of TYPE= to ENGINE=
mysql-test/r/repair_part1.result:
  Change occurances of TYPE= to ENGINE=
mysql-test/r/replace.result:
  Change occurances of TYPE= to ENGINE=
mysql-test/r/rollback.result:
  Change occurances of TYPE= to ENGINE=
mysql-test/r/rpl000006.result:
  Change occurances of TYPE= to ENGINE=
mysql-test/r/rpl_flush_tables.result:
  Change occurances of TYPE= to ENGINE=
mysql-test/r/rpl_insert_id.result:
  Change occurances of TYPE= to ENGINE=
mysql-test/r/rpl_relayrotate.result:
  Change occurances of TYPE= to ENGINE=
mysql-test/r/select.result:
  Change occurances of TYPE= to ENGINE=
mysql-test/r/select_found.result:
  Change occurances of TYPE= to ENGINE=
mysql-test/r/show_check.result:
  Change occurances of TYPE= to ENGINE=
mysql-test/r/sql_mode.result:
  Change occurances of TYPE= to ENGINE=
mysql-test/r/status.result:
  Change occurances of TYPE= to ENGINE=
mysql-test/r/subselect.result:
  Change occurances of TYPE= to ENGINE=
mysql-test/r/subselect2.result:
  Change occurances of TYPE= to ENGINE=
mysql-test/r/subselect_innodb.result:
  Change occurances of TYPE= to ENGINE=
mysql-test/r/symlink.result:
  Change occurances of TYPE= to ENGINE=
mysql-test/r/temp_table.result:
  Change occurances of TYPE= to ENGINE=
mysql-test/r/type_blob.result:
  Change occurances of TYPE= to ENGINE=
mysql-test/r/type_datetime.result:
  Change occurances of TYPE= to ENGINE=
mysql-test/r/type_enum.result:
  Change occurances of TYPE= to ENGINE=
mysql-test/r/type_nchar.result:
  Change occurances of TYPE= to ENGINE=
mysql-test/r/type_set.result:
  Change occurances of TYPE= to ENGINE=
mysql-test/r/union.result:
  Change occurances of TYPE= to ENGINE=
mysql-test/r/update.result:
  Change occurances of TYPE= to ENGINE=
mysql-test/r/warnings.result:
  Change occurances of TYPE= to ENGINE=
mysql-test/t/alias.test:
  Change occurances of TYPE= to ENGINE=
mysql-test/t/alter_table.test:
  Change occurances of TYPE= to ENGINE=
mysql-test/t/auto_increment.test:
  Change occurances of TYPE= to ENGINE=
mysql-test/t/bdb-alter-table-1.test:
  Change occurances of TYPE= to ENGINE=
mysql-test/t/bdb-crash.test:
  Change occurances of TYPE= to ENGINE=
mysql-test/t/bdb-deadlock.test:
  Change occurances of TYPE= to ENGINE=
mysql-test/t/bdb.test:
  Change occurances of TYPE= to ENGINE=
mysql-test/t/bdb_cache.test:
  Change occurances of TYPE= to ENGINE=
mysql-test/t/create.test:
  Change occurances of TYPE= to ENGINE=
mysql-test/t/ctype_ucs.test:
  Change occurances of TYPE= to ENGINE=
mysql-test/t/delete.test:
  Change occurances of TYPE= to ENGINE=
mysql-test/t/distinct.test:
  Change occurances of TYPE= to ENGINE=
mysql-test/t/fulltext.test:
  Change occurances of TYPE= to ENGINE=
mysql-test/t/fulltext2.test:
  Change occurances of TYPE= to ENGINE=
mysql-test/t/fulltext_distinct.test:
  Change occurances of TYPE= to ENGINE=
mysql-test/t/fulltext_left_join.test:
  Change occurances of TYPE= to ENGINE=
mysql-test/t/func_compress.test:
  Change occurances of TYPE= to ENGINE=
mysql-test/t/func_date_add.test:
  Change occurances of TYPE= to ENGINE=
mysql-test/t/func_group.test:
  Change occurances of TYPE= to ENGINE=
mysql-test/t/func_if.test:
  Change occurances of TYPE= to ENGINE=
mysql-test/t/func_str.test:
  Change occurances of TYPE= to ENGINE=
mysql-test/t/func_test.test:
  Change occurances of TYPE= to ENGINE=
mysql-test/t/func_time.test:
  Change occurances of TYPE= to ENGINE=
mysql-test/t/gis-rtree.test:
  Change occurances of TYPE= to ENGINE=
mysql-test/t/group_by.test:
  Change occurances of TYPE= to ENGINE=
mysql-test/t/handler.test:
  Change occurances of TYPE= to ENGINE=
mysql-test/t/heap.test:
  Change occurances of TYPE= to ENGINE=
mysql-test/t/heap_auto_increment.test:
  Change occurances of TYPE= to ENGINE=
mysql-test/t/heap_btree.test:
  Change occurances of TYPE= to ENGINE=
mysql-test/t/heap_hash.test:
  Change occurances of TYPE= to ENGINE=
mysql-test/t/help.test:
  Change occurances of TYPE= to ENGINE=
mysql-test/t/innodb-deadlock.test:
  Change occurances of TYPE= to ENGINE=
mysql-test/t/innodb.test:
  Change occurances of TYPE= to ENGINE=
mysql-test/t/innodb_cache.test:
  Change occurances of TYPE= to ENGINE=
mysql-test/t/innodb_handler.test:
  Change occurances of TYPE= to ENGINE=
mysql-test/t/insert_select.test:
  Change occurances of TYPE= to ENGINE=
mysql-test/t/isam.test:
  Change occurances of TYPE= to ENGINE=
mysql-test/t/join.test:
  Change occurances of TYPE= to ENGINE=
mysql-test/t/join_crash.test:
  Change occurances of TYPE= to ENGINE=
mysql-test/t/join_outer.test:
  Change occurances of TYPE= to ENGINE=
mysql-test/t/key.test:
  Change occurances of TYPE= to ENGINE=
mysql-test/t/lock.test:
  Change occurances of TYPE= to ENGINE=
mysql-test/t/lock_tables_lost_commit.test:
  Change occurances of TYPE= to ENGINE=
mysql-test/t/merge.test:
  Change occurances of TYPE= to ENGINE=
mysql-test/t/mix_innodb_myisam_binlog.test:
  Change occurances of TYPE= to ENGINE=
mysql-test/t/multi_update.test:
  Change occurances of TYPE= to ENGINE=
mysql-test/t/myisam.test:
  Change occurances of TYPE= to ENGINE=
mysql-test/t/null.test:
  Change occurances of TYPE= to ENGINE=
mysql-test/t/null_key.test:
  Change occurances of TYPE= to ENGINE=
mysql-test/t/order_by.test:
  Change occurances of TYPE= to ENGINE=
mysql-test/t/outfile.test:
  Change occurances of TYPE= to ENGINE=
mysql-test/t/query_cache.test:
  Change occurances of TYPE= to ENGINE=
mysql-test/t/query_cache_merge.test:
  Change occurances of TYPE= to ENGINE=
mysql-test/t/range.test:
  Change occurances of TYPE= to ENGINE=
mysql-test/t/repair_part1.test:
  Change occurances of TYPE= to ENGINE=
mysql-test/t/replace.test:
  Change occurances of TYPE= to ENGINE=
mysql-test/t/rollback.test:
  Change occurances of TYPE= to ENGINE=
mysql-test/t/rpl000006.test:
  Change occurances of TYPE= to ENGINE=
mysql-test/t/rpl_flush_tables.test:
  Change occurances of TYPE= to ENGINE=
mysql-test/t/rpl_insert_id.test:
  Change occurances of TYPE= to ENGINE=
mysql-test/t/rpl_relayrotate.test:
  Change occurances of TYPE= to ENGINE=
mysql-test/t/select.test:
  Change occurances of TYPE= to ENGINE=
mysql-test/t/select_found.test:
  Change occurances of TYPE= to ENGINE=
mysql-test/t/show_check.test:
  Change occurances of TYPE= to ENGINE=
mysql-test/t/sql_mode.test:
  Change occurances of TYPE= to ENGINE=
mysql-test/t/status.test:
  Change occurances of TYPE= to ENGINE=
mysql-test/t/subselect.test:
  Change occurances of TYPE= to ENGINE=
mysql-test/t/subselect2.test:
  Change occurances of TYPE= to ENGINE=
mysql-test/t/subselect_innodb.test:
  Change occurances of TYPE= to ENGINE=
mysql-test/t/symlink.test:
  Change occurances of TYPE= to ENGINE=
mysql-test/t/temp_table.test:
  Change occurances of TYPE= to ENGINE=
mysql-test/t/type_datetime.test:
  Change occurances of TYPE= to ENGINE=
mysql-test/t/type_set.test:
  Change occurances of TYPE= to ENGINE=
mysql-test/t/union.test:
  Change occurances of TYPE= to ENGINE=
mysql-test/t/update.test:
  Change occurances of TYPE= to ENGINE=
mysql-test/t/warnings.test:
  Change occurances of TYPE= to ENGINE=
  New test for deprecated syntax
2003-12-10 04:31:42 +00:00
unknown
24f8b1cfa8 Merging 4.1->5.0
BitKeeper/etc/ignore:
  auto-union
BitKeeper/etc/logging_ok:
  auto-union
BitKeeper/deleted/.del-compile-netware-src~1:
  Delete: netware/BUILD/compile-netware-src
BitKeeper/deleted/.del-knetware.imp~1:
  Delete: netware/BUILD/knetware.imp
client/mysql.cc:
  Auto merged
configure.in:
  Auto merged
include/my_global.h:
  Auto merged
include/mysql_com.h:
  Auto merged
libmysql/libmysql.c:
  Auto merged
libmysqld/Makefile.am:
  Auto merged
libmysqld/lib_sql.cc:
  Auto merged
myisam/mi_check.c:
  Auto merged
myisam/myisamchk.c:
  Auto merged
myisam/myisamdef.h:
  Auto merged
mysql-test/r/distinct.result:
  Auto merged
mysql-test/r/subselect.result:
  Auto merged
mysql-test/r/variables.result:
  Auto merged
mysql-test/t/subselect.test:
  Auto merged
mysql-test/t/variables.test:
  Auto merged
scripts/mysql_create_system_tables.sh:
  Auto merged
scripts/mysql_install_db.sh:
  Auto merged
sql/ha_berkeley.cc:
  Auto merged
sql/ha_innodb.cc:
  Auto merged
sql/ha_myisam.cc:
  Auto merged
sql/item.cc:
  Auto merged
sql/item.h:
  Auto merged
sql/item_cmpfunc.cc:
  Auto merged
sql/item_create.cc:
  Auto merged
sql/item_subselect.cc:
  Auto merged
sql/item_sum.cc:
  Auto merged
sql/lock.cc:
  Auto merged
sql/log_event.cc:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/mysqld.cc:
  Auto merged
sql/protocol.cc:
  Auto merged
sql/repl_failsafe.cc:
  Auto merged
sql/set_var.cc:
  Auto merged
sql/slave.cc:
  Auto merged
sql/sql_acl.cc:
  Auto merged
sql/sql_base.cc:
  Auto merged
sql/sql_cache.cc:
  Auto merged
sql/sql_class.h:
  Auto merged
sql/sql_db.cc:
  Auto merged
sql/sql_delete.cc:
  Auto merged
sql/sql_derived.cc:
  Auto merged
sql/sql_lex.cc:
  Auto merged
sql/sql_lex.h:
  Auto merged
sql/sql_load.cc:
  Auto merged
sql/sql_repl.cc:
  Auto merged
sql/sql_select.cc:
  Auto merged
sql/sql_show.cc:
  Auto merged
sql/sql_table.cc:
  Auto merged
sql/sql_union.cc:
  Auto merged
sql/sql_update.cc:
  Auto merged
sql/sql_yacc.yy:
  Auto merged
2003-10-22 16:10:22 +02:00
unknown
1ead85e678 Fixes after merge
mysql-test/std_data/trunc_binlog.000001:
  Rename: mysql-test/std_data/trunc_binlog.001 -> mysql-test/std_data/trunc_binlog.000001
client/mysqltest.c:
  Fixed merge problem
mysql-test/mysql-test-run.sh:
  Fixed merge problem
mysql-test/r/distinct.result:
  Fix after merge
mysql-test/r/drop_temp_table.result:
  Fix after merge
mysql-test/r/join_outer.result:
  Fix after merge
mysql-test/r/mysqldump.result:
  Fix after merge
mysql-test/r/null_key.result:
  Fix after merge
mysql-test/r/order_by.result:
  Fix after merge
mysql-test/r/rpl_alter.result:
  Fix after merge
mysql-test/r/rpl_loaddata.result:
  Fix after merge
mysql-test/r/rpl_loaddata_rule_m.result:
  Fix after merge
mysql-test/r/rpl_trunc_binlog.result:
  Fix after merge
mysql-test/r/select_safe.result:
  Fix after merge
mysql-test/t/insert.test:
  Fix after merge
mysql-test/t/mysqlbinlog.test:
  Fix after merge
mysql-test/t/rpl000009.test:
  Fix after merge
mysql-test/t/rpl_alter.test:
  Fix after merge
mysql-test/t/rpl_loaddata_rule_m.test:
  Fix after merge
mysql-test/t/rpl_trunc_binlog.test:
  Fix after merge
sql-common/client.c:
  Fix after merge
sql/item_subselect.cc:
  Fix after merge
sql/repl_failsafe.cc:
  Fix after merge
sql/slave.cc:
  Fix after merge
sql/sql_insert.cc:
  Fix after merge
2003-10-08 12:01:58 +03:00
unknown
03042c7db4 Post-merge fixes. 2003-09-24 15:26:20 +02:00
unknown
c5e6bcea69 Applied Monty corrections to the FULL SCAN
optimiser bug patch.


mysql-test/r/distinct.result:
  test results reverted
mysql-test/r/order_by.result:
  test results reverted
sql/sql_select.cc:
  found_constrain renamed to found_constraint
  We don't perform full cartesian product in 
  case when JOIN BUFFER is used: it was taken
  into account.
  s->read_time may contain range index read time,
  so to get full table scan time is necessary to
  call s->table->file->scan_time().
2003-09-17 21:52:05 +04:00