Fixed warnings by valgrind for sum_distinct.test
Enable buffered-record-reads after filesort for InnoDB tables with short primary key
Enabled sort-with-data for MyISAM temporary files
BitKeeper/etc/ignore:
added tools/mysqltestmanager
client/mysqltest.c:
Ensure that BIG_TEST is always set to 0 or 1
Fix the 'eval' also honors 'require'
mysql-test/mysql-test-run.sh:
Enlarge InnoDB table space for --big tests
mysql-test/r/heap.result:
Fix after adding more optimzation for filsort
mysql-test/r/sum_distinct.result:
Move 'slow' part of test to sum_distinct-big.test
mysql-test/t/heap.test:
Ensure that results are indpendent of optimizer
mysql-test/t/sum_distinct.test:
Move 'slow' part of test to sum_distinct-big.test
sql/filesort.cc:
Use 'sort with data' also on temporary files and with INSERT ... SELECT
sql/ha_innodb.h:
Remove HA_FAST_KEY_READ to enable buffered-record-reads after filesort
sql/handler.h:
More comments
sql/mysql_priv.h:
A bit smaller limit for cache for buffered-records-read (after testing)
sql/records.cc:
Don't use buffered-record-reads if ref_length > MAX_REFLENGTH
Fixed warning from valgrind in 'sum_distinct'
sql/sql_select.cc:
Ensure that tempory tables has query_id set for all fields
(Required for sort-with-data to work on temp files)
Item_sum_count_distinct, and
deploy Unique for use with COUNT(DISTINCT) if there is no blob
column in the list of DISTINCT arguments.
mysql-test/r/count_distinct2.result:
Test results fixed.
mysql-test/r/func_group.result:
Updated.
mysql-test/r/sum_distinct.result:
Updated.
mysql-test/t/func_group.test:
Add a test for COUNT(DISTINCT) and true varchar and case-insensitive
collation. The table in the test contains only two distinct values.
mysql-test/t/sum_distinct.test:
Since now we support INSERT INTO t1 (a) SELECT a+1 FROM t1, shorten
the test.
Add a nominal test for AVG(DISTINCT)
sql/item_sum.cc:
Implementation of cleaned up Item_sum_count_distinct.
Fixed a bug with COUNT(DISTINCT) and new VARCHAR and collations.
Fixed a bug wiht AVG(DISTINCT) and wrong number of output digits
after decimal point.
sql/item_sum.h:
Cleanup for Item_sum_count_distinct.
Now if the list of distinct arguments doesn't contain a blob column,
we always use Unique and merge-sort to find distinct values.
sql/sql_class.h:
Added a short-cut to find number of elements in Unique if all elements fit
into memory.
sql/filesort.cc:
Snippet of filesort() code moved to function reuse_freed_buff() -
change buffpek pointers to use buff from freed BUFFPEK
Used in filesort() and merge_walk().
sql/item_sum.cc:
Implementation of Item_sum_sum_distinct - SUM(DISTINCT) item,
which uses Unique to resolve duplicates
sql/item_sum.h:
New sum Item added - Item_sum_sum_distinct - for SUM(DISTINCT) function
sql/sql_class.h:
added walk() and reset() methods to Unique, used in Item_sum_sum_distinct.
sql/sql_sort.h:
declaration for reuse_freed_buff() to be able to use it in uniques.cc
sql/sql_yacc.yy:
parser extended to handle MIN(DISTICNT), MAX(DISTINCT), SUM(DISTINCT)
sql/uniques.cc:
Implementation for Unique::reset(), Unique::walk() as well as for merge_walk()
algorithm.